예제 #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);
  }