You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/09/14 10:58:33 UTC
svn commit: r1170480 - in
/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi:
NodeImpl.java hierarchy/NodeEntryImpl.java state/NodeState.java
util/StateUtility.java
Author: mduerig
Date: Wed Sep 14 08:58:32 2011
New Revision: 1170480
URL: http://svn.apache.org/viewvc?rev=1170480&view=rev
Log:
Microkernel based Jackrabbit prototype (WIP)
refactor: eliminate StateUtility (WIP)
Modified:
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/StateUtility.java
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java?rev=1170480&r1=1170479&r2=1170480&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NodeImpl.java Wed Sep 14 08:58:32 2011
@@ -710,13 +710,13 @@ public class NodeImpl extends ItemImpl i
} else {
try {
PropertyEntry pe = getNodeEntry().getPropertyEntry(NameConstants.JCR_MIXINTYPES);
- if (pe != null) {
+ if (pe == null) {
+ // prop entry has not been loaded yet -> not modified
+ mixinValue = getNodeState().getMixinTypeNames();
+ } else {
// prop entry exists (and ev. has been transiently mod.)
// -> retrieve mixin types from prop
mixinValue = StateUtility.getMixinNames(pe.getPropertyState());
- } else {
- // prop entry has not been loaded yet -> not modified
- mixinValue = getNodeState().getMixinTypeNames();
}
} catch (RepositoryException e) {
// should never occur
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java?rev=1170480&r1=1170479&r2=1170480&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java Wed Sep 14 08:58:32 2011
@@ -900,7 +900,7 @@ public class NodeEntryImpl extends Hiera
child.invalidate(false);
// special cases: jcr:uuid and jcr:mixinTypes affect the
// parent (i.e. this NodeEntry)
- if (StateUtility.isUuidOrMixin(eventName)) {
+ if (isUuidOrMixin(eventName)) {
notifyUUIDorMIXINModified((PropertyEntry) child);
}
}
@@ -965,6 +965,10 @@ public class NodeEntryImpl extends Hiera
//-----------------------------------------------< private || protected >---
+ private static boolean isUuidOrMixin(Name propName) {
+ return NameConstants.JCR_UUID.equals(propName) || NameConstants.JCR_MIXINTYPES.equals(propName);
+ }
+
/**
* @param nodeName
* @param uniqueID
@@ -991,7 +995,7 @@ public class NodeEntryImpl extends Hiera
// if property-name is jcr:uuid or jcr:mixin this affects this entry
// and the attached nodeState.
- if (notifySpecial && StateUtility.isUuidOrMixin(propName)) {
+ if (notifySpecial && isUuidOrMixin(propName)) {
notifyUUIDorMIXINModified(entry);
}
return entry;
@@ -1016,7 +1020,7 @@ public class NodeEntryImpl extends Hiera
} // else: no such prop-entry. should not get here
// special properties
- if (StateUtility.isUuidOrMixin(propName)) {
+ if (isUuidOrMixin(propName)) {
notifyUUIDorMIXINRemoved(propName);
}
}
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java?rev=1170480&r1=1170479&r2=1170480&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/NodeState.java Wed Sep 14 08:58:32 2011
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.jcr2spi.st
import org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry;
import org.apache.jackrabbit.jcr2spi.hierarchy.PropertyEntry;
import org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProvider;
-import org.apache.jackrabbit.jcr2spi.util.StateUtility;
import org.apache.jackrabbit.spi.ItemId;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.NodeId;
@@ -149,7 +148,7 @@ public class NodeState extends ItemState
@Override
public boolean revert() {
// TODO: ev. reset the 'markModified' flag
- if (StateUtility.isMovedState(this)) {
+ if (isMoved()) {
try {
QNodeDefinition def = retrieveDefinition();
if (!def.equals(definition)) {
@@ -385,6 +384,8 @@ public class NodeState extends ItemState
}
}
+ //------------------------------------------< package private >---
+
/**
* Reorders the child node {@code insertNode} before the child node
* {@code beforeNode}.
@@ -431,6 +432,12 @@ public class NodeState extends ItemState
childState.markModified();
}
+ //------------------------------------------< private >---
+
+ private boolean isMoved() {
+ return !isRoot() && getNodeEntry().isTransientlyMoved();
+ }
+
private QNodeDefinition retrieveDefinition() throws RepositoryException {
QNodeDefinition def;
if (isRoot()) {
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/StateUtility.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/StateUtility.java?rev=1170480&r1=1170479&r2=1170480&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/StateUtility.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/StateUtility.java Wed Sep 14 08:58:32 2011
@@ -16,8 +16,6 @@
*/
package org.apache.jackrabbit.jcr2spi.util;
-import org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry;
-import org.apache.jackrabbit.jcr2spi.state.NodeState;
import org.apache.jackrabbit.jcr2spi.state.PropertyState;
import org.apache.jackrabbit.jcr2spi.state.Status;
import org.apache.jackrabbit.spi.Name;
@@ -63,17 +61,4 @@ public final class StateUtility {
}
}
- public static boolean isUuidOrMixin(Name propName) {
- return NameConstants.JCR_UUID.equals(propName) || NameConstants.JCR_MIXINTYPES.equals(propName);
- }
-
- public static boolean isMovedState(NodeState state) {
- if (state.isRoot()) {
- // the root state cannot be moved
- return false;
- } else {
- NodeEntry ne = state.getNodeEntry();
- return ne.isTransientlyMoved();
- }
- }
}
\ No newline at end of file