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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 16 11:05:30 EDT 2009


Author: Rikkola
Date: 2009-06-16 11:05:30 -0400 (Tue, 16 Jun 2009)
New Revision: 26984

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java
Log:
GUVNOR-361 : Unarchiving packages doesn't unarchive their configuration

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2009-06-16 12:12:50 UTC (rev 26983)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2009-06-16 15:05:30 UTC (rev 26984)
@@ -774,6 +774,7 @@
         data.catRules = item.getCategoryRules();
         //System.out.println("Cat Rules: " + data.catRules.toString());
         data.description = item.getDescription();
+        data.archived = item.isArchived();
         data.name = item.getName();
         data.lastModified = item.getLastModified().getTime();
         data.dateCreated = item.getCreatedDate().getTime();
@@ -833,8 +834,6 @@
 
         PackageItem item = repository.loadPackage( data.name );
 
-        updateDroolsHeader( data.header,
-                            item );
         item.updateCategoryRules( convertMapToString( data.catRules,
                                                       true ),
                                   convertMapToString( data.catRules,
@@ -845,6 +844,8 @@
         item.archiveItem( data.archived );
         item.updateBinaryUpToDate( false );
         this.ruleBaseCache.remove( data.uuid );
+        updateDroolsHeader( data.header,
+                            item );
         item.checkin( data.description );
 
         // If package is archived, archive all the assets under it
@@ -2151,12 +2152,21 @@
         if ( pkg.containsAsset( "drools" ) ) {
             conf = pkg.loadAsset( "drools" );
             conf.updateContent( string );
+            
+            // If package is unarchived and header is not, unarchive it.
+            boolean a = conf.isArchived();
+            boolean b = pkg.isArchived();
+            if ( conf.isArchived() == true && pkg.isArchived() == false ) {
+                conf.archiveItem( false );
+            }
+            
             conf.checkin( "" );
         } else {
             conf = pkg.addAsset( "drools",
                                  "" );
             conf.updateFormat( "package" );
             conf.updateContent( string );
+            
             conf.checkin( "" );
         }
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java	2009-06-16 12:12:50 UTC (rev 26983)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java	2009-06-16 15:05:30 UTC (rev 26984)
@@ -575,7 +575,39 @@
 		assertFalse(original.equals(data.lastModified));
 		assertEquals("ya", data.checkinComment);
 	}
+	
+	public void testArchiveAndUnarchivePackageAndHeader() throws Exception {
+        ServiceImplementation impl = getService();
+        String uuid = impl.createPackage( "testArchiveAndUnarchivePackageAndHeader",
+                                          "a desc" );
+        PackageConfigData data = impl.loadPackageConfig( uuid );
+        PackageItem it = impl.repository.loadPackageByUUID( uuid );
+        data.archived = true;
 
+        impl.savePackage( data );
+        data = impl.loadPackageConfig( uuid );
+        it = impl.repository.loadPackage( data.name );
+        assertTrue( data.archived );
+        assertTrue( it.loadAsset( "drools" ).isArchived() );
+
+        data.archived = false;
+
+        impl.savePackage( data );
+        data = impl.loadPackageConfig( uuid );
+        it = impl.repository.loadPackage( data.name );
+        assertFalse( data.archived );
+        assertFalse( it.loadAsset( "drools" ).isArchived() );
+
+        data.archived = true;
+
+        impl.savePackage( data );
+        data = impl.loadPackageConfig( uuid );
+        it = impl.repository.loadPackage( data.name );
+        assertTrue( data.archived );
+        assertTrue( it.loadAsset( "drools" ).isArchived() );
+
+    }
+
 	public void testPackageConfSave() throws Exception {
 		RepositoryService impl = getService();
 		String uuid = impl.createPackage("testPackageConfSave", "a desc");




More information about the jboss-svn-commits mailing list