[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