[jboss-svn-commits] JBL Code SVN: r25216 - in labs/jbossrules/trunk: drools-guvnor/src/test/java/org/drools/guvnor/server/builder and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 10 20:10:23 EST 2009


Author: tirelli
Date: 2009-02-10 20:10:23 -0500 (Tue, 10 Feb 2009)
New Revision: 25216

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java
Log:
JBRULES-1963: fixing class resolution for inner classes

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java	2009-02-11 01:05:25 UTC (rev 25215)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java	2009-02-11 01:10:23 UTC (rev 25216)
@@ -211,17 +211,22 @@
 
         return clazz;
     }
-
+    
     private Class importClass(final String importText,
                               final String className) {
         String qualifiedClass = null;
         Class clazz = null;
+        
+        String simpleClassName = ( className.indexOf( '.' ) > 0 ) ? className.split( "\\." )[0] : className;
 
         if ( importText.endsWith( "*" ) ) {
             qualifiedClass = importText.substring( 0,
                                                    importText.indexOf( '*' ) ) + className;
         } else if ( importText.endsWith( "." + className ) ) {
             qualifiedClass = importText;
+        } else if ( importText.endsWith( simpleClassName ) ) {
+            // resolves inner classes
+            qualifiedClass = importText + className.substring( className.indexOf( '.' ) );
         } else if ( importText.equals( className ) ) {
             qualifiedClass = importText;
         }

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java	2009-02-11 01:05:25 UTC (rev 25215)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/builder/ContentPackageAssemblerTest.java	2009-02-11 01:10:23 UTC (rev 25216)
@@ -452,8 +452,7 @@
         model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/eventing-example.jar" ) );
         model.checkin( "" );
 
-        //OK I have no idea why I need to put in the .Status import - apparently outside of guvnor you do not. 
-        ServiceImplementation.updateDroolsHeader( "import org.drools.examples.eventing.EventRequest\nimport org.drools.examples.eventing.EventRequest.Status",
+        ServiceImplementation.updateDroolsHeader( "import org.drools.examples.eventing.EventRequest\n",
                                                   pkg );
         AssetItem asset = pkg.addAsset("whee", "");
         asset.updateFormat(AssetFormats.DRL);




More information about the jboss-svn-commits mailing list