[jboss-svn-commits] JBL Code SVN: r9327 - in labs/jbossrules/trunk/drools-repository/src: main/resources/node_type_definitions and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Feb 4 19:54:08 EST 2007


Author: michael.neale at jboss.com
Date: 2007-02-04 19:54:08 -0500 (Sun, 04 Feb 2007)
New Revision: 9327

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
   labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rulepackage_node_type.cnd
   labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_asset_folder_node_type.cnd
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java
Log:
JBRULES-645 Package config saves are versioned (but do not version assets)

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2007-02-04 23:48:58 UTC (rev 9326)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2007-02-05 00:54:08 UTC (rev 9327)
@@ -540,42 +540,7 @@
         updateStringProperty( uri, EXTERNAL_URI_PROPERTY_NAME );
     }
     
-    /**
-     * This will create a new version of a package, effectively freezing the state.
-     * This means in the "head" version of the package, rules can be added
-     * removed, without effecting the baseline that was created.
-     * @deprecated Use snapshot instead.
-     */
-    public void createBaseline(String comment,
-                               StateItem state) {
-        Iterator rules = getAssets();
-        while(rules.hasNext()) {
-            AssetItem rule = (AssetItem) rules.next();
-            rule.updateState( state );
-            rule.checkin( comment );
-        }
-        
-        checkin( comment );
-        try {
-            this.node.checkout();
-        } catch ( RepositoryException e ) {
-            throw new RulesRepositoryException("Unable to check out package node after creating a new baseline.", e);
-        }
-        
-    }
     
-    /**
-     * Create a new version of the package, but leave statuses the same.
-     * @deprecated Use snapshot instead.
-     */
-    public void createBaseline(String comment) {        
-        checkin( comment );
-        try {
-            this.node.checkout();
-        } catch ( RepositoryException e ) {
-            throw new RulesRepositoryException("Unable to check out package node after creating a new baseline.", e);
-        }               
-    }
 
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rulepackage_node_type.cnd
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rulepackage_node_type.cnd	2007-02-04 23:48:58 UTC (rev 9326)
+++ labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rulepackage_node_type.cnd	2007-02-05 00:54:08 UTC (rev 9327)
@@ -18,7 +18,7 @@
 // a specific named folder will exist for rules, functions etc.
 // these folders contain the actual assets
 + * (drools:versionableAssetFolder)
-  copy
+  ignore
 
 // this is for storing misc header info as pertains to rules, specifically imports
 - drools:header (string)

Modified: labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_asset_folder_node_type.cnd
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_asset_folder_node_type.cnd	2007-02-04 23:48:58 UTC (rev 9326)
+++ labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_asset_folder_node_type.cnd	2007-02-05 00:54:08 UTC (rev 9327)
@@ -17,4 +17,4 @@
 
 // what it contains
 + * (drools:versionableNodeType)
-  copy
\ No newline at end of file
+  ignore
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2007-02-04 23:48:58 UTC (rev 9326)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2007-02-05 00:54:08 UTC (rev 9327)
@@ -621,60 +621,4 @@
         
     }
     
-    public void testRemoveAssetAndVersionAndRestore() throws Exception {
-        
-        
-        
-        AssetItem item = getRepo().loadDefaultPackage().addAsset( "testRemoveAsset", "lalalalala" );
-        Calendar expiry = Calendar.getInstance();
-        expiry.set( Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR) + 1);
-        item.updateDateExpired( expiry );
-
-        getRepo().save();
-        getRepo().loadDefaultPackage().createBaseline( "la" );
-        String uuid = item.getUUID();
-        
-        AssetItem loaded = getRepo().loadAssetByUUID( uuid );//.loadPackage( "default" ).loadAsset( "testRemoveAsset" );
-        assertNotNull(loaded);
-        
-        assertTrue(Calendar.getInstance().before( expiry ));
-        
-        try {
-            item.remove();
-            fail("Should not be able to remove due to expiry.");
-        } catch (RulesRepositoryException e) {
-            assertNotNull( e.getMessage() );
-        }
-        
-        item.updateDateExpired( null );
-        
-        item.remove();
-        getRepo().save();
-        getRepo().loadDefaultPackage().createBaseline( "la" );
-
-        try {
-            getRepo().loadDefaultPackage().loadAsset( "testRemoveAsset" );
-            fail("should not exist");
-        } catch (RulesRepositoryException e) {
-            assertEquals(PathNotFoundException.class, e.getCause().getClass());
-        }
-        
-        
-        
-        //now check that its in the old version
-        PackageItem old = (PackageItem) getRepo().loadDefaultPackage().getPrecedingVersion();
-        
-        AssetItem lazarus = old.loadAsset( "testRemoveAsset" );
-        assertNotNull(lazarus);
-
-        getRepo().loadPackage( "default" ).getNode().restore( (Version) old.getNode(), true );
-
-
-        PackageItem restored = getRepo().loadDefaultPackage();
-        lazarus = restored.loadAsset( "testRemoveAsset" );
-        assertNotNull(lazarus);
-        
-        //assertTrue(getRepo().loadDefaultPackage().getNode().hasNode( "rules/testRemoveAsset" ));
-        
-    }
 }

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java	2007-02-04 23:48:58 UTC (rev 9326)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java	2007-02-05 00:54:08 UTC (rev 9327)
@@ -43,89 +43,8 @@
         
     }
     
-    /**
-     * This tests creating a "baseline" of a RulePackage,
-     * basically updating all the resources, and checking it in as a version.
-     * This is showing off "multi dimensional versioning".
-     */
-    public void testBaselinePackage() throws Exception {
-        RulesRepository repo = getRepo();
-        
-        PackageItem pack = repo.createPackage( "testBaselinePackage", "for testing baselines" );
-        
-        AssetItem rule1 = pack.addAsset( "rule 1", "yeah" );
-        AssetItem rule2 = pack.addAsset( "rule 2", "foobar" );
-        
-        assertEquals(StateItem.DRAFT_STATE_NAME, rule1.getState().getName());
-        
-        StateItem state = repo.getState( "deployed" );
-        
-        repo.save();
-        
-        assertNull(pack.getPrecedingVersion());
-        
-        //the first version, frozen with 2 rules
-        pack.createBaseline("commit comment", state);
-        
-        //check head
-        pack = repo.loadPackage( "testBaselinePackage" );
-        assertEquals(2, iteratorToList(pack.getAssets()).size());
-        
-        //now remove a rule from head
-        pack.removeAsset( "rule 1" );
-        repo.save();
-        assertEquals(1, iteratorToList( pack.getAssets() ).size());
-        
-        pack.createBaseline( "another", state );
-        
-        PackageItem prev = (PackageItem) pack.getPrecedingVersion();
-        assertEquals(2, iteratorToList( prev.getAssets() ).size());
-        
-        assertNotNull(prev.getSucceedingVersion());
-        
-        PackageItem succ = (PackageItem) prev.getSucceedingVersion();
-        
-        assertEquals(1, iteratorToList( succ.getAssets() ).size());
-        
-    }
 
-    /** Continues to show how multi dimensional versioning works */
-    public void testPackageBaselineWithRuleChanges() throws Exception {
-        String packName = StackUtil.getCurrentMethodName();
-        PackageItem pack = getRepo().createPackage( packName, "yeah" );
-        
-        AssetItem rule = pack.addAsset( "foobar", "waah" );        
-        rule.updateContent( "this is something" );        
-        rule.checkin( "something" );
-        rule.updateCoverage( "cov" );
-        rule.checkin( "woo" );
-        rule.updateCoverage( "cov" );
-        rule.checkin( "la" );
-        
-        List hist = iteratorToList( rule.getHistory() );
-        
-        StateItem state = getRepo().getState( "something" );
-        
-        pack.createBaseline( "another one", state );
-        
-        pack = getRepo().loadPackage( packName );
-        
-        rule = (AssetItem) pack.getAssets().next();
-        rule.updateContent( "blah" );
-        rule.checkin( "woot" );
-        
-        pack.createBaseline( "yeah", state );
-        
-        pack = getRepo().loadPackage( packName );
-        rule = (AssetItem) pack.getAssets().next();
-        assertEquals("blah", rule.getContent());
-        
-        PackageItem prev = (PackageItem) pack.getPrecedingVersion();
-        rule = (AssetItem) prev.getAssets().next();
-        assertEquals("this is something", rule.getContent());
-        
 
-    }
     
     /**
      * This is showing how to copy a package with standard JCR
@@ -544,8 +463,34 @@
             assertNotNull(rulePackageItem1);
             assertEquals(PackageItem.PACKAGE_FORMAT, rulePackageItem1.getFormat());    
 
-    }        
+    }
     
+    public void testPackageCheckinConfig() {
+        PackageItem item = getRepo().createPackage( "testPackageCheckinConfig", "description" );
+        
+        AssetItem rule = item.addAsset( "testPackageCheckinConfig", "w" );
+        rule.checkin( "goo" );
+        
+        assertEquals(1, iteratorToList( item.getAssets() ).size());
+        item.updateHeader( "la" );
+        item.checkin( "woot" );
+        
+        item.updateHeader( "we" );
+        item.checkin( "gah" );
+        
+        
+        
+        
+        
+        PackageItem pre = (PackageItem) item.getPrecedingVersion();
+        assertNotNull(pre);        
+        assertEquals("la", pre.getHeader());
+        
+        AssetItem rule_ = getRepo().loadAssetByUUID( rule.getUUID() );
+        assertEquals(rule.getVersionNumber(), rule_.getVersionNumber());
+        
+    }
+    
     static class MockAssetItem extends AssetItem {
         private String version;
 




More information about the jboss-svn-commits mailing list