[jboss-svn-commits] JBL Code SVN: r20241 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat May 31 05:46:52 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-05-31 05:46:52 -0400 (Sat, 31 May 2008)
New Revision: 20241

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
Log:
JBRULES-1612 WebDAV - adding snapshots

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2008-05-31 03:09:31 UTC (rev 20240)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2008-05-31 09:46:52 UTC (rev 20241)
@@ -98,15 +98,30 @@
 
     private Session             session;
 
+    private static boolean initialized = false;
+
     /**
      * This requires a JCR session be setup, and the repository be configured.
      */
     public RulesRepository(
                            Session session) {
         this.session = session;
+    	checkForDataMigration(this);
     }
 
-    /**
+    private synchronized static void checkForDataMigration(RulesRepository self) {
+    	if (initialized) return;
+    	if (self.session.getUserID().equals("anonymous")) return;
+    	//need to have check for migration in datastore
+    	PackageIterator pkgs = self.listPackages();
+//    	while(pkgs.hasNext()) {
+//
+//    	}
+
+    	initialized = true;
+	}
+
+	/**
      * Will add a node named 'nodeName' of type 'type' to 'parent' if such a
      * node does not already exist.
      *
@@ -371,6 +386,17 @@
     }
 
 
+    public boolean containsSnapshot(String packageName, String snapshotName) {
+    	try {
+	    	Node n = this.getAreaNode( PACKAGE_SNAPSHOT_AREA ).getNode( packageName );
+	    	return n.hasNode(snapshotName);
+    	} catch (RepositoryException e) {
+    		log.error(e);
+    		throw new RulesRepositoryException(e);
+    	}
+    }
+
+
     public PackageItem loadPackageSnapshot(String packageName, String snapshotName) {
         try {
             Node n = this.getAreaNode( PACKAGE_SNAPSHOT_AREA ).getNode( packageName ).getNode( snapshotName );

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java	2008-05-31 03:09:31 UTC (rev 20240)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java	2008-05-31 09:46:52 UTC (rev 20241)
@@ -333,7 +333,10 @@
         items = repo.findAssetsByCategory( "testCategoriesAndSnapshots", 0, -1  ).assets;
         assertEquals(2, items.size());
 
+        assertTrue(repo.containsSnapshot("testCategoriesAndSnapshots", "SNAP 1"));
+        assertFalse(repo.containsSnapshot("testCategoriesAndSnapshots", "SNAP XXXX"));
 
+
     }
 
     public void testMoveRulePackage() throws Exception {




More information about the jboss-svn-commits mailing list