[jboss-svn-commits] JBL Code SVN: r26943 - in labs/jbossrules/trunk/drools-guvnor/src: main/java/org/drools/guvnor/server/builder and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 12 07:06:14 EDT 2009


Author: Rikkola
Date: 2009-06-12 07:06:13 -0400 (Fri, 12 Jun 2009)
New Revision: 26943

Added:
   labs/jbossrules/trunk/drools-guvnor/src/test/resources/jarWithSourceFiles.jar
Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java
Log:
GUVNOR-367 : Magic value error when running scenario tests

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2009-06-12 10:43:52 UTC (rev 26942)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2009-06-12 11:06:13 UTC (rev 26943)
@@ -1797,11 +1797,11 @@
 
             ClassLoader cl = ((InternalRuleBase) this.ruleBaseCache.get( item.getUUID() )).getRootClassLoader();
             Thread.currentThread().setContextClassLoader( cl );
-            result= runScenario( scenario,
-                                item,
-                                cl,
-                                rb,
-                                coverage );
+            result = runScenario( scenario,
+                                  item,
+                                  cl,
+                                  rb,
+                                  coverage );
         } catch (Exception e) {
         	if (e instanceof DetailedSerializableException){
         		DetailedSerializableException err = (DetailedSerializableException)e;

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java	2009-06-12 10:43:52 UTC (rev 26942)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/builder/BRMSPackageBuilder.java	2009-06-12 11:06:13 UTC (rev 26943)
@@ -116,7 +116,7 @@
                 byte[] buf = new byte[1024];
                 int len = 0;
                 while ( (entry = jis.getNextJarEntry()) != null ) {
-                    if ( !entry.isDirectory() ) {
+                    if ( !entry.isDirectory() && !entry.getName().endsWith( ".java" ) ) {
                         ByteArrayOutputStream out = new ByteArrayOutputStream();
                         while ( (len = jis.read( buf )) >= 0 ) {
                             out.write( buf, 0, len );

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java	2009-06-12 10:43:52 UTC (rev 26942)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/ServiceImplementationTest.java	2009-06-12 11:06:13 UTC (rev 26943)
@@ -2105,6 +2105,67 @@
 
 
 	}
+	
+	public void testRunScenarioWithJarThatHasSourceFiles() throws Exception {
+	    ServiceImplementation impl = getService();
+	    RulesRepository repo = impl.repository;
+	    
+	    // create our package
+	    PackageItem pkg = repo.createPackage("testRunScenarioWithJarThatHasSourceFiles", "");
+	    AssetItem model = pkg.addAsset("MyModel", "");
+	    model.updateFormat(AssetFormats.MODEL);
+	    model.updateBinaryContentAttachment(this.getClass()
+	                                        .getResourceAsStream("/jarWithSourceFiles.jar"));
+	    model.checkin("");
+	    
+	    ServiceImplementation.updateDroolsHeader("import org.test.Person; \n import org.test.Banana; \n ", pkg);
+	    
+	    AssetItem asset = pkg.addAsset("testRule", "");
+	    asset.updateFormat(AssetFormats.DRL);
+	    asset.updateContent("rule 'MyGoodRule' \n dialect 'mvel' \n when \n Person() \n then \n insert( new Banana() ); \n end");
+	    asset.checkin("");
+	    repo.save();
+	    
+	    Scenario sc = new Scenario();
+	    FactData person = new FactData();
+	    person.name = "p";
+	    person.type = "Person";
+	    
+	    
+	    sc.fixtures.add(person);
+	    sc.fixtures.add(new ExecutionTrace());
+	    VerifyRuleFired vr = new VerifyRuleFired("MyGoodRule", 1, null);
+	    sc.fixtures.add(vr);
+	   
+	    
+	    ScenarioRunResult res = null;
+	    try {
+	        res = impl.runScenario( pkg.getName(),
+                                                      sc ).result;
+        } catch ( ClassFormatError e ) {
+            fail( "Probably failed when loading a source file instead of class file. " + e );
+        }
+	    assertEquals(null, res.errors);
+	    assertNotNull(res.scenario);
+	    assertTrue(vr.wasSuccessful());
+	    
+	    
+	    res = impl.runScenario(pkg.getName(), sc).result;
+	    assertEquals(null, res.errors);
+	    assertNotNull(res.scenario);
+	    assertTrue(vr.wasSuccessful());
+	    
+	    impl.ruleBaseCache.clear();
+	    
+	    res = impl.runScenario(pkg.getName(), sc).result;
+	    assertEquals(null, res.errors);
+	    assertNotNull(res.scenario);
+	    assertTrue(vr.wasSuccessful());
+	    
+	    
+	    
+	    
+	}
 
 	public void testRunPackageScenarios() throws Exception {
 		ServiceImplementation impl = getService();

Added: labs/jbossrules/trunk/drools-guvnor/src/test/resources/jarWithSourceFiles.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-guvnor/src/test/resources/jarWithSourceFiles.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list