[jboss-svn-commits] JBL Code SVN: r10958 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/server and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 12 23:56:08 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-04-12 23:56:08 -0400 (Thu, 12 Apr 2007)
New Revision: 10958

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/AssetAssembler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/PackageAssembler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/package.html
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DRLFileContentHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLDefinitionContentHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/FunctionContentHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/IRuleAsset.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/assembler/
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/assembler/PackageAssemblerTest.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java
Log:
JBRULES-773 BRMS assembler

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css	2007-04-13 02:23:23 UTC (rev 10957)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css	2007-04-13 03:56:08 UTC (rev 10958)
@@ -341,6 +341,10 @@
   background-color: #ccc;
 }
 
+.category-explorer-Tree {
+  width: 100%;
+}
+
 .rule-warning-Popup {
   background-color: yellow;
   border: 1px solid #aaaa99;

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/AssetAssembler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/AssetAssembler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/AssetAssembler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,12 @@
+package org.drools.brms.server.assembler;
+
+import org.drools.repository.AssetItem;
+import org.drools.repository.PackageItem;
+
+public class AssetAssembler {
+
+    public void process(AssetItem item, PackageItem pkg) {
+        
+    }
+    
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/AssetAssembler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/PackageAssembler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/PackageAssembler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/PackageAssembler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,39 @@
+package org.drools.brms.server.assembler;
+
+import org.drools.lang.descr.PackageDescr;
+import org.drools.repository.PackageItem;
+import org.drools.rule.Package;
+
+public class PackageAssembler {
+
+    
+    public void parsePackage(PackageItem pkgSource) {
+
+
+    }
+
+    
+    public String getPackageDRL() {
+        return null;
+    }
+    
+    public PackageDescr getAST() {
+        return null;
+    }
+    
+    public Package getBinaryPackage() {
+        return null;
+    }
+    
+
+    //OK OK, will need error handling...
+    public boolean hasErrors() {
+        return false;
+    }
+    
+    public String[] listErrors() {
+        return null;
+    }
+    
+    
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/PackageAssembler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/package.html
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/package.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/package.html	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,3 @@
+<body>
+	This package contains utilities for building and validating rule assets in the BRMS.
+</body>
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/assembler/package.html
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java	2007-04-13 02:23:23 UTC (rev 10957)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -24,11 +24,11 @@
         handlers = new HashMap() {{
             put(AssetFormats.BUSINESS_RULE, new BRXMLContentHandler());
             put(AssetFormats.DSL_TEMPLATE_RULE, new DSLRuleContentHandler());
-            put(AssetFormats.DRL, new PlainTextContentHandler());
-            put(AssetFormats.DSL, new PlainTextContentHandler());
-            put(AssetFormats.FUNCTION, new PlainTextContentHandler());
+            put(AssetFormats.DRL, new DRLFileContentHandler());
+            put(AssetFormats.DSL, new DSLDefinitionContentHandler());
+            put(AssetFormats.FUNCTION, new FunctionContentHandler());
             put(AssetFormats.MODEL, new ModelContentHandler());
-            put(AssetFormats.TECHNICAL_RULE, new PlainTextContentHandler());
+            put(AssetFormats.TECHNICAL_RULE, new DRLFileContentHandler());
             
         }};        
     }

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DRLFileContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DRLFileContentHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DRLFileContentHandler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,5 @@
+package org.drools.brms.server.contenthandler;
+
+public class DRLFileContentHandler extends PlainTextContentHandler {
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DRLFileContentHandler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLDefinitionContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLDefinitionContentHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLDefinitionContentHandler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,5 @@
+package org.drools.brms.server.contenthandler;
+
+public class DSLDefinitionContentHandler extends PlainTextContentHandler {
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLDefinitionContentHandler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java	2007-04-13 02:23:23 UTC (rev 10957)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -7,7 +7,7 @@
 
 import com.google.gwt.user.client.rpc.SerializableException;
 
-public class DSLRuleContentHandler extends ContentHandler {
+public class DSLRuleContentHandler extends ContentHandler implements IRuleAsset {
 
 
     public void retrieveAssetContent(RuleAsset asset,

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/FunctionContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/FunctionContentHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/FunctionContentHandler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,5 @@
+package org.drools.brms.server.contenthandler;
+
+public class FunctionContentHandler extends PlainTextContentHandler {
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/FunctionContentHandler.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/IRuleAsset.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/IRuleAsset.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/IRuleAsset.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,11 @@
+package org.drools.brms.server.contenthandler;
+
+/**
+ * This inferface indicates that an asset is a rule asset content type, 
+ * ie not a model, dsl etc that supports package compilation.
+ * 
+ * @author Michael Neale
+ */
+public interface IRuleAsset {
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/IRuleAsset.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java	2007-04-13 02:23:23 UTC (rev 10957)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -7,7 +7,7 @@
 
 import com.google.gwt.user.client.rpc.SerializableException;
 
-public class PlainTextContentHandler extends ContentHandler {
+public abstract class PlainTextContentHandler extends ContentHandler {
 
 
     public void retrieveAssetContent(RuleAsset asset,

Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/assembler/PackageAssemblerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/assembler/PackageAssemblerTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/assembler/PackageAssemblerTest.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,64 @@
+package org.drools.brms.server.assembler;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.jar.JarEntry;
+import java.util.jar.JarInputStream;
+
+import org.drools.brms.client.rpc.PackageConfigData;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.resource.util.ByteArrayClassLoader;
+
+import junit.framework.TestCase;
+
+public class PackageAssemblerTest extends TestCase {
+
+    public void testDummy() {}
+    
+    public void testPartialPackage() throws Exception {
+        ByteArrayClassLoader loader = new ByteArrayClassLoader( this.getClass().getClassLoader() );
+
+        JarInputStream jis = new JarInputStream( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
+        JarEntry entry = null;
+        byte[] buf = new byte[1024];
+        int len = 0;
+        while ( (entry = jis.getNextJarEntry()) != null ) {
+            if ( !entry.isDirectory() ) {
+                ByteArrayOutputStream out = new ByteArrayOutputStream();
+                while ( (len = jis.read( buf )) >= 0 ) {
+                    out.write( buf, 0, len );
+                }
+                loader.addResource( entry.getName(), out.toByteArray() );
+            }
+        }
+        
+        //now we have a loader
+        
+        PackageBuilderConfiguration config = new PackageBuilderConfiguration();
+        config.setClassLoader( loader );
+        
+        assertSame(loader, config.getClassLoader());
+        
+        
+        PackageBuilder builder = new PackageBuilder(config);
+        
+        
+        
+        String header = "package foo.bar\n import com.billasurf.Person\n import com.billasurf.Board";
+        builder.addPackageFromDrl( new StringReader(header) );
+        assertFalse(builder.hasErrors());
+        
+
+        
+        String ruleAtom = "package foo.bar rule foo \n when \n Person() \n then \n System.out.println(42); end";
+        builder.addPackageFromDrl( new StringReader(ruleAtom) );
+        if (builder.hasErrors()) {            
+            System.err.println(builder.getErrors()[0].getMessage());
+        }
+        assertFalse(builder.hasErrors());
+
+    }
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/assembler/PackageAssemblerTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java	2007-04-13 03:56:08 UTC (rev 10958)
@@ -0,0 +1,16 @@
+package org.drools.brms.server.contenthandler;
+
+import org.drools.brms.client.common.AssetFormats;
+
+import junit.framework.TestCase;
+
+public class ContentHandlerTest extends TestCase {
+
+    public void testContentFormat() {
+        assertTrue(ContentHandler.getHandler( AssetFormats.DRL ) instanceof DRLFileContentHandler);
+        assertTrue(ContentHandler.getHandler( AssetFormats.DSL ) instanceof DSLDefinitionContentHandler);
+        assertTrue(ContentHandler.getHandler( AssetFormats.BUSINESS_RULE ) instanceof BRXMLContentHandler);
+
+    }
+    
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list