[jboss-svn-commits] JBL Code SVN: r9718 - 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
Fri Feb 23 03:36:37 EST 2007


Author: michael.neale at jboss.com
Date: 2007-02-23 03:36:36 -0500 (Fri, 23 Feb 2007)
New Revision: 9718

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/main/java/org/drools/repository/VersionableItem.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java
Log:
JBRULES-644

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-02-22 23:13:05 UTC (rev 9717)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2007-02-23 08:36:36 UTC (rev 9718)
@@ -560,6 +560,13 @@
     public void updateExternalURI(String uri) {
         updateStringProperty( uri, EXTERNAL_URI_PROPERTY_NAME );
     }
+    
+    /**
+     * Update the checkin comment. 
+     */
+    public void updateCheckinComment(String comment) {
+        updateStringProperty(comment, VersionableItem.CHECKIN_COMMENT);
+    }    
 
     /**
      * This will change the status of this package, and all the contained 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	2007-02-22 23:13:05 UTC (rev 9717)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2007-02-23 08:36:36 UTC (rev 9718)
@@ -476,7 +476,32 @@
             throw new RulesRepositoryException(e);
         }
     }
+    
+    /**
+     * This will remove the specified snapshot.
+     */
+    public void removePackageSnapshot(String packageName, String snapshotName) {
+        log.info( "Removing snapshot for [" + packageName + "] called [" + snapshotName + "]");
+        try {
+            Node snaps = this.getAreaNode( PACKAGE_SNAPSHOT_AREA );
+            
+            if (!snaps.hasNode( packageName )) {
+                return;
+            }
+            
+            Node pkgSnaps = snaps.getNode( packageName ); 
 
+            if (pkgSnaps.hasNode( snapshotName )) {
+                pkgSnaps.getNode( snapshotName ).remove();
+            }
+            
+            save();
+        } catch (RepositoryException e) {
+            log.error( "Unable to remove snapshot", e );
+            throw new RulesRepositoryException(e);
+        }
+    }
+
     /**
      * This will return or create the default package for rules that have no home yet.
      */

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-02-22 23:13:05 UTC (rev 9717)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2007-02-23 08:36:36 UTC (rev 9718)
@@ -313,6 +313,8 @@
     }
     
 
+    
+
     /**
      * See the Dublin Core documentation for more
      * explanation: http://dublincore.org/documents/dces/

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-02-22 23:13:05 UTC (rev 9717)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/PackageItemTest.java	2007-02-23 08:36:36 UTC (rev 9718)
@@ -95,15 +95,29 @@
         it1.checkin( "c" );
         it2.checkin( "c" );
         
+        String ver1 = it1.getVersionNumber();
+        String ver2 = it2.getVersionNumber();
+        assertFalse( "".equals( ver1 ));
         repo.createPackageSnapshot( "testPackageSnapshot", "PROD 2.0" );
         
         
         PackageItem pkg2 = repo.loadPackageSnapshot( "testPackageSnapshot", "PROD 2.0" );
         assertNotNull(pkg2);
-        
-        assertEquals(2, iteratorToList( pkg2.getAssets() ).size());
+        List snapAssets = iteratorToList( pkg2.getAssets() );
+        assertEquals(2, snapAssets.size());
         assertFalse(pkg2.getUUID().equals( pkg.getUUID() ));
+        assertTrue(snapAssets.get( 0 ) instanceof AssetItem);
+        assertTrue(snapAssets.get( 1 ) instanceof AssetItem);
         
+        AssetItem sn1 = (AssetItem) snapAssets.get( 0 );
+        AssetItem sn2 = (AssetItem) snapAssets.get( 1 );
+        assertEquals("la", sn1.getDescription());
+        assertEquals("la", sn2.getDescription());
+        assertEquals(ver1, sn1.getVersionNumber());
+        assertEquals(ver2, sn2.getVersionNumber());
+        
+        
+        
         //now check we can list the snappies
         String[] res = repo.listPackageSnapshots("testPackageSnapshot");
         
@@ -113,6 +127,15 @@
         res = repo.listPackageSnapshots( "does not exist" );
         assertEquals(0, res.length);
         
+        repo.removePackageSnapshot( "testPackageSnapshot", "XX" );
+        //does nothing... but should not barf...
+        
+        repo.removePackageSnapshot( "testPackageSnapshot", "PROD 2.0" );
+        repo.save();
+        
+        res = repo.listPackageSnapshots( "testPackageSnapshot" );
+        assertEquals(0, res.length);
+        
     }
 
     private RulesRepository getRepo() {
@@ -511,6 +534,13 @@
         AssetItem rule_ = getRepo().loadAssetByUUID( rule.getUUID() );
         assertEquals(rule.getVersionNumber(), rule_.getVersionNumber());
         
+        item = getRepo().loadPackage( "testPackageCheckinConfig");
+        String v = item.getVersionNumber();
+        item.updateCheckinComment( "x" );
+        getRepo().save();
+        
+        assertEquals(v, item.getVersionNumber());
+        
     }
     
     static class MockAssetItem extends AssetItem {




More information about the jboss-svn-commits mailing list