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 2005/01/07 18:10:16 UTC
svn commit: r124540 - /incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java /incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java
Author: tripod
Date: Fri Jan 7 09:10:15 2005
New Revision: 124540
URL: http://svn.apache.org/viewcvs?view=rev&rev=124540
Log:
- fixing some versioning persistence problems
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java?view=diff&rev=124540&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java&r1=124539&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java&r2=124540
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/InternalFrozenNodeImpl.java Fri Jan 7 09:10:15 2005
@@ -18,11 +18,11 @@
import org.apache.jackrabbit.core.version.*;
import org.apache.jackrabbit.core.*;
-import org.apache.jackrabbit.core.util.uuid.UUID;
import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
import org.apache.jackrabbit.core.nodetype.NodeTypeImpl;
import org.apache.jackrabbit.core.state.NodeState;
import org.apache.jackrabbit.core.state.PropertyState;
+import org.apache.jackrabbit.core.state.ItemStateException;
import javax.jcr.RepositoryException;
import javax.jcr.PropertyType;
@@ -85,7 +85,12 @@
this.id = id;
// init the frozen properties
- PropertyState[] props = node.getProperties();
+ PropertyState[] props = new org.apache.jackrabbit.core.state.PropertyState[0];
+ try {
+ props = node.getProperties();
+ } catch (ItemStateException e) {
+ throw new RepositoryException(e);
+ }
List propList = new ArrayList();
for (int i = 0; i < props.length; i++) {
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java?view=diff&rev=124540&p1=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java&r1=124539&p2=incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java&r2=124540
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/version/persistence/PersistentNode.java Fri Jan 7 09:10:15 2005
@@ -113,19 +113,15 @@
*
* @return
*/
- protected PropertyState[] getProperties() {
- try {
- List list = nodeState.getPropertyEntries();
- PropertyState[] props = new PropertyState[list.size()];
- for (int i = 0; i < list.size(); i++) {
- NodeState.PropertyEntry entry = (NodeState.PropertyEntry) list.get(i);
- PropertyId propId = new PropertyId(nodeState.getUUID(), entry.getName());
- props[i] = (PropertyState) stateMgr.getItemState(propId);
- }
- return props;
- } catch (ItemStateException e) {
- return null;
+ protected PropertyState[] getProperties() throws ItemStateException {
+ List list = nodeState.getPropertyEntries();
+ PropertyState[] props = new PropertyState[list.size()];
+ for (int i = 0; i < list.size(); i++) {
+ NodeState.PropertyEntry entry = (NodeState.PropertyEntry) list.get(i);
+ PropertyId propId = new PropertyId(nodeState.getUUID(), entry.getName());
+ props[i] = (PropertyState) stateMgr.getItemState(propId);
}
+ return props;
}
/**
@@ -227,7 +223,9 @@
try {
PersistentPropertyState propState = (PersistentPropertyState) stateMgr.getItemState(propId);
// someone calling this method will always alter the property state, so set status to modified
- propState.setStatus(ItemState.STATUS_EXISTING_MODIFIED);
+ if (propState.getStatus()==ItemState.STATUS_EXISTING) {
+ propState.setStatus(ItemState.STATUS_EXISTING_MODIFIED);
+ }
// although this is not quite correct, we mark node as modified aswell
if (nodeState.getStatus()==ItemState.STATUS_EXISTING) {
nodeState.setStatus(ItemState.STATUS_EXISTING_MODIFIED);