[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