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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 17 12:41:54 EDT 2008


Author: KrisVerlaenen
Date: 2008-10-17 12:41:54 -0400 (Fri, 17 Oct 2008)
New Revision: 23498

Modified:
   labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
Log:
 -fixed classpath issue with building processes

Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-10-17 16:23:06 UTC (rev 23497)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/DroolsEclipsePlugin.java	2008-10-17 16:41:54 UTC (rev 23498)
@@ -24,6 +24,7 @@
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
+import org.drools.compiler.DialectCompiletimeRegistry;
 import org.drools.compiler.DrlParser;
 import org.drools.compiler.DroolsError;
 import org.drools.compiler.DroolsParserException;
@@ -470,14 +471,28 @@
         try {
             ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
             ClassLoader newLoader = this.getClass().getClassLoader();
+            String level = null;
+            if ( resource.getProject().getNature( "org.eclipse.jdt.core.javanature" ) != null ) {
+                IJavaProject project = JavaCore.create( resource.getProject() );
+                newLoader = ProjectClassLoader.getProjectClassLoader( project );
+                level = project.getOption( JavaCore.COMPILER_COMPLIANCE,
+                                           true );
+            }
             try {
                 Thread.currentThread().setContextClassLoader( newLoader );
                 PackageBuilderConfiguration configuration = new PackageBuilderConfiguration();
+                if ( level != null ) {
+                    JavaDialectConfiguration javaConf = (JavaDialectConfiguration) configuration.getDialectConfiguration( "java" );
+                    javaConf.setJavaLanguageLevel( level );
+                }
+                configuration.setClassLoader( newLoader );
+                
                 XmlProcessReader xmlReader = new XmlProcessReader( configuration.getSemanticModules() );
                 Process process = xmlReader.read( new StringReader( input ) );
                 if ( process != null ) {
                     return parseProcess( process,
-                                         resource );
+                                         resource,
+                                         configuration );
                 } else {
                     throw new IllegalArgumentException( "Could not parse process " + resource );
                 }
@@ -495,8 +510,9 @@
     }
 
     public ProcessInfo parseProcess(Process process,
-                                    IResource resource) {
-        PackageBuilder packageBuilder = new PackageBuilder();
+                                    IResource resource,
+                                    PackageBuilderConfiguration config) {
+        PackageBuilder packageBuilder = new PackageBuilder( config );
         ProcessBuilder processBuilder = new ProcessBuilder( packageBuilder );
         processBuilder.buildProcess( process );
         ProcessInfo processInfo = new ProcessInfo( process.getId(),




More information about the jboss-svn-commits mailing list