Search in sources :

Example 61 with KnowledgeBuilderConfigurationImpl

use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project drools by kiegroup.

the class CommonTestMethodBase method loadKnowledgePackages.

public Collection<KiePackage> loadKnowledgePackages(KnowledgeBuilderConfiguration kbuilderConf, boolean serialize, String... classPathResources) {
    if (kbuilderConf == null) {
        kbuilderConf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
    }
    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(kbuilderConf);
    for (String classPathResource : classPathResources) {
        kbuilder.add(ResourceFactory.newClassPathResource(classPathResource, getClass()), ResourceType.DRL);
    }
    if (kbuilder.hasErrors()) {
        fail(kbuilder.getErrors().toString());
    }
    Collection<KiePackage> knowledgePackages = null;
    if (serialize) {
        try {
            knowledgePackages = SerializationHelper.serializeObject(kbuilder.getKnowledgePackages(), ((KnowledgeBuilderConfigurationImpl) kbuilderConf).getClassLoader());
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    } else {
        knowledgePackages = kbuilder.getKnowledgePackages();
    }
    return knowledgePackages;
}
Also used : KnowledgeBuilder(org.kie.internal.builder.KnowledgeBuilder) KiePackage(org.kie.api.definition.KiePackage) KnowledgeBuilderConfigurationImpl(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl)

Example 62 with KnowledgeBuilderConfigurationImpl

use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project jbpm by kiegroup.

the class BPMN2ProcessProviderImpl method configurePackageBuilder.

public void configurePackageBuilder(KnowledgeBuilder knowledgeBuilder) {
    KnowledgeBuilderConfigurationImpl conf = ((KnowledgeBuilderImpl) knowledgeBuilder).getBuilderConfiguration();
    if (conf.getSemanticModules().getSemanticModule(BPMNSemanticModule.BPMN2_URI) == null) {
        conf.addSemanticModule(new BPMNSemanticModule());
        conf.addSemanticModule(new BPMNDISemanticModule());
        conf.addSemanticModule(new BPMNExtensionsSemanticModule());
    }
}
Also used : BPMNExtensionsSemanticModule(org.jbpm.bpmn2.xml.BPMNExtensionsSemanticModule) BPMNDISemanticModule(org.jbpm.bpmn2.xml.BPMNDISemanticModule) KnowledgeBuilderConfigurationImpl(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl) KnowledgeBuilderImpl(org.drools.compiler.builder.impl.KnowledgeBuilderImpl) BPMNSemanticModule(org.jbpm.bpmn2.xml.BPMNSemanticModule)

Example 63 with KnowledgeBuilderConfigurationImpl

use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project jbpm by kiegroup.

the class XmlRuleFlowProcessDumper method readProcess.

@Override
public Process readProcess(String processXml) {
    KnowledgeBuilderConfigurationImpl configuration = new KnowledgeBuilderConfigurationImpl();
    SemanticModules modules = configuration.getSemanticModules();
    modules.addSemanticModule(new ProcessSemanticModule());
    XmlProcessReader xmlReader = new XmlProcessReader(modules, Thread.currentThread().getContextClassLoader());
    try {
        List<Process> processes = xmlReader.read(new StringReader(processXml));
        return processes.get(0);
    } catch (Throwable t) {
        t.printStackTrace();
        return null;
    }
}
Also used : SemanticModules(org.drools.core.xml.SemanticModules) KnowledgeBuilderConfigurationImpl(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl) StringReader(java.io.StringReader) WorkflowProcess(org.kie.api.definition.process.WorkflowProcess) Process(org.kie.api.definition.process.Process)

Example 64 with KnowledgeBuilderConfigurationImpl

use of org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl in project jbpm by kiegroup.

the class JbpmBpmn2TestCase method buildAndDumpBPMN2Process.

// Important to test this since persistence relies on this
protected List<Resource> buildAndDumpBPMN2Process(String process) throws SAXException, IOException {
    KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
    ((KnowledgeBuilderConfigurationImpl) conf).initSemanticModules();
    ((KnowledgeBuilderConfigurationImpl) conf).addSemanticModule(new BPMNSemanticModule());
    ((KnowledgeBuilderConfigurationImpl) conf).addSemanticModule(new BPMNDISemanticModule());
    ((KnowledgeBuilderConfigurationImpl) conf).addSemanticModule(new BPMNExtensionsSemanticModule());
    Resource classpathResource = ResourceFactory.newClassPathResource(process);
    // Dump and reread
    XmlProcessReader processReader = new XmlProcessReader(((KnowledgeBuilderConfigurationImpl) conf).getSemanticModules(), getClass().getClassLoader());
    List<Process> processes = processReader.read(this.getClass().getResourceAsStream("/" + process));
    List<Resource> resources = new ArrayList<Resource>();
    for (Process p : processes) {
        RuleFlowProcess ruleFlowProcess = (RuleFlowProcess) p;
        String dumpedString = XmlBPMNProcessDumper.INSTANCE.dump(ruleFlowProcess);
        Resource resource = ResourceFactory.newReaderResource(new StringReader(dumpedString));
        resource.setSourcePath(classpathResource.getSourcePath());
        resource.setTargetPath(classpathResource.getTargetPath());
        resources.add(resource);
    }
    return resources;
}
Also used : RuleFlowProcess(org.jbpm.ruleflow.core.RuleFlowProcess) KnowledgeBuilderConfigurationImpl(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl) XmlProcessReader(org.jbpm.compiler.xml.XmlProcessReader) Resource(org.kie.api.io.Resource) ArrayList(java.util.ArrayList) Process(org.kie.api.definition.process.Process) RuleFlowProcess(org.jbpm.ruleflow.core.RuleFlowProcess) BPMNExtensionsSemanticModule(org.jbpm.bpmn2.xml.BPMNExtensionsSemanticModule) BPMNDISemanticModule(org.jbpm.bpmn2.xml.BPMNDISemanticModule) BPMNSemanticModule(org.jbpm.bpmn2.xml.BPMNSemanticModule) StringReader(java.io.StringReader) KnowledgeBuilderConfiguration(org.kie.internal.builder.KnowledgeBuilderConfiguration)

Aggregations

KnowledgeBuilderConfigurationImpl (org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl)64 Test (org.junit.Test)34 KnowledgeBuilderImpl (org.drools.compiler.builder.impl.KnowledgeBuilderImpl)23 InternalKnowledgePackage (org.drools.core.definitions.InternalKnowledgePackage)18 DialectCompiletimeRegistry (org.drools.compiler.compiler.DialectCompiletimeRegistry)17 RuleBuildContext (org.drools.compiler.rule.builder.RuleBuildContext)14 PackageRegistry (org.drools.compiler.compiler.PackageRegistry)12 KnowledgeBuilder (org.kie.internal.builder.KnowledgeBuilder)12 ClassObjectType (org.drools.core.base.ClassObjectType)10 Pattern (org.drools.core.rule.Pattern)10 StringReader (java.io.StringReader)9 ArrayList (java.util.ArrayList)9 HashMap (java.util.HashMap)8 RuleDescr (org.drools.compiler.lang.descr.RuleDescr)8 PackageDescr (org.drools.drl.ast.descr.PackageDescr)8 RuleDescr (org.drools.drl.ast.descr.RuleDescr)8 List (java.util.List)7 Process (org.kie.api.definition.process.Process)7 InternalFactHandle (org.drools.core.common.InternalFactHandle)6 KnowledgePackageImpl (org.drools.core.definitions.impl.KnowledgePackageImpl)6