Update of /var/cvs/src/org/mmbase/datatypes
In directory james.mmbase.org:/tmp/cvs-serv19637

Modified Files:
        BasicDataType.java 
Log Message:
make handlers re-writeable on 'rewrite' and clone


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/datatypes


Index: BasicDataType.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/datatypes/BasicDataType.java,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -b -r1.89 -r1.90
--- BasicDataType.java  15 Jul 2008 19:41:00 -0000      1.89
+++ BasicDataType.java  15 Jul 2008 22:08:14 -0000      1.90
@@ -40,7 +40,7 @@
  * @author Pierre van Rooden
  * @author Michiel Meeuwissen
  * @since  MMBase-1.8
- * @version $Id: BasicDataType.java,v 1.89 2008/07/15 19:41:00 michiel Exp $
+ * @version $Id: BasicDataType.java,v 1.90 2008/07/15 22:08:14 michiel Exp $
  */
 
 public class BasicDataType<C> extends AbstractDescriptor implements 
DataType<C>, Cloneable, Comparable<DataType<C>>, Descriptor {
@@ -459,6 +459,7 @@
             if (this.owner != owner) {
                 throw new IllegalArgumentException("Cannot rewrite this 
datatype - specified owner is not correct");
             }
+            handlers = new ConcurrentHashMap<String, Handler>(handlers);
             this.owner = null;
         }
         return this;
@@ -592,7 +593,7 @@
         try {
             BasicDataType<C> clone = (BasicDataType<C>) super.clone(name);
             // reset owner if it was set, so this datatype can be changed
-            clone.owner = null;
+            clone.rewrite(clone.owner);
             // properly inherit from this datatype (this also clones 
properties and processor arrays)
             clone.inheritProperties(this);
             clone.cloneRestrictions(this);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to