Пример #1
0
  /** Recursively save all child elements and then call ObjBase to save itself. */
  @Override
  public synchronized boolean save(ClothoConnection conn) {
    System.out.println("============ Starting plasmidSample save");
    if (!isChanged()) {
      System.out.println("plasmidSample didn't require saving");
      return true;
    }

    if (Collector.isLocal(_pSampleDatum._plasmidUUID)) {
      Plasmid plas = getPlasmid();
      if (!plas.isInDatabase()) {
        if (!plas.save(conn)) {
          return false;
        }
      }
    }

    if (Collector.isLocal(_pSampleDatum._sourceStrainUUID)) {
      Strain st = getSourceStrain();
      if (!st.isInDatabase()) {
        if (!st.save(conn)) {
          return false;
        }
      }
    }

    return super.save(conn);
  }
Пример #2
0
  /**
   * Private Constructor for a new Sample generated from scratch, use factory method
   * generatePlasmidSample
   *
   * @param myplasmid the Plasmid ("DNA") within the Sample
   * @param mycell the Strain from which the Plasmid is derived
   * @param mycontainer the Container the Sample is being put in
   * @param myvolume how many uL of liquid are in the new Sample
   * @param author who is creating the Sample
   */
  private PlasmidSample(Plasmid myplasmid, Strain mycell, double myvolume, Person author) {
    super(myplasmid.getName(), myvolume, author);
    _pSampleDatum._plasmidUUID = myplasmid.getUUID();

    if (mycell != null) {
      _pSampleDatum._sourceStrainUUID = mycell.getUUID();
    }
  }
Пример #3
0
 public void changePlasmid(Plasmid newplas) {
   // DO A CHECK OF WHETHER THIS STRAIN IS LOCKED OR NOT
   if (newplas == null) {
     fireData(new RefreshEvent(this, RefreshEvent.Condition.PLASMID_CHANGED));
     return;
   }
   _pSampleDatum._plasmidUUID = newplas.getUUID();
   setChanged(org.clothocore.api.dnd.RefreshEvent.Condition.PLASMID_CHANGED);
 }
Пример #4
0
  private static Entry infoToPlasmidForField(Entry entry, String value, EntryField field) {
    if (!entry.getRecordType().equalsIgnoreCase(EntryType.PLASMID.toString())) return entry;

    Plasmid plasmid = (Plasmid) entry;

    switch (field) {
      case BACKBONE:
        plasmid.setBackbone(value);
        return plasmid;

      case PROMOTERS:
        plasmid.setPromoters(value);
        return plasmid;

      case REPLICATES_IN:
        plasmid.setReplicatesIn(value);
        return plasmid;

      case CIRCULAR:
        plasmid.setCircular(
            "yes".equalsIgnoreCase(value)
                || "true".equalsIgnoreCase(value)
                || "circular".equalsIgnoreCase(value));
        return plasmid;

      case ORIGIN_OF_REPLICATION:
        plasmid.setOriginOfReplication(value);
        return plasmid;

      default:
        return plasmid;
    }
  }
Пример #5
0
  protected static Entry setPlasmidFields(PlasmidData plasmidData, Entry entry) {
    if (plasmidData == null) return entry;

    Plasmid plasmid = (Plasmid) entry;

    if (plasmidData.getBackbone() != null) plasmid.setBackbone(plasmidData.getBackbone());

    if (plasmidData.getOriginOfReplication() != null)
      plasmid.setOriginOfReplication(plasmidData.getOriginOfReplication());

    if (plasmidData.getPromoters() != null) plasmid.setPromoters(plasmidData.getPromoters());

    if (plasmidData.getReplicatesIn() != null)
      plasmid.setReplicatesIn(plasmidData.getReplicatesIn());

    if (plasmidData.getCircular() != null) plasmid.setCircular(plasmidData.getCircular());

    return entry;
  }