Quomodo utendum drools decisionem mensam in spreadsheet format ad executiones regulas?

Sequenti exemplo codice, describere processus of usura decisionem mensa ad executiones rules.There dupliciter

a) Uti dilatatióne sheet APIs directe ad executiones regulas.
b) Convertendas excellere expandentes sheet in drl file et tunc funguntur regulas.

Scribetur secundo processus (b).







** Pelagus Java genus est, 'DroolExcelDemo.java'. Primo convertam excellere sheet in (.drl) lima et tunc funguntur regulas.




package DROOLS;

important java.io.BufferedWriter;
important java.io.FileInputStream;
important java.io.FileNotFoundException;
important java.io.FileWriter;
important java.io.IOException;
important java.io.InputStream;
important java.util.Collection;

important org.drools.KnowledgeBase;
important org.drools.KnowledgeBaseFactory;
important org.drools.builder.KnowledgeBuilder;
important org.drools.builder.KnowledgeBuilderFactory;
important org.drools.builder.ResourceType;
important org.drools.decisiontable.InputType;
important org.drools.decisiontable.SpreadsheetCompiler;
important org.drools.definition.KnowledgePackage;
important org.drools.event.rule.DebugAgendaEventListener;
important org.drools.event.rule.DebugWorkingMemoryEventListener;
important org.drools.io.ResourceFactory;
important org.drools.runtime.StatefulKnowledgeSession;

/**
* Hoc genere creabit: drl lima ex excellere sheet
* et tunc funguntur regulas.
*/
publica classis DroolExcelDemo {
publica stabilis finalis vacuo main(finalis String[] args) {
// Creare scientia aedificator
finalis KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

// Creare drl lima ex excellere sheet
InputStream est = null;
experiri {
est = new FileInputStream(“D:/Workspace / DroolsDemo / src / DROOLS / DroolExcel.xls”);

} capere (FileNotFoundException e) {
e.printStackTrace();
}
// Creare compilator classis instantiae
SpreadsheetCompiler sc = new SpreadsheetCompiler();

// Compilare in excellere generare (.drl) file
StringBuffer drl = new StringBuffer(sc.compile(est, InputType.XLS));

// Insert dialecto valor in drl file
drl.insert(drl.indexOf(“DROOLS”)+40,”dialecto ”mvel ””+”\n”);

// Reprehendo generati drl file
System.out.println(“Generabunt DRL file est ostendo infra–: “);
System.out.println(drl);

// scribens chorda in drl file
experiri {
BufferedWriter ex = new BufferedWriter(novum FileWriter(“D:/Workspace / DroolsDemo / src / DROOLS / RuleFile.drl”));
out.write(drl.toString());
out.close();
}
capere (IOException e){
System.out.println(“Exceptio “);
}
// Exspectate, ante usura drl file in proximo section.
experiri {
Thread.sleep(10000);
} capere (InterruptedException e) {
e.printStackTrace();
}
// Finis creatione drl lima ex excellere sheet

// Usura DRL file
kbuilder.add(ResourceFactory.newClassPathResource(“RuleFile.drl”, DroolMessage.class ), ResourceType.DRL );

// Reprehendo aedificator enim errores
si ( kbuilder.hasErrors() ) {
System.out.println(“kbuilder habet errores”);
System.out.println( kbuilder.getErrors().toString());
}
// adepto compilavit packages (quae sunt serializable)
finalis Collection pkgs = kbuilder.getKnowledgePackages();

// adde packages ad knowledgebase (explicandam scientia packages).
finalis KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(pkgs);

// Creare stateful session
finalis StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

// Pone eventus auditores
ksession.addEventListener(novum DebugAgendaEventListener());
ksession.addEventListener(novum DebugWorkingMemoryEventListener());

// Creare nuntius text
DroolMessage messagetxt = new DroolMessage();
messagetxt.setMessage(“Fuga Number”);

DroolMessage messagetxt1 = new DroolMessage();
messagetxt1.setMessage(“FlightCode”);

// Inseres session et ignem regulas
System.out.println(“inseres session”);
ksession.insert(messagetxt);
ksession.insert(messagetxt1);
System.out.println(“ante ardendu regulas”);
ksession.fireAllRules();
System.out.println(“post ardendu regulas”);
ksession.dispose();
System.out.println(“post disponere”);
}
}








* *Secundo file est 'DroolMessage.java’ pojo classis. Tenet valores consitæ a main Java classis superius descriptus.

package DROOLS;
/**
* This is a POJO for messages.It will be used by the drl file.
* The message values will be set from the DroolExcelDemo class
*/
public class DroolMessage {
// Create variable
private String message;

// Aedificator
publica DroolMessage() {
System.out.println(“initializing Nuntius”);
}
// Detur adnuntiator et amor urguet habendi, methodos
publica String getMessage() {
revertetur nuntius;
}
publica vacuo setMessage(String nuntius) {
this.message = nuntius;
}
// test methodo temptare regula exsecutionem
publica vacuo test(String test) {
System.out.println(“Parsing initium et finis positio: “+test);
}
}

** Sequenti regula est file generantur per 'DroolExcelDemo.java’ classis.

package DROOLS;
//generated from Decision Table
dialect "mvel"
import DroolMessage;
// rule values at B12, header at B7
rule "DroolExcelRule_12"
when
msg:DroolMessage(message == "FlightNumber")
then
msg.test("1,6");
end

// regula valores ad B13, caput capitis ad B7
regere “DroolExcelRule_13”
quando
MSG:DroolMessage(nuntius == “FlightCode”)
tunc
msg.test(“7,8”);
finis

** Haec est input excellunt substructio regula lima ut ly 'DroolExcelDemo.java’ classis supra.


15 cogitationes on "Quomodo utendum drools decisionem mensam in spreadsheet format ad executiones regulas?

    1. kaushik Post author

      Hi Danielem,,

      Gratias ad cura tui. Commodo permissum mihi scire exigere exigentia. Mittam vobis linteum Praecedo.

      Fremitus
      /KP

    1. kaushik Post author

      Hi Aakash,

      Mitte ergo mihi prorsus exigentia. Egressus est vobis in auxilium meum probabo.

      Thanks,
      Techalpine

  1. kaushik Post author

    Hi Manideepa,

    Ostensum est autem in Praecedo Post Sample. Vos can utor is est. Si aliquid aliud exigentia, ut sciam. Tecum vivere amem, tecum exstat exitibus.

    Thanks
    /KP

  2. Ananya

    Hi,

    An tu participant in Praecedo ? Ego vis ad inserere, aut a numerus of string string search nervo alio

    Thanks

  3. Shaw Shekhar

    Hello,
    Dum studeo fungi, suscitans illum a file non est error, dum deorsum versus processus.

    // Usura DRL file
    kbuilder.add(ResourceFactory.newClassPathResource("RuleFile.drl", DroolMessage.class ), ResourceType.DRL );

    Numquid me vis aliud suadeant opus.

    Regards,
    Shaw Shekhar

  4. Rahul Pandey

    hi
    it is very good blog i executed. but i want to generate Rule file template automatically without adding any Rule file.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share