[jboss-svn-commits] JBL Code SVN: r35780 - labs/jbossrules/soa_branches/BRMS-5.1.1/drools-compiler/src/main/java/org/drools/compiler.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 27 20:31:34 EDT 2010


Author: tsurdilovic
Date: 2010-10-27 20:31:34 -0400 (Wed, 27 Oct 2010)
New Revision: 35780

Modified:
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java
Log:
BRMS-420 : give better exception in guvnor when process has wrong id in package


Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java	2010-10-28 00:30:57 UTC (rev 35779)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-compiler/src/main/java/org/drools/compiler/ProcessBuilder.java	2010-10-28 00:31:34 UTC (rev 35780)
@@ -26,6 +26,7 @@
 
 import javax.xml.parsers.FactoryConfigurationError;
 
+import org.drools.RuntimeDroolsException;
 import org.drools.compiler.xml.XmlProcessReader;
 import org.drools.compiler.xml.processes.RuleFlowMigrator;
 import org.drools.definition.process.Connection;
@@ -120,32 +121,38 @@
             PackageRegistry pkgRegistry = this.packageBuilder.getPackageRegistry(process.getPackageName());
             org.drools.rule.Package p = pkgRegistry.getPackage();
             
-            if (p != null) {
+            if (pkgRegistry != null) {
+            	if (p != null) {
             
-	            ProcessDescr processDescr = new ProcessDescr();
-	            processDescr.setName(process.getPackageName());
-	            processDescr.setResource( resource );
-	            DialectCompiletimeRegistry dialectRegistry = pkgRegistry.getDialectCompiletimeRegistry();           
-	            Dialect dialect = dialectRegistry.getDialect( "java" );
-	            dialect.init(processDescr);
+            		ProcessDescr processDescr = new ProcessDescr();
+            		processDescr.setName(process.getPackageName());
+            		processDescr.setResource( resource );
+            		DialectCompiletimeRegistry dialectRegistry = pkgRegistry.getDialectCompiletimeRegistry();           
+            		Dialect dialect = dialectRegistry.getDialect( "java" );
+            		dialect.init(processDescr);
 	
-	            ProcessBuildContext buildContext = new ProcessBuildContext(
-	        		this.packageBuilder,
-	                p,
-	                process,
-	                processDescr,
-	                dialectRegistry,
-	                dialect);
+            		ProcessBuildContext buildContext = new ProcessBuildContext(
+            				this.packageBuilder,
+            				p,
+            				process,
+	                	processDescr,
+	                	dialectRegistry,
+	                	dialect);
 	
-	            buildContexts( ( ContextContainer ) process, buildContext );
-	            if (process instanceof WorkflowProcess) {
-	            	buildNodes( (WorkflowProcess) process, buildContext );
-	            }
-	            p.addProcess( process );
+            		buildContexts( ( ContextContainer ) process, buildContext );
+            		if (process instanceof WorkflowProcess) {
+            			buildNodes( (WorkflowProcess) process, buildContext );
+            		}
+            		p.addProcess( process );
 	
-	            pkgRegistry.compileAll();                
-	            pkgRegistry.getDialectRuntimeRegistry().onBeforeExecute();
-            }
+            		pkgRegistry.compileAll();                
+            		pkgRegistry.getDialectRuntimeRegistry().onBeforeExecute();
+            	}
+            } else {
+				// invalid package registry..there is an issue with the package
+				// id of the process
+				throw new RuntimeDroolsException("invalid package id");
+			}
         }
     }
 



More information about the jboss-svn-commits mailing list