[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