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.
Hi, ut mittas me file DroolExcel.xls?
gratias tibi!
Hi Danielem,,
Gratias ad cura tui. Commodo permissum mihi scire exigere exigentia. Mittam vobis linteum Praecedo.
Fremitus
/KP
Hi, ut mittas me file DroolExcel.xls? EGO iustus volo ut run ex hoc volunt code
Email meum
dahalram20@gmail.com
Hi Aakash,
Mitte ergo mihi prorsus exigentia. Egressus est vobis in auxilium meum probabo.
Thanks,
Techalpine
Hi,
Numquid tu file share in DroolExcel.xls?
Volui facere progressio. Ego novi facit intelligi voluit drools.
Email oratio mea,: b4umani2003@gmail.com
Thanks,
Mani
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
Hi,
Scis uti se facere praecepta APIs linteum expansum?
Thanks,
Nithya
Praecedo lima potes mitte ,volo currere resultaret ..??
Num placet exemplum DRL ubi possem providere notitia ex hoc update Database .
Hi Sunil,
Vos can utor idem eadem paulo immutatio.
Placere contactus me @ techalpineit@gmail.com porro auxilium.
Thanks
/KP
Hi,
An tu participant in Praecedo ? Ego vis ad inserere, aut a numerus of string string search nervo alio
Thanks
Hi Ananya,
Vos can utor idem eadem idem lima sample data videatur faciam tibi.
Mail quaeso mihi @ techalpineit@gmail.com porro auxilium.
Thanks
/KP
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
Salve Shekhar,
Vos postulo ut lima .class sunt available, et utraque .drl. Et facies mihi Placere reprehendo si quaestio.
Mail quaeso mihi @ techalpineit@gmail.com
Thanks
Kaushik
hi
it is very good blog i executed. but i want to generate Rule file template automatically without adding any Rule file.