[jboss-svn-commits] JBL Code SVN: r23479 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse: view/rules and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 16 13:56:58 EDT 2008
Author: KrisVerlaenen
Date: 2008-10-16 13:56:57 -0400 (Thu, 16 Oct 2008)
New Revision: 23479
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
Log:
- fixed rete viewer
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java 2008-10-16 15:38:56 UTC (rev 23478)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/rete/ReteViewer.java 2008-10-16 17:56:57 UTC (rev 23479)
@@ -20,16 +20,20 @@
import java.util.List;
import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
import org.drools.RuleBaseFactory;
import org.drools.eclipse.DRLInfo;
import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.builder.DroolsBuilder;
import org.drools.eclipse.editors.DRLRuleEditor;
import org.drools.eclipse.editors.rete.model.ReteGraph;
import org.drools.eclipse.editors.rete.part.VertexEditPartFactory;
+import org.drools.eclipse.util.ProjectClassLoader;
import org.drools.reteoo.BaseVertex;
import org.drools.reteoo.ReteooRuleBase;
import org.drools.reteoo.ReteooVisitor;
import org.drools.rule.Package;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.ConnectionLayer;
@@ -50,6 +54,8 @@
import org.eclipse.gef.editparts.ZoomManager;
import org.eclipse.gef.ui.parts.GraphicalEditor;
import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
import org.eclipse.swt.SWT;
/**
@@ -107,11 +113,19 @@
}
private RuleBase getRuleBase(String contents) {
- try {
+ 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();
- ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO);
+ RuleBaseConfiguration config = new RuleBaseConfiguration();
+ config.setClassLoader(newLoader);
+ ReteooRuleBase ruleBase = (ReteooRuleBase) RuleBaseFactory.newRuleBase(RuleBase.RETEOO, config);
ruleBase.addPackage(pkg);
return ruleBase;
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java 2008-10-16 15:38:56 UTC (rev 23478)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/view/rules/RulesView.java 2008-10-16 17:56:57 UTC (rev 23479)
@@ -122,6 +122,9 @@
if (pkg == null) {
pkg = DroolsModelBuilder.addPackage(ruleSet, packageName, 0, 0);
}
+ if (drlInfo.getBuilderErrors() != null && drlInfo.getBuilderErrors().length > 0) {
+ return false;
+ }
// add rules
List rules = drlInfo.getPackageDescr().getRules();
for (Iterator iterator = rules.iterator(); iterator.hasNext();) {
More information about the jboss-svn-commits
mailing list