[jboss-svn-commits] JBL Code SVN: r17157 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/xml/rules and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Dec 10 08:31:02 EST 2007
Author: mark.proctor at jboss.com
Date: 2007-12-10 08:31:02 -0500 (Mon, 10 Dec 2007)
New Revision: 17157
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java
Log:
JBRULES-1375 Create initial ePDL language parser implementation
-Fixed failing tests
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2007-12-10 13:21:37 UTC (rev 17156)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2007-12-10 13:31:02 UTC (rev 17157)
@@ -16,7 +16,13 @@
* limitations under the License.
*/
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -26,6 +32,8 @@
import org.drools.RuntimeDroolsException;
import org.drools.base.accumulators.AccumulateFunction;
import org.drools.util.ChainedProperties;
+import org.drools.xml.SemanticModule;
+import org.drools.xml.SemanticModules;
/**
* This class configures the package compiler.
@@ -60,6 +68,8 @@
private ChainedProperties chainedProperties;
private Map accumulateFunctions;
+
+ private SemanticModules semanticModules;
/**
* Constructor that sets the parent class loader for the package being built/compiled
@@ -197,6 +207,128 @@
this.classLoader = classLoader;
}
}
+
+// public void addSemanticModule(SemanticModule module) {
+// if ( this.semanticModules == null ) {
+// initSemanticModules();
+// }
+// this.semanticModules.addSemanticModule( module );
+// }
+//
+// public SemanticModules getSemanticModules() {
+// if ( this.semanticModules == null ) {
+// initSemanticModules();
+// }
+// return this.semanticModules;
+// }
+//
+// public void initSemanticModules() {
+// this.semanticModules = new SemanticModules();
+// // split on each space
+// String locations[] = this.chainedProperties.getProperty( "semanticModues", "" ).split( "\\s" );
+//
+// int i = 0;
+// // load each SemanticModule
+// for ( String moduleLocation : locations ) {
+// // trim leading/trailing spaces and quotes
+// moduleLocation = moduleLocation.trim();
+// if ( moduleLocation.startsWith( "\"" ) ) {
+// moduleLocation = moduleLocation.substring( 1 );
+// }
+// if ( moduleLocation.endsWith( "\"" ) ) {
+// moduleLocation = moduleLocation.substring( 0, moduleLocation.length() -1 );
+// }
+// loadSemanticModule(moduleLocation);
+// }
+// }
+//
+// public void loadSemanticModule(String moduleLocation) {
+// ChainedProperties properties = new ChainedProperties(this.classLoader, moduleLocation );
+// String uri = properties.getProperty( "uri", null );
+// if ( uri == null || uri.trim().equals( "" ) ) {
+// throw new RuntimeException( "Semantic Module URI property must not be empty" );
+// }
+//
+// if ( classLoader == null ) {
+// classLoader = Thread.currentThread().getContextClassLoader();
+// if ( classLoader == null ) {
+// classLoader = this.getClass().getClassLoader();
+// }
+// }
+//
+//
+// // User home properties file
+// loadProperties( System.getProperty( "user.home" ) + moduleLocation );
+//
+// // Working directory properties file
+// loadProperties( moduleLocation );
+//
+// // check META-INF directories for all known ClassLoaders
+// ClassLoader confClassLoader = classLoader;
+// if ( confClassLoader != null ) {
+// loadProperties( getResources( "META-INF/" + moduleLocation,
+// confClassLoader ) );
+// }
+//
+// confClassLoader = getClass().getClassLoader();
+// if ( confClassLoader != null && confClassLoader != classLoader ) {
+// loadProperties( getResources( "META-INF/drools." + moduleLocation,
+// confClassLoader ),
+// this.props );
+// }
+//
+// confClassLoader = Thread.currentThread().getContextClassLoader();
+// if ( confClassLoader != null && confClassLoader != classLoader ) {
+// loadProperties( getResources( "META-INF/drools." + confFileName,
+// confClassLoader ),
+// this.props );
+// }
+//
+// confClassLoader = ClassLoader.getSystemClassLoader();
+// if ( confClassLoader != null && confClassLoader != classLoader ) {
+// loadProperties( getResources( "META-INF/drools." + confFileName,
+// confClassLoader ),
+// this.props );
+// }
+// }
+//
+// private Properties loadProperties(String fileName) {
+// Properties properties = null;
+// if ( fileName != null ) {
+// File file = new File( fileName );
+// if ( file != null && file.exists() ) {
+// try {
+// properties = loadProperties( file.toURL() );
+// } catch ( MalformedURLException e ) {
+// throw new IllegalArgumentException( "file.toURL() failed for drools.packagebuilder.conf properties value '" + file + "'" );
+// }
+// } else {
+// throw new IllegalArgumentException( fileName + " is specified but cannot be found '" + file + "'" );
+// }
+// }
+// return properties;
+// }
+//
+// private Properties loadProperties(URL confURL) {
+// Properties properties = new Properties();
+// try {
+// properties.load( confURL.openStream() );
+// } catch ( IOException e ) {
+// throw new IllegalArgumentException( "Invalid URL to properties file '" + confURL.toExternalForm() + "'" );
+// }
+// return properties;
+// }
+//
+// private Enumeration getResources(String name,
+// ClassLoader classLoader) {
+// Enumeration enumeration = null;
+// try {
+// enumeration = classLoader.getResources( name );
+// } catch ( IOException e ) {
+// e.printStackTrace();
+// }
+// return enumeration;
+// }
private void buildAccumulateFunctionsMap() {
this.accumulateFunctions = new HashMap();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java 2007-12-10 13:21:37 UTC (rev 17156)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/DumperTestHelper.java 2007-12-10 13:31:02 UTC (rev 17157)
@@ -12,6 +12,7 @@
import org.drools.compiler.DrlParser;
import org.drools.lang.DrlDumper;
import org.drools.lang.descr.PackageDescr;
+import org.drools.xml.SemanticModules;
import org.drools.xml.XmlDumper;
import org.drools.xml.XmlPackageReader;
@@ -24,7 +25,7 @@
public static void XmlFile(String filename) throws Exception {
- XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( DumperTestHelper.class.getResourceAsStream( filename ) ) );
final PackageDescr pkgOriginal = xmlPackageReader.getPackageDescr();
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java 2007-12-10 13:21:37 UTC (rev 17156)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/rules/XmlPackageReaderTest.java 2007-12-10 13:31:02 UTC (rev 17157)
@@ -34,6 +34,7 @@
import org.drools.lang.descr.ReturnValueRestrictionDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.lang.descr.VariableRestrictionDescr;
+import org.drools.xml.SemanticModules;
import org.drools.xml.XmlPackageReader;
public class XmlPackageReaderTest extends TestCase {
@@ -51,7 +52,7 @@
}
public void testParseFrom() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseFrom.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -69,7 +70,7 @@
}
public void testAccumulate() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseAccumulate.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -112,7 +113,7 @@
public void testAccumulateMultiPattern() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseAccumulate.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -143,7 +144,7 @@
}
public void testParseForall() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseForall.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -165,7 +166,7 @@
}
public void testParseExists() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseExists.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -191,7 +192,7 @@
}
public void testParseCollect() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseCollect.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
@@ -245,7 +246,7 @@
}
public void testParsePackageName() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParsePackageName.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -254,7 +255,7 @@
}
public void testParseImport() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseImport.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -276,7 +277,7 @@
}
public void testParseGlobal() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseGlobal.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -307,7 +308,7 @@
}
public void testParseFunction() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseFunction.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -354,7 +355,7 @@
}
public void testParseRule() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseRule.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -423,7 +424,7 @@
}
public void testParseLhs() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseLhs.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -562,7 +563,7 @@
}
public void testParseRhs() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseRhs.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
@@ -618,7 +619,7 @@
}
public void testParseQuery() throws Exception {
- final XmlPackageReader xmlPackageReader = new XmlPackageReader();
+ final XmlPackageReader xmlPackageReader = new XmlPackageReader( new SemanticModules() );
xmlPackageReader.read( new InputStreamReader( getClass().getResourceAsStream( "test_ParseQuery.xml" ) ) );
final PackageDescr packageDescr = xmlPackageReader.getPackageDescr();
assertNotNull( packageDescr );
More information about the jboss-svn-commits
mailing list