[jboss-svn-commits] JBL Code SVN: r8733 - 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
Sat Jan 6 15:02:29 EST 2007
Author: michael.neale at jboss.com
Date: 2007-01-06 15:02:23 -0500 (Sat, 06 Jan 2007)
New Revision: 8733
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
Log:
tests for version restoration
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-06 18:32:48 UTC (rev 8732)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2007-01-06 20:02:23 UTC (rev 8733)
@@ -340,7 +340,7 @@
public void remove() {
checkIsUpdateable();
if (this.getDateExpired() != null) {
- if (this.getDateExpired().before( Calendar.getInstance() )) {
+ if (Calendar.getInstance().before( this.getDateExpired())) {
throw new RulesRepositoryException("Can't delete an item before its expiry date.");
}
}
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-06 18:32:48 UTC (rev 8732)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java 2007-01-06 20:02:23 UTC (rev 8733)
@@ -4,6 +4,9 @@
import java.util.Iterator;
import java.util.List;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.version.Version;
+
import junit.framework.TestCase;
public class AssetItemTest extends TestCase {
@@ -560,11 +563,15 @@
}
- public void testRemoveAssetAndVersion() throws Exception {
+ 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();
@@ -572,17 +579,44 @@
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());
+ }
- 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);
+
+ 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" ));
+
}
}
More information about the jboss-svn-commits
mailing list