[jboss-svn-commits] JBL Code SVN: r11501 - 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
Mon Apr 30 03:46:09 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-04-30 03:46:08 -0400 (Mon, 30 Apr 2007)
New Revision: 11501

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java
Log:
JBRULES-823 Package builder w00t !

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-04-30 04:34:34 UTC (rev 11500)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2007-04-30 07:46:08 UTC (rev 11501)
@@ -8,7 +8,9 @@
 import java.util.Iterator;
 import java.util.List;
 
+import javax.jcr.AccessDeniedException;
 import javax.jcr.ItemExistsException;
+import javax.jcr.ItemNotFoundException;
 import javax.jcr.Node;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
@@ -83,19 +85,40 @@
 
 
     
+    /**
+     * Return the name of the package. 
+     */
     public String getName() {
         try {
-            if (this.rulesRepository.isNotSnapshot( this.node.getParent() )) {
+
+            if (isSnapshot()) {
+                return this.node.getParent().getName();
+            } else {
                 return super.getName();
-            } else {
-                
-                return this.node.getParent().getName();
-                
             }
         } catch (RepositoryException e) {
             throw new RulesRepositoryException( e );
         }
     }
+    
+    /**
+     * @return true if this package is actually a snapshot.
+     */
+    public boolean isSnapshot() {
+        try {
+            return (!this.rulesRepository.isNotSnapshot( this.node.getParent() ));
+        } catch (  RepositoryException e ) {
+            throw new IllegalStateException(e);
+        }
+    }
+    
+    /**
+     * returns the name of the snapshot, if this package is really a snapshot.
+     * If it is not, it will just return the name of the package, so use wisely !
+     */
+    public String getSnapshotName() {
+            return super.getName();
+    }
 
     /**
      * Adds a rule to the current package with no category (not recommended !).

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-04-30 04:34:34 UTC (rev 11500)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java	2007-04-30 07:46:08 UTC (rev 11501)
@@ -89,7 +89,9 @@
         RulesRepository repo = getRepo();
         
         PackageItem pkg = repo.createPackage( "testPackageSnapshot", "this is something" );
+        assertFalse(pkg.isSnapshot());
         
+        
         AssetItem it1 = pkg.addAsset( "testPackageCopy1", "la" );
         AssetItem it2 = pkg.addAsset( "testPackageCopy2", "la" );
         
@@ -109,6 +111,10 @@
 
         //just check we can load it all via UUID as well...
         PackageItem pkgLoaded = repo.loadPackageSnapshot( "testPackageSnapshot", "PROD 2.0" );
+        assertTrue(pkgLoaded.isSnapshot());
+        assertEquals("PROD 2.0", pkgLoaded.getSnapshotName());
+        assertEquals("testPackageSnapshot", pkgLoaded.getName());
+
         PackageItem _pkgLoaded = repo.loadPackageByUUID( pkgLoaded.getUUID() );
         assertNotNull(_pkgLoaded);
         assertEquals(pkgLoaded.getCreatedDate(), _pkgLoaded.getCreatedDate());




More information about the jboss-svn-commits mailing list