[exo-jcr-commits] exo-jcr SVN: r1189 - in jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Dec 25 10:15:43 EST 2009
Author: pnedonosko
Date: 2009-12-25 10:15:43 -0500 (Fri, 25 Dec 2009)
New Revision: 1189
Added:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java
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/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/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 copy ValueData on copy operations (merge from JBCCACHE)
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -33,6 +33,7 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
import org.exoplatform.services.jcr.impl.core.value.BaseValue;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
@@ -58,7 +59,7 @@
* @version $Id: FrozenNodeInitializer.java 11907 2008-03-13 15:36:21Z ksm $
*/
-public class FrozenNodeInitializer extends ItemDataTraversingVisitor
+public class FrozenNodeInitializer extends AbstractItemDataCopyVisitor
{
private static Log log = ExoLogger.getLogger("jcr.FrozenNodeInitializer");
@@ -101,11 +102,7 @@
PropertyData frozenProperty = null;
InternalQName qname = property.getQPath().getName();
- List<ValueData> values = new ArrayList<ValueData>();
- for (ValueData valueData : property.getValues())
- {
- values.add(valueData);
- }
+ List<ValueData> values = copyValues(property);
boolean mv = property.isMultiValued();
@@ -353,4 +350,4 @@
return dataManager;
}
-}
+}
\ No newline at end of file
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -20,7 +20,6 @@
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
import org.exoplatform.services.jcr.dataflow.DataManager;
-import org.exoplatform.services.jcr.dataflow.ItemDataTraversingVisitor;
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.NodeData;
@@ -31,6 +30,7 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
@@ -53,12 +53,10 @@
* Created by The eXo Platform SAS 06.02.2007 Traverse through merging nodes
* (destenation) and do merge to correspondent version states.
*
- * @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter
- * Nedonosko</a>
- * @version $Id: ItemDataMergeVisitor.java 14100 2008-05-12 10:53:47Z gazarenkov
- * $
+ * @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter Nedonosko</a>
+ * @version $Id: ItemDataMergeVisitor.java 14100 2008-05-12 10:53:47Z gazarenkov $
*/
-public class ItemDataMergeVisitor extends ItemDataTraversingVisitor
+public class ItemDataMergeVisitor extends AbstractItemDataCopyVisitor
{
protected static int NONE = -1;
@@ -385,8 +383,7 @@
}
}
- changes.add(new ItemState(mergedNode, ItemState.UPDATED, true, mergeNode.getQPath(), true));// XXX
- // UPDATE
+ changes.add(new ItemState(mergedNode, ItemState.UPDATED, true, mergeNode.getQPath(), true));
// replace set of properties of n with those of n'.
DataManager corrDataManager = corrSession.getTransientNodesManager().getTransactManager();
@@ -398,7 +395,7 @@
{
TransientPropertyData existed =
new TransientPropertyData(cp.getQPath(), cp.getIdentifier(), cp.getPersistedVersion(), cp.getType(), cp
- .getParentIdentifier(), cp.isMultiValued(), cp.getValues());
+ .getParentIdentifier(), cp.isMultiValued(), copyValues(cp));
changes.add(new ItemState(existed, ItemState.DELETED, true, mergedNode.getQPath(), true));
existedProps.put(existed.getQPath().getName(), existed);
@@ -410,7 +407,7 @@
TransientPropertyData mcp =
new TransientPropertyData(QPath.makeChildPath(mergePath, cp.getQPath().getName()), existed != null
? existed.getIdentifier() : cp.getIdentifier(), existed != null ? existed.getPersistedVersion() : cp
- .getPersistedVersion(), cp.getType(), mergedNode.getIdentifier(), cp.isMultiValued(), cp.getValues());
+ .getPersistedVersion(), cp.getType(), mergedNode.getIdentifier(), cp.isMultiValued(), copyValues(cp));
changes.add(new ItemState(mcp, ItemState.ADDED, true, mergedNode.getQPath(), true));
}
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -19,7 +19,6 @@
package org.exoplatform.services.jcr.impl.core.version;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
-import org.exoplatform.services.jcr.dataflow.ItemDataTraversingVisitor;
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.InternalQName;
@@ -31,6 +30,7 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataCopyVisitor;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
@@ -53,14 +53,14 @@
import javax.jcr.version.OnParentVersionAction;
/**
- * Created by The eXo Platform SAS 14.12.2006
+ * Created by The eXo Platform SAS.
*
- * @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter
- * Nedonosko</a>
- * @version $Id: ItemDataRestoreVisitor.java 14100 2008-05-12 10:53:47Z
- * gazarenkov $
+ * 14.12.2006
+ *
+ * @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter Nedonosko</a>
+ * @version $Id: ItemDataRestoreVisitor.java 14100 2008-05-12 10:53:47Z gazarenkov $
*/
-public class ItemDataRestoreVisitor extends ItemDataTraversingVisitor
+public class ItemDataRestoreVisitor extends AbstractItemDataCopyVisitor
{
private final Log log = ExoLogger.getLogger("jcr.ItemDataRestoreVisitor");
@@ -660,16 +660,14 @@
{
tagetProperty =
TransientPropertyData.createPropertyData(currentNode(), qname, property.getType(), property
- .isMultiValued(), property.getValues());
+ .isMultiValued(), copyValues(property));
}
changes.add(ItemState.createAddedState(tagetProperty));
-
- // else - nothing to do, i.e. left unchanged
-
}
else if (log.isDebugEnabled())
{
+ // else - nothing to do, i.e. left unchanged
log.debug("Visit property " + property.getQPath().getAsString() + " HAS "
+ OnParentVersionAction.nameFromValue(action) + " action");
}
Copied: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java (from rev 1186, jcr/branches/1.12.0-JBCCACHE/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 (rev 0)
+++ 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:15:43 UTC (rev 1189)
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.jcr.impl.dataflow;
+
+import org.exoplatform.services.jcr.dataflow.ItemDataConsumer;
+import org.exoplatform.services.jcr.dataflow.ItemDataTraversingVisitor;
+import org.exoplatform.services.jcr.datamodel.PropertyData;
+import org.exoplatform.services.jcr.datamodel.ValueData;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter Nedonosko</a>
+ * @version $Id$
+ */
+public abstract class AbstractItemDataCopyVisitor extends ItemDataTraversingVisitor
+{
+
+ public AbstractItemDataCopyVisitor(ItemDataConsumer dataManager, int maxLevel)
+ {
+ super(dataManager, maxLevel);
+ }
+
+ public AbstractItemDataCopyVisitor(ItemDataConsumer dataManager)
+ {
+ super(dataManager);
+ }
+
+ /**
+ * Do actual copy of the property ValueDatas.
+ *
+ * @param property PropertyData
+ * @return List of ValueData
+ * @throws RepositoryException if I/O error occurs
+ */
+ protected List<ValueData> copyValues(PropertyData property) throws RepositoryException
+ {
+ List<ValueData> src = property.getValues();
+ List<ValueData> copy = new ArrayList<ValueData>(src.size());
+ try
+ {
+ for (ValueData vd : src)
+ {
+ // TODO fix according OPT branch code
+ if (vd.isByteArray())
+ {
+ copy.add(new TransientValueData(vd.getAsByteArray(), vd.getOrderNumber()));
+ }
+ else
+ {
+ copy.add(new TransientValueData(vd.getAsStream(), vd.getOrderNumber()));
+ }
+ }
+ }
+ catch (IOException e)
+ {
+ throw new RepositoryException("Error of Value copy " + property.getQPath().getAsString(), e);
+ }
+
+ return copy;
+ }
+
+}
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -19,7 +19,6 @@
package org.exoplatform.services.jcr.impl.dataflow;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
-import org.exoplatform.services.jcr.dataflow.ItemDataTraversingVisitor;
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.NodeData;
@@ -28,8 +27,12 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
+import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import org.exoplatform.services.jcr.util.IdGenerator;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
@@ -42,10 +45,10 @@
* list of <code>List<ItemState></code> for copying new nodes and their properties.
*
* @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter Nedonosko</a>
- * @version $Id: DefaultItemDataCopyVisitor.java 12306 2008-03-24 10:25:55Z ksm $
+ * @version $Id$
*/
-public abstract class DefaultItemDataCopyVisitor extends ItemDataTraversingVisitor
+public abstract class DefaultItemDataCopyVisitor extends AbstractItemDataCopyVisitor
{
/**
@@ -119,13 +122,12 @@
.getMixinTypeNames())
&& qname.equals(Constants.JCR_UUID))
{
-
values = new ArrayList<ValueData>(1);
values.add(new TransientValueData(curParent().getIdentifier()));
}
else
{
- values = property.getValues();
+ values = copyValues(property);
}
TransientPropertyData newProperty =
@@ -149,17 +151,18 @@
}
NodeData parent = curParent();
QPath qpath = calculateNewNodePath(node, level);
- // [PN] 05.01.07 Calc order number if parent supports orderable nodes...
+ // Calc order number if parent supports orderable nodes...
// If ordering is supported by the node type of the parent node of the new
- // location, then the
- // newly moved node is appended to the end of the child node list.
+ // location, then the newly moved node is appended to the end of the child node list.
int orderNum = 0;
if (ntManager.isOrderableChildNodesSupported(parent.getPrimaryTypeName(), parent.getMixinTypeNames()))
{
orderNum = calculateNewNodeOrderNumber();
}
else
+ {
orderNum = node.getOrderNumber(); // has no matter
+ }
String id = keepIdentifiers ? node.getIdentifier() : IdGenerator.generate();
Property changes on: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java
___________________________________________________________________
Name: svn:keywords
+ Id
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -44,7 +44,7 @@
* <b>ItemDeletedExistingStates</b> list for remove existing nodes if <code>removeExisting</code> is
* true.
*
- * @version $Id: ItemDataCloneVisitor.java 12306 2008-03-24 10:25:55Z ksm $
+ * @version $Id$
*/
public class ItemDataCloneVisitor extends DefaultItemDataCopyVisitor
{
Property changes on: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCloneVisitor.java
___________________________________________________________________
Name: svn:keywords
+ Id
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -123,21 +123,17 @@
}
else if (qname.equals(Constants.JCR_UUID))
{
- values.add(new TransientValueData(curParent().getIdentifier())); // uuid
- // of
- // the
- // parent
+ values.add(new TransientValueData(curParent().getIdentifier())); // uuid of the parent
}
else
{
- values = property.getValues(); // copy the property
+ values = copyValues(property); // copy the property
}
}
else if (ntManager.isNodeType(Constants.MIX_REFERENCEABLE, curParent().getPrimaryTypeName(), curParent()
.getMixinTypeNames())
&& qname.equals(Constants.JCR_UUID))
{
-
values = new ArrayList<ValueData>(1);
values.add(new TransientValueData(curParent().getIdentifier()));
}
@@ -152,7 +148,7 @@
{
return;
}
- values = property.getValues();
+ values = copyValues(property);
}
TransientPropertyData newProperty =
Property changes on: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataCopyVisitor.java
___________________________________________________________________
Name: svn:keywords
+ Id
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -43,7 +43,7 @@
* list of <code>List<ItemState></code> for copying new nodes and their properties and
* <b>itemDeletedStates</b> for deleting existing nodes and properties.
*
- * @version $Id: ItemDataMoveVisitor.java 11907 2008-03-13 15:36:21Z ksm $
+ * @version $Id$
*/
public class ItemDataMoveVisitor extends ItemDataTraversingVisitor
{
@@ -230,6 +230,7 @@
}
else
{
+ // we don't copy ValueDatas here as it's move (i.e. VS files will not be relocated)
values = property.getValues();
}
Property changes on: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataMoveVisitor.java
___________________________________________________________________
Name: svn:keywords
+ Id
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:03:26 UTC (rev 1188)
+++ 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:15:43 UTC (rev 1189)
@@ -46,7 +46,7 @@
* Created by The eXo Platform SAS 15.12.2006
*
* @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter Nedonosko</a>
- * @version $Id: ItemDataRemoveVisitor.java 14100 2008-05-12 10:53:47Z gazarenkov $
+ * @version $Id$
*/
public class ItemDataRemoveVisitor extends ItemDataTraversingVisitor
{
Property changes on: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/ItemDataRemoveVisitor.java
___________________________________________________________________
Name: svn:keywords
+ Id
More information about the exo-jcr-commits
mailing list