[jboss-svn-commits] JBL Code SVN: r26919 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/guvnor/client/modeldriven and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 11 02:15:03 EDT 2009
Author: Rikkola
Date: 2009-06-11 02:15:03 -0400 (Thu, 11 Jun 2009)
New Revision: 26919
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/JarWithSourceFiles.jar
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine2Test.java
Log:
GUVNOR-353 : Error while loading a model jar in Guvnor
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java 2009-06-11 02:33:45 UTC (rev 26918)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/guvnor/server/rules/SuggestionCompletionLoader.java 2009-06-11 06:15:03 UTC (rev 26919)
@@ -278,7 +278,6 @@
*/
private void populateModelInfo(final PackageDescr pkgDescr,
final List jars) {
- //FIX nheron
for (final Iterator it = pkgDescr.getImports().iterator(); it.hasNext();) {
final ImportDescr imp = (ImportDescr) it.next();
final String className = imp.getTarget();
@@ -471,7 +470,7 @@
final byte[] buf = new byte[1024];
int len ;
while ((entry = jis.getNextJarEntry()) != null) {
- if (!entry.isDirectory()) {
+ if (!entry.isDirectory() && entry.getName().endsWith( ".class" )) {
final ByteArrayOutputStream out = new ByteArrayOutputStream();
while ((len = jis.read(buf)) >= 0) {
out.write(buf,
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine2Test.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine2Test.java 2009-06-11 02:33:45 UTC (rev 26918)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine2Test.java 2009-06-11 06:15:03 UTC (rev 26919)
@@ -1,7 +1,12 @@
package org.drools.guvnor.client.modeldriven;
+import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
+import java.util.jar.JarInputStream;
import junit.framework.TestCase;
@@ -34,6 +39,43 @@
}
+ public void testJarFileWithSourceFiles() {
+ SuggestionCompletionLoader loader = new SuggestionCompletionLoader();
+
+ // Add jar file
+ String header = "package foo \n import org.test.Person \n import org.test.Banana \n ";
+ List jars = new ArrayList();
+ JarInputStream jis = null;
+ SuggestionCompletionEngine suggestionCompletionEngine = null;
+
+ try {
+ jis = new JarInputStream( this.getClass().getResourceAsStream( "/JarWithSourceFiles.jar" ) );
+ jars.add( jis );
+ } catch ( IOException e ) {
+ fail( "Could not load jar" );
+ }
+
+ try {
+ suggestionCompletionEngine = loader.getSuggestionEngine( header,
+ jars,
+ new ArrayList() );
+ } catch ( ClassFormatError e ) {
+ fail( "Can not load suggestions " + e );
+ }
+
+ // Check that it throws no error and has class files inside.
+ assertNotNull( jis );
+ assertNotNull( suggestionCompletionEngine );
+ assertEquals( 2,
+ suggestionCompletionEngine.getFactTypes().length );
+
+ List<String> list = Arrays.asList( suggestionCompletionEngine.getFactTypes() );
+
+ assertTrue( list.contains( "Person" ) );
+ assertTrue( list.contains( "Banana" ) );
+
+ }
+
private boolean allowedMethod(String methodName) {
return ("hashCode".equals( methodName ) || "equals".equals( methodName ) || "listIterator".equals( methodName ) || "lastIndexOf".equals( methodName ) || "indexOf".equals( methodName ) || "subList".equals( methodName )
|| "get".equals( methodName ) || "isEmpty".equals( methodName ) || "containsKey".equals( methodName ) || "values".equals( methodName ) || "entrySet".equals( methodName ) || "containsValue".equals( methodName )
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/JarWithSourceFiles.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/JarWithSourceFiles.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the jboss-svn-commits
mailing list