[jboss-svn-commits] JBL Code SVN: r9007 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 24 08:33:32 EST 2007


Author: tirelli
Date: 2007-01-24 08:33:32 -0500 (Wed, 24 Jan 2007)
New Revision: 9007

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Process.java
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/codehaus/jfdi/interpreter/ClassTypeResolver.java
Log:
JBRULES-615: fixing class name conflicts with java.lang.* classes

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2007-01-24 13:25:37 UTC (rev 9006)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java	2007-01-24 13:33:32 UTC (rev 9007)
@@ -407,7 +407,6 @@
                                                        this.pkg.getPackageCompilationData().getClassLoader() );
             // make an automatic import for the current package
             this.typeResolver.addImport( this.pkg.getName() + ".*" );
-            this.typeResolver.addImport( "java.lang.*" );
         }
         return this.typeResolver;
     }

Copied: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Process.java (from rev 9006, labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Process.java)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Process.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Process.java	2007-01-24 13:33:32 UTC (rev 9007)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2006 JBoss Inc
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools;
+
+/**
+ * @author etirelli
+ *
+ */
+public class Process {
+    private String name;
+    
+    public Process() {
+    }
+    
+    public Process( String name ) {
+        this.name = name;
+    }
+
+    /**
+     * @return the name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+    
+
+}

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-01-24 13:25:37 UTC (rev 9006)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-01-24 13:33:32 UTC (rev 9007)
@@ -3836,4 +3836,19 @@
         workingMemory.fireAllRules();
     }
 
+    public void testImportConflict() throws Exception {
+        try {
+            final RuleBase ruleBase = getRuleBase();
+            final PackageBuilder builder = new PackageBuilder();
+            builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ImportConflict.drl" ) ) );
+            final Package pkg = builder.getPackage();
+            ruleBase.addPackage( pkg );
+        } catch ( RuntimeException e ) {
+            e.printStackTrace();
+            fail("No exeception should be raised.");
+        }
+
+    }
+
+
 }

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl (from rev 9006, labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl	2007-01-24 13:33:32 UTC (rev 9007)
@@ -0,0 +1,10 @@
+package org.example;
+
+import org.drools.Process
+
+rule "A rule"
+    when
+        p:Process( )
+    then
+        // do something
+end

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/codehaus/jfdi/interpreter/ClassTypeResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/codehaus/jfdi/interpreter/ClassTypeResolver.java	2007-01-24 13:25:37 UTC (rev 9006)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/codehaus/jfdi/interpreter/ClassTypeResolver.java	2007-01-24 13:33:32 UTC (rev 9007)
@@ -144,6 +144,15 @@
                 }
             }
 
+            // make a last try using java.lang.* package
+            if( validClazzCandidates.isEmpty() ) {
+                clazz = importClass( "java.lang.*",
+                                     className );
+                if ( clazz != null ) {
+                    validClazzCandidates.add( clazz );
+                }
+            }
+
             // If there are more than one possible resolutions, complain about
             // the ambiguity
             if ( validClazzCandidates.size() > 1 ) {




More information about the jboss-svn-commits mailing list