[jboss-svn-commits] JBL Code SVN: r9006 - in labs/jbossrules/branches/3.0.x/drools-compiler/src: main/java/org/drools/semantics/java and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 24 08:25:37 EST 2007


Author: tirelli
Date: 2007-01-24 08:25:37 -0500 (Wed, 24 Jan 2007)
New Revision: 9006

Added:
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Process.java
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl
Modified:
   labs/jbossrules/branches/3.0.x/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java
   labs/jbossrules/branches/3.0.x/drools-compiler/src/main/java/org/drools/semantics/java/ClassTypeResolver.java
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
Log:
JBRULES-615: Fixing class name conflicts with java.lang.* classes.



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

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/main/java/org/drools/semantics/java/ClassTypeResolver.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/main/java/org/drools/semantics/java/ClassTypeResolver.java	2007-01-24 11:05:06 UTC (rev 9005)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/main/java/org/drools/semantics/java/ClassTypeResolver.java	2007-01-24 13:25:37 UTC (rev 9006)
@@ -121,6 +121,14 @@
                     validClazzCandidates.add( clazz );
                 }
             }
+            // 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

Added: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Process.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Process.java	                        (rev 0)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Process.java	2007-01-24 13:25:37 UTC (rev 9006)
@@ -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;
+    }
+    
+    
+
+}


Property changes on: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Process.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + id author date revision
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-01-24 11:05:06 UTC (rev 9005)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2007-01-24 13:25:37 UTC (rev 9006)
@@ -3121,5 +3121,20 @@
         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.");
+        }
+
+    }
+
+
 }

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


Property changes on: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ImportConflict.drl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list