bugfix for clone and setDnaSample
authorAndreas Müller <a.mueller@bgbm.org>
Tue, 21 Oct 2014 11:21:50 +0000 (11:21 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Tue, 21 Oct 2014 11:21:50 +0000 (11:21 +0000)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/molecular/DnaSample.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/molecular/Sequence.java

index 757f11d8d0a95a2b41c5d06f4cad90c0582c576a..571de3c5ab4684b3db73b95964e59614e9351ba3 100644 (file)
@@ -188,7 +188,7 @@ public class DnaSample extends DerivedUnit implements Cloneable {
                //sequenceSet
                result.sequences = new HashSet<Sequence>();
                for(Sequence sequence : this.sequences) {
-                       result.addSequence(sequence);
+                       result.addSequence((Sequence)sequence.clone());
                }
                //no changes to: bankNumber
                return result;
index f23e9e5a54a037e716bdd917380bbd7e480d4384..144f043b6b95e0f6a49ac52b819a6ed46e6f98c8 100644 (file)
@@ -212,7 +212,7 @@ public class Sequence extends AnnotatableEntity implements Cloneable{
        //TODO implement full bidirectionality
        protected void setDnaSample(DnaSample dnaSample) {
                this.dnaSample = dnaSample;
-               if (!dnaSample.getSequences().contains(this)){
+               if (dnaSample != null && !dnaSample.getSequences().contains(this)){
                        throw new RuntimeException("Don't use DNA setter");
                }
        }