You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2010/10/05 14:32:02 UTC
svn commit: r1004622 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core:
./ lock/ nodetype/ state/ util/
Author: jukka
Date: Tue Oct 5 12:32:01 2010
New Revision: 1004622
URL: http://svn.apache.org/viewvc?rev=1004622&view=rev
Log:
JCR-2763: Drop the Dumpable interface
Removed:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/Dumpable.java
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/lock/LockManagerImpl.java
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/EffectiveNodeTypeCache.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/NodeTypeManagerImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java Tue Oct 5 12:32:01 2010
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.core;
-import java.io.PrintStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -36,7 +35,6 @@ import org.apache.jackrabbit.core.state.
import org.apache.jackrabbit.core.state.ItemStateManager;
import org.apache.jackrabbit.core.state.NodeState;
import org.apache.jackrabbit.core.state.NodeStateListener;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.Path;
import org.apache.jackrabbit.spi.commons.conversion.MalformedPathException;
@@ -51,7 +49,7 @@ import org.slf4j.LoggerFactory;
* items.
*/
public class CachingHierarchyManager extends HierarchyManagerImpl
- implements NodeStateListener, Dumpable {
+ implements NodeStateListener {
/**
* Default upper limit of cached states
@@ -751,31 +749,30 @@ public class CachingHierarchyManager ext
}
/**
- * Dump contents of path map and elements included to <code>PrintStream</code> given.
- *
- * @param ps print stream to dump to
+ * Dump contents of path map and elements included to a string.
*/
- public void dump(final PrintStream ps) {
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
synchronized (cacheMonitor) {
pathCache.traverse(new PathMap.ElementVisitor<LRUEntry>() {
public void elementVisited(PathMap.Element<LRUEntry> element) {
- StringBuffer line = new StringBuffer();
for (int i = 0; i < element.getDepth(); i++) {
- line.append("--");
+ builder.append("--");
}
- line.append(element.getName());
+ builder.append(element.getName());
int index = element.getIndex();
if (index != 0 && index != 1) {
- line.append('[');
- line.append(index);
- line.append(']');
+ builder.append('[');
+ builder.append(index);
+ builder.append(']');
}
- line.append(" ");
- line.append(element.get());
- ps.println(line.toString());
+ builder.append(" ");
+ builder.append(element.get());
+ builder.append("\n");
}
}, true);
}
+ return builder.toString();
}
/**
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java Tue Oct 5 12:32:01 2010
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.core;
-import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
@@ -47,7 +46,6 @@ import org.apache.jackrabbit.core.state.
import org.apache.jackrabbit.core.state.NodeState;
import org.apache.jackrabbit.core.state.PropertyState;
import org.apache.jackrabbit.core.state.SessionItemStateManager;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.core.version.VersionHistoryImpl;
import org.apache.jackrabbit.core.version.VersionImpl;
import org.apache.jackrabbit.core.security.AccessManager;
@@ -85,7 +83,7 @@ import org.slf4j.LoggerFactory;
* If the parent <code>Session</code> is an <code>XASession</code>, there is
* one <code>ItemManager</code> instance per started global transaction.
*/
-public class ItemManager implements Dumpable, ItemStateListener {
+public class ItemManager implements ItemStateListener {
private static Logger log = LoggerFactory.getLogger(ItemManager.class);
@@ -117,6 +115,7 @@ public class ItemManager implements Dump
* @param sessionContext component context of the associated session
* @param rootNodeDef the definition of the root node
*/
+ @SuppressWarnings("unchecked")
protected ItemManager(SessionContext sessionContext) {
this.sism = sessionContext.getItemStateManager();
this.hierMgr = sessionContext.getHierarchyManager();
@@ -999,31 +998,31 @@ public class ItemManager implements Dump
}
}
- //-------------------------------------------------------------< Dumpable >
+ //--------------------------------------------------------------< Object >
/**
* {@inheritDoc}
*/
- public synchronized void dump(PrintStream ps) {
- ps.println("ItemManager (" + this + ")");
- ps.println();
- ps.println("Items in cache:");
- ps.println();
+ public synchronized String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("ItemManager (" + this + ")\n");
+ builder.append("Items in cache:\n");
synchronized (itemCache) {
for (ItemId id : itemCache.keySet()) {
ItemData item = itemCache.get(id);
if (item.isNode()) {
- ps.print("Node: ");
+ builder.append("Node: ");
} else {
- ps.print("Property: ");
+ builder.append("Property: ");
}
if (item.getState().isTransient()) {
- ps.print("transient ");
+ builder.append("transient ");
} else {
- ps.print(" ");
+ builder.append(" ");
}
- ps.println(id + "\t" + safeGetJCRPath(id) + " (" + item + ")");
+ builder.append(id + "\t" + safeGetJCRPath(id) + " (" + item + ")\n");
}
}
+ return builder.toString();
}
//----------------------------------------------------< ItemStateListener >
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java Tue Oct 5 12:32:01 2010
@@ -23,7 +23,6 @@ import static org.apache.jackrabbit.core
import static org.apache.jackrabbit.core.ItemValidator.CHECK_RETENTION;
import java.io.File;
-import java.io.PrintStream;
import java.security.AccessControlException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -85,7 +84,6 @@ import org.apache.jackrabbit.core.sessio
import org.apache.jackrabbit.core.session.SessionRefreshOperation;
import org.apache.jackrabbit.core.session.SessionSaveOperation;
import org.apache.jackrabbit.core.state.SessionItemStateManager;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.core.version.InternalVersionManager;
import org.apache.jackrabbit.core.xml.ImportHandler;
import org.apache.jackrabbit.core.xml.SessionImporter;
@@ -107,7 +105,7 @@ import org.xml.sax.ContentHandler;
* A <code>SessionImpl</code> ...
*/
public class SessionImpl extends AbstractSession
- implements JackrabbitSession, NamespaceResolver, NamePathResolver, IdentifierResolver, Dumpable {
+ implements JackrabbitSession, NamespaceResolver, NamePathResolver, IdentifierResolver {
/**
* Name of the session attribute that controls whether the
@@ -169,6 +167,7 @@ public class SessionImpl extends Abstrac
/**
* Listeners (weak references)
*/
+ @SuppressWarnings("unchecked")
protected final Map<SessionListener, SessionListener> listeners =
new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK);
@@ -1192,24 +1191,6 @@ public class SessionImpl extends Abstrac
return retentionManager;
}
- //-------------------------------------------------------------< Dumpable >
- /**
- * {@inheritDoc}
- */
- public void dump(PrintStream ps) {
- ps.print("Session: ");
- if (userId == null) {
- ps.print("unknown");
- } else {
- ps.print(userId);
- }
- ps.println(" (" + this + ")");
- ps.println();
- context.getItemManager().dump(ps);
- ps.println();
- context.getItemStateManager().dump(ps);
- }
-
//--------------------------------------------------------------< Object >
/**
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/lock/LockManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/lock/LockManagerImpl.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/lock/LockManagerImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/lock/LockManagerImpl.java Tue Oct 5 12:32:01 2010
@@ -39,7 +39,6 @@ import org.apache.jackrabbit.core.state.
import org.apache.jackrabbit.core.state.NodeState;
import org.apache.jackrabbit.core.state.PropertyState;
import org.apache.jackrabbit.core.state.UpdatableItemStateManager;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.spi.Path;
import org.apache.jackrabbit.spi.commons.conversion.MalformedPathException;
@@ -64,7 +63,6 @@ import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
-import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@@ -75,8 +73,8 @@ import java.util.concurrent.TimeUnit;
/**
* Provides the functionality needed for locking and unlocking nodes.
*/
-public class LockManagerImpl implements LockManager, SynchronousEventListener,
- LockEventListener, Dumpable {
+public class LockManagerImpl
+ implements LockManager, SynchronousEventListener, LockEventListener {
/**
* Logger
@@ -1397,28 +1395,27 @@ public class LockManagerImpl implements
}
/**
- * Dump contents of path map and elements included to <code>PrintStream</code> given.
- *
- * @param ps print stream to dump to
+ * Dump contents of path map and elements included to a string.
*/
- public void dump(final PrintStream ps) {
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
lockMap.traverse(new PathMap.ElementVisitor<LockInfo>() {
public void elementVisited(PathMap.Element<LockInfo> element) {
- StringBuffer line = new StringBuffer();
for (int i = 0; i < element.getDepth(); i++) {
- line.append("--");
+ builder.append("--");
}
- line.append(element.getName());
+ builder.append(element.getName());
int index = element.getIndex();
if (index != 0 && index != 1) {
- line.append('[');
- line.append(index);
- line.append(']');
- }
- line.append(" ");
- line.append(element.get());
- ps.println(line.toString());
+ builder.append('[');
+ builder.append(index);
+ builder.append(']');
+ }
+ builder.append(" ");
+ builder.append(element.get());
+ builder.append("\n");
}
}, true);
+ return builder.toString();
}
}
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=1004622&r1=1004621&r2=1004622&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 Tue Oct 5 12:32:01 2010
@@ -16,13 +16,13 @@
*/
package org.apache.jackrabbit.core.nodetype;
+import org.apache.jackrabbit.core.nodetype.EffectiveNodeTypeCache.Key;
import org.apache.jackrabbit.spi.Name;
import java.util.TreeSet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.ArrayList;
-import java.io.PrintStream;
import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
@@ -50,12 +50,12 @@ public class BitSetENTCacheImpl implemen
/**
* An ordered set of the keys. This is used for {@link #findBest(Key)}.
*/
- private final TreeSet sortedKeys;
+ private final TreeSet<Key> sortedKeys;
/**
* cache of pre-built aggregations of node types
*/
- private final HashMap aggregates;
+ private final HashMap<Key, EffectiveNodeType> aggregates;
/**
* A lookup table for bit numbers for a given name.
@@ -75,8 +75,8 @@ public class BitSetENTCacheImpl implemen
* Creates a new bitset effective node type cache
*/
BitSetENTCacheImpl() {
- sortedKeys = new TreeSet();
- aggregates = new HashMap();
+ sortedKeys = new TreeSet<Key>();
+ aggregates = new HashMap<Key, EffectiveNodeType>();
}
/**
@@ -109,9 +109,9 @@ public class BitSetENTCacheImpl implemen
if (contains(key)) {
return key;
}
- Iterator iter = sortedKeys.iterator();
+ Iterator<Key> iter = sortedKeys.iterator();
while (iter.hasNext()) {
- Key k = (Key) iter.next();
+ Key k = iter.next();
if (key.contains(k)) {
return k;
}
@@ -127,9 +127,9 @@ public class BitSetENTCacheImpl implemen
* remove all affected effective node types from aggregates cache
* (copy keys first to prevent ConcurrentModificationException)
*/
- ArrayList keys = new ArrayList(aggregates.keySet());
- for (Iterator keysIter = keys.iterator(); keysIter.hasNext();) {
- Key k = (Key) keysIter.next();
+ ArrayList<Key> keys = new ArrayList<Key>(aggregates.keySet());
+ for (Iterator<Key> keysIter = keys.iterator(); keysIter.hasNext();) {
+ Key k = keysIter.next();
EffectiveNodeType ent = get(k);
if (ent.includesNodeType(name)) {
remove(k);
@@ -148,7 +148,7 @@ public class BitSetENTCacheImpl implemen
* {@inheritDoc}
*/
public EffectiveNodeType get(Key key) {
- return (EffectiveNodeType) aggregates.get(key);
+ return aggregates.get(key);
}
/**
@@ -196,7 +196,7 @@ public class BitSetENTCacheImpl implemen
* never cached.
*/
private EffectiveNodeType remove(Key key) {
- EffectiveNodeType removed = (EffectiveNodeType) aggregates.remove(key);
+ EffectiveNodeType removed = aggregates.remove(key);
if (removed != null) {
// other than the original implementation, the weights in the
// treeset are now the same as in the given keys. so we can use
@@ -222,17 +222,15 @@ public class BitSetENTCacheImpl implemen
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
- ps.println("EffectiveNodeTypeCache (" + this + ")");
- ps.println();
- ps.println("EffectiveNodeTypes in cache:");
- ps.println();
- Iterator iter = sortedKeys.iterator();
- while (iter.hasNext()) {
- Key k = (Key) iter.next();
- //EffectiveNodeType ent = (EffectiveNodeType) aggregates.get(k);
- ps.println(k);
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("EffectiveNodeTypeCache (" + this + ")\n");
+ builder.append("EffectiveNodeTypes in cache:\n");
+ for (Key key : sortedKeys) {
+ builder.append(key);
+ builder.append("\n");
}
+ return builder.toString();
}
/**
@@ -397,7 +395,7 @@ public class BitSetENTCacheImpl implemen
* This compares 1. the cardinality (number of set bits) and 2. the
* numeric value of the bit sets in descending order.
*/
- public int compareTo(Object other) {
+ public int compareTo(Key other) {
BitSetKey o = (BitSetKey) other;
int res = o.names.length - names.length;
if (res == 0) {
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/EffectiveNodeTypeCache.java Tue Oct 5 12:32:01 2010
@@ -16,14 +16,13 @@
*/
package org.apache.jackrabbit.core.nodetype;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.spi.Name;
/**
* <code>EffectiveNodeTypeCache</code> defines the interface for a cache for
* effective node types. Effective node types are addressed by {@link Key}s.
*/
-public interface EffectiveNodeTypeCache extends Cloneable, Dumpable {
+public interface EffectiveNodeTypeCache extends Cloneable {
/**
* Puts an effective node type to the cache. The key is internally generated
@@ -90,7 +89,7 @@ public interface EffectiveNodeTypeCache
* An <code>ENTKey</code> uniquely identifies
* a combination (i.e. an aggregation) of one or more node types.
*/
- interface Key extends Comparable {
+ interface Key extends Comparable<Key> {
/**
* Returns the node type names of this key.
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=1004622&r1=1004621&r2=1004622&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 Tue Oct 5 12:32:01 2010
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.core.nodet
import org.apache.jackrabbit.spi.Name;
-import java.io.PrintStream;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
@@ -37,19 +36,19 @@ public class EffectiveNodeTypeCacheImpl
/**
* ordered set of keys
*/
- private final TreeSet sortedKeys;
+ private final TreeSet<Key> sortedKeys;
/**
* cache of pre-built aggregations of node types
*/
- private final HashMap aggregates;
+ private final HashMap<Key, EffectiveNodeType> aggregates;
/**
* Creates a new effective node type cache.
*/
EffectiveNodeTypeCacheImpl() {
- sortedKeys = new TreeSet();
- aggregates = new HashMap();
+ sortedKeys = new TreeSet<Key>();
+ aggregates = new HashMap<Key, EffectiveNodeType>();
}
/**
@@ -91,7 +90,7 @@ public class EffectiveNodeTypeCacheImpl
* {@inheritDoc}
*/
public EffectiveNodeType get(Key key) {
- return (EffectiveNodeType) aggregates.get(key);
+ return aggregates.get(key);
}
/**
@@ -101,16 +100,16 @@ public class EffectiveNodeTypeCacheImpl
* never cached.
*/
private EffectiveNodeType remove(Key key) {
- EffectiveNodeType removed = (EffectiveNodeType) aggregates.remove(key);
+ EffectiveNodeType removed = aggregates.remove(key);
if (removed != null) {
// remove index entry
// FIXME: can't simply call TreeSet.remove(key) because the entry
// in sortedKeys might have a different weight and would thus
// not be found
- Iterator iter = sortedKeys.iterator();
+ Iterator<Key> iter = sortedKeys.iterator();
while (iter.hasNext()) {
- Key k = (Key) iter.next();
+ Key k = iter.next();
// WeightedKey.equals(Object) ignores the weight
if (key.equals(k)) {
sortedKeys.remove(k);
@@ -127,9 +126,9 @@ public class EffectiveNodeTypeCacheImpl
public void invalidate(Name name) {
// remove all affected effective node types from aggregates cache
// (copy keys first to prevent ConcurrentModificationException)
- ArrayList keys = new ArrayList(sortedKeys);
- for (Iterator keysIter = keys.iterator(); keysIter.hasNext();) {
- Key k = (Key) keysIter.next();
+ ArrayList<Key> keys = new ArrayList<Key>(sortedKeys);
+ for (Iterator<Key> keysIter = keys.iterator(); keysIter.hasNext();) {
+ Key k = keysIter.next();
EffectiveNodeType ent = get(k);
if (ent.includesNodeType(name)) {
remove(k);
@@ -145,9 +144,9 @@ public class EffectiveNodeTypeCacheImpl
if (contains(key)) {
return key;
}
- Iterator iter = sortedKeys.iterator();
+ Iterator<Key> iter = sortedKeys.iterator();
while (iter.hasNext()) {
- Key k = (Key) iter.next();
+ Key k = iter.next();
// check if the existing aggregate is a 'subset' of the one we're
// looking for
if (key.contains(k)) {
@@ -169,22 +168,20 @@ public class EffectiveNodeTypeCacheImpl
return clone;
}
- //-------------------------------------------------------------< Dumpable >
+ //--------------------------------------------------------------< Object >
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
- ps.println("EffectiveNodeTypeCache (" + this + ")");
- ps.println();
- ps.println("EffectiveNodeTypes in cache:");
- ps.println();
- Iterator iter = sortedKeys.iterator();
- while (iter.hasNext()) {
- Key k = (Key) iter.next();
- //EffectiveNodeType ent = (EffectiveNodeType) aggregates.get(k);
- ps.println(k);
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("EffectiveNodeTypeCache (" + this + ")\n");
+ builder.append("EffectiveNodeTypes in cache:\n");
+ for (Key key : sortedKeys) {
+ builder.append(key);
+ builder.append("\n");
}
+ return builder.toString();
}
//--------------------------------------------------------< inner classes >
@@ -248,7 +245,7 @@ public class EffectiveNodeTypeCacheImpl
/**
* @param ntNames
*/
- WeightedKey(Collection ntNames) {
+ WeightedKey(Collection<Name> ntNames) {
this(ntNames, ntNames.size());
}
@@ -272,7 +269,7 @@ public class EffectiveNodeTypeCacheImpl
*/
public boolean contains(Key otherKey) {
WeightedKey key = (WeightedKey) otherKey;
- Set tmp = new HashSet(Arrays.asList(names));
+ Set<Name> tmp = new HashSet<Name>(Arrays.asList(names));
for (int i = 0; i < key.names.length; i++) {
if (!tmp.contains(key.names[i])) {
return false;
@@ -286,7 +283,7 @@ public class EffectiveNodeTypeCacheImpl
*/
public Key subtract(Key otherKey) {
WeightedKey key = (WeightedKey) otherKey;
- Set tmp = new HashSet(Arrays.asList(names));
+ Set<Name> tmp = new HashSet<Name>(Arrays.asList(names));
tmp.removeAll(Arrays.asList(key.names));
return new WeightedKey(tmp);
@@ -300,7 +297,7 @@ public class EffectiveNodeTypeCacheImpl
* @param o the other key to compare
* @return the result of the comparison
*/
- public int compareTo(Object o) {
+ public int compareTo(Key o) {
WeightedKey other = (WeightedKey) o;
// compare weights
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java Tue Oct 5 12:32:01 2010
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.core.nodet
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -50,7 +49,6 @@ import org.apache.jackrabbit.commons.cnd
import org.apache.jackrabbit.commons.iterator.NodeTypeIteratorAdapter;
import org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader;
import org.apache.jackrabbit.core.session.SessionContext;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.QNodeDefinition;
import org.apache.jackrabbit.spi.QNodeTypeDefinition;
@@ -72,7 +70,7 @@ import org.xml.sax.SAXException;
* NodeTypeManager.
*/
public class NodeTypeManagerImpl extends AbstractNodeTypeManager
- implements JackrabbitNodeTypeManager, Dumpable, NodeTypeRegistryListener {
+ implements JackrabbitNodeTypeManager, NodeTypeRegistryListener {
/**
* Component context of the current session.
@@ -231,7 +229,7 @@ public class NodeTypeManagerImpl extends
Properties namespaces = ntr.getNamespaces();
if (namespaces != null) {
- Enumeration prefixes = namespaces.propertyNames();
+ Enumeration<?> prefixes = namespaces.propertyNames();
while (prefixes.hasMoreElements()) {
String prefix = (String) prefixes.nextElement();
String uri = namespaces.getProperty(prefix);
@@ -320,18 +318,18 @@ public class NodeTypeManagerImpl extends
// flush all affected cache entries
ntCache.remove(ntName);
synchronized (pdCache) {
- Iterator iter = pdCache.values().iterator();
+ Iterator<PropertyDefinitionImpl> iter = pdCache.values().iterator();
while (iter.hasNext()) {
- PropertyDefinitionImpl pd = (PropertyDefinitionImpl) iter.next();
+ PropertyDefinitionImpl pd = iter.next();
if (ntName.equals(pd.unwrap().getDeclaringNodeType())) {
iter.remove();
}
}
}
synchronized (ndCache) {
- Iterator iter = ndCache.values().iterator();
+ Iterator<NodeDefinitionImpl> iter = ndCache.values().iterator();
while (iter.hasNext()) {
- NodeDefinitionImpl nd = (org.apache.jackrabbit.spi.commons.nodetype.NodeDefinitionImpl) iter.next();
+ NodeDefinitionImpl nd = iter.next();
if (ntName.equals(nd.unwrap().getDeclaringNodeType())) {
iter.remove();
}
@@ -633,14 +631,14 @@ public class NodeTypeManagerImpl extends
return new QNodeTypeDefinitionImpl(definition, context, QValueFactoryImpl.getInstance());
}
- //-------------------------------------------------------------< Dumpable >
+ //--------------------------------------------------------------< Object >
+
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
- ps.println("NodeTypeManager (" + this + ")");
- ps.println();
- context.getNodeTypeRegistry().dump(ps);
+ public String toString() {
+ return "NodeTypeManager(" + this + ")\n"
+ + context.getNodeTypeRegistry();
}
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java Tue Oct 5 12:32:01 2010
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
-import java.io.PrintStream;
import java.io.Reader;
import java.util.Arrays;
import java.util.Collection;
@@ -48,7 +47,6 @@ import org.apache.jackrabbit.core.cluste
import org.apache.jackrabbit.core.fs.FileSystem;
import org.apache.jackrabbit.core.fs.FileSystemException;
import org.apache.jackrabbit.core.fs.FileSystemResource;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.QValueConstraint;
import org.apache.jackrabbit.spi.QValue;
@@ -68,7 +66,7 @@ import EDU.oswego.cs.dl.util.concurrent.
/**
* A <code>NodeTypeRegistry</code> ...
*/
-public class NodeTypeRegistry implements Dumpable, NodeTypeEventListener {
+public class NodeTypeRegistry implements NodeTypeEventListener {
private static Logger log = LoggerFactory.getLogger(NodeTypeRegistry.class);
@@ -107,6 +105,7 @@ public class NodeTypeRegistry implements
/**
* Listeners (soft references)
*/
+ @SuppressWarnings("unchecked")
private final Map<NodeTypeRegistryListener, NodeTypeRegistryListener> listeners =
Collections.synchronizedMap(new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK));
@@ -566,32 +565,31 @@ public class NodeTypeRegistry implements
listeners.remove(listener);
}
- //-------------------------------------------------------------< Dumpable >
+ //--------------------------------------------------------------< Object >
+
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
- ps.println("NodeTypeRegistry (" + this + ")");
- ps.println();
- ps.println("Registered NodeTypes:");
- ps.println();
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("NodeTypeRegistry (" + this + ")\n");
+ builder.append("Registered NodeTypes:\n");
for (QNodeTypeDefinition ntd : registeredNTDefs.values()) {
- ps.println(ntd.getName());
- Name[] supertypes = ntd.getSupertypes();
- ps.println("\tSupertypes");
- for (Name supertype : supertypes) {
- ps.println("\t\t" + supertype);
- }
- ps.println("\tMixin\t" + ntd.isMixin());
- ps.println("\tOrderableChildNodes\t" + ntd.hasOrderableChildNodes());
- ps.println("\tPrimaryItemName\t" + (ntd.getPrimaryItemName() == null ? "<null>" : ntd.getPrimaryItemName().toString()));
+ builder.append(ntd.getName());
+ builder.append("\n");
+ builder.append(
+ "\tSupertypes: "
+ + Arrays.toString(ntd.getSupertypes()) + "\n");
+ builder.append("\tMixin\t" + ntd.isMixin() + "\n");
+ builder.append("\tOrderableChildNodes\t" + ntd.hasOrderableChildNodes() + "\n");
+ builder.append("\tPrimaryItemName\t" + (ntd.getPrimaryItemName() == null ? "<null>" : ntd.getPrimaryItemName().toString()) + "\n");
QPropertyDefinition[] pd = ntd.getPropertyDefs();
for (QPropertyDefinition aPd : pd) {
- ps.print("\tPropertyDefinition");
- ps.println(" (declared in " + aPd.getDeclaringNodeType() + ")");
- ps.println("\t\tName\t\t" + (aPd.definesResidual() ? "*" : aPd.getName().toString()));
+ builder.append("\tPropertyDefinition\n");
+ builder.append(" (declared in " + aPd.getDeclaringNodeType() + ")\n");
+ builder.append("\t\tName\t\t" + (aPd.definesResidual() ? "*" : aPd.getName().toString()) + "\n");
String type = aPd.getRequiredType() == 0 ? "null" : PropertyType.nameFromValue(aPd.getRequiredType());
- ps.println("\t\tRequiredType\t" + type);
+ builder.append("\t\tRequiredType\t" + type + "\n");
QValueConstraint[] vca = aPd.getValueConstraints();
StringBuffer constraints = new StringBuffer();
if (vca == null) {
@@ -604,7 +602,7 @@ public class NodeTypeRegistry implements
constraints.append(aVca.getString());
}
}
- ps.println("\t\tValueConstraints\t" + constraints.toString());
+ builder.append("\t\tValueConstraints\t" + constraints + "\n");
QValue[] defVals = aPd.getDefaultValues();
StringBuffer defaultValues = new StringBuffer();
if (defVals == null) {
@@ -617,38 +615,37 @@ public class NodeTypeRegistry implements
defaultValues.append(defVal.toString());
}
}
- ps.println("\t\tDefaultValue\t" + defaultValues.toString());
- ps.println("\t\tAutoCreated\t" + aPd.isAutoCreated());
- ps.println("\t\tMandatory\t" + aPd.isMandatory());
- ps.println("\t\tOnVersion\t" + OnParentVersionAction.nameFromValue(aPd.getOnParentVersion()));
- ps.println("\t\tProtected\t" + aPd.isProtected());
- ps.println("\t\tMultiple\t" + aPd.isMultiple());
+ builder.append("\t\tDefaultValue\t" + defaultValues + "\n");
+ builder.append("\t\tAutoCreated\t" + aPd.isAutoCreated() + "\n");
+ builder.append("\t\tMandatory\t" + aPd.isMandatory() + "\n");
+ builder.append("\t\tOnVersion\t" + OnParentVersionAction.nameFromValue(aPd.getOnParentVersion()) + "\n");
+ builder.append("\t\tProtected\t" + aPd.isProtected() + "\n");
+ builder.append("\t\tMultiple\t" + aPd.isMultiple() + "\n");
}
QNodeDefinition[] nd = ntd.getChildNodeDefs();
for (QNodeDefinition aNd : nd) {
- ps.print("\tNodeDefinition");
- ps.println(" (declared in " + aNd.getDeclaringNodeType() + ")");
- ps.println("\t\tName\t\t" + (aNd.definesResidual() ? "*" : aNd.getName().toString()));
+ builder.append("\tNodeDefinition\\n");
+ builder.append(" (declared in " + aNd.getDeclaringNodeType() + ")\\n");
+ builder.append("\t\tName\t\t" + (aNd.definesResidual() ? "*" : aNd.getName().toString()) + "\n");
Name[] reqPrimaryTypes = aNd.getRequiredPrimaryTypes();
if (reqPrimaryTypes != null && reqPrimaryTypes.length > 0) {
for (Name reqPrimaryType : reqPrimaryTypes) {
- ps.print("\t\tRequiredPrimaryType\t" + reqPrimaryType);
+ builder.append("\t\tRequiredPrimaryType\t" + reqPrimaryType + "\n");
}
}
Name defPrimaryType = aNd.getDefaultPrimaryType();
if (defPrimaryType != null) {
- ps.print("\n\t\tDefaultPrimaryType\t" + defPrimaryType);
+ builder.append("\n\t\tDefaultPrimaryType\t" + defPrimaryType + "\n");
}
- ps.println("\n\t\tAutoCreated\t" + aNd.isAutoCreated());
- ps.println("\t\tMandatory\t" + aNd.isMandatory());
- ps.println("\t\tOnVersion\t" + OnParentVersionAction.nameFromValue(aNd.getOnParentVersion()));
- ps.println("\t\tProtected\t" + aNd.isProtected());
- ps.println("\t\tAllowsSameNameSiblings\t" + aNd.allowsSameNameSiblings());
+ builder.append("\n\t\tAutoCreated\t" + aNd.isAutoCreated() + "\n");
+ builder.append("\t\tMandatory\t" + aNd.isMandatory() + "\n");
+ builder.append("\t\tOnVersion\t" + OnParentVersionAction.nameFromValue(aNd.getOnParentVersion()) + "\n");
+ builder.append("\t\tProtected\t" + aNd.isProtected() + "\n");
+ builder.append("\t\tAllowsSameNameSiblings\t" + aNd.allowsSameNameSiblings() + "\n");
}
}
- ps.println();
-
- entCache.dump(ps);
+ builder.append(entCache);
+ return builder.toString();
}
//------------------------------------------------< NodeTypeEventListener >
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java Tue Oct 5 12:32:01 2010
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.core.state;
-import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -38,7 +37,6 @@ import org.apache.jackrabbit.core.Zombie
import org.apache.jackrabbit.core.id.ItemId;
import org.apache.jackrabbit.core.id.NodeId;
import org.apache.jackrabbit.core.id.PropertyId;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.spi.Name;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,7 +45,7 @@ import org.slf4j.LoggerFactory;
* Item state manager that handles both transient and persistent items.
*/
public class SessionItemStateManager
- implements UpdatableItemStateManager, Dumpable, NodeStateListener {
+ implements UpdatableItemStateManager, NodeStateListener {
private static Logger log = LoggerFactory.getLogger(SessionItemStateManager.class);
@@ -119,28 +117,19 @@ public class SessionItemStateManager
return new ZombieHierarchyManager(hierMgr, this, getAttic());
}
- //-------------------------------------------------------------< Dumpable >
+ //--------------------------------------------------------------< Object >
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
- ps.println("SessionItemStateManager (" + this + ")");
- ps.println();
- ps.print("[transient] ");
- if (transientStore instanceof Dumpable) {
- ((Dumpable) transientStore).dump(ps);
- } else {
- ps.println(transientStore.toString());
- }
- ps.println();
- ps.print("[attic] ");
- if (atticStore instanceof Dumpable) {
- ((Dumpable) atticStore).dump(ps);
- } else {
- ps.println(atticStore.toString());
- }
- ps.println();
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("SessionItemStateManager (" + this + ")\n");
+ builder.append("[transient]\n");
+ builder.append(transientStore);
+ builder.append("[attic]\n");
+ builder.append(atticStore);
+ return builder.toString();
}
//-----------------------------------------------------< ItemStateManager >
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java?rev=1004622&r1=1004621&r2=1004622&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java Tue Oct 5 12:32:01 2010
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.core.state;
-import java.io.PrintStream;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
@@ -39,7 +38,6 @@ import org.apache.jackrabbit.core.observ
import org.apache.jackrabbit.core.observation.EventStateCollectionFactory;
import org.apache.jackrabbit.core.persistence.CachingPersistenceManager;
import org.apache.jackrabbit.core.persistence.PersistenceManager;
-import org.apache.jackrabbit.core.util.Dumpable;
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.core.virtual.VirtualItemStateProvider;
import org.apache.jackrabbit.spi.Name;
@@ -110,7 +108,7 @@ import org.slf4j.LoggerFactory;
* virtual node type representation don't allow such references.
*/
public class SharedItemStateManager
- implements ItemStateManager, ItemStateListener, Dumpable {
+ implements ItemStateManager, ItemStateListener {
/**
* Logger instance
@@ -435,17 +433,14 @@ public class SharedItemStateManager
dispatcher.notifyStateDiscarded(discarded);
}
- //-------------------------------------------------------------< Dumpable >
+ //--------------------------------------------------------------< Object >
+
/**
* {@inheritDoc}
*/
- public void dump(PrintStream ps) {
- ps.println("SharedItemStateManager (" + this + ")");
- if (cache instanceof Dumpable) {
- ps.println();
- ps.print("[referenceCache] ");
- ((Dumpable) cache).dump(ps);
- }
+ public String toString() {
+ return "SharedItemStateManager (" + this + ")\n"
+ + "[referenceCache]\n" + cache;
}
//-------------------------------------------------< misc. public methods >