[jboss-svn-commits] JBL Code SVN: r26976 - in labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse: editors/rete and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jun 15 16:50:14 EDT 2009
Author: KrisVerlaenen
Date: 2009-06-15 16:50:14 -0400 (Mon, 15 Jun 2009)
New Revision: 26976
Modified:
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/preferences/DroolsProjectPreferencePage.java
Log:
JBIDE-4080: Internal error in Drools Plugin: is occured if empty rule.package is opened on ReteTree tab
- made a distinction between an empty and an incorrect RuleBase
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java 2009-06-15 18:56:27 UTC (rev 26975)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java 2009-06-15 20:50:14 UTC (rev 26976)
@@ -416,7 +416,7 @@
PackageBuilder builder = new PackageBuilder( builder_configuration );
DRLInfo result = null;
// compile parsed rules if necessary
- if ( compile && !parser.hasErrors()) {
+ if ( packageDescr != null && compile && !parser.hasErrors()) {
// check whether a .package file exists and add it
if ( resource != null && resource.getParent() != null ) {
MyResourceVisitor visitor = new MyResourceVisitor();
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java 2009-06-15 18:56:27 UTC (rev 26975)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java 2009-06-15 20:50:14 UTC (rev 26976)
@@ -112,29 +112,6 @@
return super.getAdapter( type );
}
- private RuleBase getRuleBase(String contents) {
- try {
- IResource resource = drlEditor.getResource();
- ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
- if ( resource.getProject().getNature( "org.eclipse.jdt.core.javanature" ) != null ) {
- IJavaProject project = JavaCore.create( resource.getProject() );
- newLoader = ProjectClassLoader.getProjectClassLoader( project );
- }
- DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(drlEditor, true, true);
- if (drlInfo != null) {
- Package pkg = drlInfo.getPackage();
- RuleBaseConfiguration config = new RuleBaseConfiguration();
- config.setClassLoader(newLoader);
- ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO, config);
- ruleBase.addPackage(pkg);
- return ruleBase;
- }
- } catch ( Throwable t ) {
- DroolsEclipsePlugin.log( t );
- }
- return null;
- }
-
/**
* Loads model from rule base,
* calculates rete view and initializes diagram model.
@@ -156,11 +133,37 @@
100 );
monitor.subTask( "Loading Rule Base" );
- RuleBase ruleBase = getRuleBase( contents );
- if ( ruleBase == null ) {
- final Exception error = new Exception( MSG_PARSE_ERROR );
- throw error;
+ ReteooRuleBase ruleBase = null;
+ try {
+ IResource resource = drlEditor.getResource();
+ ClassLoader newLoader = DroolsBuilder.class.getClassLoader();
+ if ( resource.getProject().getNature( "org.eclipse.jdt.core.javanature" ) != null ) {
+ IJavaProject project = JavaCore.create( resource.getProject() );
+ newLoader = ProjectClassLoader.getProjectClassLoader( project );
+ }
+ DRLInfo drlInfo = DroolsEclipsePlugin.getDefault().parseResource(drlEditor, true, true);
+ if (drlInfo == null) {
+ throw new Exception( "Could not find DRL info" );
+ }
+ if (drlInfo.getBuilderErrors().length > 0) {
+ throw new Exception( drlInfo.getBuilderErrors().length + " build errors" );
+ }
+ if (drlInfo.getParserErrors().size() > 0) {
+ throw new Exception( drlInfo.getParserErrors().size() + " parser errors" );
+ }
+
+ Package pkg = drlInfo.getPackage();
+ RuleBaseConfiguration config = new RuleBaseConfiguration();
+ config.setClassLoader(newLoader);
+ ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO, config);
+ if (pkg != null) {
+ ruleBase.addPackage(pkg);
+ }
+ } catch ( Throwable t ) {
+ DroolsEclipsePlugin.log( t );
+ throw new Exception( MSG_PARSE_ERROR + " " + t.getMessage());
}
+
monitor.worked( 50 );
if ( monitor.isCanceled() ) {
throw new InterruptedException();
Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/preferences/DroolsProjectPreferencePage.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/preferences/DroolsProjectPreferencePage.java 2009-06-15 18:56:27 UTC (rev 26975)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/preferences/DroolsProjectPreferencePage.java 2009-06-15 20:50:14 UTC (rev 26976)
@@ -48,6 +48,8 @@
}
if (selection != -1) {
droolsRuntimeCombo.select(selection);
+ } else if (runtimes.length > 0) {
+ droolsRuntimeCombo.select(0);
}
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
More information about the jboss-svn-commits
mailing list