[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