protected static DeploymentDescriptor getDescriptorFromKModule(InternalKieModule kmodule) { DeploymentDescriptor desc = null; if (kmodule.isAvailable(DeploymentDescriptor.META_INF_LOCATION)) { byte[] content = kmodule.getBytes(DeploymentDescriptor.META_INF_LOCATION); ByteArrayInputStream input = new ByteArrayInputStream(content); try { desc = DeploymentDescriptorIO.fromXml(input); } finally { try { input.close(); } catch (IOException e) { logger.debug("Error when closing stream of kie-deployment-descriptor.xml"); } } } return desc; } }
private File write( InternalKieModule kModule, Path tempDir, ReleaseId releaseId) { String fileName = releaseId.getArtifactId() + "-" + releaseId.getVersion() + ".jar"; File file = new File(tempDir.toString(), fileName); try (FileOutputStream fos = new FileOutputStream(file)) { fos.write(kModule.getBytes()); fos.flush(); } catch (IOException ioe) { throw new RuntimeException(ioe); } return file; }
private InternalKieModule createKieJar( String... drls) { InternalKieModule kieJar = mock( InternalKieModule.class ); KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId("org.kie", "hello-world", "1.0"); List<String> drlFs = new ArrayList<String>(); for( int i=0; i<drls.length; i++ ) { if( drls[i] != null ) { String fileName = "src/main/resources/org/pkg1/drlFile"+i+".drl"; drlFs.add( fileName ); when( kieJar.getBytes( fileName ) ).thenReturn( drls[i].getBytes() ); } } when( kieJar.getBytes( KieModuleModelImpl.KMODULE_JAR_PATH ) ).thenReturn( createKieProjectWithPackages(ks, releaseId).toXML().getBytes() ); when( kieJar.getFileNames() ).thenReturn( drlFs ); return ( InternalKieModule ) kieJar; }
public static byte[] buildKJar(KieServices ks, KieFileSystem kfs, ReleaseId releaseId) { KieBuilder kb = ks.newKieBuilder(kfs).buildAll(); if (kb.getResults().hasMessages(Message.Level.ERROR)) { for (Message result : kb.getResults().getMessages()) { System.out.println(result.getText()); } return null; } InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
public static byte[] createJar(KieServices ks, String kmoduleContent, Predicate<String> classFilter, ReleaseId releaseId, Resource... resources) { KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML(releaseId).writeKModuleXML(kmoduleContent); for (int i = 0; i < resources.length; i++) { if (resources[i] != null) { kfs.write(resources[i]); } } KieBuilder kieBuilder = ks.newKieBuilder(kfs); ((InternalKieBuilder) kieBuilder).buildAll(classFilter); Results results = kieBuilder.getResults(); if (results.hasMessages(Message.Level.ERROR)) { throw new IllegalStateException(results.getMessages(Message.Level.ERROR).toString()); } InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
public static byte[] createJar(KieServices ks, ReleaseId releaseId, String... drls) { KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML( releaseId); for (int i = 0; i < drls.length; i++) { if (drls[i] != null) { kfs.write("src/main/resources/r" + i + ".drl", drls[i]); } } KieBuilder kb = ks.newKieBuilder(kfs).buildAll(); assertFalse(kb.getResults().getMessages(org.kie.api.builder.Message.Level.ERROR).toString(), kb.getResults().hasMessages(org.kie.api.builder.Message.Level.ERROR)); InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
public static byte[] createKJar(KieServices ks, ReleaseId releaseId, Resource pom, Resource... resources) { KieFileSystem kfs = ks.newKieFileSystem(); if (pom != null) { kfs.write(pom); } else { kfs.generateAndWritePomXML(releaseId); } for (int i = 0; i < resources.length; i++) { if (resources[i] != null) { kfs.write(resources[i]); } } ks.newKieBuilder(kfs).buildAll(); InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
protected static DeploymentDescriptor getDescriptorFromKModule(InternalKieModule kmodule) { DeploymentDescriptor desc = null; if (kmodule.isAvailable(DeploymentDescriptor.META_INF_LOCATION)) { byte[] content = kmodule.getBytes(DeploymentDescriptor.META_INF_LOCATION); ByteArrayInputStream input = new ByteArrayInputStream(content); try { desc = DeploymentDescriptorIO.fromXml(input); } finally { try { input.close(); } catch (IOException e) { logger.debug("Error when closing stream of kie-deployment-descriptor.xml"); } } } return desc; } }
@Override public void buildAndDeploy( final Path pathToPom ) { //Build final BuildResults results = doBuild( pathToPom ); buildResultsEvent.fire( results ); //Deploy, if no errors if ( results.getMessages().isEmpty() ) { final POM pom = pomService.load( pathToPom ); final Builder builder = cache.assertBuilder( pathToPom ); final InternalKieModule kieModule = (InternalKieModule) builder.getKieModule(); final ByteArrayInputStream input = new ByteArrayInputStream( kieModule.getBytes() ); m2RepoService.deployJar( input, pom.getGav() ); } }
byte[] jar = kieModule.getBytes();
byte[] jar = kieModule.getBytes();
byte[] jar = kieModule.getBytes();
public static byte[] createJarIgnoringErrors(KieServices ks, ReleaseId releaseId, Resource... resources) { KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML(releaseId); for (int i = 0; i < resources.length; i++) { if (resources[i] != null) { kfs.write(resources[i]); } } KieBuilder kieBuilder = ks.newKieBuilder(kfs); ((InternalKieBuilder) kieBuilder).buildAll(o -> true); InternalKieModule kieModule = (InternalKieModule) ((InternalKieBuilder) kieBuilder).getKieModuleIgnoringErrors(); byte[] jar = kieModule.getBytes(); return jar; } }
public static byte[] createJar(KieServices ks, ReleaseId releaseId, String... drls) { KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML( releaseId); for (int i = 0; i < drls.length; i++) { if (drls[i] != null) { kfs.write("src/main/resources/r" + i + ".drl", drls[i]); } } ks.newKieBuilder(kfs).buildAll(); InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
protected RuleUnitExecutor createExecutor(String sourceName) { KieServices ks = KieServices.Factory.get(); KieRepository kr = ks.getRepository(); ReleaseId releaseId = new ReleaseIdImpl("org.kie:pmmlTest:1.0-SNAPSHOT"); ((KieRepositoryImpl) kr).setDefaultGAV(releaseId); Resource res = ResourceFactory.newClassPathResource(sourceName); kbase = new KieHelper().addResource(res, ResourceType.PMML).build(); assertNotNull(kbase); RuleUnitExecutor executor = RuleUnitExecutor.create().bind(kbase); KieContainer kc = ((KnowledgeBaseImpl) ((InternalRuleUnitExecutor) executor).getKieSession().getKieBase()).getKieContainer(); InternalKieModule ikm = (InternalKieModule) kr.getKieModule(releaseId); try (FileOutputStream fos = new FileOutputStream("/tmp/outputModule.jar")) { fos.write(ikm.getBytes()); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } kc.getKieBaseNames().forEach(n -> { System.out.println(n); }); data = executor.newDataSource("request"); resultData = executor.newDataSource("results"); pmmlData = executor.newDataSource("pmmlData"); return executor; }
public static byte[] createJar(KieServices ks, String kmoduleContent, ReleaseId releaseId, Resource... resources) { KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML(releaseId).writeKModuleXML(kmoduleContent); for (int i = 0; i < resources.length; i++) { if (resources[i] != null) { kfs.write(resources[i]); } } ks.newKieBuilder(kfs).buildAll(); InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
public static byte[] createKJar(KieServices ks, ReleaseId releaseId, Resource pom, Resource... resources) { KieFileSystem kfs = ks.newKieFileSystem(); if( pom != null ) { kfs.write(pom); } else { kfs.generateAndWritePomXML(releaseId); } for (int i = 0; i < resources.length; i++) { if (resources[i] != null) { kfs.write(resources[i]); } } ks.newKieBuilder(kfs).buildAll(); InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
public static byte[] createKJar(KieServices ks, ReleaseId releaseId, String pom, String... drls) { KieFileSystem kfs = ks.newKieFileSystem(); if( pom != null ) { kfs.write("pom.xml", pom); } else { kfs.generateAndWritePomXML(releaseId); } for (int i = 0; i < drls.length; i++) { if (drls[i] != null) { kfs.write("src/main/resources/r" + i + ".drl", drls[i]); } } KieBuilder kb = ks.newKieBuilder(kfs).buildAll(); if( kb.getResults().hasMessages( org.kie.api.builder.Message.Level.ERROR ) ) { for( org.kie.api.builder.Message result : kb.getResults().getMessages() ) { System.out.println(result.getText()); } return null; } InternalKieModule kieModule = (InternalKieModule) ks.getRepository() .getKieModule(releaseId); byte[] jar = kieModule.getBytes(); return jar; }
@BeforeClass public static void setupClass() throws Exception { String groupId = "org.jbpm.console.ng.test"; String artifactId = "bpmn2-svg"; String version = "1.0-SNAPSHOT"; DEPLOYMENT_ID = groupId + ":" + artifactId + ":" + version; if(TestConfig.isLocalServer()) { startServer(); } FluentKieModuleDeploymentHelper kjarHelper = KieModuleDeploymentHelper.newFluentInstance(); kjarHelper.setGroupId(groupId) .setArtifactId(artifactId) .setVersion(version) .addResourceFilePath("/kjar/") .setKBaseName("kjar"); KieBaseModel kbaseModel = kjarHelper.getKieModuleModel().newKieBaseModel("kbase.kjar").addPackage("kjar"); kbaseModel.newKieSessionModel("kjar.session").setType(KieSessionType.STATEFUL); KieModule kieModule = kjarHelper.createKieJar(); repository.deployArtifact( new ByteArrayInputStream(((InternalKieModule) kieModule).getBytes()), new GAV(groupId, artifactId, version), true); }