Author: mic...@jb... Date: 2006-01-20 03:08:46 -0500 (Fri, 20 Jan 2006) New Revision: 2149 Added: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/PredicateEvaluatorFactory.java trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ReturnValueEvaluatorFactory.java trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SemanticsReaderTest.java trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockConsequenceFactory.java trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockFunctionsFactory.java trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockPredicateEvaluatorFactory.java trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockReturnValueEvaluatorFactory.java trunk/labs/jbossrules/drools-smf/src/test/resources/org/drools/smf/example.conf Modified: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionFactory.java trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionInvoker.java trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticModule.java trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticsReader.java trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SimpleSemanticModule.java trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SimpleSemanticModuleTest.java Log: more tests, new factory interfaces Modified: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -46,9 +46,7 @@ import org.drools.spi.Condition; import org.drools.spi.RuleBaseContext; -/** - * @deprecated Not used in Drools 3.0 - */ + public interface ConditionFactory { Condition[] newCondition(Rule rule, Modified: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionInvoker.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionInvoker.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ConditionInvoker.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -5,10 +5,7 @@ import org.drools.rule.Declaration; import org.drools.spi.Tuple; -/** - * @deprecated Not used in Drools 3.0 - * - */ + public interface ConditionInvoker extends Invoker { public boolean invoke(Tuple tuple, Added: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/PredicateEvaluatorFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/PredicateEvaluatorFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/PredicateEvaluatorFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,19 @@ +package org.drools.smf; + +import org.drools.rule.Rule; +import org.drools.spi.PredicateEvaluator; +import org.drools.spi.RuleBaseContext; + +/** + * Implementors must provide a Predicate evalutor factory. + * PredicateEvaluators return true or false based on an expression. + * + * @author Michael Neale + */ +public interface PredicateEvaluatorFactory { + + PredicateEvaluator[] newPredicateEvaluator(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException; + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/PredicateEvaluatorFactory.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ReturnValueEvaluatorFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ReturnValueEvaluatorFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ReturnValueEvaluatorFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,19 @@ +package org.drools.smf; + +import org.drools.rule.Rule; +import org.drools.spi.ReturnValueEvaluator; +import org.drools.spi.RuleBaseContext; + +/** + * Implementing modules must provide an return evaluator factory. + * Return evaluators return values from expressions. + * + * @author Michael Neale + */ +public interface ReturnValueEvaluatorFactory { + + ReturnValueEvaluator[] newReturnValueEvaluator(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException; + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/ReturnValueEvaluatorFactory.java ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticModule.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticModule.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticModule.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -148,5 +148,16 @@ FunctionsFactory getFunctionsFactory(String name); Set getFunctionsFactoryNames(); + + + PredicateEvaluatorFactory getPredicateEvaluatorFactory(String name); + + Set getPredicateEvaluatorFactoryNames(); + + + ReturnValueEvaluatorFactory getReturnValueEvaluatorFactory(String name); + + Set getReturnValueEvaluatorFactoryNames(); + } \ No newline at end of file Modified: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticsReader.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticsReader.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SemanticsReader.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -69,14 +69,26 @@ * * @version $Id: SemanticsReader.java,v 1.10 2005/04/07 17:42:14 mproctor Exp $ */ -public class SemanticsReader -{ +public class SemanticsReader { // ---------------------------------------------------------------------- // Class members // ---------------------------------------------------------------------- + // these constants represent the factory type names that you can include in + // your smf.conf file. + private static final String FUNCTIONS = "Functions"; + private static final String APPLICATION_DATA = "ApplicationData"; + private static final String IMPORT_ENTRY = "ImportEntry"; + private static final String DURATION = "Duration"; + private static final String CONSEQUENCE = "Consequence"; + private static final String CONDITION = "Condition"; + private static final String OBJECT_TYPE = "ObjectType"; + private static final String RULE = "Rule"; + private static final String PREDICATE = "Predicate"; + private static final String RETURN_VALUE = "ReturnValue"; + /** Singleton instance. */ - private static final SemanticsReader INSTANCE = new SemanticsReader( ); + private static final SemanticsReader INSTANCE = new SemanticsReader(); // ---------------------------------------------------------------------- // Class methods @@ -87,8 +99,7 @@ * * @return The singleton instance. */ - public static SemanticsReader getInstance() - { + public static SemanticsReader getInstance() { return INSTANCE; } @@ -99,8 +110,7 @@ /** * Construct. */ - public SemanticsReader() - { + public SemanticsReader() { // intentionally left blank } @@ -108,32 +118,33 @@ // Instance methods // ---------------------------------------------------------------------- - public SemanticModule read(URL url) throws IOException, SemanticsReaderException - { - return read(url, Thread.currentThread( ).getContextClassLoader( )); + public SemanticModule read(URL url) throws IOException, + SemanticsReaderException { + return read( url, + Thread.currentThread().getContextClassLoader() ); } - + /** * Read a semantic module descriptor from a <code>URL</code>. * - * @param url The descriptor URL. + * @param url + * The descriptor URL. * * @return The loaded semantic module. * @throws IOException * @throws SemanticsReaderException */ - public SemanticModule read(URL url, ClassLoader cl) throws IOException, - SemanticsReaderException - { - InputStream in = url.openStream( ); + public SemanticModule read(URL url, + ClassLoader cl) throws IOException, + SemanticsReaderException { + InputStream in = url.openStream(); - try - { - return read( in, cl ); + try { + return read( in, + cl ); } - finally - { - in.close( ); + finally { + in.close(); } } @@ -150,160 +161,169 @@ * @throws SemanticsReaderException * If an error occurs while loading the module. */ - public SemanticModule read(InputStream in, ClassLoader cl) throws IOException, SemanticsReaderException - { - Properties props = new Properties( ); + public SemanticModule read(InputStream in, + ClassLoader cl) throws IOException, + SemanticsReaderException { + Properties props = new Properties(); props.load( in ); String uri = props.getProperty( "module.uri" ); - if ( uri == null || uri.trim( ).equals( "" ) ) - { + if ( uri == null || uri.trim().equals( "" ) ) { throw new SemanticsReaderException( "module.uri must be specified" ); } - SimpleSemanticModule module = new SimpleSemanticModule( uri.trim( ) ); + SimpleSemanticModule module = new SimpleSemanticModule( uri.trim() ); - for ( Enumeration propNames = props.propertyNames( ); propNames.hasMoreElements( ); ) - { - String key = (String) propNames.nextElement( ); + for ( Enumeration propNames = props.propertyNames(); propNames.hasMoreElements(); ) { + String key = (String) propNames.nextElement(); - if ( key.equals( "module.uri" ) ) - { + if ( key.equals( "module.uri" ) ) { continue; } String className = props.getProperty( key ); Class factoryClass; - try - { + try { factoryClass = cl.loadClass( className ); } - catch ( ClassNotFoundException e ) - { + catch ( ClassNotFoundException e ) { throw new SemanticsReaderException( e ); } - if ( key.indexOf( "(" ) < 0 || key.indexOf( ")" ) < 0 ) - { + if ( key.indexOf( "(" ) < 0 || key.indexOf( ")" ) < 0 ) { throw new SemanticsReaderException( "invalid key: " + key ); } String type = parseType( key ); - if ( type == null || type.equals( "" ) ) - { + if ( type == null || type.equals( "" ) ) { throw new SemanticsReaderException( "no type specified" ); } String componentName = parseName( key ); - if ( componentName == null || componentName.equals( "" ) ) - { + if ( componentName == null || componentName.equals( "" ) ) { throw new SemanticsReaderException( "no component name specified" ); } - try - { - if ( "Rule".equals( type ) ) - { - RuleFactory factory = (RuleFactory) factoryClass.newInstance( ); + try { + + //now create the appropriate instance, and install it + addAppropriateFactoryToModule( module, + factoryClass, + type, + componentName ); + } + catch ( InstantiationException e ) { + throw new SemanticsReaderException( e ); + } + catch ( IllegalAccessException e ) { + throw new SemanticsReaderException( e ); + } + } - module.addRuleFactory( componentName, - factory ); - } - else if ( "ObjectType".equals( type ) ) - { - ObjectTypeFactory factory = (ObjectTypeFactory) factoryClass.newInstance( ); + return module; + } - module.addObjectTypeFactory( componentName, - factory ); - } - else if ( "Condition".equals( type ) ) - { - ConditionFactory factory = (ConditionFactory) factoryClass.newInstance( ); + /** + * This will instantiate the appropriate semantic factory, and install it appropriately + * into the semantic module. + */ + private void addAppropriateFactoryToModule(SimpleSemanticModule module, + Class factoryClass, + String type, + String componentName) throws InstantiationException, + IllegalAccessException, + SemanticsReaderException { + if ( RULE.equals( type ) ) { + RuleFactory factory = (RuleFactory) factoryClass.newInstance(); - module.addConditionFactory( componentName, - factory ); - } - else if ( "Consequence".equals( type ) ) - { - ConsequenceFactory factory = (ConsequenceFactory) factoryClass.newInstance( ); + module.addRuleFactory( componentName, + factory ); + } + else if ( OBJECT_TYPE.equals( type ) ) { + ObjectTypeFactory factory = (ObjectTypeFactory) factoryClass.newInstance(); - module.addConsequenceFactory( componentName, - factory ); - } - else if ( "Duration".equals( type ) ) - { - DurationFactory factory = (DurationFactory) factoryClass.newInstance( ); + module.addObjectTypeFactory( componentName, + factory ); + } + else if ( CONDITION.equals( type ) ) { + ConditionFactory factory = (ConditionFactory) factoryClass.newInstance(); - module.addDurationFactory( componentName, - factory ); - } - else if ( "ImportEntry".equals( type ) ) - { - ImportEntryFactory factory = (ImportEntryFactory) factoryClass.newInstance( ); + module.addConditionFactory( componentName, + factory ); + } + else if ( CONSEQUENCE.equals( type ) ) { + ConsequenceFactory factory = (ConsequenceFactory) factoryClass.newInstance(); - module.addImportEntryFactory( componentName, - factory ); - } - else if ( "ApplicationData".equals( type ) ) - { - ApplicationDataFactory factory = (ApplicationDataFactory) factoryClass.newInstance( ); + module.addConsequenceFactory( componentName, + factory ); + } + else if ( DURATION.equals( type ) ) { + DurationFactory factory = (DurationFactory) factoryClass.newInstance(); - module.addApplicationDataFactory( componentName, - factory ); - } - else if ( "Functions".equals( type ) ) - { - FunctionsFactory factory = (FunctionsFactory) factoryClass.newInstance( ); + module.addDurationFactory( componentName, + factory ); + } + else if ( IMPORT_ENTRY.equals( type ) ) { + ImportEntryFactory factory = (ImportEntryFactory) factoryClass.newInstance(); - module.addFunctionsFactory( componentName, - factory ); - } - else - { - throw new SemanticsReaderException( "unknown type '" + type + "'" ); - } - } - catch ( InstantiationException e ) - { - throw new SemanticsReaderException( e ); - } - catch ( IllegalAccessException e ) - { - throw new SemanticsReaderException( e ); - } + module.addImportEntryFactory( componentName, + factory ); } + else if ( APPLICATION_DATA.equals( type ) ) { + ApplicationDataFactory factory = (ApplicationDataFactory) factoryClass.newInstance(); - return module; + module.addApplicationDataFactory( componentName, + factory ); + } + else if ( FUNCTIONS.equals( type ) ) { + FunctionsFactory factory = (FunctionsFactory) factoryClass.newInstance(); + + module.addFunctionsFactory( componentName, + factory ); + } + else if ( PREDICATE.equals( type ) ) { + + PredicateEvaluatorFactory factory = (PredicateEvaluatorFactory) factoryClass.newInstance(); + + module.addPredicateEvaluatorFactory( componentName, + factory ); + } + else if ( RETURN_VALUE.equals( type ) ) { + ReturnValueEvaluatorFactory factory = (ReturnValueEvaluatorFactory) factoryClass.newInstance(); + + module.addReturnValueEvaluatorFactory( componentName, + factory ); + + } + else { + throw new SemanticsReaderException( "unknown type '" + type + "'" ); + } } - protected String parseType(String key) - { + protected String parseType(String key) { int leftParen = key.indexOf( "(" ); - if ( leftParen < 0 ) - { + if ( leftParen < 0 ) { return null; } return key.substring( 0, - leftParen ).trim( ); + leftParen ).trim(); } - protected String parseName(String key) - { + protected String parseName(String key) { int leftParen = key.indexOf( "(" ); int rightParen = key.indexOf( ")" ); - if ( leftParen < 0 || rightParen < 0 ) - { + if ( leftParen < 0 || rightParen < 0 ) { return null; } return key.substring( leftParen + 1, - rightParen ).trim( ); + rightParen ).trim(); } } Modified: trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SimpleSemanticModule.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SimpleSemanticModule.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/main/java/org/drools/smf/SimpleSemanticModule.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -44,6 +44,8 @@ import java.util.Map; import java.util.Set; +import org.drools.spi.ReturnValueEvaluator; + /** * Simple implementation of a Semantic Module. * @@ -83,6 +85,10 @@ /** functions factories */ private Map functionFactories; + private Map predicateEvaluatorFactories; + + private Map returnValueEvaluatorFactories; + private Map types; @@ -108,6 +114,8 @@ this.applicationDataFactories = new HashMap( ); this.functionFactories = new HashMap( ); this.types = new HashMap( ); + this.predicateEvaluatorFactories = new HashMap( ); + this.returnValueEvaluatorFactories = new HashMap( ); } // ------------------------------------------------------------ @@ -145,6 +153,36 @@ { return this.ruleFactories.keySet( ); } + + public void addPredicateEvaluatorFactory(String name, + PredicateEvaluatorFactory factory) { + this.predicateEvaluatorFactories.put( name, factory); + this.types.put(name, "PredicateEvaluator"); + } + + public PredicateEvaluatorFactory getPredicateEvaluatorFactory(String name) { + return (PredicateEvaluatorFactory) this.predicateEvaluatorFactories.get(name); + } + + public Set getPredicateEvaluatorFactoryNames() { + return this.predicateEvaluatorFactories.keySet(); + } + + + public void addReturnValueEvaluatorFactory(String name, + ReturnValueEvaluatorFactory factory) { + this.returnValueEvaluatorFactories.put( name, factory); + this.types.put(name, "ReturnValueEvaluator"); + } + + public ReturnValueEvaluatorFactory getReturnValueEvaluatorFactory(String name) { + return (ReturnValueEvaluatorFactory) this.returnValueEvaluatorFactories.get(name); + } + + public Set getReturnValueEvaluatorFactoryNames() { + return this.returnValueEvaluatorFactories.keySet(); + } + /** * Add a semantic <code>ObjectTypeFactory</code>. @@ -293,5 +331,7 @@ public Set getFunctionsFactoryNames() { return this.functionFactories.keySet(); - } + } + + } \ No newline at end of file Added: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SemanticsReaderTest.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SemanticsReaderTest.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SemanticsReaderTest.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,34 @@ +package org.drools.smf; + +import java.net.URL; + +import junit.framework.TestCase; + +/** + * Test out the semantics reader with some mocks. + * @author Michael Neale + */ +public class SemanticsReaderTest extends TestCase { + + public void testLoadMockSemanticConfig() throws Exception { + SemanticsReader reader = SemanticsReader.getInstance(); + + URL url = this.getClass().getResource("/org/drools/smf/example.conf"); + + SemanticModule module = reader.read(url); + assertNotNull(module); + + FunctionsFactory factory = (FunctionsFactory) module.getFunctionsFactory("functions"); + assertNotNull(factory); + + ReturnValueEvaluatorFactory retFactory = (ReturnValueEvaluatorFactory) module.getReturnValueEvaluatorFactory("retval"); + assertNotNull(retFactory); + + PredicateEvaluatorFactory predicateFactory = (PredicateEvaluatorFactory) module.getPredicateEvaluatorFactory("predicate"); + assertNotNull(predicateFactory); + + + } + + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SemanticsReaderTest.java ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SimpleSemanticModuleTest.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SimpleSemanticModuleTest.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/SimpleSemanticModuleTest.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -48,6 +48,8 @@ import org.drools.spi.Consequence; import org.drools.spi.Duration; import org.drools.spi.ObjectType; +import org.drools.spi.PredicateEvaluator; +import org.drools.spi.ReturnValueEvaluator; import org.drools.spi.RuleBaseContext; public class SimpleSemanticModuleTest extends DroolsTestCase @@ -143,6 +145,37 @@ } + public void testAddGetPredicateEvalFactory() { + SimpleSemanticModule module = new SimpleSemanticModule( "http://cheese.org" ); + + PredicateEvaluatorFactory factory = new MockPredicateEvaluatorFactory(); + + module.addPredicateEvaluatorFactory("mockCheese", factory); + + assertSame( module.getPredicateEvaluatorFactory( "mockCheese" ), + factory ); + + assertEquals( module.getPredicateEvaluatorFactoryNames( ).size( ), + 1 ); + + } + + public void testAddGetReturnValueEvalFactory() { + SimpleSemanticModule module = new SimpleSemanticModule( "http://cheese.org" ); + + ReturnValueEvaluatorFactory factory = new MockReturnValueEvaluatorFactory(); + + module.addReturnValueEvaluatorFactory("mockCheese", factory); + + assertSame( module.getReturnValueEvaluatorFactory( "mockCheese" ), + factory ); + + assertEquals( module.getReturnValueEvaluatorFactoryNames( ).size( ), + 1 ); + + } + + private class MockRuleFactory implements RuleFactory @@ -222,5 +255,29 @@ } } + + private class MockPredicateEvaluatorFactory + implements + PredicateEvaluatorFactory { + public PredicateEvaluator[] newPredicateEvaluator(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException { + return null; + } + + } + + private class MockReturnValueEvaluatorFactory + implements + ReturnValueEvaluatorFactory { + + public ReturnValueEvaluator[] newReturnValueEvaluator(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException { + return null; + } + + } + } Added: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockConsequenceFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockConsequenceFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockConsequenceFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,21 @@ +package org.drools.smf.mock; + +import org.drools.rule.Rule; +import org.drools.smf.Configuration; +import org.drools.smf.ConsequenceFactory; +import org.drools.smf.FactoryException; +import org.drools.spi.Consequence; +import org.drools.spi.RuleBaseContext; + +public class MockConsequenceFactory + implements + ConsequenceFactory { + + public Consequence newConsequence(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException { + + return null; + } + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockConsequenceFactory.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockFunctionsFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockFunctionsFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockFunctionsFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,20 @@ +package org.drools.smf.mock; + +import org.drools.rule.RuleSet; +import org.drools.smf.Configuration; +import org.drools.smf.FactoryException; +import org.drools.smf.FunctionsFactory; +import org.drools.spi.Functions; +import org.drools.spi.RuleBaseContext; + +public class MockFunctionsFactory + implements + FunctionsFactory { + + public Functions newFunctions(RuleSet ruleSet, + RuleBaseContext context, + Configuration config) throws FactoryException { + return null; + } + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockFunctionsFactory.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockPredicateEvaluatorFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockPredicateEvaluatorFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockPredicateEvaluatorFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,20 @@ +package org.drools.smf.mock; + +import org.drools.rule.Rule; +import org.drools.smf.Configuration; +import org.drools.smf.FactoryException; +import org.drools.smf.PredicateEvaluatorFactory; +import org.drools.spi.PredicateEvaluator; +import org.drools.spi.RuleBaseContext; + +public class MockPredicateEvaluatorFactory + implements + PredicateEvaluatorFactory { + + public PredicateEvaluator[] newPredicateEvaluator(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException { + return null; + } + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockPredicateEvaluatorFactory.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockReturnValueEvaluatorFactory.java =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockReturnValueEvaluatorFactory.java 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockReturnValueEvaluatorFactory.java 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,20 @@ +package org.drools.smf.mock; + +import org.drools.rule.Rule; +import org.drools.smf.Configuration; +import org.drools.smf.FactoryException; +import org.drools.smf.ReturnValueEvaluatorFactory; +import org.drools.spi.ReturnValueEvaluator; +import org.drools.spi.RuleBaseContext; + +public class MockReturnValueEvaluatorFactory + implements + ReturnValueEvaluatorFactory { + + public ReturnValueEvaluator[] newReturnValueEvaluator(Rule rule, + RuleBaseContext context, + Configuration config) throws FactoryException { + return null; + } + +} Property changes on: trunk/labs/jbossrules/drools-smf/src/test/java/org/drools/smf/mock/MockReturnValueEvaluatorFactory.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-smf/src/test/resources/org/drools/smf/example.conf =================================================================== --- trunk/labs/jbossrules/drools-smf/src/test/resources/org/drools/smf/example.conf 2006-01-20 05:09:58 UTC (rev 2148) +++ trunk/labs/jbossrules/drools-smf/src/test/resources/org/drools/smf/example.conf 2006-01-20 08:08:46 UTC (rev 2149) @@ -0,0 +1,6 @@ +module.uri=http://drools.org/semantics/mock + +Consequence(consequence) : org.drools.smf.mock.MockConsequenceFactory +Functions(functions) : org.drools.smf.mock.MockFunctionsFactory +Predicate(predicate) : org.drools.smf.mock.MockPredicateEvaluatorFactory +ReturnValue(retval) : org.drools.smf.mock.MockReturnValueEvaluatorFactory Property changes on: trunk/labs/jbossrules/drools-smf/src/test/resources/org/drools/smf/example.conf ___________________________________________________________________ Name: svn:eol-style + native |