use of org.drools.compiler.kie.builder.impl.FileKieModule in project drools by kiegroup.
the class KieProjectRuntimeModulesTest method createMultpleJarAndFileResources.
@Test
public void createMultpleJarAndFileResources() throws IOException, ClassNotFoundException, InterruptedException {
KieModuleModel kProjModel1 = createKieModule("jar1", true);
KieModuleModel kProjModel2 = createKieModule("jar2", true);
KieModuleModel kProjModel3 = createKieModule("jar3", true);
KieModuleModel kProjModel4 = createKieModule("fol4", false);
ReleaseId releaseId1 = KieServices.Factory.get().newReleaseId("jar1", "art1", "1.0-SNAPSHOT");
ReleaseId releaseId2 = KieServices.Factory.get().newReleaseId("jar2", "art1", "1.0-SNAPSHOT");
ReleaseId releaseId3 = KieServices.Factory.get().newReleaseId("jar3", "art1", "1.0-SNAPSHOT");
ReleaseId releaseId4 = KieServices.Factory.get().newReleaseId("fol4", "art1", "1.0-SNAPSHOT");
java.io.File file1 = fileManager.newFile("jar1-1.0-SNAPSHOT.jar");
java.io.File file2 = fileManager.newFile("jar2-1.0-SNAPSHOT.jar");
java.io.File file3 = fileManager.newFile("jar3-1.0-SNAPSHOT.jar");
java.io.File fol4 = fileManager.newFile("fol4-1.0-SNAPSHOT");
ZipKieModule mod1 = new ZipKieModule(releaseId1, kProjModel1, file1);
ZipKieModule mod2 = new ZipKieModule(releaseId2, kProjModel2, file2);
ZipKieModule mod3 = new ZipKieModule(releaseId3, kProjModel3, file3);
FileKieModule mod4 = new FileKieModule(releaseId4, kProjModel4, fol4);
mod1.addKieDependency(mod2);
mod1.addKieDependency(mod3);
mod1.addKieDependency(mod4);
KieModuleKieProject kProject = new KieModuleKieProject(mod1);
KieContainer kContainer = new KieContainerImpl(kProject, null);
KieBase kBase = kContainer.getKieBase("jar1.KBase1");
ClassLoader cl = ((KnowledgeBaseImpl) kBase).getRootClassLoader();
Class cls = cl.loadClass("org.drools.compiler.cdi.test.KProjectTestClassjar1");
assertNotNull(cls);
cls = cl.loadClass("org.drools.compiler.cdi.test.KProjectTestClassjar2");
assertNotNull(cls);
cls = cl.loadClass("org.drools.compiler.cdi.test.KProjectTestClassjar3");
assertNotNull(cls);
testEntry(new KProjectTestClassImpl("jar1", kContainer), "jar1");
testEntry(new KProjectTestClassImpl("jar2", kContainer), "jar2");
testEntry(new KProjectTestClassImpl("jar3", kContainer), "jar3");
testEntry(new KProjectTestClassImpl("fol4", kContainer), "fol4");
}
Aggregations