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 2008/02/27 17:10:20 UTC
svn commit: r631626 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype:
BitsetENTCacheImpl.java EffectiveNodeType.java
EffectiveNodeTypeCacheImpl.java NodeTypeDef.java
Author: stefan
Date: Wed Feb 27 08:10:06 2008
New Revision: 631626
URL: http://svn.apache.org/viewvc?rev=631626&view=rev
Log:
JCR-1423: [PATCH] fix clone implementation
undoing r631547 & r631560 due to failing test cases...
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/BitsetENTCacheImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeType.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCacheImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDef.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/BitsetENTCacheImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/BitsetENTCacheImpl.java?rev=631626&r1=631625&r2=631626&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/BitsetENTCacheImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/BitsetENTCacheImpl.java Wed Feb 27 08:10:06 2008
@@ -210,18 +210,13 @@
* {@inheritDoc}
*/
public Object clone() {
- try {
- BitsetENTCacheImpl clone = (BitsetENTCacheImpl) super.clone();
- clone.sortedKeys.addAll(sortedKeys);
- clone.aggregates.putAll(aggregates);
- clone.names = new Name[names.length];
- System.arraycopy(names, 0, clone.names, 0, names.length);
- clone.nameIndex.putAll(nameIndex);
- return clone;
- } catch (CloneNotSupportedException e) {
- // won't happen
- throw new InternalError("Failed to clone BitsetENTCacheImpl");
- }
+ BitsetENTCacheImpl clone = new BitsetENTCacheImpl();
+ clone.sortedKeys.addAll(sortedKeys);
+ clone.aggregates.putAll(aggregates);
+ clone.names = new Name[names.length];
+ System.arraycopy(names, 0, clone.names, 0, names.length);
+ clone.nameIndex.putAll(nameIndex);
+ return clone;
}
/**
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeType.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeType.java?rev=631626&r1=631625&r2=631626&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeType.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeType.java Wed Feb 27 08:10:06 2008
@@ -1150,24 +1150,19 @@
}
protected Object clone() {
- try {
- EffectiveNodeType clone = (EffectiveNodeType) super.clone();
+ EffectiveNodeType clone = new EffectiveNodeType();
- clone.mergedNodeTypes.addAll(mergedNodeTypes);
- clone.inheritedNodeTypes.addAll(inheritedNodeTypes);
- clone.allNodeTypes.addAll(allNodeTypes);
- Iterator iter = namedItemDefs.keySet().iterator();
- while (iter.hasNext()) {
- Object key = iter.next();
- List list = (List) namedItemDefs.get(key);
- clone.namedItemDefs.put(key, new ArrayList(list));
- }
- clone.unnamedItemDefs.addAll(unnamedItemDefs);
-
- return clone;
- } catch (CloneNotSupportedException e) {
- // won't happen
- throw new InternalError("Failed to clone EffectiveNodeType object");
+ clone.mergedNodeTypes.addAll(mergedNodeTypes);
+ clone.inheritedNodeTypes.addAll(inheritedNodeTypes);
+ clone.allNodeTypes.addAll(allNodeTypes);
+ Iterator iter = namedItemDefs.keySet().iterator();
+ while (iter.hasNext()) {
+ Object key = iter.next();
+ List list = (List) namedItemDefs.get(key);
+ clone.namedItemDefs.put(key, new ArrayList(list));
}
+ clone.unnamedItemDefs.addAll(unnamedItemDefs);
+
+ return clone;
}
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCacheImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCacheImpl.java?rev=631626&r1=631625&r2=631626&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCacheImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCacheImpl.java Wed Feb 27 08:10:06 2008
@@ -163,15 +163,10 @@
* {@inheritDoc}
*/
public Object clone() {
- try {
- EffectiveNodeTypeCacheImpl clone = (EffectiveNodeTypeCacheImpl) super.clone();
- clone.sortedKeys.addAll(sortedKeys);
- clone.aggregates.putAll(aggregates);
- return clone;
- } catch (CloneNotSupportedException e) {
- // won't happen
- throw new InternalError("Failed to clone EffectiveNodeTypeCacheImpl object");
- }
+ EffectiveNodeTypeCacheImpl clone = new EffectiveNodeTypeCacheImpl();
+ clone.sortedKeys.addAll(sortedKeys);
+ clone.aggregates.putAll(aggregates);
+ return clone;
}
//-------------------------------------------------------------< Dumpable >
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDef.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDef.java?rev=631626&r1=631625&r2=631626&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDef.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDef.java Wed Feb 27 08:10:06 2008
@@ -308,21 +308,16 @@
//-------------------------------------------< java.lang.Object overrides >
public Object clone() {
- try {
- NodeTypeDef clone = (NodeTypeDef) super.clone();
- clone.name = name;
- clone.primaryItemName = primaryItemName;
- clone.supertypes = supertypes; // immutable, thus ok to share
- clone.mixin = mixin;
- clone.orderableChildNodes = orderableChildNodes;
- clone.abstractStatus = abstractStatus;
- clone.nodeDefs = (HashSet) nodeDefs.clone();
- clone.propDefs = (HashSet) propDefs.clone();
- return clone;
- } catch (CloneNotSupportedException e) {
- // won't happen
- throw new InternalError("Failed to clone NodeTypeDef object");
- }
+ NodeTypeDef clone = new NodeTypeDef();
+ clone.name = name;
+ clone.primaryItemName = primaryItemName;
+ clone.supertypes = supertypes; // immutable, thus ok to share
+ clone.mixin = mixin;
+ clone.orderableChildNodes = orderableChildNodes;
+ clone.abstractStatus = abstractStatus;
+ clone.nodeDefs = (HashSet) nodeDefs.clone();
+ clone.propDefs = (HashSet) propDefs.clone();
+ return clone;
}
public boolean equals(Object obj) {