I"ve seen that i can do this:

solverFactory.getSolverConfig().getScoreDirectorFactoryConfig.setRuleBase(ruleBase);
but this ruleBase still pointing a drl file, i would like to pass a String to this rulebase, one from my database.

----------- another implementation i tried
        final Reader source = new InputStreamReader( HelloWorldExample.class.getResourceAsStream( "HelloWorld.drl" ) );   
        final PackageBuilder builder = new PackageBuilder();   
        builder.addPackageFromDrl( source );   
           
        if ( builder.hasErrors() ) {   
            System.out.println( builder.getErrors().toString() );   
            throw new RuntimeException( "Unable to compile \"HelloWorld.drl\".");   
        }   
   
        final Package pkg = builder.getPackage();   
        final RuleBase ruleBase = RuleBaseFactory.newRuleBase();   
        ruleBase.addPackage( pkg ); 



2013/1/22 Geoffrey De Smet <ge0ffrey.spam@gmail.com>
in the manual, look for setRuleBase(), it's how you can set the DRL at runtime

Op 22-01-13 20:17, André Fróes schreef:
Can it be done for the drl file pointed at xml file? Instead of pass the path to drl file, the drl content?

here's what i've done to use the xml by java over the cloudcomputing example:

--------------------

String t = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><solver><solutionClass>org.drools.planner.examples.cloudbalancing.domain.CloudBalance</solutionClass><planningEntityClass>org.drools.planner.examples.cloudbalancing.domain.CloudProcess</planningEntityClass><scoreDirectorFactory><scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType><scoreDrl>/org/drools/planner/examples/cloudbalancing/solver/cloudBalancingScoreRules.drl</scoreDrl></scoreDirectorFactory><termination><maximumSecondsSpend>120</maximumSecondsSpend></termination><constructionHeuristic><constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType><constructionHeuristicPickEarlyType>FIRST_LAST_STEP_SCORE_EQUAL_OR_IMPROVING</constructionHeuristicPickEarlyType></constructionHeuristic><localSearch><acceptor><planningEntityTabuSize>7</planningEntityTabuSize></acceptor><forager! ><mi nimalAcceptedSelection>1000</minimalAcceptedSelection></forager></localSearch></solver>";

    byte b[] = t.getBytes();
    ByteArrayInputStream bt = new ByteArrayInputStream(b);
        SolverFactory solverFactory = new XmlSolverFactory().configure(bt);
        Solver solver = solverFactory.buildSolver();
---------------------

cloudBalancingScoreRules.drl is the file I want to get from database as text and apply it to the xml. Is it possible to do inside this configuration or will I have to implement a xml file pointing it everytime?



2013/1/22 Geoffrey De Smet <ge0ffrey.spam@gmail.com>
Use a ByteArrayInputStream based on that String
and give it to:
org.drools.planner.config.XmlSolverFactory#configure(InputStream)

Op 22-01-13 15:51, André Fróes schreef:
Can I provide the plain xml code to a SolverFactory?

SolverFactory solverFactory = new XmlSolverFactory(<<xmlHere>>);

I know that I can provide the path to a config file.


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users