Author: pnedonosko
Date: 2009-12-25 10:45:38 -0500 (Fri, 25 Dec 2009)
New Revision: 1192
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataCopyIgnoredVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCloneVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCopyVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataMoveVisitor.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataRemoveVisitor.java
Log:
EXOJCR-347 visitors code cleanup and format
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -92,12 +92,14 @@
protected void entering(PropertyData property, int level) throws RepositoryException
{
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Entering property " + property.getQPath().getAsString());
-
- if (currentNode() == null)
+ }
+
+ if (currentNode() == null) {
// skip if no parent - parent is COMPUTE, INITIALIZE
return;
+ }
PropertyData frozenProperty = null;
InternalQName qname = property.getQPath().getName();
@@ -196,13 +198,13 @@
else
throw new RepositoryException("Unknown OnParentVersion value " +
action);
}
+
changesLog.add(ItemState.createAddedState(frozenProperty));
}
@Override
protected void entering(NodeData node, int level) throws RepositoryException
{
-
// this node is not taken in account
if (level == 0)
{
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataCopyIgnoredVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataCopyIgnoredVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataCopyIgnoredVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -63,8 +63,10 @@
if (level == 1
&& (property.getQPath().getName().equals(Constants.JCR_BASEVERSION) ||
property.getQPath().getName().equals(
Constants.JCR_ISCHECKEDOUT)))
+ {
// skip versionable specific props
return;
+ }
if (curParent() == null)
{
@@ -99,7 +101,9 @@
{
// copy as IGNOREd parent child, i.e. OnParentVersionAction is any
if (log.isDebugEnabled())
+ {
log.debug("A property " + property.getQPath().getAsString() +
" is IGNOREd node descendant");
+ }
super.entering(property, level);
}
}
@@ -148,17 +152,23 @@
{
// copy as IGNOREd parent child, i.e. OnParentVersionAction is any
if (log.isDebugEnabled())
+ {
log.debug("A node " + node.getQPath().getAsString() + " is
IGNOREd node descendant");
+ }
+
super.entering(node, level);
return;
}
}
+
parents.push(null); // skip this node as we hasn't parent in restore result
}
protected void leaving(NodeData node, int level) throws RepositoryException
{
if (parents.size() > 0)
+ {
parents.pop();
+ }
}
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataMergeVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -106,7 +106,6 @@
protected class RemoveVisitor extends ItemDataRemoveVisitor
{
-
RemoveVisitor() throws RepositoryException
{
super(mergeSession.getTransientNodesManager(), null,
mergeSession.getWorkspace().getNodeTypesHolder(),
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -77,8 +77,6 @@
protected NodeData restored;
- // protected final NodeTypeDataManager ntManager;
-
protected final SessionImpl userSession;
protected final SessionChangesLog changes;
@@ -125,9 +123,8 @@
{
RemoveVisitor() throws RepositoryException
{
- super(userSession.getTransientNodesManager(), null,
- // userSession.getWorkspace().getNodeTypeManager(),
- nodeTypeDataManager, userSession.getAccessManager(),
userSession.getUserState());
+ super(userSession.getTransientNodesManager(), null, nodeTypeDataManager,
userSession.getAccessManager(),
+ userSession.getUserState());
}
protected void validateReferential(NodeData node) throws RepositoryException
@@ -171,22 +168,28 @@
private ItemData findDelegated(String identifier)
{
if (delegatedChanges != null)
+ {
for (ItemState state : delegatedChanges.getAllStates())
{
if (state.getData().getIdentifier().equals(identifier))
return state.getData();
}
+ }
+
return null;
}
private ItemData findDelegated(QPath path)
{
if (delegatedChanges != null)
+ {
for (ItemState state : delegatedChanges.getAllStates())
{
if (state.getData().getQPath().equals(path))
return state.getData();
}
+ }
+
return null;
}
@@ -379,19 +382,23 @@
if (frozen == null)
{
- if (log.isDebugEnabled())
- log.debug("Visit node " + frozen.getQPath().getAsString() + ",
HAS NULL FROZEN NODE");
return;
}
+ if (log.isDebugEnabled())
+ {
+ log.debug("Visit node " + frozen.getQPath().getAsString() + ",
HAS NULL FROZEN NODE");
+ }
+
InternalQName qname = frozen.getQPath().getName();
if (qname.equals(Constants.JCR_FROZENNODE) && level == 0)
{
-
// child props/nodes will be restored
if (log.isDebugEnabled())
+ {
log.debug("jcr:frozenNode " + frozen.getQPath().getAsString());
+ }
// init destenation node
initRestoreRoot(currentNode(), destName, frozen);
@@ -405,7 +412,9 @@
QPath cvhpPropPath = QPath.makeChildPath(frozen.getQPath(),
Constants.JCR_CHILDVERSIONHISTORY);
if (log.isDebugEnabled())
+ {
log.debug("Versioned child node " + cvhpPropPath.getAsString());
+ }
VersionHistoryDataHelper childHistory = null;
try
@@ -490,8 +499,10 @@
currentNode().getMixinTypeNames()).getOnParentVersion();
if (log.isDebugEnabled())
+ {
log.debug("Stored node " + frozen.getQPath().getAsString() +
", "
+ OnParentVersionAction.nameFromValue(action));
+ }
if (action == OnParentVersionAction.COPY || action ==
OnParentVersionAction.VERSION)
{
@@ -606,10 +617,8 @@
{
// TODO what to do if REFERENCE property target doesn't exists in workspace
-
if (currentNode() != null)
{
-
NodeData frozenParent =
(NodeData)dataManager.getItemData(property.getParentIdentifier());
InternalQName qname = property.getQPath().getName();
@@ -682,14 +691,15 @@
@Override
protected void leaving(NodeData frozen, int level) throws RepositoryException
{
-
InternalQName qname = frozen.getQPath().getName();
if (qname.equals(Constants.JCR_FROZENNODE) && level == 0)
{
if (log.isDebugEnabled())
+ {
log.debug("leaving jcr:frozenNode " +
frozen.getQPath().getAsString());
+ }
// post init of a restored node
@@ -719,7 +729,9 @@
}
if (parents.size() <= 0)
+ {
log.error("Empty parents stack");
+ }
parents.pop();
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -63,7 +63,6 @@
{
for (ValueData vd : src)
{
- // TODO fix according OPT branch code
if (vd.isByteArray())
{
copy.add(new TransientValueData(vd.getOrderNumber(),
vd.getAsByteArray()));
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -149,6 +149,7 @@
{
ancestorToSave = curParent().getQPath();
}
+
NodeData parent = curParent();
QPath qpath = calculateNewNodePath(node, level);
// Calc order number if parent supports orderable nodes...
@@ -256,7 +257,7 @@
if (level == 0)
{
qname = destNodeName;
- // [PN] 12.01.07 Calculate SNS index for dest root
+ // Calculate SNS index for dest root
for (NodeData child : existedChilds)
{
if (child.getQPath().getName().equals(qname))
@@ -278,8 +279,10 @@
NodeData parent = curParent();
List<NodeData> existedChilds = dataManager.getChildNodesData(parent);
int orderNum = 0;
- if (existedChilds.size() > 0)
+ if (existedChilds.size() > 0) {
orderNum = existedChilds.get(existedChilds.size() - 1).getOrderNumber() + 1;
+ }
+
return orderNum;
}
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCloneVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCloneVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCloneVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -104,8 +104,8 @@
{
Collections.reverse(itemDeletedExistingStates);
}
+
return itemDeletedExistingStates;
-
}
@Override
@@ -114,8 +114,10 @@
NodeData parent = curParent();
List<NodeData> existedChilds = getMargedChildNodesData(parent);
int orderNum = 0;
- if (existedChilds.size() > 0)
+ if (existedChilds.size() > 0) {
orderNum = existedChilds.get(existedChilds.size() - 1).getOrderNumber() + 1;
+ }
+
return orderNum;
}
@@ -131,7 +133,7 @@
if (level == 0)
{
qname = destNodeName;
- // [PN] 12.01.07 Calculate SNS index for dest root
+ // Calculate SNS index for dest root
for (NodeData child : existedChilds)
{
if (child.getQPath().getName().equals(qname))
@@ -145,6 +147,7 @@
qname = node.getQPath().getName();
newIndex = node.getQPath().getIndex();
}
+
return QPath.makeChildPath(parent.getQPath(), qname, newIndex);
}
@@ -155,6 +158,7 @@
boolean isMixReferenceable =
ntManager.isNodeType(Constants.MIX_REFERENCEABLE, node.getPrimaryTypeName(),
node.getMixinTypeNames());
deletedExistingPropery = false;
+
if (isMixReferenceable)
{
String identifier = node.getIdentifier();
@@ -222,6 +226,7 @@
}
}
}
+
super.entering(property, level);
};
@@ -245,6 +250,7 @@
break;
}
}
+
return retval;
}
@@ -253,12 +259,14 @@
if (itemInItemStateList(itemDeletedExistingStates, item.getIdentifier(),
ItemState.DELETED))
return true;
ItemState changesItemState = null;
+
if (changes != null)
{
changesItemState = changes.getItemState(item.getIdentifier());
if (changesItemState != null && changesItemState.isDeleted())
return true;
}
+
return false;
}
@@ -271,6 +279,7 @@
if (!isItemDeleted(nodeData))
result.add(nodeData);
}
+
return result;
}
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCopyVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCopyVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCopyVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -52,10 +52,6 @@
@Override
protected void entering(PropertyData property, int level) throws RepositoryException
{
-
- if (log.isDebugEnabled())
- log.debug("entering " + property.getQPath().getAsString());
-
// don't using super
InternalQName qname = property.getQPath().getName();
@@ -139,7 +135,6 @@
}
else
{
- //
http://jira.exoplatform.org/browse/JCR-294
if (qname.equals(Constants.JCR_LOCKISDEEP))
{
return;
@@ -156,9 +151,10 @@
.getIdentifier() : IdGenerator.generate(), -1, property.getType(),
curParent().getIdentifier(), property
.isMultiValued(), values);
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("entering COPY " + newProperty.getQPath().getAsString() +
"; pidentifier: "
+ newProperty.getParentIdentifier() + "; identifier: " +
newProperty.getIdentifier());
+ }
itemAddStates.add(new ItemState(newProperty, ItemState.ADDED, true, ancestorToSave,
level != 0));
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataMoveVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataMoveVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataMoveVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -224,7 +224,6 @@
.getMixinTypeNames())
&& qname.equals(Constants.JCR_UUID))
{
-
values = new ArrayList<ValueData>(1);
values.add(new TransientValueData(curParent().getIdentifier()));
}
@@ -241,9 +240,6 @@
addStates.add(new ItemState(newProperty, ItemState.RENAMED, false, ancestorToSave,
false, false));
- // get last from super.entering(property, level)
- // ItemState copy = itemAddStates.get(itemAddStates.size() - 1);
-
deleteStates.add(new ItemState(property, ItemState.DELETED, false, ancestorToSave,
false, false));
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataRemoveVisitor.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataRemoveVisitor.java 2009-12-25
15:40:26 UTC (rev 1191)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataRemoveVisitor.java 2009-12-25
15:45:38 UTC (rev 1192)
@@ -135,7 +135,9 @@
// 2. check ReferentialIntegrityException - REFERENCE property target
if (nodeTypeManager.isNodeType(Constants.MIX_REFERENCEABLE,
node.getPrimaryTypeName(), node.getMixinTypeNames()))
+ {
validateReferential(node);
+ }
// 3. check ConstraintViolationException - NodeDefinition for
// mandatory/protected flags
@@ -222,7 +224,9 @@
protected void entering(PropertyData property, int level) throws RepositoryException
{
if (log.isDebugEnabled())
+ {
log.debug("Entering property " + property.getQPath().getAsString());
+ }
if (validate)
{
@@ -234,17 +238,23 @@
.getQPath());
if (!itemRemovedStates.contains(state))
+ {
itemRemovedStates.add(state);
+ }
else if (log.isDebugEnabled())
+ {
// REFERENCE props usecase, see validateReferential(NodeData)
log.debug("A property " + property.getQPath().getAsString() + "
is already listed for remove");
+ }
}
@Override
protected void entering(NodeData node, int level) throws RepositoryException
{
if (log.isDebugEnabled())
+ {
log.debug("Entering node " + node.getQPath().getAsString());
+ }
// this node is not taken in account
if (level == 0)
@@ -260,6 +270,7 @@
{
node = (NodeData)copyItemDataDelete(node);
}
+
ItemState state =
new ItemState(node, ItemState.DELETED, true, ancestorToSave != null ?
ancestorToSave : removedRoot.getQPath());
itemRemovedStates.add(state);
@@ -282,6 +293,7 @@
Collections.reverse(itemRemovedStates);
reversedItemRemovedStates = itemRemovedStates;
}
+
return reversedItemRemovedStates;
}
@@ -298,12 +310,13 @@
{
if (item == null)
+ {
return null;
+ }
// make a copy
if (item.isNode())
{
-
final NodeData node = (NodeData)item;
// the node ACL can't be are null as ACL manager does care about this
@@ -313,6 +326,7 @@
throw new RepositoryException("Node ACL is null. " +
node.getQPath().getAsString() + " "
+ node.getIdentifier());
}
+
return new TransientNodeData(node.getQPath(), node.getIdentifier(),
node.getPersistedVersion(), node
.getPrimaryTypeName(), node.getMixinTypeNames(), node.getOrderNumber(),
node.getParentIdentifier(), acl);
}