You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2006/08/10 10:59:19 UTC

svn commit: r430321 - in /jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state: NodeState.java TransientChangeLog.java WorkspaceItemStateFactory.java

Author: mreutegg
Date: Thu Aug 10 01:59:13 2006
New Revision: 430321

URL: http://svn.apache.org/viewvc?rev=430321&view=rev
Log:
IdFactory is not properly initialized in NodeState

Modified:
    jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java
    jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientChangeLog.java
    jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java

Modified: jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java?rev=430321&r1=430320&r2=430321&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java (original)
+++ jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java Thu Aug 10 01:59:13 2006
@@ -117,13 +117,16 @@
      *                      not.
      * @param isf           the item state factory responsible for creating node
      *                      states.
+     * @param idFactory     the <code>IdFactory</code> to create new id
+     *                      instance.
      */
     public NodeState(NodeId id, NodeState parent, QName nodeTypeName,
-                     int initialStatus, boolean isTransient, ItemStateFactory isf) {
+                     int initialStatus, boolean isTransient,
+                     ItemStateFactory isf, IdFactory idFactory) {
         super(initialStatus, isTransient);
         this.id = id;
         this.parent = parent;
-        this.idFactory = parent.idFactory;
+        this.idFactory = idFactory;
         this.nodeTypeName = nodeTypeName;
         this.isf = isf;
     }
@@ -137,13 +140,16 @@
      * @param initialStatus  the initial status of the node state object
      * @param isTransient    flag indicating whether this state is transient or
      *                       not
+     * @param idFactory      the <code>IdFactory</code> to create new id
+     *                       instance.
      */
-    public NodeState(NodeState overlayedState, NodeState parent, int initialStatus,
-                     boolean isTransient, ItemStateFactory isf) {
+    public NodeState(NodeState overlayedState, NodeState parent,
+                     int initialStatus, boolean isTransient,
+                     ItemStateFactory isf, IdFactory idFactory) {
         super(overlayedState, initialStatus, isTransient);
         pull();
         this.parent = parent;
-        idFactory = parent.idFactory;
+        this.idFactory = idFactory;
         this.isf = isf;
     }
 

Modified: jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientChangeLog.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientChangeLog.java?rev=430321&r1=430320&r2=430321&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientChangeLog.java (original)
+++ jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientChangeLog.java Thu Aug 10 01:59:13 2006
@@ -352,7 +352,7 @@
             id = idFactory.createNodeId(uuid);
         }
         NodeState nodeState = new NodeState(id, parent, null,
-                ItemState.STATUS_NEW, true, this);
+                ItemState.STATUS_NEW, true, this, idFactory);
         // get a notification when this item state is saved or invalidated
         nodeState.addListener(this);
         added(nodeState);
@@ -383,7 +383,7 @@
         NodeId parentId = overlayedState.getParent().getNodeId();
         NodeState parentState = (NodeState) ism.getItemState(parentId);
         NodeState nodeState = new NodeState(overlayedState, parentState,
-                ItemState.STATUS_EXISTING, true, this);
+                ItemState.STATUS_EXISTING, true, this, idFactory);
         nodeState.addListener(this);
         return nodeState;
     }
@@ -397,7 +397,7 @@
         // retrieve state to overlay
         NodeState overlayedState = (NodeState) parent.getItemState(nodeId);
         NodeState nodeState = new NodeState(overlayedState, parentState,
-                ItemState.STATUS_EXISTING, true, this);
+                ItemState.STATUS_EXISTING, true, this, idFactory);
         nodeState.addListener(this);
         return nodeState;
     }

Modified: jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java?rev=430321&r1=430320&r2=430321&view=diff
==============================================================================
--- jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java (original)
+++ jackrabbit/trunk/contrib/spi/jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/WorkspaceItemStateFactory.java Thu Aug 10 01:59:13 2006
@@ -108,7 +108,8 @@
             // build the node state
             // NOTE: unable to retrieve definitionId -> needs to be retrieved
             // by the itemManager upon Node creation.
-            NodeState state = new NodeState(info.getId(), parent, ntName, ItemState.STATUS_EXISTING, false, this);
+            NodeState state = new NodeState(info.getId(), parent, ntName,
+                    ItemState.STATUS_EXISTING, false, this, service.getIdFactory());
             // set mixin nodetypes
             state.setMixinTypeNames(info.getMixins());