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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri May 18 03:48:31 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-05-18 03:48:31 -0400 (Fri, 18 May 2007)
New Revision: 11938

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/ClassicDRLImporter.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/ClassicDRLImporterTest.java
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy.drl
   labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy_with_dsl.drl
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/RepositoryBackupServlet.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/FormData.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java
Log:
JBRULES-858 drl import feature

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java	2007-05-18 04:02:47 UTC (rev 11937)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/FileManagerUtils.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -1,7 +1,10 @@
 package org.drools.brms.server.files;
 
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.util.Iterator;
@@ -15,9 +18,14 @@
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.common.HTMLFileManagerFields;
+import org.drools.brms.server.util.ClassicDRLImporter;
 import org.drools.brms.server.util.FormData;
+import org.drools.brms.server.util.ClassicDRLImporter.Rule;
+import org.drools.compiler.DroolsParserException;
 import org.drools.repository.AssetItem;
+import org.drools.repository.CategoryItem;
 import org.drools.repository.PackageItem;
 import org.drools.repository.RulesRepository;
 import org.drools.repository.RulesRepositoryException;
@@ -38,14 +46,14 @@
 public class FileManagerUtils {
 
     @In
-    public RulesRepository repository;    
-    
+    public RulesRepository repository;
+
     /**
      * This attach a file to an asset.
      */
     @Restrict("#{identity.loggedIn}")
     public void attachFile(FormData uploadItem) throws IOException {
-        
+
         String uuid = uploadItem.getUuid();
         InputStream fileData = uploadItem.getFile().getInputStream();
         String fileName = uploadItem.getFile().getName();
@@ -58,10 +66,8 @@
      * This utility method attaches a file to an asset.
      */
     @Restrict("#{identity.loggedIn}")
-    public void attachFileToAsset(String uuid,
-                                         InputStream fileData,
-                                         String fileName) {
-        
+    public void attachFileToAsset(String uuid, InputStream fileData, String fileName) {
+
         AssetItem item = repository.loadAssetByUUID( uuid );
         item.updateBinaryContentAttachment( fileData );
         item.updateBinaryContentAttachmentFileName( fileName );
@@ -72,8 +78,7 @@
      * The get returns files based on UUID of an asset.
      */
     @Restrict("#{identity.loggedIn}")
-    public String loadFileAttachmentByUUID(String uuid,
-                                 OutputStream out) throws IOException {
+    public String loadFileAttachmentByUUID(String uuid, OutputStream out) throws IOException {
 
         AssetItem item = repository.loadAssetByUUID( uuid );
 
@@ -85,11 +90,10 @@
         return item.getBinaryContentAttachmentFileName();
     }
 
-    
     /**
      * Get the form data from the inbound request.
      */
-    public FormData getFormData(HttpServletRequest request) {
+    public static FormData getFormData(HttpServletRequest request) {
         FileItemFactory factory = new DiskFileItemFactory();
         ServletFileUpload upload = new ServletFileUpload( factory );
 
@@ -109,7 +113,7 @@
             throw new RulesRepositoryException( e );
         }
     }
-    
+
     /**
      * Load up the approproate package version.
      * @param packageName The name of the package. 
@@ -117,42 +121,81 @@
      * @param isLatest true if the latest package binary will be used (ie NOT a snapshot).
      * @return The filename if its all good.
      */
-    public String loadBinaryPackage(String packageName, 
-                                    String packageVersion, 
-                                    boolean isLatest, 
-                                    OutputStream out) throws IOException {
+    public String loadBinaryPackage(String packageName, String packageVersion, boolean isLatest, OutputStream out) throws IOException {
         PackageItem item = null;
-        if (isLatest) {
+        if ( isLatest ) {
             item = repository.loadPackage( packageName );
             byte[] data = item.getCompiledPackageBytes();
             out.write( data );
             out.flush();
-            return packageName + ".pkg";            
+            return packageName + ".pkg";
         } else {
             item = repository.loadPackageSnapshot( packageName, packageVersion );
             byte[] data = item.getCompiledPackageBytes();
             out.write( data );
-            out.flush();       
-            return packageName + "_" + URLEncoder.encode( packageVersion, "UTF-8") + ".pkg";            
+            out.flush();
+            return packageName + "_" + URLEncoder.encode( packageVersion, "UTF-8" ) + ".pkg";
         }
 
-        
     }
-    
+
     public byte[] exportRulesRepository() {
         try {
             return this.repository.exportRulesRepository();
         } catch ( RepositoryException e ) {
-            throw new RulesRepositoryException(e);
+            throw new RulesRepositoryException( e );
         } catch ( IOException e ) {
-            throw new RulesRepositoryException(e);
+            throw new RulesRepositoryException( e );
         }
     }
-    
+
     @Restrict("#{identity.loggedIn}")
     public void importRulesRepository(byte[] data) {
         repository.importRulesRepository( data );
     }
-    
 
+    /**
+     * This will import DRL from a drl file into a more normalised structure.
+     * If the package does not exist, it will be created. 
+     * If it does, it will be "merged" in the sense that any new rules in the drl
+     * will be created as new assets in the repo, everything else will stay as it was
+     * in the repo.
+     */
+    @Restrict("#{identity.loggedIn}")
+    public void importClassicDRL(InputStream drlStream) throws IOException,
+                                                       DroolsParserException {
+
+        ClassicDRLImporter imp = new ClassicDRLImporter( drlStream );
+        PackageItem pkg = null;
+        boolean existing = false;
+        if ( repository.containsPackage( imp.getPackageName() ) ) {
+            pkg = repository.loadPackage( imp.getPackageName() );
+            existing = true;
+        } else {
+            pkg = repository.createPackage( imp.getPackageName(), "<imported>" );
+            pkg.updateHeader( imp.getPackageHeader() );
+        }
+
+
+        for ( Rule rule : imp.getRules() ) {
+
+            if ( existing && pkg.containsAsset( rule.name ) ) {
+                //skip it
+            } else {
+
+                AssetItem asset = pkg.addAsset( rule.name, "<imported>" );
+
+                if ( imp.isDSLEnabled() ) {
+                    asset.updateFormat( AssetFormats.DSL_TEMPLATE_RULE );
+                } else {
+                    asset.updateFormat( AssetFormats.DRL );
+                }
+                asset.updateContent( rule.content );
+                asset.updateExternalSource( "Imported from external DRL" );
+            }
+        }
+
+        repository.save();
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java	2007-05-18 04:02:47 UTC (rev 11937)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -8,6 +8,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.log4j.Logger;
+import org.drools.brms.server.util.FormData;
 
 /**
  * This servlet deals with providing packages in binary form.
@@ -21,12 +22,14 @@
     
 
     /**
-     * post makes no sense in this context.
+     * This is used for importing legacy DRL.
      */
     protected void doPost(HttpServletRequest request,
                           HttpServletResponse response) throws ServletException,
                                                        IOException {
-
+//        FormData data = FileManagerUtils.getFormData( request );
+//        System.err.println("Filename: " + data.getFile().getName());
+        
         response.sendError( HttpServletResponse.SC_METHOD_NOT_ALLOWED, "This servlet only provides packages, they can " +
                 "not be updated via a POST." );
     }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/RepositoryBackupServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/RepositoryBackupServlet.java	2007-05-18 04:02:47 UTC (rev 11937)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/RepositoryBackupServlet.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -33,7 +33,7 @@
                           HttpServletResponse response) throws ServletException,
                                                        IOException {
         response.setContentType( "text/plain" );
-        FormData uploadItem = new FileManagerUtils().getFormData( request );
+        FormData uploadItem = FileManagerUtils.getFormData( request );
         response.getWriter().write(processImportRepository( uploadItem.getFile().getInputStream() ));
     }
 

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/ClassicDRLImporter.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/ClassicDRLImporter.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/ClassicDRLImporter.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -0,0 +1,144 @@
+package org.drools.brms.server.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.DroolsParserException;
+import org.drools.lang.descr.FunctionDescr;
+import org.drools.lang.descr.RuleDescr;
+
+/**
+ * This class imports legacy DRL into a structure suitable for storing more
+ * normalised in the repository.
+ * 
+ * @author Michael Neale
+ */
+public class ClassicDRLImporter {
+
+    private String       source;
+
+    private String       packageName;
+
+    private List<Rule>   rules = new ArrayList<Rule>();
+
+    private StringBuffer header;
+
+    private boolean      usesDSL;
+
+
+
+    
+    public ClassicDRLImporter(InputStream in) throws IOException, DroolsParserException {
+        String line = "";
+        StringBuffer drl = new StringBuffer();
+        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
+        while ( (line = reader.readLine())  != null) {
+            drl.append( "\n" + line);        
+        }
+        this.source = drl.toString();
+        
+        parse();
+    }
+    
+    
+
+    private void parse() throws DroolsParserException {
+        StringTokenizer lines = new StringTokenizer( source,
+                                                     "\r\n" );
+
+        header = new StringBuffer();
+
+        while ( lines.hasMoreTokens() ) {
+            String line = lines.nextToken().trim();
+            if ( line.startsWith( "package" ) ) {
+                packageName = getPackage( line );
+            } else if ( line.startsWith( "rule" ) ) {
+                String ruleName = getRuleName( line );
+                StringBuffer currentRule = new StringBuffer();
+                laConsumeToEnd( lines, currentRule );
+                addRule( ruleName, currentRule );
+
+            }  else if ( line.startsWith( "expander" ) ) {
+                usesDSL = true;
+            } else {
+
+                header.append( line );
+                header.append( "\n" );
+            }
+        }
+    }
+
+
+
+
+    private void laConsumeToEnd(StringTokenizer lines, StringBuffer currentRule) {
+        String line;
+        while ( true && lines.hasMoreTokens()) {
+            line = lines.nextToken().trim();
+            if ( line.equals( "end" ) ) {
+                break;
+            }
+            currentRule.append( line );
+            currentRule.append( "\n" );
+        }
+    }
+
+    private void addRule(String ruleName, StringBuffer currentRule) {
+        this.rules.add( new Rule( ruleName,
+                                  currentRule.toString() ) );
+    }
+
+    private String getRuleName(String line) throws DroolsParserException {
+        DrlParser parser = new DrlParser();
+        RuleDescr rule = (RuleDescr) parser.parse( line ).getRules().get( 0 );
+        return rule.getName();
+    }
+
+    private String getPackage(String line) throws DroolsParserException {
+        DrlParser parser = new DrlParser();
+        return parser.parse( line ).getName();
+
+    }
+
+    public List<Rule> getRules() {
+        return this.rules;
+    }
+    
+
+    public String getPackageName() {
+        return this.packageName;
+    }
+
+    public String getPackageHeader() {
+        return this.header.toString();
+    }
+
+    public boolean isDSLEnabled() {
+        return this.usesDSL;
+    }
+
+    /**
+     * Holds a rule to import. The content does not include the "end".
+     * 
+     * @author Michael Neale
+     */
+    public static class Rule {
+
+        public Rule(
+                    String name, String content) {
+            this.name = name;
+            this.content = content;
+        }
+
+        public String name;
+        public String content;
+    }
+    
+
+}


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

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/FormData.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/FormData.java	2007-05-18 04:02:47 UTC (rev 11937)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/util/FormData.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -6,10 +6,6 @@
     private FileItem file;
     private String   uuid;
     
-    public FormData(FileItem file, String uuid){
-        this.file = file;
-        this.uuid = uuid;
-    }
     
     public FormData() {
     }

Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/ClassicDRLImporterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/ClassicDRLImporterTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/ClassicDRLImporterTest.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -0,0 +1,65 @@
+package org.drools.brms.server.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import junit.framework.TestCase;
+
+public class ClassicDRLImporterTest extends TestCase {
+
+    
+    
+    public void testStandardDRL() throws Exception {
+        
+        
+        ClassicDRLImporter imp = new ClassicDRLImporter(getDrl("sample_legacy.drl"));
+        assertEquals( "foo", imp.getPackageName() );
+        assertEquals(2, imp.getRules().size());
+        
+        assertEquals("blah", imp.getRules().get( 0 ).name);
+        assertEquals("cha", imp.getRules().get( 1 ).name);
+        
+        System.err.println(imp.getPackageHeader());
+        
+        assertTrue(imp.getPackageHeader().indexOf( "import goo.wee" ) > -1);
+        assertTrue(imp.getPackageHeader().indexOf( "package" ) == -1);
+        
+        assertFalse(imp.isDSLEnabled());
+        
+        assertEqualsIgnoreWhitespace( "when Whee() then goo();", imp.getRules().get( 0 ).content);
+        assertEqualsIgnoreWhitespace( "when Sup() then ka();", imp.getRules().get( 1 ).content);
+        
+        
+    }
+    
+    public void testWithDSL() throws Exception {
+        
+        ClassicDRLImporter imp = new ClassicDRLImporter(getDrl("sample_legacy_with_dsl.drl"));
+
+        assertTrue(imp.isDSLEnabled());
+        assertEquals(2, imp.getRules().size());
+        assertEquals("foo", imp.getPackageName());
+        assertEqualsIgnoreWhitespace( "import goo.wee global ka.cha", imp.getPackageHeader() );
+        
+        assertEqualsIgnoreWhitespace( "when ka chow then bam", imp.getRules().get( 0 ).content );
+        assertEqualsIgnoreWhitespace( "when ka chiga then ka chow", imp.getRules().get( 1 ).content );
+        
+        
+    }
+
+    private InputStream getDrl(String file) throws IOException {
+        return this.getClass().getResourceAsStream( file );
+    }
+    
+    private void assertEqualsIgnoreWhitespace(final String expected,
+                                              final String actual) {
+        final String cleanExpected = expected.replaceAll( "\\s+",
+                                                          "" );
+        final String cleanActual = actual.replaceAll( "\\s+",
+                                                      "" );
+
+        assertEquals( cleanExpected,
+                      cleanActual );
+    }    
+    
+}


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

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java	2007-05-18 04:02:47 UTC (rev 11937)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/util/FileManagerUtilsTest.java	2007-05-18 07:48:31 UTC (rev 11938)
@@ -7,10 +7,14 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 
 import junit.framework.TestCase;
 
 import org.apache.commons.fileupload.FileItem;
+import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.packages.PackageSnapshotView;
 import org.drools.brms.server.files.FileManagerUtils;
 import org.drools.repository.AssetItem;
@@ -98,6 +102,98 @@
         assertEquals("foo", new String(file));        
         
     }
+    
+    public void testClassicDRLImport() throws Exception {
+        FileManagerUtils fm = new FileManagerUtils();
+        fm.repository = new RulesRepository(TestEnvironmentSessionHelper.getSession());
+        String drl = "package testClassicDRLImport\n import blah \n rule 'ola' \n when \n then \n end \n rule 'hola' \n when \n then \n end";
+        InputStream in = new ByteArrayInputStream(drl.getBytes());        
+        fm.importClassicDRL( in );
+        
+        PackageItem pkg = fm.repository.loadPackage( "testClassicDRLImport" );
+        assertNotNull(pkg);
+        
+        
+        List<AssetItem> rules = iteratorToList(pkg.getAssets());
+        assertEquals(2, rules.size());
+        
+        final AssetItem rule1 = rules.get( 0 );
+        assertEquals("ola", rule1.getName());
+        assertNotNull(rule1.getContent());
+        assertEquals(AssetFormats.DRL, rule1.getFormat());
+        assertTrue(rule1.getContent().indexOf( "when" ) > -1);
+        
+        
+        final AssetItem rule2 = rules.get( 1 );
+        assertEquals("hola", rule2.getName());
+        assertNotNull(rule2.getContent());
+        assertEquals(AssetFormats.DRL, rule2.getFormat());
+        assertTrue(rule2.getContent().indexOf( "when" ) > -1);
+        
+        assertNotNull(pkg.getHeader());
+        assertTrue(pkg.getHeader().indexOf( "import" ) > -1);
+
+        
+        //now lets import an existing thing
+        drl = "package testClassicDRLImport\n import should not see \n rule 'ola2' \n when \n then \n end \n rule 'hola' \n when \n then \n end";
+        in = new ByteArrayInputStream(drl.getBytes());        
+        fm.importClassicDRL( in );
+        
+        pkg = fm.repository.loadPackage( "testClassicDRLImport" );
+        assertNotNull(pkg);
+        
+        //it should not overwrite this.
+        assertTrue(pkg.getHeader().indexOf( "import should not see" ) == -1);
+        
+        rules = iteratorToList(pkg.getAssets());
+        assertEquals(3, rules.size());
+        
+        
+    }
+    
+    public void testClassicDRLImportWithDSL() throws Exception {
+        FileManagerUtils fm = new FileManagerUtils();
+        fm.repository = new RulesRepository(TestEnvironmentSessionHelper.getSession());
+        String drl = "package testClassicDRLImportDSL\n import blah \n expander goo \n rule 'ola' \n when \n then \n end \n rule 'hola' \n when \n then \n end";
+        InputStream in = new ByteArrayInputStream(drl.getBytes());        
+        fm.importClassicDRL( in );
+        
+        PackageItem pkg = fm.repository.loadPackage( "testClassicDRLImportDSL" );
+        assertNotNull(pkg);
+        
+        
+        List<AssetItem> rules = iteratorToList(pkg.getAssets());
+        assertEquals(2, rules.size());
+        
+        final AssetItem rule1 = rules.get( 0 );
+        assertEquals("ola", rule1.getName());
+        assertNotNull(rule1.getContent());
+        assertEquals(AssetFormats.DSL_TEMPLATE_RULE, rule1.getFormat());
+        assertTrue(rule1.getContent().indexOf( "when" ) > -1);
+        
+        
+        final AssetItem rule2 = rules.get( 1 );
+        assertEquals("hola", rule2.getName());
+        assertNotNull(rule2.getContent());
+        assertEquals(AssetFormats.DSL_TEMPLATE_RULE, rule2.getFormat());
+        assertTrue(rule2.getContent().indexOf( "when" ) > -1);
+        
+        assertNotNull(pkg.getHeader());
+        assertTrue(pkg.getHeader().indexOf( "import" ) > -1);
+        
+    }
+    
+
+    private List iteratorToList(Iterator assets) {
+        List<AssetItem> list = new ArrayList<AssetItem>();
+        for ( Iterator iter = assets; iter.hasNext(); ) {
+            AssetItem rule = (AssetItem) iter.next();
+            list.add( rule );
+        }
+        return list;
+
+    }
+    
 }
 
 class MockFile implements FileItem {

Added: labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy.drl
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy.drl	2007-05-18 07:48:31 UTC (rev 11938)
@@ -0,0 +1,18 @@
+package foo
+
+import goo.wee
+
+rule "blah"
+ when
+   Whee()
+ then
+   goo();
+end
+
+
+rule "cha"
+  when
+   Sup()
+  then
+   ka();
+end
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy.drl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy_with_dsl.drl
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy_with_dsl.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy_with_dsl.drl	2007-05-18 07:48:31 UTC (rev 11938)
@@ -0,0 +1,25 @@
+package foo
+
+
+
+import goo.wee
+
+global ka.cha
+
+expander yeah
+
+
+rule "blah"
+ when
+   ka chow
+ then
+   bam
+end
+
+
+rule "cha"
+  when
+   ka chiga
+  then
+   ka chow
+end
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/resources/org/drools/brms/server/util/sample_legacy_with_dsl.drl
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list