[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