[jboss-svn-commits] JBL Code SVN: r21396 - in labs/jbossrules/branches/Branch_4_0_2_SOA_4_2: documentation/manual/en and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 7 14:07:11 EDT 2008


Author: tirelli
Date: 2008-08-07 14:07:11 -0400 (Thu, 07 Aug 2008)
New Revision: 21396

Added:
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/ClassTypeResolverTest.java
Removed:
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/codehaus/
Modified:
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/Person.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/server/repository/RulesRepositoryManager.java
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml
   labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml
Log:
Merging changes from 4.0.x branch from revision #18895 to revision #21394

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/documentation/manual/en/master.xml	2008-08-07 18:07:11 UTC (rev 21396)
@@ -217,4 +217,4 @@
   </part>
 
   <index />
-</book>
\ No newline at end of file
+</book>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-analytics/pom.xml	2008-08-07 18:07:11 UTC (rev 21396)
@@ -48,4 +48,4 @@
      <artifactId>xstream</artifactId>
     </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-compiler/src/test/java/org/drools/integrationtests/MultithreadTest.java	2008-08-07 18:07:11 UTC (rev 21396)
@@ -277,7 +277,7 @@
         Package pkg = builder.getPackage();
         ruleBase.addPackage( pkg );
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
-        workingMemory.addEventListener( new DebugAgendaEventListener() );
+        //workingMemory.addEventListener( new DebugAgendaEventListener() );
 
         Runnable runnable = new Runnable() {
             public void run() {

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/main/java/org/drools/base/ClassTypeResolver.java	2008-08-07 18:07:11 UTC (rev 21396)
@@ -236,9 +236,10 @@
             }
 
             // maybe its a nested class?
-            if ( clazz == null ) {
+            int lastIndex;
+            while ( clazz == null && (lastIndex = qualifiedClass.lastIndexOf( '.' )) != -1 ) {
                 try {
-                    final int lastIndex = qualifiedClass.lastIndexOf( '.' );
+
                     qualifiedClass = qualifiedClass.substring( 0,
                                                                lastIndex ) + "$" + qualifiedClass.substring( lastIndex + 1 );
                     clazz = this.classLoader.loadClass( qualifiedClass );

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/Person.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/Person.java	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/Person.java	2008-08-07 18:07:11 UTC (rev 21396)
@@ -117,4 +117,12 @@
         this.addressArray = addressArray;
     }
     
+    public static class Nested1 {
+        public static class Nested2 {
+            public static class Nested3 {
+                
+            }   
+        }        
+    }     
+    
 }

Copied: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/ClassTypeResolverTest.java (from rev 21394, labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/base/ClassTypeResolverTest.java)
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/ClassTypeResolverTest.java	                        (rev 0)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-core/src/test/java/org/drools/base/ClassTypeResolverTest.java	2008-08-07 18:07:11 UTC (rev 21396)
@@ -0,0 +1,218 @@
+/**
+ * 
+ */
+package org.drools.base;
+
+import java.util.HashSet;
+
+import junit.framework.TestCase;
+
+import org.drools.Cheese;
+import org.drools.FirstClass;
+import org.drools.SecondClass;
+import org.drools.base.ClassTypeResolver;
+
+/**
+ * @author fburlet
+ *
+ */
+public class ClassTypeResolverTest extends TestCase {
+
+    public void testResolvePrimtiveTypes() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver(new HashSet(), Thread.currentThread().getContextClassLoader());
+        assertEquals( boolean.class,
+                      resolver.resolveType( "boolean" ) );
+        assertEquals( double.class,
+                      resolver.resolveType( "double" ) );
+        assertEquals( float.class,
+                      resolver.resolveType( "float" ) );
+        assertEquals( int.class,
+                      resolver.resolveType( "int" ) );
+        assertEquals( char.class,
+                      resolver.resolveType( "char" ) );
+        assertEquals( long.class,
+                      resolver.resolveType( "long" ) );
+        assertEquals( byte.class,
+                      resolver.resolveType( "byte" ) );
+        assertEquals( short.class,
+                      resolver.resolveType( "short" ) );
+    }
+
+    public void testResolveArrayOfPrimitiveTypes() throws Exception {
+        final ClassTypeResolver resolver =  new ClassTypeResolver(new HashSet(), Thread.currentThread().getContextClassLoader());
+        assertEquals( boolean[].class,
+                      resolver.resolveType( "boolean[]" ) );
+        assertEquals( double[].class,
+                      resolver.resolveType( "double[]" ) );
+        assertEquals( float[].class,
+                      resolver.resolveType( "float[]" ) );
+        assertEquals( int[].class,
+                      resolver.resolveType( "int[]" ) );
+        assertEquals( char[].class,
+                      resolver.resolveType( "char[]" ) );
+        assertEquals( long[].class,
+                      resolver.resolveType( "long[]" ) );
+        assertEquals( byte[].class,
+                      resolver.resolveType( "byte[]" ) );
+        assertEquals( short[].class,
+                      resolver.resolveType( "short[]" ) );
+    }
+
+    public void testResolveMultidimensionnalArrayOfPrimitiveTypes() throws Exception {
+        final ClassTypeResolver resolver =  new ClassTypeResolver(new HashSet(), Thread.currentThread().getContextClassLoader());
+        assertEquals( int[][].class,
+                      resolver.resolveType( "int[][]" ) );
+        assertEquals( int[][][].class,
+                      resolver.resolveType( "int[][][]" ) );
+        assertEquals( int[][][][].class,
+                      resolver.resolveType( "int[][][][]" ) );
+    }
+
+    public void testResolveObjectNotFromImport() throws Exception {
+        final ClassTypeResolver resolver =  new ClassTypeResolver(new HashSet(), Thread.currentThread().getContextClassLoader());
+        assertEquals( String.class,
+                      resolver.resolveType( "String" ) );
+        assertEquals( String.class,
+                      resolver.resolveType( "java.lang.String" ) );
+        try {
+            assertEquals( Cheese.class,
+                          resolver.resolveType( "Cheese" ) );
+            fail( "Should raise a ClassNotFoundException" );
+        } catch ( final ClassNotFoundException e ) {
+            // success
+        }
+        assertEquals( Cheese.class,
+                      resolver.resolveType( "org.drools.Cheese" ) );
+    }
+
+    public void testResolveObjectFromImport() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver( new HashSet(), Thread.currentThread().getContextClassLoader() );
+        resolver.addImport( "org.drools.Cheese" );
+        resolver.addImport( "org.drools.FirstClass" );
+        resolver.addImport( "org.drools.FirstClass.AlternativeKey" );
+        resolver.addImport( "org.drools.SecondClass" );
+        resolver.addImport( "org.drools.SecondClass.AlternativeKey" );        
+        
+        assertEquals( String.class,
+                      resolver.resolveType( "String" ) );
+        assertEquals( String.class,
+                      resolver.resolveType( "java.lang.String" ) );
+        assertEquals( Cheese.class,
+                      resolver.resolveType( "Cheese" ) );
+        assertEquals( Cheese.class,
+                      resolver.resolveType( "org.drools.Cheese" ) );
+        assertEquals( FirstClass.class,
+                      resolver.resolveType( "org.drools.FirstClass" ) );
+        assertEquals( FirstClass.AlternativeKey.class,
+                      resolver.resolveType( "org.drools.FirstClass.AlternativeKey" ) );
+
+        assertEquals( SecondClass.class,
+                      resolver.resolveType( "org.drools.SecondClass" ) );
+        assertEquals( SecondClass.AlternativeKey.class,
+                      resolver.resolveType( "org.drools.SecondClass.AlternativeKey" ) );
+    }
+    
+    public void testResolveObjectFromImportMultipleClassesDifferentPackages() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver( new HashSet(), Thread.currentThread().getContextClassLoader() );
+        resolver.addImport( "org.drools.Cheese" );
+        assertEquals( String.class,
+                      resolver.resolveType( "String" ) );
+        assertEquals( String.class,
+                      resolver.resolveType( "java.lang.String" ) );
+        assertEquals( Cheese.class,
+                      resolver.resolveType( "Cheese" ) );
+        assertEquals( Cheese.class,
+                      resolver.resolveType( "org.drools.Cheese" ) );
+    }
+
+    public void testResolveArrayOfObjectsNotFromImport() throws Exception {
+        final ClassTypeResolver resolver =  new ClassTypeResolver(new HashSet(), Thread.currentThread().getContextClassLoader());
+        assertEquals( String[].class,
+                      resolver.resolveType( "String[]" ) );
+        assertEquals( String[].class,
+                      resolver.resolveType( "java.lang.String[]" ) );
+        try {
+            assertEquals( Cheese[].class,
+                          resolver.resolveType( "Cheese[]" ) );
+            fail( "Should raise a ClassNotFoundException" );
+        } catch ( final ClassNotFoundException e ) {
+            // success
+        }
+        assertEquals( Cheese[].class,
+                      resolver.resolveType( "org.drools.Cheese[]" ) );
+    }
+
+    public void testResolveArrayOfObjectsFromImport() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver( new HashSet(), Thread.currentThread().getContextClassLoader() );
+        resolver.addImport( "org.drools.Cheese" );
+        assertEquals( String[].class,
+                      resolver.resolveType( "String[]" ) );
+        assertEquals( String[].class,
+                      resolver.resolveType( "java.lang.String[]" ) );
+        assertEquals( Cheese[].class,
+                      resolver.resolveType( "Cheese[]" ) );
+        assertEquals( Cheese[].class,
+                      resolver.resolveType( "org.drools.Cheese[]" ) );
+    }
+
+    public void testResolveMultidimensionnalArrayOfObjectsNotFromImport() throws Exception {
+        final ClassTypeResolver resolver =  new ClassTypeResolver(new HashSet(), Thread.currentThread().getContextClassLoader());
+        assertEquals( String[][].class,
+                      resolver.resolveType( "String[][]" ) );
+        assertEquals( String[][].class,
+                      resolver.resolveType( "java.lang.String[][]" ) );
+        try {
+            assertEquals( Cheese[][].class,
+                          resolver.resolveType( "Cheese[][]" ) );
+            fail( "Should raise a ClassNotFoundException" );
+        } catch ( final ClassNotFoundException e ) {
+            // success
+        }
+        assertEquals( Cheese[][].class,
+                      resolver.resolveType( "org.drools.Cheese[][]" ) );
+    }
+
+    public void testResolveMultidimensionnalArrayOfObjectsFromImport() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver( new HashSet(), Thread.currentThread().getContextClassLoader() );
+        resolver.addImport( "org.drools.Cheese" );
+        assertEquals( String[][].class,
+                      resolver.resolveType( "String[][]" ) );
+        assertEquals( String[][].class,
+                      resolver.resolveType( "java.lang.String[][]" ) );
+        assertEquals( Cheese[][].class,
+                      resolver.resolveType( "Cheese[][]" ) );
+        assertEquals( Cheese[][].class,
+                      resolver.resolveType( "org.drools.Cheese[][]" ) );
+    }
+    
+    public void testDefaultPackageImport() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver( new HashSet(), Thread.currentThread().getContextClassLoader() );
+        resolver.addImport( "Goo" );
+        try {
+            resolver.resolveType( "Goo" );
+            fail( "Can't import default namespace classes");
+        } catch ( ClassNotFoundException e) {
+            // swallow as this should be thrown
+        }
+    }
+    
+    public void testNestedClassResolving() throws Exception {
+        final ClassTypeResolver resolver = new ClassTypeResolver( new HashSet(), Thread.currentThread().getContextClassLoader() );
+        
+        // single nesting
+        resolver.addImport( "org.drools.Person.Nested1" );    
+        assertEquals( org.drools.Person.Nested1.class,
+                      resolver.resolveType( "Nested1" ) );
+        
+        // double nesting
+        resolver.addImport( "org.drools.Person.Nested1.Nested2" );    
+        assertEquals( org.drools.Person.Nested1.Nested2.class,
+                      resolver.resolveType( "Nested2" ) );        
+        
+        // triple nesting
+        resolver.addImport( "org.drools.Person.Nested1.Nested2.Nested3" );    
+        assertEquals( org.drools.Person.Nested1.Nested2.Nested3.class,
+                      resolver.resolveType( "Nested3" ) );          
+        
+    }    
+}

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.2/pom.xml	2008-08-07 18:07:11 UTC (rev 21396)
@@ -73,7 +73,7 @@
                       fork="true"
                       failonerror="true"
                       maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -DmavenCompilePhase=true"/>
+                     <arg line="-application org.eclipse.ant.core.antRunner -consoleLog -data '${basedir}/target/workspace' -DmavenCompilePhase=true"/>
                 </java>                 
              </tasks>
            </configuration>
@@ -161,13 +161,13 @@
               
                 <property name="eclipse.home" value="target/eclipse" />                             
                 
-                <echo>-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}</echo>
+                <echo>-application org.eclipse.ant.core.antRunner -consoleLog -data '${basedir}/target/workspace' -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}</echo>
                  
                 <java jar="${eclipse.home}/startup.jar"
                       fork="true"
                       failonerror="true"
                       maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
+                     <arg line="-application org.eclipse.ant.core.antRunner -consoleLog -data '${basedir}/target/workspace' -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
                 </java>                 
              </tasks>
            </configuration>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-eclipse3.3/pom.xml	2008-08-07 18:07:11 UTC (rev 21396)
@@ -73,7 +73,7 @@
                       fork="true"
                       failonerror="true"
                       maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -DmavenCompilePhase=true"/>
+                     <arg line="-application org.eclipse.ant.core.antRunner -consoleLog -data '${basedir}/target/workspace' -DmavenCompilePhase=true"/>
                 </java>                 
              </tasks>
            </configuration>
@@ -167,7 +167,7 @@
                       fork="true"
                       failonerror="true"
                       maxmemory="128m">
-                     <arg line="-application org.eclipse.ant.core.antRunner -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
+                     <arg line="-application org.eclipse.ant.core.antRunner -consoleLog -data '${basedir}/target/workspace' -Dbaseos=${baseos} -Dbasews=${basews} -Dbasearch=${basearch} ${mavenTestPhase}"/>
                 </java>                 
              </tasks>
            </configuration>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/server/repository/RulesRepositoryManager.java
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/server/repository/RulesRepositoryManager.java	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-jbrms/src/main/java/org/drools/brms/server/repository/RulesRepositoryManager.java	2008-08-07 18:07:11 UTC (rev 21396)
@@ -1,13 +1,13 @@
 package org.drools.brms.server.repository;
 /*
  * Copyright 2005 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.
@@ -39,13 +39,13 @@
 public class RulesRepositoryManager {
 
     private static String READ_ONLY_USER = "anonymous";
-    
-    @In 
+
+    @In
     BRMSRepositoryConfiguration repositoryConfiguration;
-    
+
     private RulesRepository repository;
-    
-    
+
+
     @Create
     public void create() {
         String userName = READ_ONLY_USER;
@@ -54,20 +54,20 @@
         }
         if (userName == null) {
             userName = READ_ONLY_USER;
-        }        
+        }
         repository = new RulesRepository(repositoryConfiguration.newSession(userName) );
     }
-    
+
     @Unwrap
     public RulesRepository getRepository() {
         return repository;
     }
-    
+
     @Destroy
-    void close() {
+    public void close() {
         repository.logout();
     }
-    
 
-    
+
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/drools-repository/pom.xml	2008-08-07 18:07:11 UTC (rev 21396)
@@ -5,7 +5,7 @@
   <parent>
     <artifactId>drools</artifactId>
     <groupId>org.drools</groupId>
-	  <version>4.0.7</version>
+    <version>4.0.7</version>
   </parent>
 
   <artifactId>drools-repository</artifactId>

Modified: labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml
===================================================================
--- labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml	2008-08-07 17:34:53 UTC (rev 21395)
+++ labs/jbossrules/branches/Branch_4_0_2_SOA_4_2/pom.xml	2008-08-07 18:07:11 UTC (rev 21396)
@@ -737,8 +737,13 @@
       </dependency>
 	    <dependency>
         <groupId>org.mvel</groupId>
+<<<<<<< .working
         <artifactId>mvel</artifactId>
         <version>1.3.1-java1.4</version>
+=======
+        <artifactId>mvel</artifactId>
+        <version>1.3.9-java1.4</version>
+>>>>>>> .merge-right.r21394
       </dependency>
 
       <!-- drools-compiler -->




More information about the jboss-svn-commits mailing list