[jbosscache-commits] JBoss Cache SVN: r7277 - in core/branches/flat/src: main/java/org/jboss/cache/buddyreplication and 36 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Wed Dec 10 11:43:28 EST 2008


Author: manik.surtani at jboss.com
Date: 2008-12-10 11:43:27 -0500 (Wed, 10 Dec 2008)
New Revision: 7277

Removed:
   core/branches/flat/src/main/java/org/jboss/cache/Fqn.java
   core/branches/flat/src/main/java/org/jboss/cache/FqnComparator.java
   core/branches/flat/src/main/java/org/jboss/cache/StringFqn.java
   core/branches/flat/src/main/java/org/jboss/cache/batch/
   core/branches/flat/src/main/java/org/jboss/cache/util/BeanUtils.java
   core/branches/flat/src/main/java/org/jboss/cache/util/BitEncodedIntegerSet.java
   core/branches/flat/src/main/java/org/jboss/cache/util/FileLookup.java
   core/branches/flat/src/main/java/org/jboss/cache/util/ImmutableListCopy.java
   core/branches/flat/src/main/java/org/jboss/cache/util/Immutables.java
   core/branches/flat/src/main/java/org/jboss/cache/util/MinMapUtil.java
   core/branches/flat/src/main/java/org/jboss/cache/util/SimpleImmutableEntry.java
   core/branches/flat/src/main/java/org/jboss/cache/util/ThreadGate.java
   core/branches/flat/src/main/java/org/jboss/cache/util/concurrent/
   core/branches/flat/src/main/java/org/jboss/cache/util/reflect/
   core/branches/flat/src/main/java/org/jboss/cache/xml/
Modified:
   core/branches/flat/src/main/java/org/jboss/cache/AbstractNode.java
   core/branches/flat/src/main/java/org/jboss/cache/AbstractNodeFactory.java
   core/branches/flat/src/main/java/org/jboss/cache/CacheSPI_Legacy.java
   core/branches/flat/src/main/java/org/jboss/cache/Cache_Legacy.java
   core/branches/flat/src/main/java/org/jboss/cache/DataContainer.java
   core/branches/flat/src/main/java/org/jboss/cache/InternalNode.java
   core/branches/flat/src/main/java/org/jboss/cache/InvocationContext.java
   core/branches/flat/src/main/java/org/jboss/cache/Modification.java
   core/branches/flat/src/main/java/org/jboss/cache/Node.java
   core/branches/flat/src/main/java/org/jboss/cache/NodeFactory.java
   core/branches/flat/src/main/java/org/jboss/cache/NodeSPI.java
   core/branches/flat/src/main/java/org/jboss/cache/RPCManager.java
   core/branches/flat/src/main/java/org/jboss/cache/RPCManagerImpl.java
   core/branches/flat/src/main/java/org/jboss/cache/Region.java
   core/branches/flat/src/main/java/org/jboss/cache/RegionImpl.java
   core/branches/flat/src/main/java/org/jboss/cache/RegionManager.java
   core/branches/flat/src/main/java/org/jboss/cache/RegionManagerImpl.java
   core/branches/flat/src/main/java/org/jboss/cache/RegionRegistry.java
   core/branches/flat/src/main/java/org/jboss/cache/UnversionedNode.java
   core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java
   core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyGroup.java
   core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java
   core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/Fqn2BuddyFqnVisitor.java
   core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/GravitateResult.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactory.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactoryImpl.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/DataCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/AbstractDataCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/ExistsCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetChildrenNamesCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetDataMapCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeyValueCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeysCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetNodeCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/read/GravitateDataCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/remote/AssignToBuddyGroupCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/remote/DataGravitationCleanupCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/AbstractVersionedDataCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/ClearDataCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/EvictCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/InvalidateCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/MoveCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutDataMapCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutForExternalReadCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveKeyCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveNodeCommand.java
   core/branches/flat/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java
   core/branches/flat/src/main/java/org/jboss/cache/interceptors/BuddyRegionAwareEvictionInterceptor.java
   core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
   core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java
   core/branches/flat/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor_Legacy.java
   core/branches/flat/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java
   core/branches/flat/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java
   core/branches/flat/src/main/java/org/jboss/cache/invocation/MVCCInvocationContext.java
   core/branches/flat/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractDelegatingCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/AsyncCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderAop.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/FileCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderOld.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/LocalDelegatingCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/ReadOnlyDelegatingCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/SingletonStoreCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/TcpDelegatingCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/bdbje/BdbjeCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/s3/S3CacheLoader.java
   core/branches/flat/src/main/java/org/jboss/cache/loader/tcp/TcpCacheServer.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/IdentityLock.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/LockManager.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/LockMap.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/LockUtil.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/MVCCLockManager.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/NodeBasedLockManager.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/NodeLock.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/PessimisticNodeBasedLockManager.java
   core/branches/flat/src/main/java/org/jboss/cache/lock/StripedLock.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/Marshaller.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedMethodCall.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedReturnValue.java
   core/branches/flat/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java
   core/branches/flat/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java
   core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferGenerator.java
   core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferIntegrator.java
   core/branches/flat/src/main/java/org/jboss/cache/statetransfer/StateTransferIntegrator.java
   core/branches/flat/src/main/java/org/jboss/cache/transaction/AbstractTransactionContext.java
   core/branches/flat/src/main/java/org/jboss/cache/transaction/MVCCTransactionContext.java
   core/branches/flat/src/main/java/org/jboss/cache/transaction/TransactionContext.java
   core/branches/flat/src/main/java/org/jboss/cache/util/Caches.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/AssignToBuddyGroupCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/DataGravitationCleanupCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/InvalidateCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/config/EvictionConfig.java
   core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/CacheConfigsXmlParser.java
   core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/ConfigFilesConvertor.java
   core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigHelper.java
   core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigurationParser.java
   core/branches/flat/src/main/java/org/jboss/starobrno/context/InvocationContextImpl.java
   core/branches/flat/src/main/java/org/jboss/starobrno/context/TransactionContextImpl.java
   core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionCacheManager.java
   core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionEvent.java
   core/branches/flat/src/main/java/org/jboss/starobrno/eviction/RemoveOnEvictActionPolicy.java
   core/branches/flat/src/main/java/org/jboss/starobrno/factories/ComponentRegistry.java
   core/branches/flat/src/main/java/org/jboss/starobrno/factories/RuntimeConfigAwareFactory.java
   core/branches/flat/src/main/java/org/jboss/starobrno/interceptors/TxInterceptor.java
   core/branches/flat/src/main/java/org/jboss/starobrno/loader/AsyncCacheLoader.java
   core/branches/flat/src/main/java/org/jboss/starobrno/loader/CacheLoader.java
   core/branches/flat/src/main/java/org/jboss/starobrno/lock/StripedLock.java
   core/branches/flat/src/main/java/org/jboss/starobrno/marshall/CommandAwareRpcDispatcher.java
   core/branches/flat/src/main/java/org/jboss/starobrno/marshall/NodeData.java
   core/branches/flat/src/main/java/org/jboss/starobrno/notifications/NotifierImpl.java
   core/branches/flat/src/main/java/org/jboss/starobrno/notifications/event/EventImpl.java
   core/branches/flat/src/main/java/org/jboss/starobrno/remoting/ChannelMessageListener.java
   core/branches/flat/src/main/java/org/jboss/starobrno/remoting/RPCManagerImpl.java
   core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/DefaultStateTransferManager.java
   core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/StateTransferManager.java
   core/branches/flat/src/main/java/org/jboss/starobrno/tree/Fqn.java
   core/branches/flat/src/main/java/org/jboss/starobrno/util/Immutables.java
   core/branches/flat/src/test/java/org/jboss/starobrno/eviction/EvictionWatcher.java
   core/branches/flat/src/test/java/org/jboss/starobrno/eviction/FIFOPolicyTest.java
   core/branches/flat/src/test/java/org/jboss/starobrno/notifications/NotifierTest.java
Log:
Reduced class duplication in cache and starobrno packages

Modified: core/branches/flat/src/main/java/org/jboss/cache/AbstractNode.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/AbstractNode.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/AbstractNode.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -25,6 +25,7 @@
 import static org.jboss.cache.AbstractNode.NodeFlags.RESIDENT;
 import org.jboss.cache.lock.IdentityLock;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 import java.util.Set;

Modified: core/branches/flat/src/main/java/org/jboss/cache/AbstractNodeFactory.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/AbstractNodeFactory.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/AbstractNodeFactory.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -28,6 +28,7 @@
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.factories.annotations.Inject;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/CacheSPI_Legacy.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/CacheSPI_Legacy.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/CacheSPI_Legacy.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -28,11 +28,12 @@
 import org.jboss.cache.loader.CacheLoader;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.cache.marshall.Marshaller;
-import org.jboss.starobrno.statetransfer.StateTransferManager;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionTable;
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.statetransfer.StateTransferManager;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.Transaction;
 import javax.transaction.TransactionManager;

Modified: core/branches/flat/src/main/java/org/jboss/cache/Cache_Legacy.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/Cache_Legacy.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/Cache_Legacy.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,6 +24,7 @@
 import net.jcip.annotations.ThreadSafe;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.Configuration;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 
 import java.util.List;

Modified: core/branches/flat/src/main/java/org/jboss/cache/DataContainer.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/DataContainer.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/DataContainer.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,6 +22,7 @@
 package org.jboss.cache;
 
 import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.List;
 import java.util.Set;

Deleted: core/branches/flat/src/main/java/org/jboss/cache/Fqn.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/Fqn.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/Fqn.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,679 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache;
-
-
-import net.jcip.annotations.Immutable;
-import org.jboss.cache.annotations.Compat;
-import org.jboss.cache.util.Immutables;
-
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * A Fully Qualified Name (Fqn) is a list of names (typically Strings but can be any Object),
- * which represent a path to a particular {@link Node} or sometimes a {@link Region} in a {@link Cache_Legacy}.
- * <p/>
- * This name can be absolute (i.e., relative from the root node - {@link #ROOT}), or relative to any node in the cache.  Reading the
- * documentation on each API call that makes use of {@link org.jboss.cache.Fqn}s will tell you whether the API expects a
- * relative or absolute Fqn.
- * <p/>
- * For instance, using this class to fetch a particular node might look like
- * this.  (Here data on "Joe" is kept under the "Smith" surname node, under
- * the "people" tree.)
- * <pre>
- * Fqn<String> abc = Fqn.fromString("/people/Smith/Joe/");
- * Node joesmith = Cache.getRoot().getChild(abc);
- * </pre>
- * Alternatively, the same Fqn could be constructed using a List<Object> or varargs:
- * <pre>
- * Fqn<String> abc = Fqn.fromElements("people", "Smith", "Joe");
- * </pre>
- * This is a bit more efficient to construct.
- * <p/>
- * Note that<br>
- * <p/>
- * <code>Fqn<String> f = Fqn.fromElements("/a/b/c");</code>
- * <p/>
- * is <b>not</b> the same as
- * <p/>
- * <code>Fqn<String> f = Fqn.fromString("/a/b/c");</code>
- * <p/>
- * The former will result in a single Fqn, called "/a/b/c" which hangs directly under Fqn.ROOT.
- * <p/>
- * The latter will result in 3 Fqns, called "a", "b" and "c", where "c" is a child of "b", "b" is a child of "a", and "a" hangs off Fqn.ROOT.
- * <p/>
- * Another way to look at it is that the "/" separarator is only parsed when it forms
- * part of a String passed in to Fqn.fromString() and not otherwise.
- * <p/>
- * <B>Best practices</B>: Always creating Fqns - even when using some factory methods - can be expensive in the long run,
- * and as far as possible we recommend that client code holds on to their Fqn references and reuse them.  E.g.:
- * <code>
- * // BAD!!
- * for (int i=0; i<someBigNumber; i++)
- * {
- * cache.get(Fqn.fromString("/a/b/c"), "key" + i);
- * }
- * </code>
- * instead, do:
- * <code>
- * // Much better
- * Fqn f = Fqn.fromString("/a/b/c");
- * for (int i=0; i<someBigNumber; i++)
- * {
- * cache.get(f, "key" + i);
- * }
- * </code>
- *
- * @version $Revision$
- */
- at Immutable
- at Compat(notes = "The generics, while originally intended to be removed in 3.0, have been retained for backward compat.")
-public class Fqn<E> implements Comparable<Fqn<?>>, Externalizable
-{
-   /**
-    * Separator between FQN elements.
-    */
-   public static final String SEPARATOR = "/";
-
-   protected List<E> elements;
-   private transient int hash_code = 0;
-   protected int size = 0;
-
-   /**
-    * Immutable root Fqn.
-    */
-   public static final Fqn ROOT = new Fqn();
-
-   /**
-    * A cached string representation of this Fqn, used by toString to it isn't calculated again every time.
-    */
-   protected String stringRepresentation;
-
-   // ----------------- START: Private constructors for use by factory methods only. ----------------------
-
-   /**
-    * Public to satisfy Externalization.  // TODO: Remove this ctor as well as Externalization!!
-    */
-   public Fqn()
-   {
-      elements = Collections.emptyList();
-      size = 0;
-   }
-
-   // --- deprecated compat stuff
-
-   /**
-    * Constructs a FQN from a list of names.
-    *
-    * @param names List of names
-    * @deprecated use {@link #fromList(java.util.List)} instead.  This constructor will be removed in 3.0.0.
-    */
-   @Deprecated
-   @Compat
-   public Fqn(List<? extends E> names)
-   {
-      // the list is unsafe - may be referenced externally
-      this(names, false);
-   }
-
-   /**
-    * Constructs a Fqn from an array of names.
-    *
-    * @param names Names that comprose this Fqn
-    * @deprecated use {@link #fromElements(Object[])} instead.  This constructor will be removed in 3.0.0.
-    */
-   @Deprecated
-   @Compat
-   public Fqn(E... names)
-   {
-      // safe - the list is created here.
-      this(Arrays.asList(names), true);
-   }
-
-   /**
-    * Constructs a Fqn from a base and relative Fqn.
-    *
-    * @param base     parent Fqn
-    * @param relative Sub-Fqn relative to the parent
-    * @deprecated use {@link #fromRelativeFqn(Fqn, Fqn)} instead.  This constructor will be removed in 3.0.0.
-    */
-   @Deprecated
-   @Compat
-   public Fqn(Fqn<? extends E> base, Fqn<? extends E> relative)
-   {
-      this(base, relative.elements);
-   }
-
-   /**
-    * Constructs a Fqn from a base and two relative names.
-    *
-    * @param base       parent Fqn
-    * @param childNames elements that denote the path to the Fqn, under the parent
-    * @deprecated use {@link #fromRelativeElements(Fqn, Object[])} instead.  This constructor will be removed in 3.0.0.
-    */
-   @Deprecated
-   @Compat
-   public Fqn(Fqn<? extends E> base, E... childNames)
-   {
-      this(base, Arrays.asList(childNames));
-   }
-
-   // --- end deprecated stuff
-
-   /**
-    * If safe is false, Collections.unmodifiableList() is used to wrap the list passed in.  This is an optimisation so
-    * Fqn.fromString(), probably the most frequently used factory method, doesn't end up needing to use the unmodifiableList()
-    * since it creates the list internally.
-    *
-    * @param names List of names
-    * @param safe  whether this list is referenced externally (safe = false) or not (safe = true).
-    * @deprecated use {@link #fromList(java.util.List)} instead.  The boolean "safety" hint is calculated internally.  This constructor will be removed in 3.0.0.
-    */
-   @Deprecated
-   @Compat(notes = "Not truly deprecated, this constructor should really be protected and not public.  Marked as deprecated for anyone using it as a public API.")
-   @SuppressWarnings("unchecked")
-   protected Fqn(List<? extends E> names, boolean safe)
-   {
-      if (names != null)
-      {
-         // if not safe make a defensive copy
-         elements = safe ? (List<E>) names : Immutables.immutableListCopy(names);
-         size = elements.size();
-      }
-      else
-      {
-         elements = Collections.emptyList();
-         size = 0;
-      }
-   }
-
-   protected Fqn(Fqn<? extends E> base, List<? extends E> relative)
-   {
-      elements = Immutables.immutableListMerge(base.elements, relative);
-      size = elements.size();
-   }
-
-   // ----------------- END: Private constructors for use by factory methods only. ----------------------
-
-   /**
-    * Retrieves an Fqn that represents the list of elements passed in.
-    *
-    * @param names list of elements that comprise the Fqn
-    * @return an Fqn
-    * @since 2.2.0
-    */
-   @SuppressWarnings("unchecked")
-   public static <T> Fqn<T> fromList(List<? extends T> names)
-   {
-      return new Fqn<T>(names, false);
-   }
-
-   /**
-    * Retrieves an Fqn that represents the list of elements passed in.
-    *
-    * @param names list of elements that comprise the Fqn
-    * @param safe  if true, the list passed in is not defensively copied but used directly.  <b>Use with care.</b>  Make sure
-    *              you know what you are doing before you pass in a <tt>true</tt> value to <tt>safe</tt>, as it can have adverse effects on
-    *              performance or correctness.  The defensive copy of list elements is not just for safety but also for performance as
-    *              an appropriare List implementation is used, which works well with Fqn operations.
-    * @return an Fqn
-    */
-   @SuppressWarnings("unchecked")
-   public static <T> Fqn<T> fromList(List<? extends T> names, boolean safe)
-   {
-      return new Fqn<T>(names, safe);
-   }
-
-   /**
-    * Retrieves an Fqn that represents the array of elements passed in.
-    *
-    * @param elements array of elements that comprise the Fqn
-    * @return an Fqn
-    * @since 2.2.0
-    */
-   public static <T> Fqn<T> fromElements(T... elements)
-   {
-      return new Fqn<T>(Arrays.asList(elements), true);
-   }
-
-   /**
-    * Retrieves an Fqn that represents the absolute Fqn of the relative Fqn passed in.
-    *
-    * @param base     base Fqn
-    * @param relative relative Fqn
-    * @return an Fqn
-    * @since 2.2.0
-    */
-   public static <T> Fqn<T> fromRelativeFqn(Fqn<? extends T> base, Fqn<? extends T> relative)
-   {
-      return new Fqn<T>(base, relative.elements);
-   }
-
-   /**
-    * Retrieves an Fqn that represents the List<Object> of elements passed in, relative to the base Fqn.
-    *
-    * @param base             base Fqn
-    * @param relativeElements relative List<Object> of elements
-    * @return an Fqn
-    * @since 2.2.0
-    */
-   public static <T> Fqn<T> fromRelativeList(Fqn<? extends T> base, List<? extends T> relativeElements)
-   {
-      return new Fqn<T>(base, relativeElements);
-   }
-
-   /**
-    * Retrieves an Fqn that represents the array of elements passed in, relative to the base Fqn.
-    *
-    * @param base             base Fqn
-    * @param relativeElements relative elements
-    * @return an Fqn
-    * @since 2.2.0
-    */
-   public static <T> Fqn<T> fromRelativeElements(Fqn<? extends T> base, T... relativeElements)
-   {
-      return new Fqn<T>(base, Arrays.asList(relativeElements));
-   }
-
-   /**
-    * Returns a new Fqn from a string, where the elements are deliminated by
-    * one or more separator ({@link #SEPARATOR}) characters.<br><br>
-    * Example use:<br>
-    * <pre>
-    * Fqn.fromString("/a/b/c/");
-    * </pre><br>
-    * is equivalent to:<br>
-    * <pre>
-    * Fqn.fromElements("a", "b", "c");
-    * </pre>
-    *
-    * @param stringRepresentation String representation of the Fqn
-    * @return an Fqn<String> constructed from the string representation passed in
-    */
-   @SuppressWarnings("unchecked")
-   public static Fqn<String> fromString(String stringRepresentation)
-   {
-      if (stringRepresentation == null || stringRepresentation.equals(SEPARATOR) || stringRepresentation.equals(""))
-         return root();
-
-      String toMatch = stringRepresentation.startsWith(SEPARATOR) ? stringRepresentation.substring(1) : stringRepresentation;
-      Object[] el = toMatch.split(SEPARATOR);
-      return new Fqn(Immutables.immutableListWrap(el), true);
-   }
-
-   /**
-    * Retrieves an Fqn read from an object input stream, typically written to using {@link #writeExternal(java.io.ObjectOutput)}.
-    *
-    * @param in input stream
-    * @return an Fqn
-    * @throws IOException            in the event of a problem reading the stream
-    * @throws ClassNotFoundException in the event of classes that comprise the element list of this Fqn not being found
-    * @since 2.2.0
-    */
-   public static Fqn<?> fromExternalStream(ObjectInput in) throws IOException, ClassNotFoundException
-   {
-      Fqn<?> f = new Fqn<Object>();
-      f.readExternal(in);
-      return f;
-   }
-
-
-   /**
-    * Obtains an ancestor of the current Fqn.  Literally performs <code>elements.subList(0, generation)</code>
-    * such that if
-    * <code>
-    * generation == Fqn.size()
-    * </code>
-    * then the return value is the Fqn itself (current generation), and if
-    * <code>
-    * generation == Fqn.size() - 1
-    * </code>
-    * then the return value is the same as
-    * <code>
-    * Fqn.getParent()
-    * </code>
-    * i.e., just one generation behind the current generation.
-    * <code>
-    * generation == 0
-    * </code>
-    * would return Fqn.ROOT.
-    *
-    * @param generation the generation of the ancestor to retrieve
-    * @return an ancestor of the current Fqn
-    */
-   public Fqn<E> getAncestor(int generation)
-   {
-      if (generation == 0) return root();
-      return getSubFqn(0, generation);
-   }
-
-   /**
-    * Obtains a sub-Fqn from the given Fqn.  Literally performs <code>elements.subList(startIndex, endIndex)</code>
-    *
-    * @param startIndex starting index
-    * @param endIndex   end index
-    * @return a subFqn
-    */
-   public Fqn<E> getSubFqn(int startIndex, int endIndex)
-   {
-      List<E> el = elements.subList(startIndex, endIndex);
-      return new Fqn<E>(el, true);
-   }
-
-   /**
-    * @return the number of elements in the Fqn.  The root node contains zero.
-    */
-   public int size()
-   {
-      return size;
-   }
-
-   /**
-    * @param n index of the element to return
-    * @return Returns the nth element in the Fqn.
-    */
-   public Object get(int n)
-   {
-      return elements.get(n);
-   }
-
-   /**
-    * @return the last element in the Fqn.
-    * @see #getLastElementAsString
-    */
-   public Object getLastElement()
-   {
-      if (isRoot()) return null;
-      return elements.get(size - 1);
-   }
-
-   /**
-    * @param element element to find
-    * @return true if the Fqn contains this element, false otherwise.
-    */
-   public boolean hasElement(Object element)
-   {
-      return elements.indexOf(element) != -1;
-   }
-
-   /**
-    * Returns true if obj is a Fqn with the same elements.
-    */
-   @Override
-   public boolean equals(Object obj)
-   {
-      if (this == obj)
-      {
-         return true;
-      }
-      if (!(obj instanceof Fqn))
-      {
-         return false;
-      }
-      Fqn<?> other = (Fqn<?>) obj;
-      return size == other.size() && elements.equals(other.elements);
-   }
-
-   /**
-    * Returns a hash code with Fqn elements.
-    */
-   @Override
-   public int hashCode()
-   {
-      if (hash_code == 0)
-      {
-         hash_code = calculateHashCode();
-      }
-      return hash_code;
-   }
-
-   /**
-    * Returns this Fqn as a string, prefixing the first element with a {@link Fqn#SEPARATOR} and
-    * joining each subsequent element with a {@link Fqn#SEPARATOR}.
-    * If this is the root Fqn, returns {@link Fqn#SEPARATOR}.
-    * Example:
-    * <pre>
-    * new Fqn(new Object[] { "a", "b", "c" }).toString(); // "/a/b/c"
-    * Fqn.ROOT.toString(); // "/"
-    * </pre>
-    */
-   @Override
-   public String toString()
-   {
-      if (stringRepresentation == null)
-      {
-         stringRepresentation = getStringRepresentation(elements);
-      }
-      return stringRepresentation;
-   }
-
-   public void writeExternal(ObjectOutput out) throws IOException
-   {
-      out.writeShort(size);
-      for (Object element : elements)
-      {
-         out.writeObject(element);
-      }
-   }
-
-   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
-   {
-      size = in.readShort();
-      this.elements = new ArrayList<E>(size);
-      for (int i = 0; i < size; i++) elements.add((E) in.readObject());
-   }
-
-
-   /**
-    * Returns true if this Fqn is child of parentFqn.
-    * Example usage:
-    * <pre>
-    * Fqn<String> f1 = Fqn.fromString("/a/b");
-    * Fqn<String> f2 = Fqn.fromString("/a/b/c");
-    * assertTrue(f1.isChildOf(f2));
-    * assertFalse(f1.isChildOf(f1));
-    * assertFalse(f2.isChildOf(f1));
-    * </pre>
-    *
-    * @param parentFqn candidate parent to test against
-    * @return true if the target is a child of parentFqn
-    */
-   public boolean isChildOf(Fqn<? super E> parentFqn)
-   {
-      return parentFqn.size() != size && isChildOrEquals(parentFqn);
-   }
-
-
-   /**
-    * Returns true if this Fqn is a <i>direct</i> child of a given Fqn.
-    *
-    * @param parentFqn parentFqn to compare with
-    * @return true if this is a direct child, false otherwise.
-    */
-   public boolean isDirectChildOf(Fqn<? super E> parentFqn)
-   {
-      return size == parentFqn.size() + 1 && isChildOf(parentFqn);
-   }
-
-   /**
-    * Returns true if this Fqn is equals or the child of parentFqn.
-    * Example usage:
-    * <pre>
-    * Fqn<String> f1 = Fqn.fromString("/a/b");
-    * Fqn<String> f2 = Fqn.fromString("/a/b/c");
-    * assertTrue(f1.isChildOrEquals(f2));
-    * assertTrue(f1.isChildOrEquals(f1));
-    * assertFalse(f2.isChildOrEquals(f1));
-    * </pre>
-    *
-    * @param parentFqn candidate parent to test against
-    * @return true if this Fqn is equals or the child of parentFqn.
-    */
-   public boolean isChildOrEquals(Fqn<? super E> parentFqn)
-   {
-      List<? super E> parentList = parentFqn.elements;
-      if (parentList.size() > size)
-      {
-         return false;
-      }
-      for (int i = parentList.size() - 1; i >= 0; i--)
-      {
-         if (!parentList.get(i).equals(elements.get(i)))
-         {
-            return false;
-         }
-      }
-      return true;
-   }
-
-   /**
-    * Calculates a hash code by summing the hash code of all elements.
-    *
-    * @return a calculated hashcode
-    */
-   protected int calculateHashCode()
-   {
-      int hashCode = 19;
-      for (Object o : elements) hashCode = 31 * hashCode + (o == null ? 0 : o.hashCode());
-      if (hashCode == 0) hashCode = 0xDEADBEEF; // degenerate case
-      return hashCode;
-   }
-
-   protected String getStringRepresentation(List<E> elements)
-   {
-      StringBuilder builder = new StringBuilder();
-      for (Object e : elements)
-      {
-         // incase user element 'e' does not implement equals() properly, don't rely on their implementation.
-         if (!SEPARATOR.equals(e) && !"".equals(e))
-         {
-            builder.append(SEPARATOR);
-            builder.append(e);
-         }
-      }
-      return builder.length() == 0 ? SEPARATOR : builder.toString();
-   }
-
-
-   /**
-    * Returns the parent of this Fqn.
-    * The parent of the root node is {@link #ROOT}.
-    * Examples:
-    * <pre>
-    * Fqn<String> f1 = Fqn.fromString("/a");
-    * Fqn<String> f2 = Fqn.fromString("/a/b");
-    * assertEquals(f1, f2.getParent());
-    * assertEquals(Fqn.ROOT, f1.getParent().getParent());
-    * assertEquals(Fqn.ROOT, Fqn.ROOT.getParent());
-    * </pre>
-    *
-    * @return the parent Fqn
-    */
-   public Fqn<E> getParent()
-   {
-      switch (size)
-      {
-         case 0:
-         case 1:
-            return root();
-         default:
-            return new Fqn(elements.subList(0, size - 1), true);
-      }
-   }
-
-   public static final <T> Fqn<T> root()  // declared final so compilers can optimise and in-line.
-   {
-      return ROOT;
-   }
-
-   /**
-    * Returns true if this is a root Fqn.
-    *
-    * @return true if the Fqn is Fqn.ROOT.
-    */
-   public boolean isRoot()
-   {
-      return size == 0;
-   }
-
-   /**
-    * If this is the root, returns {@link Fqn#SEPARATOR}.
-    *
-    * @return a String representation of the last element that makes up this Fqn.
-    */
-   public String getLastElementAsString()
-   {
-      if (isRoot())
-      {
-         return SEPARATOR;
-      }
-      else
-      {
-         Object last = getLastElement();
-         if (last instanceof String)
-            return (String) last;
-         else
-            return String.valueOf(getLastElement());
-      }
-   }
-
-   /**
-    * Peeks into the elements that build up this Fqn.  The list returned is
-    * read-only, to maintain the immutable nature of Fqn.
-    *
-    * @return an unmodifiable list
-    */
-   public List<E> peekElements()
-   {
-      return elements;
-   }
-
-   /**
-    * Compares this Fqn to another using {@link FqnComparator}.
-    */
-   public int compareTo(Fqn<?> fqn)
-   {
-      return FqnComparator.INSTANCE.compare(this, fqn);
-   }
-
-   /**
-    * Creates a new Fqn whose ancestor has been replaced with the new ancestor passed in.
-    *
-    * @param oldAncestor old ancestor to replace
-    * @param newAncestor nw ancestor to replace with
-    * @return a new Fqn with ancestors replaced.
-    */
-   public Fqn<E> replaceAncestor(Fqn<E> oldAncestor, Fqn<E> newAncestor)
-   {
-      if (!isChildOf(oldAncestor))
-         throw new IllegalArgumentException("Old ancestor must be an ancestor of the current Fqn!");
-      Fqn<E> subFqn = this.getSubFqn(oldAncestor.size(), size());
-      return Fqn.fromRelativeFqn(newAncestor, subFqn);
-   }
-}
\ No newline at end of file

Deleted: core/branches/flat/src/main/java/org/jboss/cache/FqnComparator.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/FqnComparator.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/FqnComparator.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,121 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache;
-
-import net.jcip.annotations.Immutable;
-
-import java.io.Serializable;
-import java.util.Comparator;
-
-/**
- * Compares the order of two FQN.
- * Sorts by name, then by depth, e.g.
- * <pre>
- * aaa/bbb
- * xxx
- * xxx/ccc
- * </pre>
- *
- * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
- * @author Steve Woodcock (<a href="mailto:stevew at jofti.com">stevew at jofti.com</a>)
- */
- at Immutable
-public class FqnComparator implements Comparator<Fqn>, Serializable
-{
-   public static final FqnComparator INSTANCE = new FqnComparator();
-
-   /**
-    * Returns -1 if the first comes before; 0 if they are the same; 1 if the
-    * second Fqn comes before.  <code>null</code> always comes first.
-    */
-   public int compare(Fqn fqn1, Fqn fqn2)
-   {
-      int s1 = fqn1.size();
-      int s2 = fqn2.size();
-
-      if (s1 == 0)
-      {
-         return (s2 == 0) ? 0 : -1;
-      }
-
-      if (s2 == 0)
-      {
-         return 1;
-      }
-
-//      if (fqn1.getClass().equals(StringFqn.class) && fqn2.getClass().equals(StringFqn.class))
-//      {
-//         StringFqn sfqn1 = (StringFqn) fqn1;
-//         StringFqn sfqn2 = (StringFqn) fqn2;
-//         return sfqn1.stringRepresentation.compareTo(sfqn2.stringRepresentation);
-//      }
-      int size = Math.min(s1, s2);
-
-      for (int i = 0; i < size; i++)
-      {
-         Object e1 = fqn1.get(i);
-         Object e2 = fqn2.get(i);
-         if (e1 == e2)
-         {
-            continue;
-         }
-         if (e1 == null)
-         {
-            return 0;
-         }
-         if (e2 == null)
-         {
-            return 1;
-         }
-         if (!e1.equals(e2))
-         {
-            int c = compareElements(e1, e2);
-            if (c != 0)
-            {
-               return c;
-            }
-         }
-      }
-
-      return s1 - s2;
-   }
-
-   /**
-    * Compares two Fqn elements.
-    * If e1 and e2 are the same class and e1 implements Comparable,
-    * returns e1.compareTo(e2).
-    * Otherwise, returns e1.toString().compareTo(e2.toString()).
-    */
-   private int compareElements(Object e1, Object e2)
-   {
-      if (e1.getClass() == e2.getClass() && e1 instanceof Comparable)
-      {
-         return ((Comparable<Object>) e1).compareTo(e2);
-      }
-      else
-      {
-         return e1.toString().compareTo(e2.toString());
-      }
-   }
-
-
-}

Modified: core/branches/flat/src/main/java/org/jboss/cache/InternalNode.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/InternalNode.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/InternalNode.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,6 +23,7 @@
 
 import org.jboss.cache.lock.NodeLock;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 import java.util.Set;

Modified: core/branches/flat/src/main/java/org/jboss/cache/InvocationContext.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/InvocationContext.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/InvocationContext.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -29,8 +29,9 @@
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionContext;
 import org.jboss.cache.transaction.TransactionTable;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.config.Option;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Immutables;
 
 import javax.transaction.Transaction;
 import java.util.Collections;

Modified: core/branches/flat/src/main/java/org/jboss/cache/Modification.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/Modification.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/Modification.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,6 +22,8 @@
 package org.jboss.cache;
 
 
+import org.jboss.starobrno.tree.Fqn;
+
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;

Modified: core/branches/flat/src/main/java/org/jboss/cache/Node.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/Node.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/Node.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,6 +22,7 @@
 package org.jboss.cache;
 
 import net.jcip.annotations.ThreadSafe;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 import java.util.Set;

Modified: core/branches/flat/src/main/java/org/jboss/cache/NodeFactory.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/NodeFactory.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/NodeFactory.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,6 +22,8 @@
 package org.jboss.cache;
 
 
+import org.jboss.starobrno.tree.Fqn;
+
 import java.util.Map;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/NodeSPI.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/NodeSPI.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/NodeSPI.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,6 +24,7 @@
 import net.jcip.annotations.NotThreadSafe;
 import org.jboss.cache.lock.NodeLock;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 import java.util.Set;

Modified: core/branches/flat/src/main/java/org/jboss/cache/RPCManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/RPCManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/RPCManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,6 +22,7 @@
 package org.jboss.cache;
 
 import org.jboss.cache.commands.ReplicableCommand;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 import org.jgroups.Channel;
 import org.jgroups.blocks.RspFilter;

Modified: core/branches/flat/src/main/java/org/jboss/cache/RPCManagerImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/RPCManagerImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/RPCManagerImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -30,32 +30,26 @@
 import org.jboss.cache.jmx.annotations.ManagedAttribute;
 import org.jboss.cache.jmx.annotations.ManagedOperation;
 import org.jboss.cache.lock.LockManager;
-import org.jboss.starobrno.lock.TimeoutException;
 import org.jboss.cache.marshall.CommandAwareRpcDispatcher;
 import org.jboss.cache.marshall.Marshaller;
 import org.jboss.cache.remoting.jgroups.ChannelMessageListener;
-import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
 import org.jboss.cache.transaction.GlobalTransaction;
-import org.jboss.cache.util.concurrent.ReclosableLatch;
-import org.jboss.starobrno.util.ReflectionUtil;
 import org.jboss.starobrno.CacheException;
-import org.jboss.starobrno.remoting.SuspectException;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.RuntimeConfig;
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.starobrno.factories.annotations.Stop;
+import org.jboss.starobrno.lock.TimeoutException;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.remoting.SuspectException;
+import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
 import org.jboss.starobrno.transaction.TransactionTable;
-import org.jgroups.Address;
-import org.jgroups.Channel;
-import org.jgroups.ChannelException;
-import org.jgroups.ChannelFactory;
-import org.jgroups.ExtendedMembershipListener;
-import org.jgroups.JChannel;
-import org.jgroups.StateTransferException;
-import org.jgroups.View;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.ReflectionUtil;
+import org.jboss.starobrno.util.concurrent.ReclosableLatch;
+import org.jgroups.*;
 import org.jgroups.blocks.GroupRequest;
 import org.jgroups.blocks.RspFilter;
 import org.jgroups.protocols.TP;
@@ -65,13 +59,7 @@
 
 import javax.transaction.TransactionManager;
 import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.Vector;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/Region.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/Region.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/Region.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -25,6 +25,7 @@
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.EvictionCacheConfig;
 import org.jboss.starobrno.eviction.EvictionEvent;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Defines characteristics such as class loading and eviction of {@link org.jboss.cache.Node}s belonging to a Region in a {@link Cache_Legacy}.

Modified: core/branches/flat/src/main/java/org/jboss/cache/RegionImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/RegionImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/RegionImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,13 +23,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.starobrno.util.Util;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.EvictionAlgorithmConfig;
 import org.jboss.starobrno.config.EvictionCacheConfig;
 import org.jboss.starobrno.eviction.EvictionAction;
+import org.jboss.starobrno.eviction.EvictionAlgorithm;
 import org.jboss.starobrno.eviction.EvictionEvent;
-import org.jboss.starobrno.eviction.EvictionAlgorithm;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Util;
 
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;

Modified: core/branches/flat/src/main/java/org/jboss/cache/RegionManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/RegionManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/RegionManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,6 +24,7 @@
 import org.jboss.cache.annotations.Compat;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.EvictionConfig;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.List;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/RegionManagerImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/RegionManagerImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/RegionManagerImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -28,16 +28,17 @@
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.lock.LockManager;
-import org.jboss.starobrno.util.concurrent.locks.LockContainer;
-import org.jboss.starobrno.util.concurrent.locks.ReentrantLockContainer;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.Configuration;
+import org.jboss.starobrno.config.EvictionCacheConfig;
 import org.jboss.starobrno.config.EvictionConfig;
-import org.jboss.starobrno.config.EvictionCacheConfig;
 import org.jboss.starobrno.factories.annotations.Destroy;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.starobrno.factories.annotations.Stop;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.concurrent.locks.LockContainer;
+import org.jboss.starobrno.util.concurrent.locks.ReentrantLockContainer;
 import org.jgroups.Address;
 
 import java.util.ArrayList;

Modified: core/branches/flat/src/main/java/org/jboss/cache/RegionRegistry.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/RegionRegistry.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/RegionRegistry.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,6 +22,7 @@
 package org.jboss.cache;
 
 import org.jboss.starobrno.factories.annotations.NonVolatile;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.concurrent.ConcurrentHashMap;
 

Deleted: core/branches/flat/src/main/java/org/jboss/cache/StringFqn.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/StringFqn.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/StringFqn.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,130 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache;
-
-import org.jboss.cache.annotations.Experimental;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * An optimisation of Fqn that does more efficient equals() and hashcode() computations.  This is returned by default when
- * the factory method {@link Fqn#fromString(String)} is used, or when any of the other factory methods on {@link Fqn} are
- * passed only String elements.
- * <p/>
- * <b>Note</b> that the "/" character is illegal in any Fqn String element and if encountered may be used to split Fqn elements.
- * Expect indeterminate behaviour until proper String escaping is in place.
- * <p/>
- *
- * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
- * @since 2.2.0
- */
-// TODO: 3.0.0: Implement proper String escaping.
- at Experimental
-public final class StringFqn extends Fqn
-{
-   protected StringFqn()
-   {
-      super();
-      stringRepresentation = SEPARATOR;
-   }
-
-   @SuppressWarnings("unchecked")
-   protected StringFqn(StringFqn base, List<String> elements)
-   {
-      super(base, (List) elements);
-      String elementStringRep = getStringRepresentation((List) elements);
-      stringRepresentation = base.isRoot() ? elementStringRep : base.stringRepresentation + elementStringRep;
-   }
-
-   protected StringFqn(StringFqn base, StringFqn relative)
-   {
-      super(base, relative.elements);
-      if (base.isRoot())
-      {
-         if (relative.isRoot())
-            stringRepresentation = SEPARATOR;
-         else
-            stringRepresentation = relative.stringRepresentation;
-      }
-      else
-      {
-         if (relative.isRoot())
-            stringRepresentation = base.stringRepresentation;
-         else
-            stringRepresentation = base.stringRepresentation + relative.stringRepresentation;
-      }
-   }
-
-   @SuppressWarnings("unchecked")
-   protected StringFqn(List<String> stringElements)
-   {
-      super((List) stringElements, false);
-      stringRepresentation = getStringRepresentation(elements);
-   }
-
-   protected StringFqn(String stringRep)
-   {
-      this(Arrays.asList(stringRep.split("/")));
-   }
-
-   @Override
-   public boolean equals(Object other)
-   {
-      if (other == this) return true;
-      if (other == null) return false;
-      if (other.getClass().equals(StringFqn.class))
-      {
-         return stringRepresentation.equals(((StringFqn) other).stringRepresentation);
-      }
-      else
-      {
-         return super.equals(other);
-      }
-   }
-
-   @Override
-   protected int calculateHashCode()
-   {
-      return stringRepresentation.hashCode();
-   }
-
-   @Override
-   @SuppressWarnings(value = "unchecked")
-   public boolean isChildOrEquals(Fqn parentFqn)
-   {
-      if (parentFqn.getClass().equals(StringFqn.class))
-      {
-         StringFqn stringParentFqn = (StringFqn) parentFqn;
-         return stringRepresentation.startsWith(stringParentFqn.stringRepresentation);
-      }
-      else
-      {
-         return super.isChildOrEquals(parentFqn);
-      }
-   }
-
-   public String getStringRepresentation()
-   {
-      return stringRepresentation;
-   }
-}

Modified: core/branches/flat/src/main/java/org/jboss/cache/UnversionedNode.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/UnversionedNode.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/UnversionedNode.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,11 +24,12 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import static org.jboss.cache.AbstractNode.NodeFlags.*;
-import org.jboss.cache.util.Immutables;
-import org.jboss.cache.util.concurrent.SelfInitializingConcurrentHashMap;
 import org.jboss.starobrno.CacheException;
+import org.jboss.starobrno.marshall.MarshalledValue;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.starobrno.util.FastCopyHashMap;
-import org.jboss.starobrno.marshall.MarshalledValue;
+import org.jboss.starobrno.util.Immutables;
+import org.jboss.starobrno.util.concurrent.SelfInitializingConcurrentHashMap;
 
 import java.util.*;
 import java.util.Map.Entry;
@@ -269,7 +270,7 @@
    @Override
    public void addChild(InternalNode<K, V> child, boolean safe)
    {
-      Fqn<?> childFqn = child.getFqn();
+      Fqn childFqn = child.getFqn();
       if (safe || childFqn.isDirectChildOf(fqn))
       {
          children().put(childFqn.getLastElement(), child);
@@ -441,8 +442,7 @@
       {
          if (this.data == null)
             this.data = copyDataMap(data);
-         else
-         if (this.data.size() == 1 && data.size() == 1 && this.data.keySet().iterator().next().equals(data.keySet().iterator().next()))
+         else if (this.data.size() == 1 && data.size() == 1 && this.data.keySet().iterator().next().equals(data.keySet().iterator().next()))
          {
             // replace key!
             Entry<? extends K, ? extends V> e = data.entrySet().iterator().next();

Modified: core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,8 @@
  */
 package org.jboss.cache.buddyreplication;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.CacheException;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 
 import java.util.ArrayList;

Modified: core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyGroup.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyGroup.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyGroup.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,7 +22,7 @@
 package org.jboss.cache.buddyreplication;
 
 import net.jcip.annotations.ThreadSafe;
-import org.jboss.cache.util.Immutables;
+import org.jboss.starobrno.util.Immutables;
 import org.jgroups.Address;
 
 import java.io.Serializable;

Modified: core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,15 +23,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.Node;
-import org.jboss.cache.NodeSPI;
-import org.jboss.cache.RPCManager;
-import org.jboss.cache.Region;
-import org.jboss.cache.RegionEmptyException;
-import org.jboss.cache.RegionManager;
+import org.jboss.cache.*;
 import org.jboss.cache.commands.CommandsFactory;
 import org.jboss.cache.commands.ReplicableCommand;
 import org.jboss.cache.commands.VisitableCommand;
@@ -39,11 +31,6 @@
 import org.jboss.cache.commands.remote.AssignToBuddyGroupCommand;
 import org.jboss.cache.commands.remote.RemoveFromBuddyGroupCommand;
 import org.jboss.cache.commands.remote.ReplicateCommand;
-import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
-import org.jboss.starobrno.lock.TimeoutException;
-import org.jboss.starobrno.statetransfer.StateTransferManager;
-import org.jboss.cache.util.concurrent.ConcurrentHashSet;
-import org.jboss.starobrno.util.ReflectionUtil;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.BuddyReplicationConfig;
 import org.jboss.starobrno.config.BuddyReplicationConfig.BuddyLocatorConfig;
@@ -52,10 +39,16 @@
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.starobrno.factories.annotations.Stop;
+import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
+import org.jboss.starobrno.lock.TimeoutException;
 import org.jboss.starobrno.notifications.Notifier;
 import org.jboss.starobrno.notifications.annotation.CacheListener;
 import org.jboss.starobrno.notifications.annotation.ViewChanged;
 import org.jboss.starobrno.notifications.event.ViewChangedEvent;
+import org.jboss.starobrno.statetransfer.StateTransferManager;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.ReflectionUtil;
+import org.jboss.starobrno.util.concurrent.ConcurrentHashSet;
 import org.jboss.util.stream.MarshalledValueInputStream;
 import org.jboss.util.stream.MarshalledValueOutputStream;
 import org.jgroups.Address;
@@ -64,24 +57,8 @@
 import org.jgroups.util.Util;
 
 import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.Vector;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
+import java.util.*;
+import java.util.concurrent.*;
 
 /**
  * Class that manages buddy replication groups.

Modified: core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/Fqn2BuddyFqnVisitor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/Fqn2BuddyFqnVisitor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/Fqn2BuddyFqnVisitor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,30 +21,16 @@
  */
 package org.jboss.cache.buddyreplication;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.commands.AbstractVisitor;
 import org.jboss.cache.commands.CommandsFactory;
 import org.jboss.cache.commands.WriteCommand;
-import org.jboss.cache.commands.read.ExistsCommand;
-import org.jboss.cache.commands.read.GetChildrenNamesCommand;
-import org.jboss.cache.commands.read.GetDataMapCommand;
-import org.jboss.cache.commands.read.GetKeyValueCommand;
-import org.jboss.cache.commands.read.GetKeysCommand;
-import org.jboss.cache.commands.read.GetNodeCommand;
-import org.jboss.cache.commands.read.GravitateDataCommand;
+import org.jboss.cache.commands.read.*;
 import org.jboss.cache.commands.tx.CommitCommand;
 import org.jboss.cache.commands.tx.PrepareCommand;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.EvictCommand;
-import org.jboss.cache.commands.write.InvalidateCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.ArrayList;
 import java.util.List;

Modified: core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/GravitateResult.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/GravitateResult.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/buddyreplication/GravitateResult.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,8 @@
  */
 package org.jboss.cache.buddyreplication;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.List;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactory.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactory.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactory.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,34 +21,15 @@
  */
 package org.jboss.cache.commands;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.buddyreplication.BuddyGroup;
-import org.jboss.cache.commands.read.ExistsCommand;
-import org.jboss.cache.commands.read.GetChildrenNamesCommand;
-import org.jboss.cache.commands.read.GetDataMapCommand;
-import org.jboss.cache.commands.read.GetKeyValueCommand;
-import org.jboss.cache.commands.read.GetKeysCommand;
-import org.jboss.cache.commands.read.GetNodeCommand;
-import org.jboss.cache.commands.read.GravitateDataCommand;
-import org.jboss.cache.commands.remote.AnnounceBuddyPoolNameCommand;
-import org.jboss.cache.commands.remote.AssignToBuddyGroupCommand;
-import org.jboss.cache.commands.remote.ClusteredGetCommand;
-import org.jboss.cache.commands.remote.DataGravitationCleanupCommand;
-import org.jboss.cache.commands.remote.RemoveFromBuddyGroupCommand;
-import org.jboss.cache.commands.remote.ReplicateCommand;
+import org.jboss.cache.commands.read.*;
+import org.jboss.cache.commands.remote.*;
 import org.jboss.cache.commands.tx.CommitCommand;
 import org.jboss.cache.commands.tx.PrepareCommand;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.EvictCommand;
-import org.jboss.cache.commands.write.InvalidateCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 
 import java.util.List;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactoryImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactoryImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/CommandsFactoryImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,36 +23,16 @@
 
 import org.jboss.cache.CacheSPI_Legacy;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.RPCManager;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.cache.buddyreplication.BuddyGroup;
 import org.jboss.cache.buddyreplication.BuddyManager;
-import org.jboss.cache.commands.read.ExistsCommand;
-import org.jboss.cache.commands.read.GetChildrenNamesCommand;
-import org.jboss.cache.commands.read.GetDataMapCommand;
-import org.jboss.cache.commands.read.GetKeyValueCommand;
-import org.jboss.cache.commands.read.GetKeysCommand;
-import org.jboss.cache.commands.read.GetNodeCommand;
-import org.jboss.cache.commands.read.GravitateDataCommand;
-import org.jboss.cache.commands.remote.AnnounceBuddyPoolNameCommand;
-import org.jboss.cache.commands.remote.AssignToBuddyGroupCommand;
-import org.jboss.cache.commands.remote.ClusteredGetCommand;
-import org.jboss.cache.commands.remote.DataGravitationCleanupCommand;
-import org.jboss.cache.commands.remote.RemoveFromBuddyGroupCommand;
-import org.jboss.cache.commands.remote.ReplicateCommand;
+import org.jboss.cache.commands.read.*;
+import org.jboss.cache.commands.remote.*;
 import org.jboss.cache.commands.tx.CommitCommand;
 import org.jboss.cache.commands.tx.PrepareCommand;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.EvictCommand;
-import org.jboss.cache.commands.write.InvalidateCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.interceptors.InterceptorChain;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionTable;
@@ -60,6 +40,7 @@
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 
 import javax.transaction.TransactionManager;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/DataCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/DataCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/DataCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.cache.commands;
 
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Commands of this type manipulate data in the cache.

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/AbstractDataCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/AbstractDataCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/AbstractDataCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,8 +22,8 @@
 package org.jboss.cache.commands.read;
 
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.commands.DataCommand;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * An abstract class providing basic functionality of all {@link DataCommand}s.

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/ExistsCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/ExistsCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/ExistsCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,10 +21,10 @@
  */
 package org.jboss.cache.commands.read;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Checks whether a given node exists in current in-memory state of the cache.

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetChildrenNamesCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetChildrenNamesCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetChildrenNamesCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,11 +23,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collection;
 import java.util.HashSet;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetDataMapCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetDataMapCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetDataMapCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,11 +21,11 @@
  */
 package org.jboss.cache.commands.read;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
-import org.jboss.cache.util.Immutables;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Immutables;
 
 /**
  * Implements functionality defined by {@link org.jboss.cache.Cache_Legacy#getData(org.jboss.cache.Fqn)}

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeyValueCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeyValueCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeyValueCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,11 +24,11 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Implements functionality defined by {@link org.jboss.cache.Cache_Legacy#get(String, Object)}

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeysCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeysCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetKeysCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,10 +21,10 @@
  */
 package org.jboss.cache.commands.read;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Implements functionality defined by {@link org.jboss.cache.Cache_Legacy#getKeys(org.jboss.cache.Fqn)}

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetNodeCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetNodeCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/GetNodeCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,10 +23,10 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Implements functionality defined by {@link org.jboss.cache.Cache_Legacy#getNode(org.jboss.cache.Fqn)}

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/read/GravitateDataCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/read/GravitateDataCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/read/GravitateDataCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,18 +23,13 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.InternalNode;
-import org.jboss.cache.InvocationContext;
-import org.jboss.cache.Node;
-import org.jboss.cache.NodeSPI;
+import org.jboss.cache.*;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.buddyreplication.GravitateResult;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 
 import java.util.LinkedList;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/remote/AssignToBuddyGroupCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/remote/AssignToBuddyGroupCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/remote/AssignToBuddyGroupCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,11 +21,11 @@
  */
 package org.jboss.cache.commands.remote;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.buddyreplication.BuddyGroup;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.commands.ReplicableCommand;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Arrays;
 import java.util.Map;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/remote/DataGravitationCleanupCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/remote/DataGravitationCleanupCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/remote/DataGravitationCleanupCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,7 +24,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.cache.buddyreplication.BuddyManager;
@@ -35,6 +34,7 @@
 import org.jboss.cache.interceptors.InterceptorChain;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionTable;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.List;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/AbstractVersionedDataCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/AbstractVersionedDataCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/AbstractVersionedDataCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,13 +22,13 @@
 package org.jboss.cache.commands.write;
 
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.VersionedDataCommand;
 import org.jboss.cache.commands.read.AbstractDataCommand;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Base version of {@link org.jboss.cache.commands.DataCommand} which handles common behaviour

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/ClearDataCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/ClearDataCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/ClearDataCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,11 +23,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/EvictCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/EvictCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/EvictCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,13 +24,13 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.commands.read.AbstractDataCommand;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collection;
 import java.util.Collections;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/InvalidateCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/InvalidateCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/InvalidateCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -25,12 +25,12 @@
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.commands.read.AbstractDataCommand;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Removes a node's content from memory - never removes the node.

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/MoveCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/MoveCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/MoveCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,7 +24,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
@@ -33,6 +32,7 @@
 import org.jboss.cache.commands.read.AbstractDataCommand;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutDataMapCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutDataMapCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutDataMapCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,12 +23,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeNotExistsException;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutForExternalReadCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutForExternalReadCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutForExternalReadCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,10 +21,10 @@
  */
 package org.jboss.cache.commands.write;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Represents the {@link org.jboss.cache.Cache_Legacy#putForExternalRead(org.jboss.cache.Fqn, Object, Object)} method call.

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/PutKeyValueCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,12 +23,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeNotExistsException;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collections;
 import java.util.Map;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveKeyCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveKeyCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveKeyCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,11 +23,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collections;
 import java.util.Map;

Modified: core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveNodeCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveNodeCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/commands/write/RemoveNodeCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,11 +23,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.Visitor;
 import org.jboss.cache.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Map;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/interceptors/ActivationInterceptor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,6 @@
  */
 package org.jboss.cache.interceptors;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.Modification;
@@ -31,27 +30,18 @@
 import org.jboss.cache.commands.read.GetKeysCommand;
 import org.jboss.cache.commands.read.GetNodeCommand;
 import org.jboss.cache.commands.tx.PrepareCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.jmx.annotations.ManagedAttribute;
 import org.jboss.cache.jmx.annotations.ManagedOperation;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionContext;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.SystemException;
 import javax.transaction.TransactionManager;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/interceptors/BuddyRegionAwareEvictionInterceptor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/interceptors/BuddyRegionAwareEvictionInterceptor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/interceptors/BuddyRegionAwareEvictionInterceptor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,11 +21,11 @@
  */
 package org.jboss.cache.interceptors;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Region;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.interceptors.EvictionInterceptor;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * A subclass of EvictionInterceptor that is aware of and able to deal with buddy regions.

Modified: core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,23 +22,12 @@
 package org.jboss.cache.interceptors;
 
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
-import org.jboss.cache.commands.read.GetChildrenNamesCommand;
-import org.jboss.cache.commands.read.GetDataMapCommand;
-import org.jboss.cache.commands.read.GetKeyValueCommand;
-import org.jboss.cache.commands.read.GetKeysCommand;
-import org.jboss.cache.commands.read.GetNodeCommand;
+import org.jboss.cache.commands.read.*;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.interceptors.base.JmxStatsCommandInterceptor;
 import org.jboss.cache.jmx.annotations.ManagedAttribute;
 import org.jboss.cache.jmx.annotations.ManagedOperation;
@@ -50,12 +39,9 @@
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * Loads nodes that don't exist at the time of the call into memory from the CacheLoader

Modified: core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/interceptors/CacheStoreInterceptor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,7 +22,6 @@
 package org.jboss.cache.interceptors;
 
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.Modification;
 import org.jboss.cache.NodeSPI;
@@ -32,13 +31,7 @@
 import org.jboss.cache.commands.tx.CommitCommand;
 import org.jboss.cache.commands.tx.PrepareCommand;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.interceptors.base.SkipCheckChainedInterceptor;
 import org.jboss.cache.jmx.annotations.ManagedAttribute;
 import org.jboss.cache.jmx.annotations.ManagedOperation;
@@ -49,15 +42,11 @@
 import org.jboss.starobrno.config.CacheLoaderConfig;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.SystemException;
 import javax.transaction.TransactionManager;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor_Legacy.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor_Legacy.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/interceptors/InvalidationInterceptor_Legacy.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,6 @@
  */
 package org.jboss.cache.interceptors;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.commands.AbstractVisitor;
 import org.jboss.cache.commands.CommandsFactory;
@@ -30,13 +29,7 @@
 import org.jboss.cache.commands.tx.CommitCommand;
 import org.jboss.cache.commands.tx.PrepareCommand;
 import org.jboss.cache.commands.tx.RollbackCommand;
-import org.jboss.cache.commands.write.ClearDataCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.jmx.annotations.ManagedAttribute;
 import org.jboss.cache.jmx.annotations.ManagedOperation;
 import org.jboss.cache.transaction.GlobalTransaction;
@@ -45,15 +38,11 @@
 import org.jboss.starobrno.config.Option;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.SystemException;
 import javax.transaction.Transaction;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/interceptors/PassivationInterceptor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,6 @@
  */
 package org.jboss.cache.interceptors;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.write.EvictCommand;
@@ -32,6 +31,7 @@
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.HashMap;
 import java.util.Map;

Modified: core/branches/flat/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,41 +23,17 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.CacheStatus;
-import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.InvocationContext;
-import org.jboss.cache.NodeNotExistsException;
-import org.jboss.cache.NodeSPI;
-import org.jboss.cache.RPCManager;
-import org.jboss.cache.Region;
-import org.jboss.cache.RegionManager;
-import org.jboss.cache.Version;
+import org.jboss.cache.*;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.buddyreplication.GravitateResult;
 import org.jboss.cache.commands.CommandsFactory;
-import org.jboss.cache.commands.read.ExistsCommand;
-import org.jboss.cache.commands.read.GetChildrenNamesCommand;
-import org.jboss.cache.commands.read.GetDataMapCommand;
-import org.jboss.cache.commands.read.GetKeyValueCommand;
-import org.jboss.cache.commands.read.GetKeysCommand;
-import org.jboss.cache.commands.read.GetNodeCommand;
-import org.jboss.cache.commands.read.GravitateDataCommand;
-import org.jboss.cache.commands.write.EvictCommand;
-import org.jboss.cache.commands.write.MoveCommand;
-import org.jboss.cache.commands.write.PutDataMapCommand;
-import org.jboss.cache.commands.write.PutForExternalReadCommand;
-import org.jboss.cache.commands.write.PutKeyValueCommand;
-import org.jboss.cache.commands.write.RemoveKeyCommand;
-import org.jboss.cache.commands.write.RemoveNodeCommand;
+import org.jboss.cache.commands.read.*;
+import org.jboss.cache.commands.write.*;
 import org.jboss.cache.interceptors.base.CommandInterceptor;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.cache.marshall.Marshaller;
-import org.jboss.starobrno.statetransfer.StateTransferManager;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionTable;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.batch.BatchContainer;
 import org.jboss.starobrno.config.Configuration;
@@ -67,6 +43,9 @@
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.NonVolatile;
 import org.jboss.starobrno.notifications.Notifier;
+import org.jboss.starobrno.statetransfer.StateTransferManager;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Immutables;
 import org.jgroups.Address;
 
 import javax.transaction.Transaction;

Modified: core/branches/flat/src/main/java/org/jboss/cache/invocation/MVCCInvocationContext.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/invocation/MVCCInvocationContext.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/invocation/MVCCInvocationContext.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,11 +21,11 @@
  */
 package org.jboss.cache.invocation;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.transaction.MVCCTransactionContext;
 import org.jboss.cache.transaction.TransactionContext;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collections;
 import java.util.HashMap;

Modified: core/branches/flat/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,18 +23,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.InternalNode;
-import org.jboss.cache.InvocationContext;
-import org.jboss.cache.Node;
-import org.jboss.cache.NodeNotValidException;
-import org.jboss.cache.NodeSPI;
+import org.jboss.cache.*;
 import org.jboss.cache.lock.NodeLock;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.Option;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collections;
 import java.util.HashSet;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,18 +24,18 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.Region;
 import org.jboss.cache.RegionManager;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.marshall.Marshaller;
+import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.marshall.NodeDataExceptionMarker;
 import org.jboss.starobrno.marshall.NodeDataMarker;
-import org.jboss.starobrno.marshall.NodeDataExceptionMarker;
-import org.jboss.cache.util.Immutables;
-import org.jboss.starobrno.CacheException;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Immutables;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractDelegatingCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractDelegatingCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/AbstractDelegatingCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,10 +22,10 @@
 package org.jboss.cache.loader;
 
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.RegionManager;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/AdjListJDBCCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,31 +23,17 @@
 
 import net.jcip.annotations.ThreadSafe;
 import org.apache.commons.logging.Log;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
-import org.jboss.starobrno.io.ByteBuffer;
 import org.jboss.cache.lock.StripedLock;
-import org.jboss.starobrno.util.Util;
 import org.jboss.starobrno.config.CacheLoaderConfig;
+import org.jboss.starobrno.io.ByteBuffer;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Util;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.Types;
-import java.util.AbstractMap;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import java.sql.*;
+import java.util.*;
 
 /**
  * Adjacency List Model is the model of persisting trees in which each children holds a reference to its parent.

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/AsyncCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/AsyncCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/AsyncCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,24 +23,18 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Immutables;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,10 +23,10 @@
 
 import net.jcip.annotations.ThreadSafe;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.RegionManager;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderAop.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderAop.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderAop.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.cache.loader;
 
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Responsible for storing and retrieving objects to/from secondary storage.

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/CacheLoaderManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,28 +21,28 @@
  */
 package org.jboss.cache.loader;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.StringTokenizer;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.RegionManager;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.CacheLoaderConfig;
+import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig.SingletonStoreConfig;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.ConfigurationException;
-import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
-import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig.SingletonStoreConfig;
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.starobrno.factories.annotations.Stop;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.starobrno.util.ReflectionUtil;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.StringTokenizer;
+
 /**
  * Manages all cache loader functionality.  This class is typically initialised with an XML DOM Element,
  * represeting a cache loader configuration, or a {@link org.jboss.cache.config.CacheLoaderConfig} object.
@@ -225,7 +225,7 @@
    private CacheLoader createCacheLoader(CacheLoaderConfig.IndividualCacheLoaderConfig cfg, CacheSPI_Legacy cache) throws Exception
    {
       // create loader
-      CacheLoader tmpLoader = (CacheLoader)(cfg.getCacheLoader() == null ? createInstance(cfg.getClassName()) : cfg.getCacheLoader());
+      CacheLoader tmpLoader = (CacheLoader) (cfg.getCacheLoader() == null ? createInstance(cfg.getClassName()) : cfg.getCacheLoader());
 
       if (tmpLoader != null)
       {

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/ChainingCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,22 +21,17 @@
  */
 package org.jboss.cache.loader;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.RegionManager;
 import org.jboss.starobrno.config.CacheLoaderConfig;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.factories.annotations.Inject;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * This decorator is used whenever more than one cache loader is configured.  READ operations are directed to

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/ClusteredCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,12 +24,7 @@
 import net.jcip.annotations.ThreadSafe;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheStatus;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.Modification;
-import org.jboss.cache.NodeSPI;
-import org.jboss.cache.RegionManager;
-import org.jboss.cache.ReplicationException;
+import org.jboss.cache.*;
 import org.jboss.cache.commands.CommandsFactory;
 import org.jboss.cache.commands.DataCommand;
 import org.jboss.cache.commands.read.ExistsCommand;
@@ -40,18 +35,14 @@
 import org.jboss.cache.lock.StripedLock;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
 import org.jboss.starobrno.factories.annotations.Inject;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 import org.jgroups.blocks.GroupRequest;
 import org.jgroups.blocks.RspFilter;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * A cache loader that consults other members in the cluster for values.  Does

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/FileCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/FileCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/FileCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,24 +24,13 @@
 import net.jcip.annotations.ThreadSafe;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.lock.StripedLock;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.util.stream.MarshalledValueInputStream;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.io.*;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,18 +24,14 @@
 import net.jcip.annotations.ThreadSafe;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
-import org.jboss.starobrno.marshall.NodeData;
 import org.jboss.starobrno.config.CacheLoaderConfig;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.InputStream;
 import java.io.ObjectInputStream;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
+import java.sql.*;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderOld.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderOld.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/JDBCCacheLoaderOld.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,8 +23,8 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/LocalDelegatingCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/LocalDelegatingCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/LocalDelegatingCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,10 +22,10 @@
 package org.jboss.cache.loader;
 
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Node;
 import org.jboss.cache.NodeSPI;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/ReadOnlyDelegatingCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/ReadOnlyDelegatingCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/ReadOnlyDelegatingCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,8 +23,8 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.util.List;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/SingletonStoreCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/SingletonStoreCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/SingletonStoreCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,7 +24,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.NodeSPI;
 import org.jboss.starobrno.config.CacheLoaderConfig;
@@ -35,23 +34,13 @@
 import org.jboss.starobrno.notifications.annotation.ViewChanged;
 import org.jboss.starobrno.notifications.event.Event;
 import org.jboss.starobrno.notifications.event.ViewChangedEvent;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.Address;
 import org.jgroups.View;
 
 import java.io.ObjectInputStream;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Vector;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
+import java.util.*;
+import java.util.concurrent.*;
 
 /**
  * SingletonStoreCacheLoader is a delegating cache loader used for situations when only one node should interact with

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/TcpDelegatingCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/TcpDelegatingCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/TcpDelegatingCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,17 +23,13 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.loader.tcp.TcpCacheOperations;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
+import java.io.*;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.net.Socket;

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/bdbje/BdbjeCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/bdbje/BdbjeCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/bdbje/BdbjeCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -26,36 +26,21 @@
 import com.sleepycat.bind.tuple.TupleBinding;
 import com.sleepycat.bind.tuple.TupleInput;
 import com.sleepycat.bind.tuple.TupleOutput;
-import com.sleepycat.je.Cursor;
-import com.sleepycat.je.Database;
-import com.sleepycat.je.DatabaseConfig;
-import com.sleepycat.je.DatabaseEntry;
-import com.sleepycat.je.DeadlockException;
-import com.sleepycat.je.Environment;
-import com.sleepycat.je.EnvironmentConfig;
-import com.sleepycat.je.JEVersion;
-import com.sleepycat.je.LockMode;
-import com.sleepycat.je.OperationStatus;
-import com.sleepycat.je.Transaction;
+import com.sleepycat.je.*;
 import net.jcip.annotations.ThreadSafe;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Modification;
 import org.jboss.cache.loader.AbstractCacheLoader;
-import org.jboss.starobrno.util.ReflectionUtil;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.ReflectionUtil;
 
 import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/jdbm/JdbmCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -30,22 +30,16 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.FqnComparator;
 import org.jboss.cache.Modification;
 import org.jboss.cache.loader.AbstractCacheLoader;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.tree.FqnComparator;
 
 import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import java.util.*;
 
 /**
  * A persistent <code>CacheLoader</code> based on the JDBM project.

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/s3/S3CacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/s3/S3CacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/s3/S3CacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,26 +22,15 @@
 package org.jboss.cache.loader.s3;
 
 import net.jcip.annotations.ThreadSafe;
-import net.noderunner.amazon.s3.Bucket;
-import net.noderunner.amazon.s3.Connection;
-import net.noderunner.amazon.s3.Entry;
-import net.noderunner.amazon.s3.GetStreamResponse;
-import net.noderunner.amazon.s3.ListResponse;
-import net.noderunner.amazon.s3.Response;
-import net.noderunner.amazon.s3.S3Object;
+import net.noderunner.amazon.s3.*;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.loader.AbstractCacheLoader;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.BufferedInputStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/loader/tcp/TcpCacheServer.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/loader/tcp/TcpCacheServer.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/loader/tcp/TcpCacheServer.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,33 +23,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Cache_Legacy;
-import org.jboss.cache.DefaultCacheFactory;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.Modification;
-import org.jboss.cache.Node;
-import org.jboss.cache.NodeSPI;
+import org.jboss.cache.*;
 import org.jboss.cache.jmx.CacheJmxWrapperMBean;
 import org.jboss.starobrno.CacheException;
+import org.jboss.starobrno.tree.Fqn;
 
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketException;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.io.*;
+import java.net.*;
+import java.util.*;
 
 /**
  * TCP-IP based CacheServer, setCache TcpDelegatingCacheLoader with host and port of this server

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/IdentityLock.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/IdentityLock.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/IdentityLock.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,17 +23,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Node;
 import org.jboss.cache.NodeSPI;
 import org.jboss.starobrno.lock.TimeoutException;
+import org.jboss.starobrno.tree.Fqn;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.Lock;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/LockManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/LockManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/LockManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,9 +21,9 @@
  */
 package org.jboss.cache.lock;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collection;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/LockMap.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/LockMap.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/LockMap.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.cache.lock;
 
-import org.jboss.cache.util.concurrent.ConcurrentHashSet;
+import org.jboss.starobrno.util.concurrent.ConcurrentHashSet;
 
 import java.util.Collection;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/LockUtil.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/LockUtil.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/LockUtil.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,7 +23,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.CommandsFactory;
@@ -31,6 +30,7 @@
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jboss.cache.transaction.TransactionContext;
 import org.jboss.cache.transaction.TransactionTable;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.Status;
 import javax.transaction.Transaction;

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/MVCCLockManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/MVCCLockManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/MVCCLockManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,29 +23,19 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.InternalNode;
-import org.jboss.cache.InvocationContext;
-import org.jboss.cache.Node;
-import org.jboss.cache.NodeSPI;
+import org.jboss.cache.*;
 import org.jboss.cache.invocation.InvocationContextContainer;
 import static org.jboss.cache.lock.LockType.READ;
+import org.jboss.starobrno.factories.annotations.Inject;
+import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.starobrno.util.concurrent.locks.LockContainer;
 import org.jboss.starobrno.util.concurrent.locks.OwnableReentrantLock;
 import org.jboss.starobrno.util.concurrent.locks.OwnableReentrantLockContainer;
 import org.jboss.starobrno.util.concurrent.locks.ReentrantLockContainer;
-import org.jboss.starobrno.factories.annotations.Inject;
-import org.jboss.starobrno.factories.annotations.Start;
 
 import javax.transaction.TransactionManager;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import java.util.concurrent.locks.Lock;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/NodeBasedLockManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/NodeBasedLockManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/NodeBasedLockManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,11 +24,11 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.DataContainer;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.ArrayList;
 import java.util.Collection;

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/NodeLock.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/NodeLock.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/NodeLock.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,8 @@
  */
 package org.jboss.cache.lock;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.lock.TimeoutException;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Collection;
 import java.util.Set;

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/PessimisticNodeBasedLockManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/PessimisticNodeBasedLockManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/PessimisticNodeBasedLockManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,7 +23,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.commands.CommandsFactory;
@@ -32,6 +31,7 @@
 import org.jboss.cache.transaction.TransactionTable;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.lock.TimeoutException;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.List;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/lock/StripedLock.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/lock/StripedLock.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/lock/StripedLock.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,7 +22,7 @@
 package org.jboss.cache.lock;
 
 import net.jcip.annotations.ThreadSafe;
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.List;
 import java.util.concurrent.locks.ReentrantReadWriteLock;

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,14 +23,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.RegionManager;
-import org.jboss.starobrno.io.ByteBuffer;
 import org.jboss.starobrno.commands.ReplicableCommand;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.io.ByteBuffer;
 import org.jboss.starobrno.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.util.Buffer;
 
 import java.io.InputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/CacheMarshaller200.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,18 +21,18 @@
  */
 package org.jboss.cache.marshall;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Region;
 import org.jboss.cache.Region.Status;
 import org.jboss.cache.buddyreplication.GravitateResult;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.commands.CommandsFactory;
 import org.jboss.starobrno.commands.ReplicableCommand;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.marshall.*;
 import org.jboss.starobrno.transaction.GlobalTransaction;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.starobrno.util.FastCopyHashMap;
+import org.jboss.starobrno.util.Immutables;
 import org.jgroups.Address;
 import org.jgroups.stack.IpAddress;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/CommandAwareRpcDispatcher.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,6 @@
  */
 package org.jboss.cache.marshall;
 
-import org.jboss.cache.util.concurrent.WithinThreadExecutor;
 import org.jboss.starobrno.commands.ReplicableCommand;
 import org.jboss.starobrno.commands.VisitableCommand;
 import org.jboss.starobrno.commands.remote.AnnounceBuddyPoolNameCommand;
@@ -32,11 +31,8 @@
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.interceptors.InterceptorChain;
 import org.jboss.starobrno.invocation.InvocationContextContainer;
-import org.jgroups.Address;
-import org.jgroups.Channel;
-import org.jgroups.MembershipListener;
-import org.jgroups.Message;
-import org.jgroups.MessageListener;
+import org.jboss.starobrno.util.concurrent.WithinThreadExecutor;
+import org.jgroups.*;
 import org.jgroups.blocks.RpcDispatcher;
 import org.jgroups.blocks.RspFilter;
 import org.jgroups.util.Buffer;
@@ -45,13 +41,7 @@
 
 import java.io.NotSerializableException;
 import java.util.Vector;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/Marshaller.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/Marshaller.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/Marshaller.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,8 @@
  */
 package org.jboss.cache.marshall;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.io.ByteBuffer;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.blocks.RpcDispatcher;
 
 import java.io.InputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedMethodCall.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedMethodCall.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedMethodCall.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,8 @@
  */
 package org.jboss.cache.marshall;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.commands.ReplicableCommand;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * A regionalized MethodCall object, created when {@link Marshaller#regionalizedMethodCallFromByteBuffer(byte[])} or

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedReturnValue.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedReturnValue.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/RegionalizedReturnValue.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.cache.marshall;
 
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * A return value that holds region information, so that the marshaller knows which region to use (and hence which

Modified: core/branches/flat/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/marshall/VersionAwareMarshaller.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,13 +23,13 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.factories.ComponentRegistry;
+import org.jboss.starobrno.factories.annotations.Inject;
+import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.starobrno.io.ByteBuffer;
 import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.starobrno.util.Util;
-import org.jboss.starobrno.factories.ComponentRegistry;
-import org.jboss.starobrno.factories.annotations.Inject;
-import org.jboss.starobrno.factories.annotations.Start;
 import org.jboss.util.stream.MarshalledValueInputStream;
 
 import java.io.ByteArrayInputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,14 +23,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
-import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
-import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
-import org.jboss.starobrno.statetransfer.StateTransferManager;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.NonVolatile;
+import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
+import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
+import org.jboss.starobrno.statetransfer.StateTransferManager;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.util.stream.MarshalledValueInputStream;
 import org.jboss.util.stream.MarshalledValueOutputStream;
 import org.jgroups.ExtendedMessageListener;

Modified: core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferGenerator.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferGenerator.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferGenerator.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,7 +24,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.Node;
 import org.jboss.cache.Version;
@@ -32,6 +31,7 @@
 import org.jboss.starobrno.marshall.NodeData;
 import org.jboss.starobrno.marshall.NodeDataExceptionMarker;
 import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.IOException;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferIntegrator.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferIntegrator.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferIntegrator.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,30 +23,22 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.CacheSPI_Legacy;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.InternalNode;
-import org.jboss.cache.InvocationContext;
-import org.jboss.cache.Node;
-import org.jboss.cache.NodeSPI;
+import org.jboss.cache.*;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.loader.CacheLoader;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.starobrno.CacheException;
-import org.jboss.starobrno.marshall.NodeData;
-import org.jboss.starobrno.marshall.NodeDataMarker;
-import org.jboss.starobrno.marshall.NodeDataExceptionMarker;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.marshall.NodeDataExceptionMarker;
+import org.jboss.starobrno.marshall.NodeDataMarker;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.IOException;
 import java.io.ObjectInputStream;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 public class DefaultStateTransferIntegrator implements StateTransferIntegrator
 {

Modified: core/branches/flat/src/main/java/org/jboss/cache/statetransfer/StateTransferIntegrator.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/statetransfer/StateTransferIntegrator.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/statetransfer/StateTransferIntegrator.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.cache.statetransfer;
 
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 

Modified: core/branches/flat/src/main/java/org/jboss/cache/transaction/AbstractTransactionContext.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/transaction/AbstractTransactionContext.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/transaction/AbstractTransactionContext.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,20 +22,16 @@
 package org.jboss.cache.transaction;
 
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.commands.WriteCommand;
 import org.jboss.cache.interceptors.OrderedSynchronizationHandler;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.config.Option;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.Immutables;
 
 import javax.transaction.RollbackException;
 import javax.transaction.SystemException;
 import javax.transaction.Transaction;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 
 /**
  * An abstract transaction context

Modified: core/branches/flat/src/main/java/org/jboss/cache/transaction/MVCCTransactionContext.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/transaction/MVCCTransactionContext.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/transaction/MVCCTransactionContext.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,8 @@
  */
 package org.jboss.cache.transaction;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.NodeSPI;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.RollbackException;
 import javax.transaction.SystemException;

Modified: core/branches/flat/src/main/java/org/jboss/cache/transaction/TransactionContext.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/transaction/TransactionContext.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/transaction/TransactionContext.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,10 +21,10 @@
  */
 package org.jboss.cache.transaction;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.commands.WriteCommand;
 import org.jboss.cache.interceptors.OrderedSynchronizationHandler;
 import org.jboss.starobrno.config.Option;
+import org.jboss.starobrno.tree.Fqn;
 
 import javax.transaction.Transaction;
 import java.util.List;

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/BeanUtils.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/BeanUtils.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/BeanUtils.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,131 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import java.lang.reflect.Method;
-import java.util.Locale;
-
-/**
- * Simple JavaBean manipulation helper methods
- *
- * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
- * @since 2.1.0
- */
-public class BeanUtils
-{
-   /**
-    * Retrieves a setter name based on a field name passed in
-    *
-    * @param fieldName field name to find setter for
-    * @return name of setter method
-    */
-   public static String setterName(String fieldName)
-   {
-      StringBuilder sb = new StringBuilder("set");
-      if (fieldName != null && fieldName.length() > 0)
-      {
-         sb.append(fieldName.substring(0, 1).toUpperCase(Locale.ENGLISH));
-         if (fieldName.length() > 1)
-         {
-            sb.append(fieldName.substring(1));
-         }
-      }
-      return sb.toString();
-   }
-
-   /**
-    * Returns a getter for a given class
-    *
-    * @param componentClass class to find getter for
-    * @return name of getter method
-    */
-   public static String getterName(Class componentClass)
-   {
-      if (componentClass == null) return null;
-      StringBuilder sb = new StringBuilder("get");
-      sb.append(componentClass.getSimpleName());
-      return sb.toString();
-   }
-
-   /**
-    * Returns a setter for a given class
-    *
-    * @param componentClass class to find setter for
-    * @return name of getter method
-    */
-   public static String setterName(Class componentClass)
-   {
-      if (componentClass == null) return null;
-      StringBuilder sb = new StringBuilder("set");
-      sb.append(componentClass.getSimpleName());
-      return sb.toString();
-   }
-
-
-   /**
-    * Returns a Method object corresponding to a getter that retrieves an instance of componentClass from target.
-    *
-    * @param target         class that the getter should exist on
-    * @param componentClass component to get
-    * @return Method object, or null of one does not exist
-    */
-   public static Method getterMethod(Class target, Class componentClass)
-   {
-      try
-      {
-         return target.getMethod(getterName(componentClass));
-      }
-      catch (NoSuchMethodException e)
-      {
-         //if (log.isTraceEnabled()) log.trace("Unable to find method " + getterName(componentClass) + " in class " + target);
-         return null;
-      }
-      catch (NullPointerException e)
-      {
-         return null;
-      }
-   }
-
-   /**
-    * Returns a Method object corresponding to a setter that sets an instance of componentClass from target.
-    *
-    * @param target         class that the setter should exist on
-    * @param componentClass component to set
-    * @return Method object, or null of one does not exist
-    */
-   public static Method setterMethod(Class target, Class componentClass)
-   {
-      try
-      {
-         return target.getMethod(setterName(componentClass), componentClass);
-      }
-      catch (NoSuchMethodException e)
-      {
-         //if (log.isTraceEnabled()) log.trace("Unable to find method " + setterName(componentClass) + " in class " + target);
-         return null;
-      }
-      catch (NullPointerException e)
-      {
-         return null;
-      }
-   }
-}

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/BitEncodedIntegerSet.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/BitEncodedIntegerSet.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/BitEncodedIntegerSet.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,124 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import net.jcip.annotations.NotThreadSafe;
-
-/**
- * A Set that encodes integers as bits in a long.  Does not implement java.util.Set since autoboxing is unnecessarily
- * expensive for the ints stored, but follows very similar semantics to Set: no nulls, no duplicates, and order not guaranteed,
- * and adds one more: this can only store ints from 0 to 63, inclusive.
- * <p/>
- * Integers in this set are packed into a single long, setting bit values accordingly and hence the strict range on allowable
- * integers.  The upshot is a guaranteed limit on how much memory is consumed, as well as very efficient operations on the set.
- * <p/>
- *
- * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
- * @since 2.1.0
- */
- at NotThreadSafe
-public class BitEncodedIntegerSet
-{
-   private long encoded = 0;
-
-   /**
-    * Adds an integer to the set.
-    *
-    * @param i integer to add
-    */
-   public void add(int i)
-   {
-      encoded |= ((long) 1 << i);
-   }
-
-   /**
-    * Removes an integer from the set
-    *
-    * @param i integer to remove
-    */
-   public void remove(int i)
-   {
-      encoded &= ~((long) 1 << i);
-   }
-
-   /**
-    * Tests whether the set contains an integer
-    *
-    * @param i integer to check for
-    * @return true if contained; false otherwise
-    */
-   public boolean contains(int i)
-   {
-      return (encoded & ((long) 1 << i)) != 0;
-   }
-
-   @Override
-   public boolean equals(Object o)
-   {
-      if (o == this) return true;
-      if (o == null || getClass() != o.getClass()) return false;
-
-      BitEncodedIntegerSet that = (BitEncodedIntegerSet) o;
-
-      return encoded == that.encoded;
-   }
-
-   @Override
-   public int hashCode()
-   {
-      return (int) (encoded ^ (encoded >>> 32));
-   }
-
-   /**
-    * Clears the set
-    */
-   public void clear()
-   {
-      encoded = 0;
-   }
-
-   /**
-    * Tests if the set is empty
-    *
-    * @return true if empty
-    */
-   public boolean isEmpty()
-   {
-      return encoded == 0;
-   }
-
-   @Override
-   public String toString()
-   {
-      return "BitEncodedSet (encoded as: " + Long.toBinaryString(encoded) + ")";
-   }
-
-   /**
-    * Adds all elements of another BitEncodedIntegerSet to the current set.
-    *
-    * @param otherSet other set to add
-    */
-   public void addAll(BitEncodedIntegerSet otherSet)
-   {
-      encoded |= otherSet.encoded;
-   }
-}

Modified: core/branches/flat/src/main/java/org/jboss/cache/util/Caches.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/Caches.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/Caches.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,17 +22,13 @@
 package org.jboss.cache.util;
 
 import org.jboss.cache.Cache_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.Node;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.loader.CacheLoader;
+import org.jboss.starobrno.tree.Fqn;
+import org.jboss.starobrno.util.SimpleImmutableEntry;
 
-import java.util.AbstractMap;
-import java.util.AbstractSet;
-import java.util.ConcurrentModificationException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * Adaptors for {@link org.jboss.cache.Cache_Legacy} classes, such as {@link Node}.

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/FileLookup.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/FileLookup.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/FileLookup.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,109 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-/**
- * Holds the logic of looking up a file, in the following sequence:
- * <ol>
- * <li> try to load it with the curent thread's context ClassLoader</li>
- * <li> if fails, the system ClassLoader</li>
- * <li> if fails, try to load it as a file from the disck </li>
- * </ol>
- *
- * @author Mircea.Markus at jboss.com
- * @since 3.0
- */
-public class FileLookup
-{
-   private static final Log log = LogFactory.getLog(FileLookup.class);
-
-   /**
-    * Looks up the file, see : {@link FileLookup}.
-    *
-    * @param filename might be the name of the file (too look it up in the class path) or an url to a file.
-    * @return an input stream to the file or null if nothing found through all lookup steps.
-    */
-   public InputStream lookupFile(String filename)
-   {
-      InputStream is = getAsInputStreamFromClassLoader(filename);
-      if (is == null)
-      {
-         if (log.isDebugEnabled())
-            log.debug("Unable to find configuration file " + filename + " in classpath; searching for this file on the filesystem instead.");
-         try
-         {
-            is = new FileInputStream(filename);
-         }
-         catch (FileNotFoundException e)
-         {
-            return null;
-         }
-      }
-      return is;
-   }
-
-   protected InputStream getAsInputStreamFromClassLoader(String filename)
-   {
-      ClassLoader cl = Thread.currentThread().getContextClassLoader();
-      InputStream is = cl == null ? null : cl.getResourceAsStream(filename);
-      if (is == null)
-      {
-         // check system class loader
-         is = getClass().getClassLoader().getResourceAsStream(filename);
-      }
-      return is;
-   }
-
-   public URL lookupFileLocation(String filename)
-   {
-      ClassLoader cl = Thread.currentThread().getContextClassLoader();
-      URL u = cl == null ? null : cl.getResource(filename);
-      if (u == null)
-      {
-         // check system class loader
-         u = getClass().getClassLoader().getResource(filename);
-      }
-      if (u == null)
-      {
-         File f = new File(filename);
-         if (f.exists()) try
-         {
-            u = f.toURL();
-         }
-         catch (MalformedURLException e)
-         {
-            // what do we do here?
-         }
-      }
-      return u;
-   }
-}

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/ImmutableListCopy.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/ImmutableListCopy.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/ImmutableListCopy.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,477 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import net.jcip.annotations.Immutable;
-
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.lang.reflect.Array;
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.NoSuchElementException;
-
-/**
- * A lightweight, read-only copy of a List.  Typically used in place of the common idiom:
- * <code>
- * return Collections.unmodifiableList(new ArrayList( myInternalList ));
- * </code>
- * <p/>
- * a it is far more efficient than making a defensive copy and then wrapping the defensive copy in a read-only wrapper.
- * <p/>
- * Also used whenever a read-only reference List is needed (such as in Fqns).
- * <p/>
- *
- * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
- * @since 3.0
- */
- at Immutable
-public class ImmutableListCopy<E> extends AbstractList<E> implements Externalizable, Immutables.Immutable
-{
-   private static final long serialVersionUID = 10929568968966L;
-   private E[] elements;
-   private int size;
-   
-   /**
-    * Constructs a new ImmutableListCopy.
-    * Required by Serialization.
-    */
-   public ImmutableListCopy() {}
-
-   /**
-    * Only one copy constructor since the list is immutable.
-    *
-    * @param c collection to copy from
-    */
-   @SuppressWarnings("unchecked")
-   public ImmutableListCopy(Collection<? extends E> c)
-   {
-      size = c.size();
-      Object[] el = new Object[size]; // no room for growth;
-      el = c.toArray(el);
-      elements = (E[]) el;
-   }
-
-   /**
-    * Assumes that the array passed in is "safe", i.e., is not referenced from elsewhere.  Use with care!
-    *
-    * @param array to reference
-    */
-   public ImmutableListCopy(E[] array)
-   {
-      size = array.length;
-      elements = array;
-   }
-
-   /**
-    * Utility constructors to allow combining collections
-    *
-    * @param collection1 collection to copy from
-    * @param collection2 collection to copy from
-    */
-   @SuppressWarnings("unchecked")
-   public ImmutableListCopy(Collection<? extends E> collection1, Collection<? extends E> collection2)
-   {
-      size = collection1.size() + collection2.size();
-      elements = (E[]) new Object[size]; // no room for growth;
-      Object[] c1 = new Object[collection1.size()];
-      Object[] c2 = new Object[collection2.size()];
-      c1 = collection1.toArray(c1);
-      c2 = collection2.toArray(c2);
-      System.arraycopy(c1, 0, elements, 0, c1.length);
-      System.arraycopy(c2, 0, elements, c1.length, c2.length);
-   }
-
-   @Override
-   public final int size()
-   {
-      return size;
-   }
-
-   @Override
-   public final boolean isEmpty()
-   {
-      return size == 0;
-   }
-
-   @Override
-   public final boolean contains(Object o)
-   {
-      return indexOf(o) >= 0;
-   }
-
-   @Override
-   public final Iterator<E> iterator()
-   {
-      return new ImmutableIterator();
-   }
-
-   @Override
-   public final Object[] toArray()
-   {
-      Object[] result = new Object[size];
-      System.arraycopy(elements, 0, result, 0, size);
-      return result;
-   }
-
-   @Override
-   @SuppressWarnings("unchecked")
-   public final <T> T[] toArray(T[] a)
-   {
-      if (a.length < size)
-      {
-         a = (T[]) Array.newInstance(a.getClass().getComponentType(), size);
-      }
-      System.arraycopy(elements, 0, a, 0, size);
-      if (a.length > size) a[size] = null;
-      return a;
-   }
-
-   @Override
-   public final boolean add(E o)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public final boolean remove(Object o)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public final boolean addAll(Collection<? extends E> c)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public final boolean addAll(int index, Collection<? extends E> c)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public final boolean removeAll(Collection<?> c)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public final boolean retainAll(Collection<?> c)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   public final E get(int index)
-   {
-      if (index >= size || index < 0) throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
-      return elements[index];
-   }
-
-   @Override
-   public final int indexOf(Object o)
-   {
-      if (o == null)
-      {
-         for (int i = 0; i < size; i++)
-         {
-            if (elements[i] == null) return i;
-         }
-      }
-      else
-      {
-         for (int i = 0; i < size; i++)
-         {
-            if (o.equals(elements[i])) return i;
-         }
-      }
-      return -1;
-   }
-
-   @Override
-   public final int lastIndexOf(Object o)
-   {
-      if (o == null)
-      {
-         for (int i = size - 1; i >= 0; i--)
-         {
-            if (elements[i] == null) return i;
-         }
-      }
-      else
-      {
-         for (int i = size - 1; i >= 0; i--)
-         {
-            if (o.equals(elements[i])) return i;
-         }
-      }
-      return -1;
-   }
-
-   @Override
-   public final ListIterator<E> listIterator()
-   {
-      return new ImmutableIterator();
-   }
-
-   @Override
-   public final ListIterator<E> listIterator(int index)
-   {
-      return new ImmutableIterator(index);
-   }
-
-   @Override
-   public final List<E> subList(int fromIndex, int toIndex)
-   {
-      return new ImmutableSubList<E>(fromIndex, toIndex);
-   }
-
-   /**
-    * Format:
-    * - entry array size (int)
-    * - elements (Object)
-    *
-    * @param out stream to write to
-    * @throws IOException
-    */
-   public void writeExternal(ObjectOutput out) throws IOException
-   {
-      out.writeInt(size);
-      for (E e : elements) out.writeObject(e);
-   }
-
-   /**
-    * See {@link #writeExternal(java.io.ObjectOutput)} for serialization format
-    *
-    * @param in stream
-    * @throws IOException
-    * @throws ClassNotFoundException
-    */
-   @SuppressWarnings("unchecked")
-   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
-   {
-      size = in.readInt();
-      elements = (E[]) new Object[size];
-      for (int i = 0; i < size; i++) elements[i] = (E) in.readObject();
-   }
-
-   private class ImmutableIterator implements ListIterator<E>
-   {
-      int cursor = 0;
-
-      ImmutableIterator(int index)
-      {
-         if (index < 0 || index > size()) throw new IndexOutOfBoundsException("Index: " + index);
-         cursor = index;
-      }
-
-      ImmutableIterator()
-      {
-      }
-
-      public boolean hasNext()
-      {
-         return cursor != size;
-      }
-
-      public E next()
-      {
-         try
-         {
-            return get(cursor++);
-         }
-         catch (IndexOutOfBoundsException e)
-         {
-            throw new NoSuchElementException();
-         }
-      }
-
-      public void remove()
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public boolean hasPrevious()
-      {
-         return cursor != 0;
-      }
-
-      public E previous()
-      {
-         try
-         {
-            return get(--cursor);
-         }
-         catch (IndexOutOfBoundsException e)
-         {
-            throw new NoSuchElementException();
-         }
-      }
-
-      public int nextIndex()
-      {
-         return cursor;
-      }
-
-      public int previousIndex()
-      {
-         return cursor - 1;
-      }
-
-      public void set(E o)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public void add(E o)
-      {
-         throw new UnsupportedOperationException();
-      }
-   }
-
-   private class ImmutableSubList<E> extends AbstractList<E>
-   {
-      private int offset;
-      private int size;
-
-      ImmutableSubList(int fromIndex, int toIndex)
-      {
-         if (fromIndex < 0 || toIndex > ImmutableListCopy.this.size || fromIndex > toIndex)
-            throw new IllegalArgumentException("fromIndex(" + fromIndex + "), toIndex(" + toIndex + "), size (" + ImmutableListCopy.this.size + "), List=" + ImmutableListCopy.this.toString());
-         offset = fromIndex;
-         size = toIndex - fromIndex;
-      }
-
-      @SuppressWarnings("unchecked")
-      public final E get(int index)
-      {
-         if (index < 0 || index >= size) throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
-         return (E) ImmutableListCopy.this.get(index + offset);
-      }
-
-      public final int size()
-      {
-         return size;
-      }
-
-      @Override
-      protected final void removeRange(int fromIndex, int toIndex)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      @Override
-      public final boolean addAll(Collection<? extends E> c)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      @Override
-      public final boolean addAll(int index, Collection<? extends E> c)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      @Override
-      public final Iterator<E> iterator()
-      {
-         return listIterator();
-      }
-
-      @Override
-      public final ListIterator<E> listIterator(final int index)
-      {
-         if (index < 0 || (index != 0 && index >= size))
-            throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
-
-         return new ListIterator<E>()
-         {
-            private ListIterator i = ImmutableListCopy.this.listIterator(index + offset);
-
-            public boolean hasNext()
-            {
-               return nextIndex() < size;
-            }
-
-            @SuppressWarnings("unchecked")
-            public E next()
-            {
-               if (hasNext())
-                  return (E) i.next();
-               else
-                  throw new NoSuchElementException();
-            }
-
-            public boolean hasPrevious()
-            {
-               return previousIndex() >= 0;
-            }
-
-            @SuppressWarnings("unchecked")
-            public E previous()
-            {
-               if (hasPrevious())
-                  return (E) i.previous();
-               else
-                  throw new NoSuchElementException();
-            }
-
-            public int nextIndex()
-            {
-               return i.nextIndex() - offset;
-            }
-
-            public int previousIndex()
-            {
-               return i.previousIndex() - offset;
-            }
-
-            public void remove()
-            {
-               throw new UnsupportedOperationException();
-            }
-
-            public void set(E o)
-            {
-               throw new UnsupportedOperationException();
-            }
-
-            public void add(E o)
-            {
-               throw new UnsupportedOperationException();
-            }
-         };
-      }
-
-      @Override
-      public final List<E> subList(int fromIndex, int toIndex)
-      {
-         return new ImmutableSubList<E>(offset + fromIndex, offset + toIndex);
-      }
-   }
-}

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/Immutables.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/Immutables.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/Immutables.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,585 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import org.jboss.starobrno.util.FastCopyHashMap;
-
-import java.io.Serializable;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-/**
- * Factory for generating immutable type wrappers.
- *
- * @author Jason T. Greene
- */
-public class Immutables
-{
-   /**
-    * Whether or not this collection type is immutable
-    *
-    * @param o a Collection, Set, List, or Map
-    * @return true if immutable, false if not
-    */
-   public static boolean isImmutable(Object o)
-   {
-      return o instanceof Immutable;
-   }
-
-   /**
-    * Converts a Collection to an immutable List by copying it.
-    *
-    * @param source the collection to convert
-    * @return a copied/converted immutable list
-    */
-   public static <T> List<T> immutableListConvert(Collection<? extends T> source)
-   {
-      return new ImmutableListCopy<T>(source);
-   }
-
-   /**
-    * Creates an immutable copy of the list.
-    *
-    * @param list the list to copy
-    * @return the immutable copy
-    */
-   public static <T> List<T> immutableListCopy(List<? extends T> list)
-   {
-      return new ImmutableListCopy<T>(list);
-   }
-
-   /**
-    * Wraps an array with an immutable list. There is no copying involved.
-    *
-    * @param <T>
-    * @param array the array to wrap
-    * @return a list containing the array
-    */
-   public static <T> List<T> immutableListWrap(T... array)
-   {
-      return new ImmutableListCopy<T>(array);
-   }
-
-   /**
-    * Creates a new immutable list containing the union (combined entries) of both lists.
-    *
-    * @param list1 contains the first elements of the new list
-    * @param list2 contains the successor elements of the new list
-    * @return a new immutable merged copy of list1 and list2
-    */
-   public static <T> List<T> immutableListMerge(List<? extends T> list1, List<? extends T> list2)
-   {
-      return new ImmutableListCopy<T>(list1, list2);
-   }
-
-   /**
-    * Converts a Collections into an immutable Set by copying it.
-    *
-    * @param collection the collection to convert/copy
-    * @return a new immutable set containing the elements in collection
-    */
-   public static <T> Set<T> immutableSetConvert(Collection<? extends T> collection)
-   {
-      return immutableSetWrap(new HashSet<T>(collection));
-   }
-
-   /**
-    * Wraps a set with an immutable set. There is no copying involved.
-    *
-    * @param set the set to wrap
-    * @return an immutable set wrapper that delegates to the original set
-    */
-   public static <T> Set<T> immutableSetWrap(Set<? extends T> set)
-   {
-      return new ImmutableSetWrapper<T>(set);
-   }
-
-   /**
-    * Creates an immutable copy of the specified set.
-    *
-    * @param set the set to copy from
-    * @return an immutable set copy
-    */
-   public static <T> Set<T> immutableSetCopy(Set<? extends T> set)
-   {
-      Set<? extends T> copy = attemptKnownSetCopy(set);
-      if (copy == null)
-         attemptClone(set);
-      if (copy == null)
-         // Set uses Collection copy-ctor
-         copy = attemptCopyConstructor(set, Collection.class);
-      if (copy == null)
-         copy = new HashSet<T>(set);
-
-      return new ImmutableSetWrapper<T>(copy);
-   }
-
-
-   /**
-    * Wraps a map with an immutable map. There is no copying involved.
-    *
-    * @param map the map to wrap
-    * @return an immutable map wrapper that delegates to the original map
-    */
-   public static <K, V> Map<K, V> immutableMapWrap(Map<? extends K, ? extends V> map)
-   {
-      return new ImmutableMapWrapper<K, V>(map);
-   }
-
-   /**
-    * Creates an immutable copy of the specified map.
-    *
-    * @param map the map to copy from
-    * @return an immutable map copy
-    */
-   public static <K, V> Map<K, V> immutableMapCopy(Map<? extends K, ? extends V> map)
-   {
-      Map<? extends K, ? extends V> copy = attemptKnownMapCopy(map);
-
-      if (copy == null)
-         attemptClone(map);
-      if (copy == null)
-         copy = attemptCopyConstructor(map, Map.class);
-      if (copy == null)
-         copy = new HashMap<K, V>(map);
-
-      return new ImmutableMapWrapper<K, V>(copy);
-   }
-
-   /**
-    * Creates a new immutable copy of the specified Collection.
-    *
-    * @param collection the collection to copy
-    * @return an immutable copy
-    */
-   public static <T> Collection<T> immutableCollectionCopy(Collection<? extends T> collection)
-   {
-      Collection<? extends T> copy = attemptKnownSetCopy(collection);
-      if (copy == null)
-         copy = attemptClone(collection);
-      if (copy == null)
-         copy = attemptCopyConstructor(collection, Collection.class);
-      if (copy == null)
-         copy = new ArrayList<T>(collection);
-
-      return new ImmutableCollectionWrapper<T>(copy);
-   }
-
-   @SuppressWarnings("unchecked")
-   private static <T extends Map> T attemptKnownMapCopy(T map)
-   {
-      if (map instanceof FastCopyHashMap)
-         return (T) ((FastCopyHashMap) map).clone();
-      if (map instanceof HashMap)
-         return (T) ((HashMap) map).clone();
-      if (map instanceof LinkedHashMap)
-         return (T) ((LinkedHashMap) map).clone();
-      if (map instanceof TreeMap)
-         return (T) ((TreeMap) map).clone();
-
-      return null;
-   }
-
-   @SuppressWarnings("unchecked")
-   private static <T extends Collection> T attemptKnownSetCopy(T set)
-   {
-      if (set instanceof HashSet)
-         return (T) ((HashSet) set).clone();
-      if (set instanceof LinkedHashSet)
-         return (T) ((LinkedHashSet) set).clone();
-      if (set instanceof TreeSet)
-         return (T) ((TreeSet) set).clone();
-
-      return null;
-   }
-
-   @SuppressWarnings("unchecked")
-   private static <T> T attemptClone(T source)
-   {
-      if (source instanceof Cloneable)
-      {
-         try
-         {
-            return (T) source.getClass().getMethod("clone").invoke(source);
-         }
-         catch (Exception e)
-         {
-         }
-      }
-
-      return null;
-   }
-
-   @SuppressWarnings("unchecked")
-   private static <T> T attemptCopyConstructor(T source, Class<? super T> clazz)
-   {
-      try
-      {
-         return (T) source.getClass().getConstructor(clazz).newInstance(source);
-      }
-      catch (Exception e)
-      {
-      }
-
-      return null;
-   }
-
-
-   public interface Immutable
-   {
-   }
-
-   /*
-    * Immutable wrapper types.
-    *
-    * We have to re-implement Collections.unmodifiableXXX, since it is not
-    * simple to detect them (the class names are JDK dependent).
-    */
-
-   private static class ImmutableIteratorWrapper<E> implements Iterator<E>
-   {
-      private Iterator<? extends E> iterator;
-
-      public ImmutableIteratorWrapper(Iterator<? extends E> iterator)
-      {
-         this.iterator = iterator;
-      }
-
-      public boolean hasNext()
-      {
-         return iterator.hasNext();
-      }
-
-      public E next()
-      {
-         return iterator.next();
-      }
-
-      public void remove()
-      {
-         throw new UnsupportedOperationException();
-      }
-   }
-
-   private static class ImmutableCollectionWrapper<E> implements Collection<E>, Serializable, Immutable
-   {
-      private static final long serialVersionUID = 6777564328198393535L;
-
-      Collection<? extends E> collection;
-
-      public ImmutableCollectionWrapper(Collection<? extends E> collection)
-      {
-         this.collection = collection;
-      }
-
-      public boolean add(E o)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public boolean addAll(Collection<? extends E> c)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public void clear()
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public boolean contains(Object o)
-      {
-         return collection.contains(o);
-      }
-
-      public boolean containsAll(Collection<?> c)
-      {
-         return collection.containsAll(c);
-      }
-
-      public boolean equals(Object o)
-      {
-         return collection.equals(o);
-      }
-
-      public int hashCode()
-      {
-         return collection.hashCode();
-      }
-
-      public boolean isEmpty()
-      {
-         return collection.isEmpty();
-      }
-
-      public Iterator<E> iterator()
-      {
-         return new ImmutableIteratorWrapper<E>(collection.iterator());
-      }
-
-      public boolean remove(Object o)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public boolean removeAll(Collection<?> c)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public boolean retainAll(Collection<?> c)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public int size()
-      {
-         return collection.size();
-      }
-
-      public Object[] toArray()
-      {
-         return collection.toArray();
-      }
-
-      public <T> T[] toArray(T[] a)
-      {
-         return collection.toArray(a);
-      }
-
-      public String toString()
-      {
-         return collection.toString();
-      }
-   }
-
-
-   private static class ImmutableSetWrapper<E> extends ImmutableCollectionWrapper<E> implements Set<E>, Serializable, Immutable
-   {
-      private static final long serialVersionUID = 7991492805176142615L;
-
-      public ImmutableSetWrapper(Set<? extends E> set)
-      {
-         super(set);
-      }
-   }
-
-
-   static class ImmutableEntry<K, V> implements Map.Entry<K, V>
-   {
-      private K key;
-      private V value;
-      private int hash;
-
-      ImmutableEntry(Map.Entry<? extends K, ? extends V> entry)
-      {
-         this.key = entry.getKey();
-         this.value = entry.getValue();
-         this.hash = entry.hashCode();
-      }
-
-      public K getKey()
-      {
-         return key;
-      }
-
-      public V getValue()
-      {
-         return value;
-      }
-
-      public V setValue(V value)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      private static boolean eq(Object o1, Object o2)
-      {
-         return o1 == o2 || (o1 != null && o1.equals(o2));
-      }
-
-      @SuppressWarnings("unchecked")
-      public boolean equals(Object o)
-      {
-         if (!(o instanceof Map.Entry))
-            return false;
-
-         Map.Entry<K, V> entry = (Map.Entry<K, V>) o;
-         return eq(entry.getKey(), key) && eq(entry.getValue(), value);
-      }
-
-      public int hashCode()
-      {
-         return hash;
-      }
-
-      public String toString()
-      {
-         return getKey() + "=" + getValue();
-      }
-   }
-
-   private static class ImmutableEntrySetWrapper<K, V> extends ImmutableSetWrapper<Map.Entry<K, V>>
-   {
-      private static final long serialVersionUID = 6378667653889667692L;
-
-      @SuppressWarnings("unchecked")
-      public ImmutableEntrySetWrapper(Set<? extends Map.Entry<? extends K, ? extends V>> set)
-      {
-         super((Set<Entry<K, V>>) set);
-      }
-
-      public Object[] toArray()
-      {
-         Object[] array = new Object[collection.size()];
-         int i = 0;
-         for (Map.Entry<K, V> entry : this)
-            array[i++] = entry;
-         return array;
-      }
-
-      @SuppressWarnings("unchecked")
-      public <T> T[] toArray(T[] array)
-      {
-         int size = collection.size();
-         if (array.length < size)
-            array = (T[]) Array.newInstance(array.getClass().getComponentType(), size);
-
-         int i = 0;
-         Object[] result = array;
-         for (Map.Entry<K, V> entry : this)
-            result[i++] = entry;
-
-         return array;
-      }
-
-      public Iterator<Map.Entry<K, V>> iterator()
-      {
-         return new ImmutableIteratorWrapper<Entry<K, V>>(collection.iterator())
-         {
-            public Entry<K, V> next()
-            {
-               return new ImmutableEntry<K, V>(super.next());
-            }
-         };
-      }
-   }
-
-   private static class ImmutableMapWrapper<K, V> implements Map<K, V>, Serializable, Immutable
-   {
-      private static final long serialVersionUID = 708144227046742221L;
-
-      private Map<? extends K, ? extends V> map;
-
-      public ImmutableMapWrapper(Map<? extends K, ? extends V> map)
-      {
-         this.map = map;
-      }
-
-      public void clear()
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public boolean containsKey(Object key)
-      {
-         return map.containsKey(key);
-      }
-
-      public boolean containsValue(Object value)
-      {
-         return map.containsValue(value);
-      }
-
-      public Set<Entry<K, V>> entrySet()
-      {
-         return new ImmutableEntrySetWrapper<K, V>(map.entrySet());
-      }
-
-      public boolean equals(Object o)
-      {
-         return map.equals(o);
-      }
-
-      public V get(Object key)
-      {
-         return map.get(key);
-      }
-
-      public int hashCode()
-      {
-         return map.hashCode();
-      }
-
-      public boolean isEmpty()
-      {
-         return map.isEmpty();
-      }
-
-      public Set<K> keySet()
-      {
-         return new ImmutableSetWrapper<K>(map.keySet());
-      }
-
-      public V put(K key, V value)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public void putAll(Map<? extends K, ? extends V> t)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public V remove(Object key)
-      {
-         throw new UnsupportedOperationException();
-      }
-
-      public int size()
-      {
-         return map.size();
-      }
-
-      public Collection<V> values()
-      {
-         return new ImmutableCollectionWrapper<V>(map.values());
-      }
-
-      public String toString()
-      {
-         return map.toString();
-      }
-   }
-}

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/MinMapUtil.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/MinMapUtil.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/MinMapUtil.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,119 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * Minimizes Map memory usage by changing the map
- * instance based on the number of stored entries.
- *
- * @author Elias Ross
- */
-public class MinMapUtil
-{
-
-   private static Class<?> singleton = Collections.singletonMap(null, null).getClass();
-
-   private static Class<?> empty = Collections.emptyMap().getClass();
-
-   private MinMapUtil()
-   {
-   }
-
-   /**
-    * Puts a mapping into a map, returns a map with the mapping.
-    *
-    * @param map destination
-    */
-   public static <K, V> Map<K, V> put(Map<K, V> map, K key, V value)
-   {
-      int size = map.size();
-      if (size == 0)
-         return Collections.singletonMap(key, value);
-      if (size == 1)
-      {
-         HashMap<K, V> map2 = new HashMap<K, V>(map);
-         map2.put(key, value);
-         return map2;
-      }
-      else
-      {
-         map.put(key, value);
-         return map;
-      }
-   }
-
-   /**
-    * Puts a number of entries into a map, returns a map.
-    *
-    * @param dest destination map
-    * @param src  source map
-    */
-   public static <K, V> Map<K, V> putAll(Map<K, V> dest, Map<K, V> src)
-   {
-      if (src == null)
-      {
-         return dest;
-      }
-      int srcSize = src.size();
-      if (srcSize == 0)
-      {
-         return dest;
-      }
-      if (srcSize == 1)
-      {
-         Entry<K, V> next = src.entrySet().iterator().next();
-         return Collections.singletonMap(next.getKey(), next.getValue());
-      }
-      Class<?> c = dest.getClass();
-      if (c == empty || c == singleton)
-         return new HashMap<K, V>(src);
-      dest.putAll(src);
-      return dest;
-   }
-
-   /**
-    * Removes a mapping by key from a map, returns the map.
-    */
-   public static <K, V> Map<K, V> remove(Map<K, V> map, K key)
-   {
-      int size = map.size();
-      if (size == 0)
-      {
-         return map;
-      }
-      if (size == 1)
-      {
-         if (map.containsKey(key))
-            return Collections.emptyMap();
-         else
-            return map;
-      }
-      map.remove(key);
-      return map;
-   }
-
-}

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/SimpleImmutableEntry.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/SimpleImmutableEntry.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/SimpleImmutableEntry.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,88 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * Where is Java 1.6?
- */
-class SimpleImmutableEntry<K, V> implements Map.Entry<K, V>, Serializable
-{
-   private static final long serialVersionUID = -6092752114794052323L;
-
-   private final K key;
-
-   private final V value;
-
-   public SimpleImmutableEntry(Entry<K, V> me)
-   {
-      key = me.getKey();
-      value = me.getValue();
-   }
-
-   public SimpleImmutableEntry(K key, V value)
-   {
-      this.key = key;
-      this.value = value;
-   }
-
-   public K getKey()
-   {
-      return key;
-   }
-
-   public V getValue()
-   {
-      return value;
-   }
-
-   public V setValue(V arg0)
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   @Override
-   public boolean equals(Object o)
-   {
-      if (!(o instanceof Map.Entry))
-         return false;
-      Map.Entry e2 = (Map.Entry) o;
-      return (getKey() == null ? e2.getKey() == null : getKey().equals(e2.getKey()))
-            && (getValue() == null ? e2.getValue() == null : getValue().equals(e2.getValue()));
-   }
-
-   @Override
-   public int hashCode()
-   {
-      return (getKey() == null ? 0 : getKey().hashCode()) ^
-            (getValue() == null ? 0 : getValue().hashCode());
-   }
-
-   @Override
-   public String toString()
-   {
-      return key + "=" + value;
-   }
-}
\ No newline at end of file

Deleted: core/branches/flat/src/main/java/org/jboss/cache/util/ThreadGate.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/cache/util/ThreadGate.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/cache/util/ThreadGate.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,119 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.ReentrantLock;
-
-/**
- * A reclosable gate with timeout support.
- *
- * @author Jason T. Greene
- */
-public class ThreadGate
-{
-   private final ReentrantLock lock = new ReentrantLock();
-   private final Condition condition = lock.newCondition();
-
-   private boolean open;
-   private int sequence;
-
-   /**
-    * Open the gate.
-    */
-   public void open()
-   {
-      lock.lock();
-      try
-      {
-         open = true;
-         sequence++;
-         condition.signalAll();
-      }
-      finally
-      {
-         lock.unlock();
-      }
-   }
-
-   /**
-    * Close the gate.
-    */
-   public void close()
-   {
-      lock.lock();
-      try
-      {
-         open = false;
-      }
-      finally
-      {
-         lock.unlock();
-      }
-   }
-
-   /**
-    * Waits for the gate to open.
-    *
-    * @throws InterruptedException if this thread is interrupted
-    */
-   public void await() throws InterruptedException
-   {
-      lock.lock();
-      try
-      {
-         int snapshot = sequence;
-         while (!open && snapshot == sequence)
-            condition.await();
-      }
-      finally
-      {
-         lock.unlock();
-      }
-   }
-
-   /**
-    * Waits for the gate to open or the specified time to elapse.
-    *
-    * @param time the maximum time in milliseconds to wait.
-    * @return false if gate timeout occurred
-    * @throws InterruptedException if this thread is interrupted
-    */
-   public boolean await(long time) throws InterruptedException
-   {
-      lock.lock();
-      try
-      {
-         int snapshot = sequence;
-         boolean success = true;
-         while (!open && snapshot == sequence && success)
-            success = condition.await(time, TimeUnit.MILLISECONDS);
-
-         return success;
-      }
-      finally
-      {
-         lock.unlock();
-      }
-   }
-}
\ No newline at end of file

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/AssignToBuddyGroupCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/AssignToBuddyGroupCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/AssignToBuddyGroupCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,11 +21,11 @@
  */
 package org.jboss.starobrno.commands.remote;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.buddyreplication.BuddyGroup;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.starobrno.commands.ReplicableCommand;
 import org.jboss.starobrno.context.InvocationContext;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.Arrays;
 import java.util.Map;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/DataGravitationCleanupCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/DataGravitationCleanupCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/remote/DataGravitationCleanupCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,7 +23,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.cache.buddyreplication.BuddyManager;
 import org.jboss.cache.commands.CommandsFactory;
@@ -33,6 +32,7 @@
 import org.jboss.starobrno.interceptors.InterceptorChain;
 import org.jboss.starobrno.transaction.GlobalTransaction;
 import org.jboss.starobrno.transaction.TransactionTable;
+import org.jboss.starobrno.tree.Fqn;
 
 /**
  * Data gravitation cleanup handler.  Primarily used by the {@link org.jboss.cache.interceptors.DataGravitatorInterceptor}.

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/InvalidateCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/InvalidateCommand.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/InvalidateCommand.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,14 +23,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.jboss.cache.NodeSPI;
+import org.jboss.starobrno.CacheSPI;
+import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.commands.read.AbstractDataCommand;
-import org.jboss.starobrno.commands.Visitor;
-import org.jboss.starobrno.CacheSPI;
+import org.jboss.starobrno.container.DataContainer;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.starobrno.container.DataContainer;
 import org.jboss.starobrno.notifications.Notifier;
-import org.jboss.cache.NodeSPI;
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/config/EvictionConfig.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/config/EvictionConfig.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/config/EvictionConfig.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,6 @@
  */
 package org.jboss.starobrno.config;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.eviction.DefaultEvictionAction;
 
 import java.util.LinkedList;
@@ -273,14 +272,6 @@
     */
    public EvictionCacheConfig getEvictionRegionConfig(String region)
    {
-      Fqn fqn = Fqn.fromString(region);
-      for (EvictionCacheConfig evConfig : getEvictionCacheConfigs())
-      {
-//         if (evConfig.getCacheName().equals(fqn))
-//         {
-//            return evConfig;
-//         }
-}
       return null;
    }
 

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/CacheConfigsXmlParser.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/CacheConfigsXmlParser.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/CacheConfigsXmlParser.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,9 +23,9 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.util.FileLookup;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.ConfigurationException;
+import org.jboss.starobrno.util.FileLookup;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/ConfigFilesConvertor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/ConfigFilesConvertor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/ConfigFilesConvertor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.starobrno.config.parsing;
 
-import org.jboss.cache.util.FileLookup;
+import org.jboss.starobrno.util.FileLookup;
 import org.w3c.dom.Document;
 import org.xml.sax.SAXException;
 
@@ -34,12 +34,7 @@
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
+import java.io.*;
 
 /**
  * Class used for converting a config file from from 2.x version to 3.x verison.
@@ -52,7 +47,7 @@
    /**
     * Writes to the <b>os</b> the 3.x configuration file resulted by transforming the 2.x configuration file passed in
     * as <b>is</b>. Transformation is performed according to the <b>xsltFile</b>. The xslt file is looked up using a
-    * {@link org.jboss.cache.util.FileLookup}
+    * {@link org.jboss.starobrno.util.FileLookup}
     */
    public void parse(InputStream is, OutputStream os, String xsltFile) throws Exception
    {
@@ -72,7 +67,7 @@
    /**
     * Writes to the <b>os</b> the 3.x configuration file resulted by transforming the 2.x configuration file passed in
     * as <b>inputFile</b>. Transformation is performed according to the <b>xsltFile</b>. Both <b>inputFile</b> and he xslt
-    * file are looked up using a {@link org.jboss.cache.util.FileLookup}
+    * file are looked up using a {@link org.jboss.starobrno.util.FileLookup}
     */
    public void parse(String inputFile, OutputStream os, String xsltFile) throws Exception
    {

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigHelper.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigHelper.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigHelper.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,14 +23,10 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.util.BeanUtils;
 import org.jboss.starobrno.config.ConfigurationException;
+import org.jboss.starobrno.util.BeanUtils;
 import org.jboss.util.StringPropertyReplacer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
+import org.w3c.dom.*;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigurationParser.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigurationParser.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/config/parsing/XmlConfigurationParser.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,17 +22,13 @@
 package org.jboss.starobrno.config.parsing;
 
 import org.jboss.cache.lock.IsolationLevel;
-import org.jboss.cache.util.FileLookup;
-import org.jboss.starobrno.config.BuddyReplicationConfig;
-import org.jboss.starobrno.config.CacheLoaderConfig;
-import org.jboss.starobrno.config.Configuration;
+import org.jboss.starobrno.config.*;
 import org.jboss.starobrno.config.Configuration.CacheMode;
-import org.jboss.starobrno.config.ConfigurationException;
-import org.jboss.starobrno.config.CustomInterceptorConfig;
 import org.jboss.starobrno.config.parsing.element.BuddyElementParser;
 import org.jboss.starobrno.config.parsing.element.CustomInterceptorsElementParser;
 import org.jboss.starobrno.config.parsing.element.EvictionElementParser;
 import org.jboss.starobrno.config.parsing.element.LoadersElementParser;
+import org.jboss.starobrno.util.FileLookup;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.xml.sax.ErrorHandler;
@@ -95,9 +91,9 @@
 
    /**
     * Parses an XML file and returns a new configuration.
-    * For looking up the file, {@link org.jboss.cache.util.FileLookup} is used.
+    * For looking up the file, {@link org.jboss.starobrno.util.FileLookup} is used.
     *
-    * @see org.jboss.cache.util.FileLookup
+    * @see org.jboss.starobrno.util.FileLookup
     */
    public Configuration parseFile(String filename)
    {

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/context/InvocationContextImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/context/InvocationContextImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/context/InvocationContextImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,12 +23,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.config.Option;
 import org.jboss.starobrno.container.MVCCEntry;
 import org.jboss.starobrno.transaction.GlobalTransaction;
 import org.jboss.starobrno.transaction.TransactionTable;
 import org.jboss.starobrno.util.FastCopyHashMap;
+import org.jboss.starobrno.util.Immutables;
 
 import javax.transaction.Transaction;
 import java.util.Collections;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/context/TransactionContextImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/context/TransactionContextImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/context/TransactionContextImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,12 +21,12 @@
  */
 package org.jboss.starobrno.context;
 
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.commands.VisitableCommand;
 import org.jboss.starobrno.config.Option;
 import org.jboss.starobrno.container.MVCCEntry;
 import org.jboss.starobrno.transaction.GlobalTransaction;
 import org.jboss.starobrno.util.FastCopyHashMap;
+import org.jboss.starobrno.util.Immutables;
 
 import javax.transaction.RollbackException;
 import javax.transaction.SystemException;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionCacheManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionCacheManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionCacheManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,10 +1,10 @@
 package org.jboss.starobrno.eviction;
 
 import org.jboss.starobrno.config.EvictionCacheConfig;
-import org.jboss.cache.Fqn;
 
 /**
  * There is one eviction manager per cache.
+ *
  * @author Mircea.Markus at jboss.com
  */
 public interface EvictionCacheManager<K>

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionEvent.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionEvent.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/eviction/EvictionEvent.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,6 @@
  */
 package org.jboss.starobrno.eviction;
 
-import org.jboss.cache.Fqn;
-
 /**
  * An eviction event records activity on nodes in the cache.  These are recorded on a {@link org.jboss.cache.Region} for processing
  * later by calls to {@link org.jboss.cache.Region#processEvictionQueues()}.

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/eviction/RemoveOnEvictActionPolicy.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/eviction/RemoveOnEvictActionPolicy.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/eviction/RemoveOnEvictActionPolicy.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,8 +23,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Cache_Legacy;
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.Cache;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/factories/ComponentRegistry.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/factories/ComponentRegistry.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/factories/ComponentRegistry.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -25,30 +25,19 @@
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheStatus;
 import org.jboss.cache.Version;
-import org.jboss.cache.util.BeanUtils;
-import org.jboss.starobrno.util.ReflectionUtil;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.CacheSPI;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.ConfigurationException;
 import org.jboss.starobrno.config.RuntimeConfig;
-import org.jboss.starobrno.factories.annotations.DefaultFactoryFor;
-import org.jboss.starobrno.factories.annotations.Destroy;
-import org.jboss.starobrno.factories.annotations.Inject;
-import org.jboss.starobrno.factories.annotations.NonVolatile;
-import org.jboss.starobrno.factories.annotations.Start;
-import org.jboss.starobrno.factories.annotations.Stop;
+import org.jboss.starobrno.factories.annotations.*;
 import org.jboss.starobrno.lifecycle.Lifecycle;
+import org.jboss.starobrno.util.BeanUtils;
+import org.jboss.starobrno.util.ReflectionUtil;
 
 import javax.management.MBeanServerFactory;
 import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 /**
  * A registry where components which have been created are stored.  Components are stored as singletons, registered under

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/factories/RuntimeConfigAwareFactory.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/factories/RuntimeConfigAwareFactory.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/factories/RuntimeConfigAwareFactory.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,11 +21,11 @@
  */
 package org.jboss.starobrno.factories;
 
-import org.jboss.cache.util.BeanUtils;
 import org.jboss.starobrno.config.ConfigurationException;
 import org.jboss.starobrno.config.RuntimeConfig;
 import org.jboss.starobrno.factories.annotations.DefaultFactoryFor;
 import org.jboss.starobrno.remoting.RPCManager;
+import org.jboss.starobrno.util.BeanUtils;
 
 import java.lang.reflect.Method;
 

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/interceptors/TxInterceptor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/interceptors/TxInterceptor.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/interceptors/TxInterceptor.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,6 @@
  */
 package org.jboss.starobrno.interceptors;
 
-import org.jboss.cache.util.concurrent.ConcurrentHashSet;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.commands.CommandsFactory;
 import org.jboss.starobrno.commands.ReplicableCommand;
@@ -44,6 +43,7 @@
 import org.jboss.starobrno.remoting.ReplicationException;
 import org.jboss.starobrno.transaction.GlobalTransaction;
 import org.jboss.starobrno.transaction.TransactionTable;
+import org.jboss.starobrno.util.concurrent.ConcurrentHashSet;
 
 import javax.transaction.*;
 import java.util.*;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/loader/AsyncCacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/loader/AsyncCacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/loader/AsyncCacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,28 +21,17 @@
  */
 package org.jboss.starobrno.loader;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.util.Immutables;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
 /**
  * The AsyncCacheLoader is a delegating cache loader that extends
  * AbstractDelegatingCacheLoader overriding methods to that should not
@@ -101,7 +90,7 @@
  *
  * @author Manik Surtani (manik.surtani at jboss.com)
  */
-public class AsyncCacheLoader<K,V> extends AbstractDelegatingCacheLoader<K,V>
+public class AsyncCacheLoader<K, V> extends AbstractDelegatingCacheLoader<K, V>
 {
 
    private static final Log log = LogFactory.getLog(AsyncCacheLoader.class);
@@ -125,7 +114,7 @@
       super(null);
    }
 
-   public AsyncCacheLoader(CacheLoader<K,V> cacheLoader)
+   public AsyncCacheLoader(CacheLoader<K, V> cacheLoader)
    {
       super(cacheLoader);
    }

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/loader/CacheLoader.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/loader/CacheLoader.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/loader/CacheLoader.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,19 +21,17 @@
  */
 package org.jboss.starobrno.loader;
 
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.List;
-import java.util.Map;
-
 import net.jcip.annotations.ThreadSafe;
-
-import org.jboss.cache.Fqn;
 import org.jboss.cache.loader.AbstractCacheLoader;
 import org.jboss.starobrno.CacheSPI;
 import org.jboss.starobrno.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
 import org.jboss.starobrno.marshall.EntryData;
 
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.List;
+import java.util.Map;
+
 /**
  * A {@link org.jboss.cache.loader.CacheLoader} implementation persists and load keys to and from
  * secondary storage, such as a database or filesystem.  Typically,
@@ -115,7 +113,7 @@
     * node does not exist, all parent nodes from the root down are created
     * automatically.  Returns the old value.
     */
-   V put(K key, V value) ;
+   V put(K key, V value);
 
    /**
     * Removes everything from this cache-loader

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/lock/StripedLock.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/lock/StripedLock.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/lock/StripedLock.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -22,7 +22,6 @@
 package org.jboss.starobrno.lock;
 
 import net.jcip.annotations.ThreadSafe;
-import org.jboss.cache.Fqn;
 
 import java.util.List;
 import java.util.concurrent.locks.ReentrantReadWriteLock;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/marshall/CommandAwareRpcDispatcher.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/marshall/CommandAwareRpcDispatcher.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/marshall/CommandAwareRpcDispatcher.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,6 @@
  */
 package org.jboss.starobrno.marshall;
 
-import org.jboss.cache.util.concurrent.BoundedExecutors;
-import org.jboss.cache.util.concurrent.WithinThreadExecutor;
 import org.jboss.starobrno.commands.ReplicableCommand;
 import org.jboss.starobrno.commands.VisitableCommand;
 import org.jboss.starobrno.commands.remote.AnnounceBuddyPoolNameCommand;
@@ -33,11 +31,9 @@
 import org.jboss.starobrno.factories.ComponentRegistry;
 import org.jboss.starobrno.interceptors.InterceptorChain;
 import org.jboss.starobrno.invocation.InvocationContextContainer;
-import org.jgroups.Address;
-import org.jgroups.Channel;
-import org.jgroups.MembershipListener;
-import org.jgroups.Message;
-import org.jgroups.MessageListener;
+import org.jboss.starobrno.util.concurrent.BoundedExecutors;
+import org.jboss.starobrno.util.concurrent.WithinThreadExecutor;
+import org.jgroups.*;
 import org.jgroups.blocks.RpcDispatcher;
 import org.jgroups.blocks.RspFilter;
 import org.jgroups.util.Buffer;
@@ -46,12 +42,7 @@
 
 import java.io.NotSerializableException;
 import java.util.Vector;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/marshall/NodeData.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/marshall/NodeData.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/marshall/NodeData.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.starobrno.marshall;
 
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.Externalizable;
 import java.io.IOException;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/notifications/NotifierImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/notifications/NotifierImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/notifications/NotifierImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -24,21 +24,17 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.buddyreplication.BuddyGroup;
-import org.jboss.cache.util.concurrent.BoundedExecutors;
-import org.jboss.cache.util.concurrent.WithinThreadExecutor;
 import org.jboss.starobrno.Cache;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.CacheSPI;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.starobrno.factories.annotations.Destroy;
-import org.jboss.starobrno.factories.annotations.Inject;
-import org.jboss.starobrno.factories.annotations.NonVolatile;
-import org.jboss.starobrno.factories.annotations.Start;
-import org.jboss.starobrno.factories.annotations.Stop;
+import org.jboss.starobrno.factories.annotations.*;
 import org.jboss.starobrno.notifications.annotation.*;
 import org.jboss.starobrno.notifications.event.*;
 import static org.jboss.starobrno.notifications.event.Event.Type.*;
+import org.jboss.starobrno.util.concurrent.BoundedExecutors;
+import org.jboss.starobrno.util.concurrent.WithinThreadExecutor;
 import org.jgroups.View;
 
 import javax.transaction.Transaction;
@@ -46,12 +42,7 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ThreadFactory;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/notifications/event/EventImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/notifications/event/EventImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/notifications/event/EventImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,9 +21,9 @@
  */
 package org.jboss.starobrno.notifications.event;
 
-import org.jboss.cache.Fqn;
 import org.jboss.cache.buddyreplication.BuddyGroup;
 import org.jboss.starobrno.Cache;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.View;
 
 import javax.transaction.Transaction;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/remoting/ChannelMessageListener.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/remoting/ChannelMessageListener.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/remoting/ChannelMessageListener.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,14 +23,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
-import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
-import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
-import org.jboss.starobrno.statetransfer.StateTransferManager;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.NonVolatile;
+import org.jboss.starobrno.io.ExposedByteArrayOutputStream;
+import org.jboss.starobrno.statetransfer.DefaultStateTransferManager;
+import org.jboss.starobrno.statetransfer.StateTransferManager;
+import org.jboss.starobrno.tree.Fqn;
 import org.jboss.util.stream.MarshalledValueInputStream;
 import org.jboss.util.stream.MarshalledValueOutputStream;
 import org.jgroups.ExtendedMessageListener;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/remoting/RPCManagerImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/remoting/RPCManagerImpl.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/remoting/RPCManagerImpl.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,7 +23,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.util.concurrent.ReclosableLatch;
 import org.jboss.starobrno.CacheException;
 import org.jboss.starobrno.CacheSPI;
 import org.jboss.starobrno.commands.ReplicableCommand;
@@ -46,6 +45,7 @@
 import org.jboss.starobrno.notifications.Notifier;
 import org.jboss.starobrno.transaction.TransactionTable;
 import org.jboss.starobrno.util.ReflectionUtil;
+import org.jboss.starobrno.util.concurrent.ReclosableLatch;
 import org.jgroups.*;
 import org.jgroups.blocks.GroupRequest;
 import org.jgroups.blocks.RspFilter;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/DefaultStateTransferManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/DefaultStateTransferManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/DefaultStateTransferManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,20 +23,19 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.RegionManager;
-import org.jboss.cache.statetransfer.StateTransferIntegrator;
-import org.jboss.cache.statetransfer.StateTransferGenerator;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.cache.marshall.Marshaller;
-import org.jboss.starobrno.marshall.NodeData;
-import org.jboss.starobrno.marshall.NodeDataMarker;
+import org.jboss.cache.statetransfer.StateTransferGenerator;
+import org.jboss.cache.statetransfer.StateTransferIntegrator;
 import org.jboss.starobrno.CacheSPI;
-import org.jboss.starobrno.statetransfer.StateTransferManager;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.factories.annotations.Inject;
 import org.jboss.starobrno.factories.annotations.Start;
+import org.jboss.starobrno.marshall.NodeData;
+import org.jboss.starobrno.marshall.NodeDataMarker;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/StateTransferManager.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/StateTransferManager.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/statetransfer/StateTransferManager.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,7 +21,7 @@
  */
 package org.jboss.starobrno.statetransfer;
 
-import org.jboss.cache.Fqn;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/tree/Fqn.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/tree/Fqn.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/tree/Fqn.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -23,7 +23,7 @@
 
 
 import net.jcip.annotations.Immutable;
-import org.jboss.cache.util.Immutables;
+import org.jboss.starobrno.util.Immutables;
 
 import java.io.Externalizable;
 import java.io.IOException;

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/util/Immutables.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/util/Immutables.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/util/Immutables.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -21,8 +21,6 @@
  */
 package org.jboss.starobrno.util;
 
-import org.jboss.cache.util.ImmutableListCopy;
-
 import java.io.Serializable;
 import java.lang.reflect.Array;
 import java.util.*;

Modified: core/branches/flat/src/test/java/org/jboss/starobrno/eviction/EvictionWatcher.java
===================================================================
--- core/branches/flat/src/test/java/org/jboss/starobrno/eviction/EvictionWatcher.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/test/java/org/jboss/starobrno/eviction/EvictionWatcher.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,16 +1,13 @@
 package org.jboss.starobrno.eviction;
 
-import org.jboss.cache.Fqn;
 import org.jboss.starobrno.Cache;
-import org.jboss.starobrno.notifications.annotation.CacheListener;
 import org.jboss.starobrno.notifications.annotation.CacheEntryEvicted;
+import org.jboss.starobrno.notifications.annotation.CacheListener;
 import org.jboss.starobrno.notifications.event.CacheEntryEvictedEvent;
+import org.jboss.starobrno.tree.Fqn;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
 
 /**
  * Watches and waits for eviction events

Modified: core/branches/flat/src/test/java/org/jboss/starobrno/eviction/FIFOPolicyTest.java
===================================================================
--- core/branches/flat/src/test/java/org/jboss/starobrno/eviction/FIFOPolicyTest.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/test/java/org/jboss/starobrno/eviction/FIFOPolicyTest.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,26 +1,21 @@
 package org.jboss.starobrno.eviction;
 
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.Test;
-import static org.testng.AssertJUnit.fail;
-import static org.testng.AssertJUnit.assertNull;
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertEquals;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.lock.IsolationLevel;
 import org.jboss.cache.transaction.DummyTransactionManagerLookup;
 import org.jboss.starobrno.CacheSPI;
 import org.jboss.starobrno.UnitTestCacheFactory;
-import org.jboss.starobrno.util.TestingUtil;
-import org.jboss.starobrno.eviction.algorithms.fifo.FIFOAlgorithmConfig;
-import org.jboss.starobrno.config.EvictionConfig;
 import org.jboss.starobrno.config.Configuration;
 import org.jboss.starobrno.config.EvictionCacheConfig;
+import org.jboss.starobrno.config.EvictionConfig;
+import org.jboss.starobrno.eviction.algorithms.fifo.FIFOAlgorithmConfig;
+import org.jboss.starobrno.util.TestingUtil;
+import static org.testng.AssertJUnit.*;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
 
-import java.util.List;
 import java.util.ArrayList;
-import java.util.concurrent.TimeUnit;
+import java.util.List;
 
 /**
  * @author Mircea.Markus at jboss.com

Modified: core/branches/flat/src/test/java/org/jboss/starobrno/notifications/NotifierTest.java
===================================================================
--- core/branches/flat/src/test/java/org/jboss/starobrno/notifications/NotifierTest.java	2008-12-10 16:16:42 UTC (rev 7276)
+++ core/branches/flat/src/test/java/org/jboss/starobrno/notifications/NotifierTest.java	2008-12-10 16:43:27 UTC (rev 7277)
@@ -1,7 +1,6 @@
 package org.jboss.starobrno.notifications;
 
 import static org.easymock.EasyMock.*;
-import org.jboss.cache.Fqn;
 import org.jboss.cache.buddyreplication.BuddyGroup;
 import org.jboss.starobrno.CacheSPI;
 import org.jboss.starobrno.config.Configuration;
@@ -9,6 +8,7 @@
 import org.jboss.starobrno.context.InvocationContextImpl;
 import org.jboss.starobrno.notifications.annotation.*;
 import org.jboss.starobrno.notifications.event.*;
+import org.jboss.starobrno.tree.Fqn;
 import org.jgroups.View;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
@@ -25,13 +25,16 @@
 @Test(groups = "unit")
 public class NotifierTest
 {
-   
+
    private static final Fqn fqn = Fqn.fromString("/a/b/c");
-   private class NotifierTestTL {
+
+   private class NotifierTestTL
+   {
       private NotifierImpl notifier;
       private InvocationContext ctx;
       private AllEventsListener allEventsListener;
    }
+
    private ThreadLocal<NotifierTestTL> threadLocal = new ThreadLocal<NotifierTestTL>();
 
    @BeforeMethod
@@ -65,7 +68,7 @@
       NotifierImpl notifier = tl.notifier;
       InvocationContext ctx = tl.ctx;
       AllEventsListener allEventsListener = tl.allEventsListener;
-      
+
       assert allEventsListener.nodeCreatedEvent == null;
       notifier.notifyCacheEntryCreated("K", true, ctx);
       assert allEventsListener.nodeCreatedEvent != null;




More information about the jbosscache-commits mailing list