Print

Print


Commit in GeomConverter/src/org/lcsim/detector on MAIN
DetectorElementContainer.java+4-41.8 -> 1.9
JM: Fix problem with caching ids.

GeomConverter/src/org/lcsim/detector
DetectorElementContainer.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- DetectorElementContainer.java	12 Jul 2007 04:41:14 -0000	1.8
+++ DetectorElementContainer.java	24 Jul 2007 21:56:53 -0000	1.9
@@ -83,13 +83,13 @@
         
         if (de.getIdentifier() != null)
         {
-            if (find(de.getIdentifier()).size() > 0)
+        	IDetectorElementContainer lookup = find(de.getIdentifier());
+            if (find(de.getIdentifier()).size() > 0 && !lookup.contains(de))
             {
-                throw new IllegalArgumentException("Duplicate identifier <"+de.getIdentifier().toString()+">.");
+                throw new IllegalArgumentException("Cannot add DetectorElement <" + de.getName() + ">. Identifier <"+de.getIdentifier().toHexString()+"> is already assigned to <"+this.find(de.getIdentifier()).get(0).getName()+">.");
             }
         }       
         
-        super.add(de);
-        return true;
+        return super.add(de);
     }
 }
CVSspam 0.2.8