[jboss-svn-commits] JBL Code SVN: r18360 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 7 01:06:54 EST 2008


Author: michael.neale at jboss.com
Date: 2008-02-07 01:06:54 -0500 (Thu, 07 Feb 2008)
New Revision: 18360

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/RulesRepository.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java
Log:
JBRULES-1445 added in archiving/deleting of packages, log viewing etc.

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	2008-02-07 04:41:40 UTC (rev 18359)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2008-02-07 06:06:54 UTC (rev 18360)
@@ -15,10 +15,18 @@
 import javax.jcr.PathNotFoundException;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
+import javax.jcr.lock.LockException;
+import javax.jcr.nodetype.ConstraintViolationException;
 import javax.jcr.query.Query;
 import javax.jcr.query.QueryResult;
+import javax.jcr.version.VersionException;
 
+import org.apache.log4j.Appender;
+import org.apache.log4j.Layout;
 import org.apache.log4j.Logger;
+import org.apache.log4j.spi.ErrorHandler;
+import org.apache.log4j.spi.Filter;
+import org.apache.log4j.spi.LoggingEvent;
 
 /**
  * A PackageItem object aggregates a set of assets (for example, rules). This is advantageous for systems using the JBoss Rules
@@ -239,8 +247,20 @@
         }
     }
 
+    /**
+     * This will permanently delete this package.
+     */
+    public void remove() {
+    	checkIsUpdateable();
+    	try {
+			this.node.remove();
+		} catch (RepositoryException e) {
+			throw new RulesRepositoryException("Was not able to delete package.", e);
+		}
+    }
 
 
+
     // The following should be kept for reference on how to add a reference that
     //is either locked to a version or follows head - FOR SHARING ASSETS
     //    /**

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2008-02-07 04:41:40 UTC (rev 18359)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2008-02-07 06:06:54 UTC (rev 18360)
@@ -792,7 +792,7 @@
      * @return an Iterator which will provide RulePackageItem's. This will show
      *         ALL the packages, only returning latest versions, by default.
      */
-    public Iterator listPackages() {
+    public PackageIterator listPackages() {
         Node folderNode = this.getAreaNode( RULE_PACKAGE_AREA );
 
         try {

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	2008-02-07 04:41:40 UTC (rev 18359)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java	2008-02-07 06:06:54 UTC (rev 18360)
@@ -24,9 +24,29 @@
 
         list = iteratorToList( repo.listPackages() );
 
+        assertEquals(prevSize + 1, list.size());
+    }
 
+    public void testPackageRemove() throws Exception {
+        RulesRepository repo = getRepo();
+        PackageItem p = repo.createPackage("removeMe", "");
+        AssetItem a = p.addAsset("Whee", "");
+        a.updateContent("yeah");
+        a.checkin("la");
+        p.addAsset("Waa", "");
+        repo.save();
 
-        assertEquals(prevSize + 1, list.size());
+        int n = iteratorToList(repo.listPackages()).size();
+
+        p = repo.loadPackage("removeMe");
+        p.remove();
+        repo.save();
+
+        int n_ = iteratorToList(repo.listPackages()).size();
+        assertEquals(n - 1, n_);
+
+
+
     }
 
     public void testRulePackageItem() throws Exception {




More information about the jboss-svn-commits mailing list