[jboss-svn-commits] JBL Code SVN: r30521 - labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 8 01:46:10 EST 2009


Author: jervisliu
Date: 2009-12-08 01:46:10 -0500 (Tue, 08 Dec 2009)
New Revision: 30521

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
Log:
GUVNOR-481: A migration tool on Guvnor start up to migrate existing data for Global Area. Actually we dont really a migration tool. A simple and quick fix can make sure Global area always exists. 

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	2009-12-08 04:43:52 UTC (rev 30520)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/PackageItem.java	2009-12-08 06:46:10 UTC (rev 30521)
@@ -239,7 +239,7 @@
             
     		Session session = rulesRepository.getSession();
     		Workspace workspace = session.getWorkspace();
-            PackageItem globalArea = rulesRepository.loadPackage( RulesRepository.RULE_GLOBAL_AREA );
+            PackageItem globalArea = rulesRepository.loadGlobalArea();
             AssetItem globalAssetItem = globalArea.loadAsset(sharedAssetName);
  			if (!hasMixin(globalAssetItem.getNode())) {
 				globalAssetItem.checkout();
@@ -248,7 +248,6 @@
 			}
     		
        		String path = rulesFolder.getPath() + "/" + globalAssetItem.getName();
-       		//System.out.println("---" + path);			
        	 	workspace.clone(workspace.getName(), globalAssetItem.getNode().getPath(), path, false);	
     		
        	    Node ruleNode = rulesFolder.getNode(globalAssetItem.getName());

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	2009-12-08 04:43:52 UTC (rev 30520)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2009-12-08 06:46:10 UTC (rev 30521)
@@ -367,12 +367,18 @@
             return new PackageItem( this,
                                     rulePackageNode );
         } catch ( RepositoryException e ) {
-            log.error( "Unable to load a rule package. ",
-                       e );
+        	//the Global package should always exist. In case it is not (eg, when
+        	//an old db was imported to repo), we create it. 
+        	if (RULE_GLOBAL_AREA.equals(name)) {
+				log.info("Creating Global area as it does not exist yet.");
+				return createPackage(RULE_GLOBAL_AREA,
+						"the global area that holds sharable assets");
+			} else {
+				log.error("Unable to load a rule package. ", e);
+				throw new RulesRepositoryException(
+						"Unable to load a rule package. ", e);
+			}
 
-            throw new RulesRepositoryException( "Unable to load a rule package. ",
-                                                e );
-
         }
     }
 



More information about the jboss-svn-commits mailing list