Author: areshetnyak
Date: 2009-11-13 06:43:48 -0500 (Fri, 13 Nov 2009)
New Revision: 635
Modified:
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractCacheLoaderTest.java
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoaderTest.java
Log:
EXOJCR-201 : The JDBCCacheLoaderTest and AbstractCacheLoaderTest was changed.
Modified:
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractCacheLoaderTest.java
===================================================================
---
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractCacheLoaderTest.java 2009-11-13
11:16:31 UTC (rev 634)
+++
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/AbstractCacheLoaderTest.java 2009-11-13
11:43:48 UTC (rev 635)
@@ -24,11 +24,16 @@
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.jboss.cache.Fqn;
import org.jboss.cache.Modification;
+import org.jboss.cache.Node;
import org.jboss.cache.Modification.ModificationType;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
+import javax.jcr.InvalidItemStateException;
+import javax.jcr.RepositoryException;
+
/**
* This abstract class contains only methods for creating a fake {@link Modification}
instances. It doesn't use real cache.
*
@@ -157,7 +162,33 @@
list.add(modification);
return list;
}
+
+ /**
+ * Returns {@link Modification} like as node update.
+ *
+ * PUT_KEY_VALUE /$NODES/ParentNodeId/ChildNodeName.Item_Id
+ * PUT_KEY_VALUE /$NODES/NodeId.Item_data
+ *
+ * @param data
+ * @return
+ */
+ public List<Modification> updateNode(NodeData data) {
+ List<Modification> list = new ArrayList<Modification>();
+ Fqn fqn = Fqn.fromElements(JBossCacheStorage.NODES, data.getParentIdentifier(),
data.getQPath().getEntries()[data.getQPath().getEntries().length - 1].getAsString(true));
+
+ Modification modification =
+ new Modification(ModificationType.PUT_KEY_VALUE, fqn, JBossCacheStorage.ITEM_ID,
data.getIdentifier());
+ list.add(modification);
+
+ fqn = Fqn.fromElements(JBossCacheStorage.NODES, data.getIdentifier());
+ modification = new Modification(ModificationType.PUT_KEY_VALUE, fqn,
JBossCacheStorage.ITEM_DATA, data);
+ modification.setOldValue(data);
+ list.add(modification);
+
+ return list;
+ }
+
/**
* Returns {@link Modification} like as property removed. But it is thought, that list
is already modified by JDBC loader,
* so {@link Modification} instance contains additional data: Key=ITEM_DATA,
value=PropertyData - data of already removed
Modified:
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoaderTest.java
===================================================================
---
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoaderTest.java 2009-11-13
11:16:31 UTC (rev 634)
+++
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoaderTest.java 2009-11-13
11:43:48 UTC (rev 635)
@@ -538,11 +538,17 @@
List<Modification> modifications = new ArrayList<Modification>();
-// modifications.addAll(updateNode(nodeData));
+ modifications.addAll(updateNode(nodeData));
+
+ loader.put(modifications);
// tests it
+ conn = persistentContainer.openConnection();
-
+ NodeData destNodeData = (NodeData) conn.getItemData(nodeId);
+
+ assertNotNull(destNodeData);
+ assertEquals(2, destNodeData.getOrderNumber());
}
public void testUpdateProperty() throws Exception