JBoss Community

Re: How to get a package from Guvnor and start it

created by doboss in jBPM - View the full discussion

I am so sad I couldn't figure that out myself!!! :((

 

You are absolutely right Maciej! I just had to change the ResourceType to PKG and it works!!

 

For anyone else, here is the final working solution:

 

package org.jbpm.examples.quickstarts;
 
import java.util.HashMap;
import java.util.Map;
 
import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.io.impl.UrlResource;
import org.drools.runtime.StatefulKnowledgeSession;
 
public class HelloRunner {
 
    public static final void main(String[] args) {
        try {
            // load up the knowledge base
            KnowledgeBase kbase = readKnowledgeBase();
            StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
            Map<String, Object> params = new HashMap<String, Object>();
            Person p = new Person("Maciej Swiderski");
            params.put("person", p);
            ksession.startProcess("com.sample.script", params);
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }
 
    private static KnowledgeBase readKnowledgeBase() throws Exception {
        String url = "http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/defaultPackage/LATEST";
        System.out.println("Going: " + url);
 
        UrlResource resource = (UrlResource) ResourceFactory.newUrlResource(url);
        resource.setBasicAuthentication("enabled");
        resource.setUsername("guest");
        resource.setPassword("guest");
        
        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
        kbuilder.add(resource, ResourceType.PKG);
         
        return kbuilder.newKnowledgeBase();
    }
}

 

Thank you Meciej! I owe you a beer or four!

 

:)

Reply to this message by going to Community

Start a new discussion in jBPM at Community