[rules-users] (no subject)
Michael Anstis
michael.anstis at gmail.com
Fri Sep 16 04:58:44 EDT 2011
Unit Test (droolsjbpm-ide-common)
org.drools.ide.common.server.util.BRLPersistenceTest.testRoundTrip()
performs what you are attempting too. This test passes.
I am still uncertain why you reference "org.drools.brms" packages in your
import statements. What version of Drools are you using?
2011/9/15 AZZAZ mohamed <azzazm at gmail.com>
>
> I added all necessary jar in the classpath.
> Here is an excerpt from my code:
> Just for information I am beginner in BRMS
>
> /**
> *
> */
> package fr.dto;
> import java.io.*;
> import javax.swing.Box.Filler;
>
> import org.apache.commons.io.FileUtils;
> import org.drools.RuleBase;
> import org.drools.RuleBaseFactory;
> import org.drools.WorkingMemory;
> import org.drools.brms.server.util.BRDRLPersistence;
> import org.drools.brms.server.util.BRXMLPersistence;
> import org.drools.compiler.PackageBuilder;
> import org.drools.event.DebugWorkingMemoryEventListener;
> import org.drools.rule.Package;
>
> /**
> * @author mazzaz
> *
> */
> public class RulesEngine {
>
> private RuleBase rules;
> private Reader source;
> private boolean debug = false;
>
> public RulesEngine(String rulesFile) throws RulesEngineException {
> super();
> try {
> try
> {
> File file = null;
> String brl =null;
> file = new File(rulesFile);
> BRXMLPersistence read = (BRXMLPersistence) BRXMLPersistence.getInstance();
> BRDRLPersistence write = (BRDRLPersistence)
> BRDRLPersistence.getInstance();
> System.out.println("read && write instance ok \n");
> brl = FileUtils.readFileToString(file,"UTF-8");
> System.out.println("le fichier contient"+ brl);
> String outputDRL = write.marshal(read.unmarshal(brl));// code blocked
> here
> String drlFilePath = "src/main/rules/Test_brl_to_drl.drl";
> File drlFile = new File(drlFilePath);
> FileUtils.writeStringToFile(drlFile,outputDRL,"");
> source = new InputStreamReader(RulesEngine.class
> .getResourceAsStream(drlFilePath));
> }catch (IOException ie){
> System.out.println("ie.getCause(): "+ie.getCause()
> +"\n"+"ie.getMessage(): "+ie.getMessage());
> }
>
> PackageBuilder builder = new PackageBuilder();
> builder.addPackageFromDrl(source);
> Package pkg = builder.getPackage();
> rules = RuleBaseFactory.newRuleBase();
> rules.addPackage(pkg);
>
> } catch (Exception e) {
> throw new RulesEngineException(
> "Impossible de Compiler le fichier de regles : "
> + rulesFile, e);
> }
> }
> public void executeRules(WorkingEnvironmentCallback callback) {
> /*
> * L’instanciation de la class workingMemory permet de determiner si
> * toute si toute les conditions d’une regle sont remplies alors les
> * consequences de cette regles sont executées
> */
> WorkingMemory workingMemory = rules.newStatefulSession();
> if (debug) {
> workingMemory
> .addEventListener(new DebugWorkingMemoryEventListener());
> }
> callback.initEnvironment(workingMemory);// initEnvironment methode de
> // l'interface
> /*
> * L’execution des conséquences d’une regle se produit lorsqu’on invoque
> * l’objet fireAllRules WorkingMemory
> */
> workingMemory.fireAllRules();
> }
>
> }
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110916/c22bb6b1/attachment.html
More information about the rules-users
mailing list