Author: pnedonosko
Date: 2009-11-12 11:28:45 -0500 (Thu, 12 Nov 2009)
New Revision: 614
Modified:
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoaderTest.java
Log:
EXOJCR-201: test for JDBC loader: fix of helpers
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-12
16:18:40 UTC (rev 613)
+++
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JDBCCacheLoaderTest.java 2009-11-12
16:28:45 UTC (rev 614)
@@ -18,19 +18,6 @@
*/
package org.exoplatform.services.jcr.impl.storage.jbosscache;
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.sql.DataSource;
-
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.exoplatform.services.idgenerator.impl.IDGeneratorServiceImpl;
import org.exoplatform.services.jcr.access.AccessControlList;
@@ -45,7 +32,6 @@
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
-import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
@@ -59,6 +45,19 @@
import org.jboss.cache.Fqn;
import org.jboss.cache.Modification;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+
/**
* @author <a href="mailto:reshetnyak.alex@gmail.com">Alex
Reshetnyak</a>
* @version $Id$
@@ -281,7 +280,8 @@
* @param primaryType InternalQName
* @throws Exception
*/
- private void addDbNode(WorkspaceStorageConnection conn, QPath root, String nodeId,
InternalQName primaryType) throws Exception
+ private void addDbNode(WorkspaceStorageConnection conn, QPath root, String nodeId,
InternalQName primaryType)
+ throws Exception
{
// add root (/)
conn.add(new TransientNodeData(root, nodeId, 1, primaryType, new InternalQName[0],
0, null,
@@ -292,30 +292,6 @@
}
/**
- * Create Node to the connection but doesn't save it.
- *
- * @param path QPath
- * @param nodeId String
- * @param primaryType InternalQName
- * @param mixinTypeNames InternalQName
- * @throws Exception
- */
- private List<ItemData> createNode(QPath path, String nodeId, InternalQName
primaryType,
- InternalQName[] mixinTypeNames) throws Exception
- {
- List<ItemData> list = new ArrayList<ItemData>();
-
- // add node
- list.add(new TransientNodeData(path, nodeId, 1, primaryType, (mixinTypeNames ==
null ? new InternalQName[0]
- : null), 0, null, new AccessControlList()));
-
- // add property (/jcr:primaryType)
- list.add(createProperty(path, nodeId, Constants.JCR_PRIMARYTYPE, primaryType,
false));
-
- return list;
- }
-
- /**
* Add Property to the connection but doesn't save it.
*
* @param conn WorkspaceStorageConnection
@@ -356,9 +332,9 @@
List<Object> values = new ArrayList<Object>();
if (multiValued)
{
- if (propertyValue instanceof List)
+ if (propertyValue instanceof List<?>)
{
- values.addAll((List<Object>)propertyValue);
+ values.addAll((List<?>)propertyValue);
}
else
throw new Exception("propertyValue should be a List");
@@ -413,34 +389,33 @@
{
// prepare
String nodeId = IdGenerator.generate();
- List<ItemData> list =
- createNode(QPath.makeChildPath(Constants.ROOT_PATH,
InternalQName.parse("[]node")), nodeId,
- Constants.NT_UNSTRUCTURED, null);
- List<Modification> modifications = new ArrayList<Modification>();
+ QPath nodePath = QPath.parse("[]node:1");
+ NodeData node =
+ new TransientNodeData(nodePath, nodeId, 1, Constants.NT_UNSTRUCTURED, new
InternalQName[0], 0,
+ Constants.ROOT_PARENT_UUID, new AccessControlList());
- for (ItemData itemData : list)
- if (itemData instanceof NodeData)
- modifications.addAll(addNode((NodeData)itemData));
- else
- modifications.addAll(addProperty((PropertyData)itemData));
+ PropertyData primaryType =
+ createProperty(nodePath, nodeId, Constants.JCR_PRIMARYTYPE,
Constants.NT_UNSTRUCTURED, false);
+ List<Modification> modifications = new ArrayList<Modification>();
+ modifications.addAll(addNode(node));
+ modifications.addAll(addProperty(primaryType));
+
loader.put(modifications);
// tests it
- NodeData srcNodeData = (NodeData)list.get(0);
-
WorkspaceStorageConnection conn = persistentContainer.openConnection();
NodeData destNodeData = (NodeData)conn.getItemData(nodeId);
assertNotNull(destNodeData);
- assertEquals(srcNodeData.getIdentifier(), destNodeData.getIdentifier());
- assertEquals(srcNodeData.getOrderNumber(), destNodeData.getOrderNumber());
- assertEquals(srcNodeData.getParentIdentifier(),
destNodeData.getParentIdentifier());
- assertEquals(srcNodeData.getPersistedVersion(),
destNodeData.getPersistedVersion());
- assertEquals(srcNodeData.getQPath().getAsString(),
destNodeData.getQPath().getAsString());
- assertEquals(srcNodeData.getPrimaryTypeName().getAsString(),
destNodeData.getPrimaryTypeName().getAsString());
+ assertEquals(node.getIdentifier(), destNodeData.getIdentifier());
+ assertEquals(node.getOrderNumber(), destNodeData.getOrderNumber());
+ assertEquals(node.getParentIdentifier(), destNodeData.getParentIdentifier());
+ assertEquals(node.getPersistedVersion(), destNodeData.getPersistedVersion());
+ assertEquals(node.getQPath().getAsString(),
destNodeData.getQPath().getAsString());
+ assertEquals(node.getPrimaryTypeName().getAsString(),
destNodeData.getPrimaryTypeName().getAsString());
}
public void testAddProperty() throws Exception