JBoss Community

Re: Drools Simple rule evaluation

created by ous2k in jBPM - View the full discussion

when i thougth about nightmare my mind was opened  i think it was session pb like you said @Mauricio it worked

:)

package com.ocana.workflow.dabviewticketing.server.bo;

 

 

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import java.util.Properties;

 

 

import org.drools.KnowledgeBase;

import org.drools.KnowledgeBaseFactory;

import org.drools.builder.KnowledgeBuilder;

import org.drools.builder.KnowledgeBuilderError;

import org.drools.builder.KnowledgeBuilderErrors;

import org.drools.builder.KnowledgeBuilderFactory;

import org.drools.builder.ResourceType;

import org.drools.io.ResourceFactory;

import org.drools.io.impl.ClassPathResource;

import org.drools.logger.KnowledgeRuntimeLogger;

import org.drools.logger.KnowledgeRuntimeLoggerFactory;

import org.drools.runtime.KnowledgeSessionConfiguration;

import org.drools.runtime.StatefulKnowledgeSession;

import org.jbpm.process.instance.event.DefaultSignalManagerFactory;

import org.jbpm.process.instance.impl.DefaultProcessInstanceManagerFactory;

import org.drools.KnowledgeBase;

import org.drools.builder.KnowledgeBuilder;

import org.drools.builder.KnowledgeBuilderError;

import org.drools.builder.KnowledgeBuilderFactory;

import org.drools.builder.ResourceType;

import org.drools.io.impl.ClassPathResource;

import org.drools.logger.KnowledgeRuntimeLoggerFactory;

import org.drools.runtime.StatefulKnowledgeSession;

import org.drools.runtime.help.QuartzHelper;

import org.junit.Test;

 

 

import com.ocana.workflow.dabviewticketing.server.model.SystemStatus;

import com.ocana.workflow.dabviewticketing.server.model.Ticket;

 

 

public class JBPMClient {

 

 

          public static final void main(String[] args) {

                    try {

 

 

                              StatefulKnowledgeSession ksession = createKnowledgeSession();

                              KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession);

 

 

                              Ticket ticket = new Ticket();

                              ticket.setStatus("open");

                              ticket.setContent("testing content");

                              ticket.setOpeningDate(new Date());

                              ticket.setIdTicket(1);

                  ksession.insert(ticket);

                  ksession.fireAllRules();

 

                    } catch (Throwable t) {

                              t.printStackTrace();

                    }

          }

 

 

          private static StatefulKnowledgeSession createKnowledgeSession() {

                    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory

                                        .newKnowledgeBuilder();

                    kbuilder.add(ResourceFactory.newClassPathResource("OpenStateRules.drl"),

                                        ResourceType.DRL);

 

 

                    if (kbuilder.hasErrors()) {

                              if (kbuilder.getErrors().size() > 0) {

                                        for (KnowledgeBuilderError kerror : kbuilder.getErrors()) {

                                                  System.err.println(kerror);

                                        }

                              }

                    }

 

 

                    KnowledgeBase kbase = kbuilder.newKnowledgeBase();

                    StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

                    return ksession;

          }

 

 

}

Reply to this message by going to Community

Start a new discussion in jBPM at Community