You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2006/02/16 11:48:29 UTC

svn commit: r378221 [1/7] - in /incubator/jackrabbit/trunk: contrib/ contrib/bdb-persistence/ contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/ contrib/jca/ contrib/jcr-server/ contrib/jcrtaglib/ contrib/nt-ns-util/ contrib/orm-per...

Author: tripod
Date: Thu Feb 16 02:48:20 2006
New Revision: 378221

URL: http://svn.apache.org/viewcvs?rev=378221&view=rev
Log:
[JCR-317] replace UUID strings by UUID classes in NodeId, etc..

Added:
    incubator/jackrabbit/trunk/contrib/maven.xml   (with props)
    incubator/jackrabbit/trunk/contrib/project.properties   (with props)
    incubator/jackrabbit/trunk/contrib/project.xml   (with props)
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/NodeIdIterator.java   (with props)
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/NodeStateIterator.java   (with props)
Modified:
    incubator/jackrabbit/trunk/contrib/bdb-persistence/   (props changed)
    incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/BerkeleyDBPersistenceManager.java
    incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/NodeStateTupleBinding.java
    incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/PropertyStateTupleBinding.java
    incubator/jackrabbit/trunk/contrib/jca/   (props changed)
    incubator/jackrabbit/trunk/contrib/jca/project.xml
    incubator/jackrabbit/trunk/contrib/jcr-server/   (props changed)
    incubator/jackrabbit/trunk/contrib/jcrtaglib/   (props changed)
    incubator/jackrabbit/trunk/contrib/nt-ns-util/   (props changed)
    incubator/jackrabbit/trunk/contrib/orm-persistence/maven.xml
    incubator/jackrabbit/trunk/contrib/orm-persistence/project.xml
    incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMChildNodeEntry.java
    incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMNodeState.java
    incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMPropertyState.java
    incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/hibernate/HibernatePersistenceManager.java
    incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ojb/OJBPersistenceManager.java
    incubator/jackrabbit/trunk/contrib/tck-webapp/project.xml
    incubator/jackrabbit/trunk/contrib/textfilters/src/test/org/apache/jackrabbit/core/query/test/AbstractTextFilterTest.java
    incubator/jackrabbit/trunk/jackrabbit/maven.xml
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/BatchedItemOperations.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManagerImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/ItemId.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/ItemImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/ItemManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/ItemValidator.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/NodeId.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/NodeImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/PropertyId.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/PropertyImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/RepositoryImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/SearchManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/SessionImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/SystemSearchManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/XAItemManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/XASessionImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/ZombieHierarchyManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/lock/AbstractLockInfo.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/lock/LockManagerImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/lock/LockToken.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/lock/XAEnvironment.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/lock/XALockManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/virtual/VirtualNodeTypeStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/virtual/VirtualNodeTypeStateProvider.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/ChangeLogBasedHierarchyMgr.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/EventConsumer.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/EventFilter.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/EventImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/EventState.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/EventStateCollection.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/FilteredEventIterator.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/observation/ObservationManagerImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/AbstractQueryHandler.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryHandler.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/QueryHandlerContext.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/ChildAxisQuery.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/DocOrderNodeIteratorImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIndexer.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/NodeIteratorImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/QueryResultImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/AbstractPersistenceManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/ChangeLog.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/ItemState.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/LocalItemStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/NodeReferences.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/NodeReferencesId.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/NodeState.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/NodeStateListener.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/PMContext.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/PropertyState.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/TransientItemStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/UpdatableItemStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/XAItemStateManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/mem/InMemPersistenceManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/obj/ObjectPersistenceManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/util/FileSystemBLOBStore.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/util/Serializer.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/xml/XMLPersistenceManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/util/ReferenceChangeTracker.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/AbstractVersion.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionHistory.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/GenericVersionSelector.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNode.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenNodeImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenVHImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalFrozenVersionHistory.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistory.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalVersionItem.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/InternalVersionItemImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/NodeStateEx.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionItemStateProvider.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionIteratorImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/XAVersionManager.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/virtual/AbstractVISProvider.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/virtual/VirtualItemStateProvider.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/virtual/VirtualNodeState.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/virtual/VirtualPropertyState.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/xml/DocViewImportHandler.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/xml/Importer.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/xml/SessionImporter.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/xml/SysViewImportHandler.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/xml/WorkspaceImporter.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/uuid/UUID.java
    incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/uuid/VersionFourGenerator.java
    incubator/jackrabbit/trunk/jackrabbit/src/test/java/org/apache/jackrabbit/core/state/ChangeLogTest.java

Propchange: incubator/jackrabbit/trunk/contrib/bdb-persistence/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 16 02:48:20 2006
@@ -0,0 +1 @@
+target

Modified: incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/BerkeleyDBPersistenceManager.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/BerkeleyDBPersistenceManager.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/BerkeleyDBPersistenceManager.java (original)
+++ incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/BerkeleyDBPersistenceManager.java Thu Feb 16 02:48:20 2006
@@ -132,14 +132,12 @@
             key.setData(id.toString().getBytes(ENCODING));
             OperationStatus operationStatus = database.get(null, key, value, LockMode.DEFAULT);
             if (operationStatus.equals(OperationStatus.NOTFOUND)) {
-                throw new NoSuchItemStateException();
+                throw new NoSuchItemStateException(id.toString());
             }
             return (NodeState) tupleBinding.entryToObject(value);
-        } catch (NoSuchItemStateException e) {
-            throw e;
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -151,14 +149,12 @@
             key.setData(id.toString().getBytes(ENCODING));
             OperationStatus operationStatus = database.get(null, key, value, LockMode.DEFAULT);
             if (operationStatus.equals(OperationStatus.NOTFOUND)) {
-                throw new NoSuchItemStateException();
+                throw new NoSuchItemStateException(id.toString());
             }
             return (PropertyState) tupleBinding.entryToObject(value);
-        } catch (NoSuchItemStateException e) {
-            throw e;
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -170,14 +166,12 @@
             key.setData((id.toString() + ".references").getBytes(ENCODING));
             OperationStatus operationStatus = database.get(null, key, value, LockMode.DEFAULT);
             if (operationStatus.equals(OperationStatus.NOTFOUND)) {
-                throw new NoSuchItemStateException();
+                throw new NoSuchItemStateException(id.toString());
             }
             return (NodeReferences) tupleBinding.entryToObject(value);
-        } catch (NoSuchItemStateException e) {
-            throw e;
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -190,7 +184,7 @@
             return operationStatus.equals(OperationStatus.SUCCESS);
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -203,7 +197,7 @@
             return operationStatus.equals(OperationStatus.SUCCESS);
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -216,7 +210,7 @@
             return operationStatus.equals(OperationStatus.SUCCESS);
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -231,11 +225,13 @@
             transaction.commit();
         } catch (Exception e) {
             try {
-                transaction.abort();
+                if (transaction != null) {
+                    transaction.abort();
+                }
             } catch (Exception fe) {
                 log.fatal(fe);
             }
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally {
             localTransaction.set(null);
         }
@@ -257,7 +253,7 @@
             }
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -275,7 +271,7 @@
             }
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -293,7 +289,7 @@
             }
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -308,7 +304,7 @@
             }
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -323,7 +319,7 @@
             }
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 
@@ -338,7 +334,7 @@
             }
         } catch (Exception e) {
             log.error(e);
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         }
     }
 }

Modified: incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/NodeStateTupleBinding.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/NodeStateTupleBinding.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/NodeStateTupleBinding.java (original)
+++ incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/NodeStateTupleBinding.java Thu Feb 16 02:48:20 2006
@@ -40,7 +40,7 @@
 
     public Object entryToObject(TupleInput in) {
 
-        NodeState state = new NodeState(id.getUUID(), null, null, NodeState.STATUS_NEW, false);
+        NodeState state = new NodeState(id, null, null, NodeState.STATUS_NEW, false);
 
         try {
             Serializer.deserialize(state, in);

Modified: incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/PropertyStateTupleBinding.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/PropertyStateTupleBinding.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/PropertyStateTupleBinding.java (original)
+++ incubator/jackrabbit/trunk/contrib/bdb-persistence/src/java/org/apache/jackrabbit/core/state/bdb/PropertyStateTupleBinding.java Thu Feb 16 02:48:20 2006
@@ -44,7 +44,7 @@
 
     public Object entryToObject(TupleInput in) {
 
-        PropertyState state = new PropertyState(id.getName(), id.getParentUUID(), PropertyState.STATUS_NEW, false);
+        PropertyState state = new PropertyState(id, PropertyState.STATUS_NEW, false);
 
         try {
             Serializer.deserialize(state, in, blobStore);

Propchange: incubator/jackrabbit/trunk/contrib/jca/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 16 02:48:20 2006
@@ -0,0 +1 @@
+target

Modified: incubator/jackrabbit/trunk/contrib/jca/project.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jca/project.xml?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jca/project.xml (original)
+++ incubator/jackrabbit/trunk/contrib/jca/project.xml Thu Feb 16 02:48:20 2006
@@ -92,7 +92,7 @@
 	<dependency>
 	    <groupId>cqfs</groupId>
 	    <artifactId>cqfs-jackrabbit</artifactId>
-	    <version>3.5.6-SNAPSHOT</version>
+	    <version>3.5.6</version>
 	    <properties>
 		<rar.bundle>true</rar.bundle>
 	    </properties>	    
@@ -100,7 +100,7 @@
 	<dependency>
 	    <groupId>cqfs</groupId>
 	    <artifactId>cqfs</artifactId>
-	    <version>3.5.6-SNAPSHOT</version>
+	    <version>3.5.6</version>
 	    <properties>
 		<rar.bundle>true</rar.bundle>
 	    </properties>	    

Propchange: incubator/jackrabbit/trunk/contrib/jcr-server/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Feb 16 02:48:20 2006
@@ -1,2 +1,3 @@
 *.ipr
 *.iws
+target

Propchange: incubator/jackrabbit/trunk/contrib/jcrtaglib/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 16 02:48:20 2006
@@ -0,0 +1 @@
+target

Added: incubator/jackrabbit/trunk/contrib/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/maven.xml?rev=378221&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/maven.xml (added)
+++ incubator/jackrabbit/trunk/contrib/maven.xml Thu Feb 16 02:48:20 2006
@@ -0,0 +1,10 @@
+<project default="contrib:build" 
+	xmlns:j="jelly:core"
+	xmlns:m="jelly:maven"
+	xmlns:ant="jelly:ant">
+
+	<goal name="contrib:build">
+		<j:set var="goal" value="jar"/>
+		<attainGoal name="multiproject:goal" />
+   	</goal>
+</project>

Propchange: incubator/jackrabbit/trunk/contrib/maven.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/jackrabbit/trunk/contrib/maven.xml
------------------------------------------------------------------------------
    svn:keywords = author date id rev url

Propchange: incubator/jackrabbit/trunk/contrib/nt-ns-util/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Feb 16 02:48:20 2006
@@ -0,0 +1 @@
+target

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/maven.xml?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/maven.xml (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/maven.xml Thu Feb 16 02:48:20 2006
@@ -24,7 +24,7 @@
   <preGoal name="test:compile">
    <ant:path
        id="parent.test.src.dir"
-       location="${basedir}/../../src/test"/>
+       location="${basedir}/../../jackrabbit/src/test"/>
    <maven:addPath
        id="maven.test.compile.src.set"
        refid="parent.test.src.dir"/>
@@ -32,7 +32,7 @@
   
   <postGoal name="test:compile">
     <copy todir="${maven.test.dest}">
-      <fileset dir="${basedir}/../../src/test">
+      <fileset dir="${basedir}/../../jackrabbit/src/test">
         <exclude name="**/*.java"/>
       </fileset>
     </copy>  

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/project.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/project.xml?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/project.xml (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/project.xml Thu Feb 16 02:48:20 2006
@@ -176,14 +176,12 @@
     <dependency>
       <groupId>cqfs</groupId>
       <artifactId>cqfs-jackrabbit</artifactId>
-      <version>3.5.6-SNAPSHOT</version>
-      <url>http://www.day.com/maven/cqfs/jars/cqfs-jackrabbit-3.5.6-SNAPSHOT.jar</url>
+      <version>3.5.6</version>
     </dependency>
     <dependency>
       <groupId>cqfs</groupId>
       <artifactId>cqfs</artifactId>
-      <version>3.5.6-SNAPSHOT</version>
-      <url>http://www.day.com/maven/cqfs/jars/cqfs-3.5.6-SNAPSHOT.jar</url>
+      <version>3.5.6</version>
     </dependency>
     
   </dependencies>

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMChildNodeEntry.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMChildNodeEntry.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMChildNodeEntry.java (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMChildNodeEntry.java Thu Feb 16 02:48:20 2006
@@ -16,10 +16,10 @@
  */
 package org.apache.jackrabbit.core.state.orm;
 
-import java.io.Serializable;
-
 import org.apache.jackrabbit.core.state.NodeState.ChildNodeEntry;
 
+import java.io.Serializable;
+
 /**
  * <p>This class represents a child node entry row in the ORM object graph.</p>
  */
@@ -39,7 +39,7 @@
 
     public ORMChildNodeEntry(ORMNodeState parent, ChildNodeEntry childNodeEntry, String parentUUID, int childrenIndex) {
         this.parent = parent;
-        uuid = childNodeEntry.getUUID();
+        uuid = childNodeEntry.getId().getUUID().toString();
         this.parentUUID = parentUUID;
         name = childNodeEntry.getName().toString();
         sameNameIndex = new Integer(childNodeEntry.getIndex());

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMNodeState.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMNodeState.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMNodeState.java (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMNodeState.java Thu Feb 16 02:48:20 2006
@@ -16,21 +16,20 @@
  */
 package org.apache.jackrabbit.core.state.orm;
 
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
 import org.apache.jackrabbit.core.ItemId;
-import org.apache.jackrabbit.name.QName;
+import org.apache.jackrabbit.core.NodeId;
 import org.apache.jackrabbit.core.nodetype.NodeDefId;
 import org.apache.jackrabbit.core.state.NodeState;
 import org.apache.jackrabbit.core.state.NodeState.ChildNodeEntry;
+import org.apache.jackrabbit.name.QName;
 import org.apache.log4j.Logger;
 
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
 /**
  * <p>This class represents an copy of Jackrabbit's node state, in an ORM
  * compatible format.</p>
@@ -61,8 +60,8 @@
         getPropertyEntries().clear();
         getMixinTypeNames().clear();
         getParentUUIDs().clear();
-        uuid = state.getUUID();
-        parentUUID = state.getParentUUID();
+        uuid = state.getNodeId().getUUID().toString();
+        parentUUID = state.getParentId().getUUID().toString();
         if (state.getNodeTypeName() != null) {
             nodeTypeName = state.getNodeTypeName().toString();
         }
@@ -73,7 +72,7 @@
         int i=0;
         while (childNodeEntriesIter.hasNext()) {
             ChildNodeEntry curChildNodeEntry = (ChildNodeEntry) childNodeEntriesIter.next();
-            log.debug("childNodeEntry " + curChildNodeEntry.getIndex() + " name=" + curChildNodeEntry.getName() + " uuid=" + curChildNodeEntry.getUUID());
+            log.debug("childNodeEntry " + curChildNodeEntry.getIndex() + " name=" + curChildNodeEntry.getName() + " uuid=" + curChildNodeEntry.getId());
             ORMChildNodeEntry childNode = new ORMChildNodeEntry(this, curChildNodeEntry, uuid, i);
             getChildNodeEntries().add(childNode);
             i++;
@@ -145,13 +144,13 @@
     public void toPersistentNodeState(NodeState state) {
         state.setDefinitionId(NodeDefId.valueOf(getDefinitionId()));
         state.setNodeTypeName(QName.valueOf(getNodeTypeName()));
-        state.setParentUUID(getParentUUID());
+        state.setParentId(NodeId.valueOf(getParentUUID()));
 
         Iterator childNodeEntryIter = getChildNodeEntries().iterator();
         while (childNodeEntryIter.hasNext()) {
             ORMChildNodeEntry curChildNodeEntry = (ORMChildNodeEntry) childNodeEntryIter.next();
             log.debug("  Loaded child node " + QName.valueOf(curChildNodeEntry.getName()) + " uuid=" + curChildNodeEntry.getUuid());
-            state.addChildNodeEntry(QName.valueOf(curChildNodeEntry.getName()), curChildNodeEntry.getUuid());
+            state.addChildNodeEntry(QName.valueOf(curChildNodeEntry.getName()), NodeId.valueOf(curChildNodeEntry.getUuid()));
         }
         Iterator propertyEntryIter = getPropertyEntries().iterator();
         while (propertyEntryIter.hasNext()) {

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMPropertyState.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMPropertyState.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMPropertyState.java (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ORMPropertyState.java Thu Feb 16 02:48:20 2006
@@ -16,17 +16,17 @@
  */
 package org.apache.jackrabbit.core.state.orm;
 
-import java.io.Serializable;
-
-import org.apache.jackrabbit.core.value.InternalValue;
 import org.apache.jackrabbit.core.ItemId;
 import org.apache.jackrabbit.core.PropertyId;
 import org.apache.jackrabbit.core.nodetype.PropDefId;
 import org.apache.jackrabbit.core.state.ItemStateException;
 import org.apache.jackrabbit.core.state.PropertyState;
 import org.apache.jackrabbit.core.state.orm.ojb.ValuesToStringFieldConversion;
+import org.apache.jackrabbit.core.value.InternalValue;
 import org.apache.ojb.broker.accesslayer.conversions.ConversionException;
+
 import javax.jcr.PropertyType;
+import java.io.Serializable;
 
 /**
  * <p>This class represents a property state in an ORM-compatible format.</p>
@@ -48,7 +48,7 @@
             PropertyId propId = (PropertyId) id;
             this.itemId = propId.toString();
             name = propId.getName().toString();
-            parentUUID = propId.getParentUUID();
+            parentUUID = propId.getParentId().getUUID().toString();
         } else {
             throw new ItemStateException("PropertyId expected, instead got " + id.getClass());
         }
@@ -62,7 +62,7 @@
         ConversionException {
         this.itemId = state.getId().toString();
         name = state.getName().toString();
-        parentUUID = state.getParentUUID();
+        parentUUID = state.getParentId().getUUID().toString();
         values = (String) new ValuesToStringFieldConversion().javaToSql(state.getValues());
         type = new Integer(state.getType());
         if (state.getDefinitionId() != null) {

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/hibernate/HibernatePersistenceManager.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/hibernate/HibernatePersistenceManager.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/hibernate/HibernatePersistenceManager.java (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/hibernate/HibernatePersistenceManager.java Thu Feb 16 02:48:20 2006
@@ -16,19 +16,17 @@
  */
 package org.apache.jackrabbit.core.state.orm.hibernate;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import javax.jcr.PropertyType;
-
-import org.apache.jackrabbit.core.value.BLOBFileValue;
-import org.apache.jackrabbit.core.value.InternalValue;
+import net.sf.hibernate.Hibernate;
+import net.sf.hibernate.HibernateException;
+import net.sf.hibernate.ObjectNotFoundException;
+import net.sf.hibernate.Session;
+import net.sf.hibernate.SessionFactory;
+import net.sf.hibernate.Transaction;
+import net.sf.hibernate.cfg.Configuration;
+import net.sf.hibernate.type.Type;
 import org.apache.jackrabbit.core.NodeId;
 import org.apache.jackrabbit.core.PropertyId;
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.core.state.AbstractPersistenceManager;
+import org.apache.jackrabbit.core.state.ChangeLog;
 import org.apache.jackrabbit.core.state.ItemState;
 import org.apache.jackrabbit.core.state.ItemStateException;
 import org.apache.jackrabbit.core.state.NoSuchItemStateException;
@@ -36,24 +34,22 @@
 import org.apache.jackrabbit.core.state.NodeReferencesId;
 import org.apache.jackrabbit.core.state.NodeState;
 import org.apache.jackrabbit.core.state.PMContext;
+import org.apache.jackrabbit.core.state.PersistenceManager;
 import org.apache.jackrabbit.core.state.PropertyState;
 import org.apache.jackrabbit.core.state.orm.ORMBlobValue;
 import org.apache.jackrabbit.core.state.orm.ORMNodeReference;
 import org.apache.jackrabbit.core.state.orm.ORMPropertyState;
+import org.apache.jackrabbit.core.value.BLOBFileValue;
+import org.apache.jackrabbit.core.value.InternalValue;
+import org.apache.jackrabbit.name.QName;
 import org.apache.log4j.Logger;
-import net.sf.hibernate.Hibernate;
-import net.sf.hibernate.HibernateException;
-import net.sf.hibernate.ObjectNotFoundException;
-import net.sf.hibernate.Session;
-import net.sf.hibernate.SessionFactory;
-import net.sf.hibernate.Transaction;
-import net.sf.hibernate.cfg.Configuration;
-import net.sf.hibernate.type.Type;
-import org.apache.jackrabbit.core.state.PersistenceManager;
-import org.apache.ojb.broker.PersistenceBroker;
-import org.apache.jackrabbit.core.state.ChangeLog;
-import org.apache.ojb.broker.PersistenceBrokerFactory;
-import org.apache.ojb.broker.PersistenceBrokerException;
+
+import javax.jcr.PropertyType;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 
 /**
  * Hibernate implementation of a Jackrabbit persistence manager.
@@ -155,7 +151,7 @@
                 List propertyList = session.find(
                     "from org.apache.jackrabbit.core.state.orm.ORMPropertyState as prop WHERE " +
                     "prop.parentUUID = ? and prop.name = ?",
-                    new Object[] {propId.getParentUUID(),
+                    new Object[] {propId.getParentId().getUUID().toString(),
                     propId.getName().toString()},
                     new Type[] {Hibernate.STRING, Hibernate.STRING});
 
@@ -174,7 +170,7 @@
                     List blobValueList = session.find(
                         "from org.apache.jackrabbit.core.state.orm.ORMBlobValue as bv WHERE " +
                         "bv.parentUUID = ? and bv.propertyName = ?",
-                        new Object[] {propId.getParentUUID(),
+                        new Object[] {propId.getParentId().getUUID().toString(),
                         propId.getName().toString()},
                         new Type[] {Hibernate.STRING, Hibernate.STRING});
 
@@ -236,11 +232,10 @@
                 ORMNodeReference curNodeReference = (ORMNodeReference)
                     nodeRefIter.
                     next();
-                refs.addReference(new PropertyId(curNodeReference.
-                                                 getPropertyParentUUID(),
-                                                 QName.
-                                                 valueOf(curNodeReference.
-                    getPropertyName())));
+                PropertyId id = new PropertyId(
+                        NodeId.valueOf(curNodeReference.getPropertyParentUUID()),
+                        QName.valueOf(curNodeReference.getPropertyName()));
+                refs.addReference(id);
             }
             tx.commit();
         } catch (HibernateException he) {
@@ -326,7 +321,7 @@
             List propertyList = session.find(
                 "from org.apache.jackrabbit.core.state.orm.ORMPropertyState as prop WHERE " +
                 "prop.parentUUID = ? and prop.name = ?",
-                new Object[] {propId.getParentUUID(),
+                new Object[] {propId.getParentId().getUUID().toString(),
                 propId.getName().toString()},
                 new Type[] {Hibernate.STRING, Hibernate.STRING});
 
@@ -430,7 +425,7 @@
                     // first we delete any existing blob values (this is faster
                     // than trying to load and update each value seperately)
                     session.delete("from org.apache.jackrabbit.core.state.orm.ORMBlobValue as bv where bv.parentUUID=? AND bv.propertyName=?",
-                                   new Object[] {state.getParentUUID(),
+                                   new Object[] {state.getParentId().getUUID().toString(),
                                    state.getName().toString()},
                                    new Type[] {Hibernate.STRING,
                                    Hibernate.STRING});
@@ -440,7 +435,7 @@
                         if (state.getType() == PropertyType.BINARY) {
                             ORMBlobValue ormBlobValue = null;
                             ormBlobValue = new ORMBlobValue();
-                            ormBlobValue.setParentUUID(state.getParentUUID());
+                            ormBlobValue.setParentUUID(state.getParentId().getUUID().toString());
                             ormBlobValue.setPropertyName(state.getName().
                                 toString());
                             ormBlobValue.setIndex(new Integer(i));
@@ -483,7 +478,7 @@
             while (nodeRefPropIdIter.hasNext()) {
                 PropertyId curPropertyId = (PropertyId) nodeRefPropIdIter.next();
                 ORMNodeReference curNodeReference = new ORMNodeReference(refs.
-                    getTargetId().toString(), curPropertyId.getParentUUID(),
+                    getTargetId().toString(), curPropertyId.getParentId().getUUID().toString(),
                     curPropertyId.getName().toString());
                 session.save(curNodeReference);
                 i++;
@@ -498,7 +493,7 @@
      * @see org.apache.jackrabbit.core.state.AbstractPersistenceManager#destroy(NodeState)
      */
     public void destroy(NodeState state, Session session) throws ItemStateException, HibernateException {
-        log.debug("Deleting node " + state.getUUID());
+        log.debug("Deleting node " + state.getId().toString());
             HibernateNodeState nodeState = null;
             try {
                 List nodeList = session.find(
@@ -535,7 +530,7 @@
                     session.delete(propState);
                     if (state.getType() == PropertyType.BINARY) {
                         session.delete("from org.apache.jackrabbit.core.state.orm.ORMBlobValue as bv where bv.parentUUID=? AND bv.propertyName=?",
-                                       new Object[] {state.getParentUUID(),
+                                       new Object[] {state.getParentId().getUUID().toString(),
                                        state.getName().toString()},
                                        new Type[] {Hibernate.STRING,
                                        Hibernate.STRING});
@@ -562,8 +557,7 @@
      */
     public NodeState createNew(NodeId id)
     {
-        return new NodeState(id.getUUID(), null, null, NodeState.STATUS_NEW,
-                false);
+        return new NodeState(id, null, null, NodeState.STATUS_NEW, false);
     }
 
     /**
@@ -571,8 +565,7 @@
      */
     public PropertyState createNew(PropertyId id)
     {
-        return new PropertyState(id.getName(), id.getParentUUID(),
-                PropertyState.STATUS_NEW, false);
+        return new PropertyState(id, PropertyState.STATUS_NEW, false);
     }
 
     /**

Modified: incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ojb/OJBPersistenceManager.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ojb/OJBPersistenceManager.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ojb/OJBPersistenceManager.java (original)
+++ incubator/jackrabbit/trunk/contrib/orm-persistence/src/java/org/apache/jackrabbit/core/state/orm/ojb/OJBPersistenceManager.java Thu Feb 16 02:48:20 2006
@@ -16,18 +16,8 @@
  */
 package org.apache.jackrabbit.core.state.orm.ojb;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.jcr.PropertyType;
-
-import org.apache.jackrabbit.core.value.BLOBFileValue;
-import org.apache.jackrabbit.core.value.InternalValue;
 import org.apache.jackrabbit.core.NodeId;
 import org.apache.jackrabbit.core.PropertyId;
-import org.apache.jackrabbit.name.QName;
 import org.apache.jackrabbit.core.state.ChangeLog;
 import org.apache.jackrabbit.core.state.ItemState;
 import org.apache.jackrabbit.core.state.ItemStateException;
@@ -41,6 +31,9 @@
 import org.apache.jackrabbit.core.state.orm.ORMBlobValue;
 import org.apache.jackrabbit.core.state.orm.ORMNodeReference;
 import org.apache.jackrabbit.core.state.orm.ORMPropertyState;
+import org.apache.jackrabbit.core.value.BLOBFileValue;
+import org.apache.jackrabbit.core.value.InternalValue;
+import org.apache.jackrabbit.name.QName;
 import org.apache.log4j.Logger;
 import org.apache.ojb.broker.PersistenceBroker;
 import org.apache.ojb.broker.PersistenceBrokerException;
@@ -49,6 +42,12 @@
 import org.apache.ojb.broker.query.QueryByCriteria;
 import org.apache.ojb.broker.query.QueryByIdentity;
 
+import javax.jcr.PropertyType;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+
 /**
  * OJB implementation of a Jackrabbit persistence manager.
  */
@@ -96,19 +95,19 @@
         {
             log.debug("Request for " + nodeId.getUUID());
             OJBNodeState nodeState = new OJBNodeState();
-            nodeState.setUuid(nodeId.getUUID());
+            nodeState.setUuid(nodeId.getUUID().toString());
             QueryByIdentity query = new QueryByIdentity(nodeState);
             OJBNodeState result = (OJBNodeState) broker.getObjectByQuery(query);
             if (result == null)
             {
-                throw new NoSuchItemStateException(nodeId.getUUID());
+                throw new NoSuchItemStateException(nodeId.getUUID().toString());
             }
             NodeState state = createNew(nodeId);
             result.toPersistentNodeState(state);
             return state;
         } catch (PersistenceBrokerException e)
         {
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally
         {
             if (broker != null)
@@ -143,7 +142,7 @@
                 // we must now load the binary values.
                 ArrayList internalValueList = new ArrayList();
                 Criteria criteria = new Criteria();
-                criteria.addEqualTo("parentUUID", state.getParentUUID());
+                criteria.addEqualTo("parentUUID", state.getParentId().toString());
                 criteria.addEqualTo("propertyName", state.getName().toString());
                 QueryByCriteria blobQuery = new QueryByCriteria(
                         ORMBlobValue.class, criteria);
@@ -170,7 +169,7 @@
             return state;
         } catch (PersistenceBrokerException e)
         {
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally
         {
             if (broker != null)
@@ -197,14 +196,14 @@
             {
                 ORMNodeReference curNodeReference = (ORMNodeReference) resultIter
                         .next();
-                refs.addReference(new PropertyId(curNodeReference
-                        .getPropertyParentUUID(), QName
+                refs.addReference(new PropertyId(NodeId.valueOf(curNodeReference
+                        .getPropertyParentUUID()), QName
                         .valueOf(curNodeReference.getPropertyName())));
             }
             return refs;
         } catch (PersistenceBrokerException e)
         {
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally
         {
             if (broker != null)
@@ -233,7 +232,7 @@
             }
         } catch (PersistenceBrokerException e)
         {
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally
         {
             if (broker != null)
@@ -264,7 +263,7 @@
             }
         } catch (PersistenceBrokerException e)
         {
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally
         {
             if (broker != null)
@@ -294,7 +293,7 @@
             return false;
         } catch (PersistenceBrokerException e)
         {
-            throw new ItemStateException(e);
+            throw new ItemStateException(e.getMessage(), e);
         } finally
         {
             if (broker != null)
@@ -349,7 +348,7 @@
                     {
                         Criteria criteria = new Criteria();
                         criteria
-                                .addEqualTo("parentUUID", state.getParentUUID());
+                                .addEqualTo("parentUUID", state.getParentId().getUUID().toString());
                         criteria.addEqualTo("propertyName", state.getName()
                                 .toString());
                         criteria.addEqualTo("index", new Integer(i));
@@ -364,7 +363,7 @@
                         } else
                         {
                             ormBlobValue = new ORMBlobValue();
-                            ormBlobValue.setParentUUID(state.getParentUUID());
+                            ormBlobValue.setParentUUID(state.getParentId().getUUID().toString());
                             ormBlobValue.setPropertyName(state.getName()
                                     .toString());
                             ormBlobValue.setIndex(new Integer(i));
@@ -407,7 +406,7 @@
         {
             PropertyId curPropertyId = (PropertyId) nodeRefPropIdIter.next();
             ORMNodeReference curNodeReference = new ORMNodeReference(refs
-                    .getTargetId().toString(), curPropertyId.getParentUUID(),
+                    .getTargetId().toString(), curPropertyId.getParentId().getUUID().toString(),
                     curPropertyId.getName().toString());
             broker.store(curNodeReference);
         }
@@ -443,7 +442,7 @@
         if (state.getType() == PropertyType.BINARY)
         {
             Criteria criteria = new Criteria();
-            criteria.addEqualTo("parentUUID", state.getParentUUID());
+            criteria.addEqualTo("parentUUID", state.getParentId().getUUID().toString());
             criteria.addEqualTo("propertyName", state.getName().toString());
             QueryByCriteria blobQuery = new QueryByCriteria(ORMBlobValue.class,
                     criteria);
@@ -474,8 +473,7 @@
      */
     public NodeState createNew(NodeId id)
     {
-        return new NodeState(id.getUUID(), null, null, NodeState.STATUS_NEW,
-                false);
+        return new NodeState(id, null, null, NodeState.STATUS_NEW, false);
     }
 
     /**
@@ -483,8 +481,7 @@
      */
     public PropertyState createNew(PropertyId id)
     {
-        return new PropertyState(id.getName(), id.getParentUUID(),
-                PropertyState.STATUS_NEW, false);
+        return new PropertyState(id, PropertyState.STATUS_NEW, false);
     }
 
     /**

Added: incubator/jackrabbit/trunk/contrib/project.properties
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/project.properties?rev=378221&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/project.properties (added)
+++ incubator/jackrabbit/trunk/contrib/project.properties Thu Feb 16 02:48:20 2006
@@ -0,0 +1,5 @@
+# ------------------------------- multiproject
+maven.multiproject.basedir=${basedir}
+maven.multiproject.includes=*/project.xml
+maven.multiproject.excludes=
+maven.multiproject.aggregateDir=
\ No newline at end of file

Propchange: incubator/jackrabbit/trunk/contrib/project.properties
------------------------------------------------------------------------------
    svn = 

Propchange: incubator/jackrabbit/trunk/contrib/project.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/project.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/project.xml?rev=378221&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/project.xml (added)
+++ incubator/jackrabbit/trunk/contrib/project.xml Thu Feb 16 02:48:20 2006
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<project>
+    <!-- ====================================================================== -->
+    <!-- P R O J E C T  D E S C R I P T I O N                                   -->
+    <!-- ====================================================================== -->
+    <pomVersion>3</pomVersion>
+    <id>org.apache.jackrabbit</id>
+    <name>Fake Contrib Project</name>
+    <currentVersion>1.0</currentVersion>
+
+    <!-- ====================================================================== -->
+    <!-- D E P E N D E N C I E S                                                -->
+    <!-- ====================================================================== -->
+    <dependencies>
+    </dependencies>
+</project>

Propchange: incubator/jackrabbit/trunk/contrib/project.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/jackrabbit/trunk/contrib/project.xml
------------------------------------------------------------------------------
    svn:keywords = author date id rev url

Modified: incubator/jackrabbit/trunk/contrib/tck-webapp/project.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/tck-webapp/project.xml?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/tck-webapp/project.xml (original)
+++ incubator/jackrabbit/trunk/contrib/tck-webapp/project.xml Thu Feb 16 02:48:20 2006
@@ -80,14 +80,6 @@
             </properties>
         </dependency>
         <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-db</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <properties>
-                <war.bundle>true</war.bundle>
-            </properties>
-        </dependency>
-        <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
             <version>10.1.1.0</version>

Modified: incubator/jackrabbit/trunk/contrib/textfilters/src/test/org/apache/jackrabbit/core/query/test/AbstractTextFilterTest.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/textfilters/src/test/org/apache/jackrabbit/core/query/test/AbstractTextFilterTest.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/contrib/textfilters/src/test/org/apache/jackrabbit/core/query/test/AbstractTextFilterTest.java (original)
+++ incubator/jackrabbit/trunk/contrib/textfilters/src/test/org/apache/jackrabbit/core/query/test/AbstractTextFilterTest.java Thu Feb 16 02:48:20 2006
@@ -17,37 +17,39 @@
 
 package org.apache.jackrabbit.core.query.test;
 
+import org.apache.jackrabbit.core.PropertyId;
+import org.apache.jackrabbit.core.query.TextFilter;
+import org.apache.jackrabbit.core.state.PropertyState;
+import org.apache.jackrabbit.core.value.InternalValue;
+import org.apache.jackrabbit.name.QName;
+
 import java.io.File;
 import java.io.Reader;
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.jackrabbit.name.QName;
-import org.apache.jackrabbit.core.query.TextFilter;
-import org.apache.jackrabbit.core.state.PropertyState;
-import org.apache.jackrabbit.core.value.InternalValue;
-
 public class AbstractTextFilterTest {
 
-	public void showResult(File file, TextFilter filter) throws Exception {
-		PropertyState state = new PropertyState(new QName("", ""), "", 1, true);
+    public void showResult(File file, TextFilter filter) throws Exception {
+        PropertyId id = new PropertyId(null, new QName("", ""));
+        PropertyState state = new PropertyState(id, 1, true);
 
-		InternalValue value = InternalValue.create(file);
-		state.setValues(new InternalValue[] { value });
+        InternalValue value = InternalValue.create(file);
+        state.setValues(new InternalValue[]{value});
 
-		Map fields = filter.doFilter(state, System.getProperty("encoding"));
-		for (Iterator it = fields.keySet().iterator(); it.hasNext();) {
-			String field = (String) it.next();
-			Reader r = (Reader) fields.get(field);
-			System.out.println("---------------");
-			System.out.println("Field: " + field);
-			int i;
-			while ((i = r.read()) != -1) {
-				System.out.print((char) i);
-			}
-			r.close();
-			System.out.println("");
-		}
-	}
+        Map fields = filter.doFilter(state, System.getProperty("encoding"));
+        for (Iterator it = fields.keySet().iterator(); it.hasNext();) {
+            String field = (String) it.next();
+            Reader r = (Reader) fields.get(field);
+            System.out.println("---------------");
+            System.out.println("Field: " + field);
+            int i;
+            while ((i = r.read()) != -1) {
+                System.out.print((char) i);
+            }
+            r.close();
+            System.out.println("");
+        }
+    }
 
 }

Modified: incubator/jackrabbit/trunk/jackrabbit/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/maven.xml?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/maven.xml (original)
+++ incubator/jackrabbit/trunk/jackrabbit/maven.xml Thu Feb 16 02:48:20 2006
@@ -232,6 +232,7 @@
     <preGoal name="test:test">
         <j:if test="${context.getVariable('maven.test.skip') != 'true'}">
             <attainGoal name="jackrabbit:test-init"/>
+            <attainGoal name="test:single"/>
         </j:if>
     </preGoal>
 
@@ -243,7 +244,6 @@
         <ant:copy file="applications/test/repository/namespaces/ns_reg.properties.install" 
             tofile="applications/test/repository/namespaces/ns_reg.properties"/>
         <j:set var="testcase" value="org.apache.jackrabbit.init.TestAll"/>
-        <attainGoal name="test:single"/>
     </goal>
 
     <postGoal name="jar:jar">

Modified: incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/BatchedItemOperations.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/BatchedItemOperations.java?rev=378221&r1=378220&r2=378221&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/BatchedItemOperations.java (original)
+++ incubator/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/BatchedItemOperations.java Thu Feb 16 02:48:20 2006
@@ -292,7 +292,7 @@
                 | CHECK_VERSIONING | CHECK_CONSTRAINTS);
         // check read access right on source node using source access manager
         try {
-            if (!srcAccessMgr.isGranted(srcState.getId(), AccessManager.READ)) {
+            if (!srcAccessMgr.isGranted(srcState.getNodeId(), AccessManager.READ)) {
                 throw new PathNotFoundException(safeGetJCRPath(srcPath));
             }
         } catch (ItemNotFoundException infe) {
@@ -308,10 +308,10 @@
 
         // create deep copy of source node state
         NodeState newState = copyNodeState(srcState, srcStateMgr, srcAccessMgr,
-                destParentState.getUUID(), flag, refTracker);
+                destParentState.getNodeId(), flag, refTracker);
 
         // add to new parent
-        destParentState.addChildNodeEntry(destName.getName(), newState.getUUID());
+        destParentState.addChildNodeEntry(destName.getName(), newState.getNodeId());
 
         // change definition (id) of new node
         NodeDef newNodeDef =
@@ -333,10 +333,10 @@
             InternalValue[] newVals = new InternalValue[values.length];
             for (int i = 0; i < values.length; i++) {
                 InternalValue val = values[i];
-                String original = ((UUID) val.internalValue()).toString();
-                String adjusted = refTracker.getMappedUUID(original);
+                UUID original = (UUID) val.internalValue();
+                UUID adjusted = refTracker.getMappedUUID(original);
                 if (adjusted != null) {
-                    newVals[i] = InternalValue.create(UUID.fromString(adjusted));
+                    newVals[i] = InternalValue.create(adjusted);
                     modified = true;
                 } else {
                     // reference doesn't need adjusting, just copy old value
@@ -417,15 +417,14 @@
 
         // 2. check if target state can be removed from old/added to new parent
 
-        checkRemoveNode(target, (NodeId) srcParent.getId(),
+        checkRemoveNode(target, srcParent.getNodeId(),
                 CHECK_ACCESS | CHECK_LOCK | CHECK_VERSIONING | CHECK_CONSTRAINTS);
         checkAddNode(destParent, destName.getName(),
                 target.getNodeTypeName(), CHECK_ACCESS | CHECK_LOCK
                 | CHECK_VERSIONING | CHECK_CONSTRAINTS);
 
         // 3. do move operation (modify and store affected states)
-
-        boolean renameOnly = srcParent.getUUID().equals(destParent.getUUID());
+        boolean renameOnly = srcParent.getNodeId().equals(destParent.getNodeId());
 
         int srcNameIndex = srcName.getIndex();
         if (srcNameIndex == 0) {
@@ -440,9 +439,9 @@
             // remove child node entry from old parent
             srcParent.removeChildNodeEntry(srcName.getName(), srcNameIndex);
             // re-parent target node
-            target.setParentUUID(destParent.getUUID());
+            target.setParentId(destParent.getNodeId());
             // add child node entry to new parent
-            destParent.addChildNodeEntry(destName.getName(), target.getUUID());
+            destParent.addChildNodeEntry(destName.getName(), target.getNodeId());
         }
 
         // change definition (id) of target node
@@ -489,18 +488,15 @@
         }
 
         // 1. retrieve affected state
-
         NodeState target = getNodeState(nodePath);
-        NodeId parentId = new NodeId(target.getParentUUID());
+        NodeId parentId = target.getParentId();
 
         // 2. check if target state can be removed from parent
-
         checkRemoveNode(target, parentId,
                 CHECK_ACCESS | CHECK_LOCK | CHECK_VERSIONING
                 | CHECK_CONSTRAINTS | CHECK_REFERENCES);
 
         // 3. do remove operation
-
         removeNodeState(target);
     }
 
@@ -541,7 +537,7 @@
             VersionException, LockException, ItemNotFoundException,
             ItemExistsException, RepositoryException {
 
-        Path parentPath = hierMgr.getPath(parentState.getId());
+        Path parentPath = hierMgr.getPath(parentState.getNodeId());
 
         // 1. locking status
 
@@ -562,12 +558,12 @@
         if ((options & CHECK_ACCESS) == CHECK_ACCESS) {
             AccessManager accessMgr = session.getAccessManager();
             // make sure current session is granted read access on parent node
-            if (!accessMgr.isGranted(parentState.getId(), AccessManager.READ)) {
-                throw new ItemNotFoundException(safeGetJCRPath(parentState.getId()));
+            if (!accessMgr.isGranted(parentState.getNodeId(), AccessManager.READ)) {
+                throw new ItemNotFoundException(safeGetJCRPath(parentState.getNodeId()));
             }
             // make sure current session is granted write access on parent node
-            if (!accessMgr.isGranted(parentState.getId(), AccessManager.WRITE)) {
-                throw new AccessDeniedException(safeGetJCRPath(parentState.getId())
+            if (!accessMgr.isGranted(parentState.getNodeId(), AccessManager.WRITE)) {
+                throw new AccessDeniedException(safeGetJCRPath(parentState.getNodeId())
                         + ": not allowed to add child node");
             }
         }
@@ -578,7 +574,7 @@
             NodeDef parentDef = ntReg.getNodeDef(parentState.getDefinitionId());
             // make sure parent node is not protected
             if (parentDef.isProtected()) {
-                throw new ConstraintViolationException(safeGetJCRPath(parentState.getId())
+                throw new ConstraintViolationException(safeGetJCRPath(parentState.getNodeId())
                         + ": cannot add child node to protected parent node");
             }
             // make sure there's an applicable definition for new child node
@@ -593,7 +589,7 @@
                 // there's already a property with that name
                 throw new ItemExistsException("cannot add child node '"
                         + nodeName.getLocalName() + "' to "
-                        + safeGetJCRPath(parentState.getId())
+                        + safeGetJCRPath(parentState.getNodeId())
                         + ": colliding with same-named existing property");
             }
             if (parentState.hasChildNodeEntry(nodeName)) {
@@ -602,7 +598,7 @@
                 // get definition of existing conflicting node
                 NodeState.ChildNodeEntry entry = parentState.getChildNodeEntry(nodeName, 1);
                 NodeState conflictingState;
-                NodeId conflictingId = new NodeId(entry.getUUID());
+                NodeId conflictingId = entry.getId();
                 try {
                     conflictingState = (NodeState) stateMgr.getItemState(conflictingId);
                 } catch (ItemStateException ise) {
@@ -618,7 +614,7 @@
                         || !newNodeDef.allowsSameNameSiblings()) {
                     throw new ItemExistsException("cannot add child node '"
                             + nodeName.getLocalName() + "' to "
-                            + safeGetJCRPath(parentState.getId())
+                            + safeGetJCRPath(parentState.getNodeId())
                             + ": colliding with same-named existing node");
                 }
             }
@@ -656,8 +652,7 @@
             throws ConstraintViolationException, AccessDeniedException,
             VersionException, LockException, ItemNotFoundException,
             ReferentialIntegrityException, RepositoryException {
-        NodeId parentId = new NodeId(targetState.getParentUUID());
-        checkRemoveNode(targetState, parentId, options);
+        checkRemoveNode(targetState, targetState.getParentId(), options);
     }
 
     /**
@@ -695,11 +690,11 @@
             VersionException, LockException, ItemNotFoundException,
             ReferentialIntegrityException, RepositoryException {
 
-        if (targetState.getParentUUID() == null) {
+        if (targetState.getParentId() == null) {
             // root or orphaned node
             throw new ConstraintViolationException("cannot remove root node");
         }
-        NodeId targetId = (NodeId) targetState.getId();
+        NodeId targetId = targetState.getNodeId();
         NodeState parentState = getNodeState(parentId);
         Path parentPath = hierMgr.getPath(parentId);
 
@@ -763,7 +758,7 @@
         if ((options & CHECK_REFERENCES) == CHECK_REFERENCES) {
             EffectiveNodeType ent = getEffectiveNodeType(targetState);
             if (ent.includesNodeType(QName.MIX_REFERENCEABLE)) {
-                NodeReferencesId refsId = new NodeReferencesId(targetState.getUUID());
+                NodeReferencesId refsId = new NodeReferencesId(targetState.getNodeId());
                 if (stateMgr.hasNodeReferences(refsId)) {
                     try {
                         NodeReferences refs = stateMgr.getNodeReferences(refsId);
@@ -818,12 +813,12 @@
         // access rights
         AccessManager accessMgr = session.getAccessManager();
         // make sure current session is granted read access on node
-        if (!accessMgr.isGranted(node.getId(), AccessManager.READ)) {
-            throw new PathNotFoundException(safeGetJCRPath(node.getId()));
+        if (!accessMgr.isGranted(node.getNodeId(), AccessManager.READ)) {
+            throw new PathNotFoundException(safeGetJCRPath(node.getNodeId()));
         }
         // make sure current session is granted write access on node
-        if (!accessMgr.isGranted(node.getId(), AccessManager.WRITE)) {
-            throw new AccessDeniedException(safeGetJCRPath(node.getId())
+        if (!accessMgr.isGranted(node.getNodeId(), AccessManager.WRITE)) {
+            throw new AccessDeniedException(safeGetJCRPath(node.getNodeId())
                     + ": not allowed to modify node");
         }
 
@@ -859,8 +854,8 @@
         // access rights
         AccessManager accessMgr = session.getAccessManager();
         // make sure current session is granted read access on node
-        if (!accessMgr.isGranted(node.getId(), AccessManager.READ)) {
-            throw new PathNotFoundException(safeGetJCRPath(node.getId()));
+        if (!accessMgr.isGranted(node.getNodeId(), AccessManager.READ)) {
+            throw new PathNotFoundException(safeGetJCRPath(node.getNodeId()));
         }
     }
 
@@ -956,7 +951,7 @@
      * @param nodeName
      * @param nodeTypeName
      * @param mixinNames
-     * @param uuid
+     * @param id
      * @return
      * @throws ItemExistsException
      * @throws ConstraintViolationException
@@ -967,7 +962,7 @@
                                      QName nodeName,
                                      QName nodeTypeName,
                                      QName[] mixinNames,
-                                     String uuid)
+                                     NodeId id)
             throws ItemExistsException, ConstraintViolationException,
             RepositoryException, IllegalStateException {
 
@@ -977,7 +972,7 @@
         }
 
         NodeDef def = findApplicableNodeDefinition(nodeName, nodeTypeName, parent);
-        return createNodeState(parent, nodeName, nodeTypeName, mixinNames, uuid, def);
+        return createNodeState(parent, nodeName, nodeTypeName, mixinNames, id, def);
     }
 
     /**
@@ -991,7 +986,7 @@
      * @param nodeName
      * @param nodeTypeName
      * @param mixinNames
-     * @param uuid
+     * @param id
      * @param def
      * @return
      * @throws ItemExistsException
@@ -1003,7 +998,7 @@
                                      QName nodeName,
                                      QName nodeTypeName,
                                      QName[] mixinNames,
-                                     String uuid,
+                                     NodeId id,
                                      NodeDef def)
             throws ItemExistsException, ConstraintViolationException,
             RepositoryException, IllegalStateException {
@@ -1016,12 +1011,12 @@
         }
         // check for name collisions with existing nodes
         if (!def.allowsSameNameSiblings() && parent.hasChildNodeEntry(nodeName)) {
-            NodeId id = new NodeId(parent.getChildNodeEntry(nodeName, 1).getUUID());
-            throw new ItemExistsException(safeGetJCRPath(id));
+            NodeId errorId = parent.getChildNodeEntry(nodeName, 1).getId();
+            throw new ItemExistsException(safeGetJCRPath(errorId));
         }
-        if (uuid == null) {
-            // create new uuid
-            uuid = UUID.randomUUID().toString();    // create new version 4 uuid
+        if (id == null) {
+            // create new id
+            id = new NodeId(UUID.randomUUID());
         }
         if (nodeTypeName == null) {
             // no primary node type specified,
@@ -1034,14 +1029,14 @@
                 throw new ConstraintViolationException(msg);
             }
         }
-        NodeState node = stateMgr.createNew(uuid, nodeTypeName, parent.getUUID());
+        NodeState node = stateMgr.createNew(id, nodeTypeName, parent.getNodeId());
         if (mixinNames != null && mixinNames.length > 0) {
             node.setMixinTypeNames(new HashSet(Arrays.asList(mixinNames)));
         }
         node.setDefinitionId(def.getId());
 
         // now add new child node entry to parent
-        parent.addChildNodeEntry(nodeName, node.getUUID());
+        parent.addChildNodeEntry(nodeName, id);
 
         EffectiveNodeType ent = getEffectiveNodeType(node);
 
@@ -1155,12 +1150,12 @@
 
         // check for name collisions with existing properties
         if (parent.hasPropertyName(propName)) {
-            PropertyId id = new PropertyId(parent.getUUID(), propName);
-            throw new ItemExistsException(safeGetJCRPath(id));
+            PropertyId errorId = new PropertyId(parent.getNodeId(), propName);
+            throw new ItemExistsException(safeGetJCRPath(errorId));
         }
 
         // create property
-        PropertyState prop = stateMgr.createNew(propName, parent.getUUID());
+        PropertyState prop = stateMgr.createNew(propName, parent.getNodeId());
 
         prop.setDefinitionId(def.getId());
         if (def.getRequiredType() != PropertyType.UNDEFINED) {
@@ -1204,17 +1199,15 @@
     public void removeNodeState(NodeState target)
             throws RepositoryException {
 
-        String parentUUID = target.getParentUUID();
-        if (parentUUID == null) {
+        NodeId parentId = target.getParentId();
+        if (parentId == null) {
             String msg = "root node cannot be removed";
             log.debug(msg);
             throw new RepositoryException(msg);
         }
-        NodeId parentId = new NodeId(parentUUID);
-
         NodeState parent = getNodeState(parentId);
         // remove child node entry from parent
-        parent.removeChildNodeEntry(target.getUUID());
+        parent.removeChildNodeEntry(target.getNodeId());
         // store parent
         stateMgr.store(parent);
 
@@ -1314,7 +1307,7 @@
             nodeState = getNodeState(nodePath);
         }
         PropertyId propId =
-                new PropertyId(nodeState.getUUID(), QName.JCR_ISCHECKEDOUT);
+                new PropertyId(nodeState.getNodeId(), QName.JCR_ISCHECKEDOUT);
         PropertyState propState;
         try {
             propState = (PropertyState) stateMgr.getItemState(propId);
@@ -1426,7 +1419,7 @@
      *
      * @param parent
      * @param def
-     * @return
+     * @return the computed values
      */
     private InternalValue[] computeSystemGeneratedPropertyValues(NodeState parent,
                                                                  PropDef def) {
@@ -1444,7 +1437,8 @@
             // mix:referenceable node type
             if (QName.JCR_UUID.equals(name)) {
                 // jcr:uuid property
-                genValues = new InternalValue[]{InternalValue.create(parent.getUUID())};
+                genValues = new InternalValue[]{InternalValue.create(
+                        parent.getNodeId().getUUID().toString())};
             }
         } else if (QName.NT_BASE.equals(declaringNT)) {
             // nt:base node type
@@ -1509,14 +1503,14 @@
             // remove from tail to avoid problems with same-name siblings
             for (int i = tmp.size() - 1; i >= 0; i--) {
                 NodeState.ChildNodeEntry entry = (NodeState.ChildNodeEntry) tmp.get(i);
-                NodeId nodeId = new NodeId(entry.getUUID());
+                NodeId nodeId = entry.getId();
                 try {
                     NodeState nodeState = (NodeState) stateMgr.getItemState(nodeId);
                     // check if child node can be removed
                     // (access rights, locking & versioning status);
                     // referential integrity (references) is checked
                     // on commit
-                    checkRemoveNode(nodeState, (NodeId) targetState.getId(),
+                    checkRemoveNode(nodeState, targetState.getNodeId(),
                             CHECK_ACCESS
                             | CHECK_LOCK
                             | CHECK_VERSIONING);
@@ -1539,7 +1533,7 @@
         for (Iterator iter = tmp.iterator(); iter.hasNext();) {
             QName propName = (QName) iter.next();
             PropertyId propId =
-                    new PropertyId(targetState.getUUID(), propName);
+                    new PropertyId(targetState.getNodeId(), propName);
             try {
                 PropertyState propState =
                         (PropertyState) stateMgr.getItemState(propId);
@@ -1556,7 +1550,7 @@
         }
 
         // now actually do unlink target state
-        targetState.setParentUUID(null);
+        targetState.setParentId(null);
         // destroy target state (pass overlayed state since target state
         // might have been modified during unlinking)
         stateMgr.destroy(targetState.getOverlayedState());
@@ -1569,7 +1563,7 @@
      * @param srcState
      * @param srcStateMgr
      * @param srcAccessMgr
-     * @param destParentUUID
+     * @param destParentId
      * @param flag           one of
      *                       <ul>
      *                       <li><code>COPY</code></li>
@@ -1583,14 +1577,13 @@
     private NodeState copyNodeState(NodeState srcState,
                                     ItemStateManager srcStateMgr,
                                     AccessManager srcAccessMgr,
-                                    String destParentUUID,
+                                    NodeId destParentId,
                                     int flag,
                                     ReferenceChangeTracker refTracker)
             throws RepositoryException {
 
         NodeState newState;
         try {
-            String uuid;
             NodeId id;
             EffectiveNodeType ent = getEffectiveNodeType(srcState);
             boolean referenceable = ent.includesNodeType(QName.MIX_REFERENCEABLE);
@@ -1598,21 +1591,20 @@
             switch (flag) {
                 case COPY:
                     // always create new uuid
-                    uuid = UUID.randomUUID().toString();    // create new version 4 uuid
+                    id = new NodeId(UUID.randomUUID());
                     if (referenceable) {
                         // remember uuid mapping
-                        refTracker.mappedUUID(srcState.getUUID(), uuid);
+                        refTracker.mappedUUID(srcState.getNodeId().getUUID(), id.getUUID());
                     }
                     break;
                 case CLONE:
                     if (!referenceable) {
                         // non-referenceable node: always create new uuid
-                        uuid = UUID.randomUUID().toString();    // create new version 4 uuid
+                        id = new NodeId(UUID.randomUUID());
                         break;
                     }
                     // use same uuid as source node
-                    uuid = srcState.getUUID();
-                    id = new NodeId(uuid);
+                    id = srcState.getNodeId();
                     if (stateMgr.hasItemState(id)) {
                         // node with this uuid already exists
                         throw new ItemExistsException(safeGetJCRPath(id));
@@ -1621,18 +1613,16 @@
                 case CLONE_REMOVE_EXISTING:
                     if (!referenceable) {
                         // non-referenceable node: always create new uuid
-                        uuid = UUID.randomUUID().toString();    // create new version 4 uuid
+                        id = new NodeId(UUID.randomUUID());
                         break;
                     }
                     // use same uuid as source node
-                    uuid = srcState.getUUID();
-                    id = new NodeId(uuid);
+                    id = srcState.getNodeId();
                     if (stateMgr.hasItemState(id)) {
                         NodeState existingState = (NodeState) stateMgr.getItemState(id);
                         // make sure existing node is not the parent
                         // or an ancestor thereof
-                        NodeId newParentId = new NodeId(destParentUUID);
-                        Path p0 = hierMgr.getPath(newParentId);
+                        Path p0 = hierMgr.getPath(destParentId);
                         Path p1 = hierMgr.getPath(id);
                         try {
                             if (p1.equals(p0) || p1.isAncestorOf(p0)) {
@@ -1662,7 +1652,7 @@
                 default:
                     throw new IllegalArgumentException("unknown flag");
             }
-            newState = stateMgr.createNew(uuid, srcState.getNodeTypeName(), destParentUUID);
+            newState = stateMgr.createNew(id, srcState.getNodeTypeName(), destParentId);
             // copy node state
             newState.setMixinTypeNames(srcState.getMixinTypeNames());
             newState.setDefinitionId(srcState.getDefinitionId());
@@ -1670,7 +1660,7 @@
             Iterator iter = srcState.getChildNodeEntries().iterator();
             while (iter.hasNext()) {
                 NodeState.ChildNodeEntry entry = (NodeState.ChildNodeEntry) iter.next();
-                NodeId nodeId = new NodeId(entry.getUUID());
+                NodeId nodeId = entry.getId();
                 if (!srcAccessMgr.isGranted(nodeId, AccessManager.READ)) {
                     continue;
                 }
@@ -1685,17 +1675,17 @@
 
                 // recursive copying of child node
                 NodeState newChildState = copyNodeState(srcChildState,
-                        srcStateMgr, srcAccessMgr, uuid, flag, refTracker);
+                        srcStateMgr, srcAccessMgr, id, flag, refTracker);
                 // store new child node
                 stateMgr.store(newChildState);
                 // add new child node entry to new node
-                newState.addChildNodeEntry(entry.getName(), newChildState.getUUID());
+                newState.addChildNodeEntry(entry.getName(), newChildState.getNodeId());
             }
             // copy properties
             iter = srcState.getPropertyNames().iterator();
             while (iter.hasNext()) {
                 QName propName = (QName) iter.next();
-                PropertyId propId = new PropertyId(srcState.getUUID(), propName);
+                PropertyId propId = new PropertyId(srcState.getNodeId(), propName);
                 if (!srcAccessMgr.isGranted(propId, AccessManager.READ)) {
                     continue;
                 }
@@ -1717,7 +1707,7 @@
                 }
 
                 PropertyState newChildState =
-                        copyPropertyState(srcChildState, uuid, propName);
+                        copyPropertyState(srcChildState, id, propName);
 
                 if (versionable && flag == COPY) {
                     /**
@@ -1759,7 +1749,7 @@
             }
             return newState;
         } catch (ItemStateException ise) {
-            String msg = "internal error: failed to copy state of " + srcState.getId();
+            String msg = "internal error: failed to copy state of " + srcState.getNodeId();
             log.debug(msg);
             throw new RepositoryException(msg, ise);
         }
@@ -1769,20 +1759,20 @@
      * Copies the specified property state.
      *
      * @param srcState
-     * @param parentUUID
+     * @param parentId
      * @param propName
      * @return
      * @throws RepositoryException
      */
     private PropertyState copyPropertyState(PropertyState srcState,
-                                            String parentUUID,
+                                            NodeId parentId,
                                             QName propName)
             throws RepositoryException {
 
         PropDefId defId = srcState.getDefinitionId();
         PropDef def = ntReg.getPropDef(defId);
 
-        PropertyState newState = stateMgr.createNew(propName, parentUUID);
+        PropertyState newState = stateMgr.createNew(propName, parentId);
 
         newState.setDefinitionId(defId);
         newState.setType(srcState.getType());
@@ -1799,7 +1789,7 @@
             if (def.getDeclaringNodeType().equals(QName.MIX_REFERENCEABLE)
                     && propName.equals(QName.JCR_UUID)) {
                 // set correct value of jcr:uuid property
-                newState.setValues(new InternalValue[]{InternalValue.create(parentUUID)});
+                newState.setValues(new InternalValue[]{InternalValue.create(parentId.getUUID().toString())});
             } else {
                 InternalValue[] newValues = new InternalValue[values.length];
                 for (int i = 0; i < values.length; i++) {