Example #1
0
  public static Entry infoToEntry(PartData info) {
    EntryType type = info.getType();
    Entry entry;

    switch (type) {
      case PLASMID:
        entry = setPlasmidFields(info.getPlasmidData(), new Plasmid());
        break;

      case STRAIN:
        entry = setStrainFields(info.getStrainData(), new Strain());
        break;

      case ARABIDOPSIS:
        entry = setSeedFields(info.getArabidopsisSeedData(), new ArabidopsisSeed());
        break;

      case PART:
      default:
        entry = new Part();
        break;
    }

    if (entry == null) return null;

    // common fields
    if (StringUtils.isEmpty(info.getRecordId())) entry.setRecordId(UUID.randomUUID().toString());
    else entry.setRecordId(info.getRecordId());

    entry.setVersionId(entry.getRecordId());
    if (info.getCreationTime() == 0) entry.setCreationTime(new Date());
    else entry.setCreationTime(new Date(info.getCreationTime()));

    entry.setModificationTime(entry.getCreationTime());
    entry = setCommon(entry, info);
    return entry;
  }