[jboss-svn-commits] JBL Code SVN: r35609 - labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/test/java/org/drools/repository.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 20 18:08:08 EDT 2010
Author: kurt.stam at jboss.com
Date: 2010-10-20 18:08:08 -0400 (Wed, 20 Oct 2010)
New Revision: 35609
Modified:
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
Log:
Adding fixes to support MS
Modified: labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
===================================================================
--- labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java 2010-10-20 22:06:59 UTC (rev 35608)
+++ labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java 2010-10-20 22:08:08 UTC (rev 35609)
@@ -19,6 +19,7 @@
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
@@ -29,6 +30,8 @@
import javax.jcr.Node;
import javax.jcr.NodeIterator;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Workspace;
@@ -1079,7 +1082,24 @@
}
}
+ /*
+ * http://jira.jboss.org/browse/MODE-882
+ */
+ @Test
+ public void testSimpleImportExport() throws PathNotFoundException, IOException, RepositoryException {
+ RulesRepository repo = getRepo();
+
+ byte[] repository_backup;
+ ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ Session session = getRepo().getSession();
+ session.refresh( false );
+ session.exportSystemView( "/" + "drools:repository", bout, false, false );
+ repository_backup = bout.toByteArray();
+ repo.importRulesRepositoryFromStream(new ByteArrayInputStream(
+ repository_backup));
+ }
+
@Test
public void testImportExport() {
RulesRepository repo = getRepo();
@@ -1109,6 +1129,39 @@
repo.importRepository(new ByteArrayInputStream(repository_unitest));
assertTrue(repo.containsPackage("testImportExport"));
}
+
+ /*
+ * https://jira.jboss.org/browse/MODE-883
+ */
+ @Test
+ public void testSimpleShareableNodes() throws Exception {
+
+ Node node = getRepo().getSession().getNode("/drools:repository/drools:package_area/globalArea/");
+ Node assetNode = node.getNode("assets").addNode("testKurt","drools:assetNodeType");
+ //Adding some required properties
+ assetNode.setProperty("drools:packageName", "one");
+ assetNode.setProperty("drools:title", "title");
+ assetNode.setProperty("drools:format", "format");
+ assetNode.setProperty("drools:description", "description");
+ Calendar lastModified = Calendar.getInstance();
+ assetNode.setProperty("drools:lastModified", lastModified);
+ getRepo().getSession().save();
+ assetNode.checkin();
+
+
+ //Creating a shared Node
+ assetNode.checkout();
+ assetNode.addMixin("mix:shareable");
+ getRepo().getSession().save();
+ assetNode.checkin();
+ Workspace workspace = getRepo().getSession().getWorkspace();
+ String srcPath = "/drools:repository/drools:package_area/globalArea/assets/testKurt";
+ String path = "/drools:repository/drools:package_area/defaultPackage/assets/testKurt";
+ workspace.clone(workspace.getName(), srcPath, path, false);
+
+ assetNode.remove();
+
+ }
@Test
public void testShareableNodes() throws Exception {
@@ -1202,12 +1255,12 @@
}
//In this test case we expect an ItemExistException from the second thread,
- //other than ending up with two packages with same name.
+ //other than ending up with two packages with same name.
//https://jira.jboss.org/jira/browse/GUVNOR-346
@Test
public void testConcurrentCopyPackage() throws Exception {
// set up testing data
- RulesRepository repo = RepositorySessionUtil.getMultiThreadedRepository();
+ RulesRepository repo = RepositorySessionUtil.getMultiThreadedRepository();
PackageItem source = repo.createPackage("testConcurrentCopyPackage",
"asset");
AssetItem item = source.addAsset("testCopyPackage", "desc");
@@ -1217,9 +1270,9 @@
int NUM_ITERATIONS = 40;
int NUM_SESSIONS = 2;
- for (int n = 0; n < NUM_ITERATIONS; n++) {
+ for (int n = 0; n < NUM_ITERATIONS; n++) {
Node folderNode = repo.getAreaNode(RulesRepository.RULE_PACKAGE_AREA);
- // cleanup
+ // cleanup
while (folderNode.hasNode("testConcurrentCopyPackage2")) {
folderNode.getNode("testConcurrentCopyPackage2").remove();
repo.save();
@@ -1237,8 +1290,9 @@
for (int i = 0; i < threads.length; i++) {
threads[i].join();
}
-
+
//Node folderNode = repo.getAreaNode(RulesRepository.RULE_PACKAGE_AREA);
+ folderNode.refresh(true);
NodeIterator results = folderNode.getNodes("testConcurrentCopyPackage2");
assertEquals(1, results.getSize());
} }
@@ -1247,7 +1301,7 @@
String identity;
Random r;
RulesRepository localRepo;
- ConcurrentCopySession(String identity) {
+ ConcurrentCopySession(String identity) {
this.identity = identity;
r = new Random();
localRepo = RepositorySessionUtil.getMultiThreadedRepository();
@@ -1266,11 +1320,12 @@
//This returns different repository instances for different threads
localRepo.copyPackage("testConcurrentCopyPackage",
"testConcurrentCopyPackage2");
- PackageItem dest = localRepo
- .loadPackage("testConcurrentCopyPackage2");
+ PackageItem dest = localRepo.loadPackage("testConcurrentCopyPackage2");
assertNotNull(dest);
- randomSleep(); } catch (RulesRepositoryException rre) {
+ randomSleep();
+ } catch (RulesRepositoryException rre) {
//expected
+ System.out.println("Expected");
} finally {
}
}
More information about the jboss-svn-commits
mailing list