You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2006/02/10 17:25:44 UTC

svn commit: r376756 - in /incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype: EffectiveNodeTypeCache.java NodeTypeRegistry.java

Author: stefan
Date: Fri Feb 10 08:25:42 2006
New Revision: 376756

URL: http://svn.apache.org/viewcvs?rev=376756&view=rev
Log:
NodeTypeRegistry: more cleaning up of implementation

Modified:
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java

Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java?rev=376756&r1=376755&r2=376756&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java Fri Feb 10 08:25:42 2006
@@ -30,7 +30,7 @@
 /**
  * <code>EffectiveNodeTypeCache</code> ...
  */
-class EffectiveNodeTypeCache implements Dumpable {
+class EffectiveNodeTypeCache implements Cloneable, Dumpable {
     /** ordered set of keys */
     final TreeSet sortedKeys;
     /** cache of pre-built aggregations of node types */
@@ -41,11 +41,6 @@
         aggregates = new HashMap();
     }
 
-    EffectiveNodeTypeCache(EffectiveNodeTypeCache entCache) {
-        sortedKeys = new TreeSet(entCache.sortedKeys);
-        aggregates = new HashMap(entCache.aggregates);
-    }
-
     void put(EffectiveNodeType ent) {
         // we define the weight as the total number of included node types
         // (through aggregation and inheritance)
@@ -118,6 +113,14 @@
      */
     Set keySet() {
         return Collections.unmodifiableSet(sortedKeys);
+    }
+
+    //-------------------------------------------< java.lang.Object overrides >
+    public Object clone() {
+        EffectiveNodeTypeCache clone = new EffectiveNodeTypeCache();
+        clone.sortedKeys.addAll(sortedKeys);
+        clone.aggregates.putAll(aggregates);
+        return clone;
     }
 
     //-------------------------------------------------------------< Dumpable >

Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java?rev=376756&r1=376755&r2=376756&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java Fri Feb 10 08:25:42 2006
@@ -265,7 +265,7 @@
         // @todo review
 
         // cache of pre-built aggregations of node types
-        EffectiveNodeTypeCache anEntCache = new EffectiveNodeTypeCache(entCache);
+        EffectiveNodeTypeCache anEntCache = (EffectiveNodeTypeCache) entCache.clone();
 
         // map of node type names and node type definitions
         Map aRegisteredNTDefCache = new HashMap(registeredNTDefs);
@@ -292,6 +292,8 @@
             // store new effective node type instance
             anEntCache.put(ent);
         }
+
+        // todo add newly created ENTs to entCache
 
         // since no exception was thrown so far the definitions are assumed to be valid
         for (Iterator iter = ntDefs.iterator(); iter.hasNext();) {