[jboss-svn-commits] JBL Code SVN: r26985 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jun 16 13:01:57 EDT 2009
Author: Rikkola
Date: 2009-06-16 13:01:57 -0400 (Tue, 16 Jun 2009)
New Revision: 26985
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.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 15:05:30 UTC (rev 26984)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java 2009-06-16 17:01:57 UTC (rev 26985)
@@ -833,7 +833,14 @@
log.info( "USER:" + repository.getSession().getUserID() + " SAVING package [" + data.name + "]" );
PackageItem item = repository.loadPackage( data.name );
+
+ // If package is being unarchived.
+ boolean unarchived = (data.archived == false && item.isArchived() == true);
+ Calendar packageLastModified = item.getLastModified();
+
+ updateDroolsHeader( data.header,
+ item );
item.updateCategoryRules( convertMapToString( data.catRules,
true ),
convertMapToString( data.catRules,
@@ -844,8 +851,6 @@
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
@@ -855,6 +860,16 @@
assetItem.archiveItem( true );
assetItem.checkin( data.description );
}
+ } else if ( unarchived ) {
+ for ( Iterator<AssetItem> iter = item.getAssets(); iter.hasNext(); ) {
+ AssetItem assetItem = iter.next();
+ // Unarchive the assets archived after the package
+ // ( == at the same time that the package was archived)
+ if ( assetItem.getLastModified().compareTo( packageLastModified ) >= 0 ) {
+ assetItem.archiveItem( false );
+ assetItem.checkin( data.description );
+ }
+ }
}
BRMSSuggestionCompletionLoader loader = new BRMSSuggestionCompletionLoader();
@@ -2153,13 +2168,6 @@
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",
More information about the jboss-svn-commits
mailing list