[jboss-svn-commits] JBL Code SVN: r8720 - in labs/jbossrules/trunk/drools-repository/src: main/java/org/drools/repository test/java/org/drools/repository
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 5 12:56:59 EST 2007
Author: michael.neale at jboss.com
Date: 2007-01-05 12:56:52 -0500 (Fri, 05 Jan 2007)
New Revision: 8720
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
Log:
remove asset facility
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2007-01-05 17:56:26 UTC (rev 8719)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2007-01-05 17:56:52 UTC (rev 8720)
@@ -330,6 +330,26 @@
return getStringProperty( property );
}
+
+ /**
+ * This will remove the item.
+ * The repository will need to be saved for this to take effect.
+ * Typically the package that contains this should be versioned before removing this,
+ * to make it easy to roll back.
+ */
+ public void remove() {
+ checkIsUpdateable();
+ if (this.getDateExpired() != null) {
+ if (this.getDateExpired().before( Calendar.getInstance() )) {
+ throw new RulesRepositoryException("Can't delete an item before its expiry date.");
+ }
+ }
+ try {
+ this.node.remove();
+ } catch ( RepositoryException e ) {
+ throw new RulesRepositoryException(e);
+ }
+ }
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-01-05 17:56:26 UTC (rev 8719)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java 2007-01-05 17:56:52 UTC (rev 8720)
@@ -169,7 +169,7 @@
*/
public void removeAsset(String name) {
try {
- this.node.getNode( ASSET_FOLDER_NAME + "/" + name ).remove();
+ this.node.getNode( ASSET_FOLDER_NAME + "/" + name ).remove();
} catch ( RepositoryException e ) {
throw new RulesRepositoryException( e );
}
@@ -514,4 +514,18 @@
}
}
+
+ /**
+ * Create a new version of the package, but leave statuses the same.
+ */
+ 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/java/org/drools/repository/VersionableItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java 2007-01-05 17:56:26 UTC (rev 8719)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java 2007-01-05 17:56:52 UTC (rev 8720)
@@ -498,6 +498,7 @@
* It will also set the last modified property.
*/
public void checkin(String comment) {
+ checkIsUpdateable();
try {
this.node.setProperty( LAST_MODIFIED_PROPERTY_NAME, Calendar.getInstance() );
this.node.setProperty( CHECKIN_COMMENT, comment );
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-01-05 17:56:26 UTC (rev 8719)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java 2007-01-05 17:56:52 UTC (rev 8720)
@@ -551,7 +551,7 @@
item.checkin( "lalalala" );
try {
item.updateUserProperty( "drools:content", "whee" );
- fail("should not be able to set build in properties this way.");
+ fail("should not be able to set built in properties this way.");
}
catch (IllegalArgumentException e) {
assertNotNull(e.getMessage());
@@ -559,4 +559,30 @@
}
+
+ public void testRemoveAssetAndVersion() throws Exception {
+
+
+
+ AssetItem item = getRepo().loadDefaultPackage().addAsset( "testRemoveAsset", "lalalalala" );
+ getRepo().save();
+ getRepo().loadDefaultPackage().createBaseline( "la" );
+ String uuid = item.getUUID();
+
+ AssetItem loaded = getRepo().loadAssetByUUID( uuid );//.loadPackage( "default" ).loadAsset( "testRemoveAsset" );
+ assertNotNull(loaded);
+
+ item.remove();
+ getRepo().save();
+ getRepo().loadDefaultPackage().createBaseline( "la" );
+
+ assertFalse(getRepo().loadPackage( "default" ).getNode().hasNode( "rules/testRemoveAsset" ));
+
+ //now check that its in the old version
+ PackageItem old = (PackageItem) getRepo().loadDefaultPackage().getPrecedingVersion();
+
+ AssetItem lazarus = old.loadAsset( "testRemoveAsset" );
+ assertNotNull(lazarus);
+
+ }
}
More information about the jboss-svn-commits
mailing list