[jboss-svn-commits] JBL Code SVN: r23412 - 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 Oct 9 20:54:06 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-10-09 20:54:06 -0400 (Thu, 09 Oct 2008)
New Revision: 23412

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:
JBRULES-1798 Snapshot read only

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	2008-10-10 00:25:37 UTC (rev 23411)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2008-10-10 00:54:06 UTC (rev 23412)
@@ -501,7 +501,7 @@
 
         try {
             if ( this.isHistoricalVersion() ) {
-                throw new UnsupportedOperationException( "Unable to get package for versioned asset. Use base revision." );
+            	return this.rulesRepository.loadPackage(this.getPackageName());
             }
             return new PackageItem( this.rulesRepository,
                                     this.node.getParent().getParent() );

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	2008-10-10 00:25:37 UTC (rev 23411)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2008-10-10 00:54:06 UTC (rev 23412)
@@ -88,6 +88,41 @@
 
     }
 
+    public void testGetPackageItemHistorical() throws Exception {
+        RulesRepository repo = getRepo();
+        PackageItem pkg = repo.createPackage("testGetPackageItemHistorical", "");
+        AssetItem asset = pkg.addAsset("whee", "");
+        asset.checkin("");
+        assertNotNull(asset.getPackage());
+
+        repo.createPackageSnapshot(pkg.getName(), "SNAP");
+
+        PackageItem pkg_ = repo.loadPackageSnapshot(pkg.getName(), "SNAP");
+        AssetItem asset_ = pkg_.loadAsset("whee");
+        PackageItem pkg__ = asset_.getPackage();
+        assertTrue(pkg__.isSnapshot());
+        assertTrue(pkg_.isSnapshot());
+        assertFalse(pkg.isSnapshot());
+        assertEquals(pkg.getName(), pkg__.getName());
+
+        asset.updateDescription("yeah !");
+        asset.checkin("new");
+
+        asset = pkg.loadAsset("whee");
+        assertNotNull(asset.getPackage());
+
+        AssetHistoryIterator it = asset.getHistory();
+        while(it.hasNext()) {
+        	AssetItem as = it.next();
+        	if (as.getVersionNumber() > 0) {
+	        	System.err.println(as.getVersionNumber());
+	        	System.err.println(as.getPackageName());
+	        	assertNotNull(as.getPackage());
+	        	assertEquals(pkg.getName(), as.getPackage().getName());
+        	}
+        }
+    }
+
     public void testGetAssetNameFromFileName() {
     	String[] asset = AssetItem.getAssetNameFromFileName("foo.bar");
     	assertEquals("foo", asset[0]);




More information about the jboss-svn-commits mailing list