use of org.drools.compiler.compiler.io.memory.MemoryFileSystem in project drools by kiegroup.
the class MemoryKieModuleResourceProviderTest method testGetResourceForFolderWithOnlySubFolders.
@Test
public void testGetResourceForFolderWithOnlySubFolders() throws Exception {
MemoryFileSystem mfs = new MemoryFileSystem();
mfs.createFolder(new MemoryFolder(mfs, "src/main/java"));
mfs.createFolder(new MemoryFolder(mfs, "src/main/java/org"));
mfs.createFolder(new MemoryFolder(mfs, "src/main/java/com"));
MemoryKieModule mkm = new MemoryKieModule(releaseId, kieModuleModel, mfs);
ResourceProvider resourceProvider = mkm.createResourceProvider();
String folderContents = IOUtils.toString(resourceProvider.getResource("src/main/java").openStream());
Assertions.assertThat(folderContents).hasLineCount(2).contains("com", "org");
}
use of org.drools.compiler.compiler.io.memory.MemoryFileSystem in project drools by kiegroup.
the class MemoryKieModuleResourceProviderTest method testGetResourceForEmptyFolder.
@Test
public void testGetResourceForEmptyFolder() throws Exception {
MemoryFileSystem mfs = new MemoryFileSystem();
mfs.createFolder(new MemoryFolder(mfs, "src/main/java"));
MemoryKieModule mkm = new MemoryKieModule(releaseId, kieModuleModel, mfs);
ResourceProvider resourceProvider = mkm.createResourceProvider();
String folderContents = IOUtils.toString(resourceProvider.getResource("src/main/java").openStream());
Assertions.assertThat(folderContents).isEmpty();
}
use of org.drools.compiler.compiler.io.memory.MemoryFileSystem in project drools by kiegroup.
the class MemoryFolderTest method testNestedRelativePath.
@Test
public void testNestedRelativePath() {
FileSystem fs = new MemoryFileSystem();
Folder f1 = fs.getFolder("src/main/java");
Folder f2 = fs.getFolder("src/main/java/org");
f1.create();
f2.create();
assertEquals("org", f2.getPath().toRelativePortableString(f1.getPath()));
fs = new MemoryFileSystem();
f1 = fs.getFolder("src/main/java");
f2 = fs.getFolder("src/main/java/org/drools/reteoo");
f1.create();
f2.create();
assertEquals("org/drools/reteoo", f2.getPath().toRelativePortableString(f1.getPath()));
}
use of org.drools.compiler.compiler.io.memory.MemoryFileSystem in project drools by kiegroup.
the class MemoryFolderTest method testGetParentWithLeadingAndTrailingSlash.
@Test
public void testGetParentWithLeadingAndTrailingSlash() {
MemoryFileSystem mfs = new MemoryFileSystem();
assertEquals("", new MemoryFolder(mfs, "/src").getParent().getPath().toPortableString());
assertEquals("", new MemoryFolder(mfs, "src/").getParent().getPath().toPortableString());
assertEquals("", new MemoryFolder(mfs, "/src/").getParent().getPath().toPortableString());
assertEquals("src", new MemoryFolder(mfs, "/src/main").getParent().getPath().toPortableString());
assertEquals("src", new MemoryFolder(mfs, "src/main/").getParent().getPath().toPortableString());
assertEquals("src", new MemoryFolder(mfs, "/src/main/").getParent().getPath().toPortableString());
assertEquals("src/main", new MemoryFolder(mfs, "/src/main/java").getParent().getPath().toPortableString());
assertEquals("src/main", new MemoryFolder(mfs, "src/main/java/").getParent().getPath().toPortableString());
assertEquals("src/main", new MemoryFolder(mfs, "/src/main/java/").getParent().getPath().toPortableString());
}
use of org.drools.compiler.compiler.io.memory.MemoryFileSystem in project drools by kiegroup.
the class KieModuleMavenTest method testKieModulePojoDependencies.
@Test
public void testKieModulePojoDependencies() throws Exception {
KieServices ks = KieServices.Factory.get();
// Create and deploy a standard mavenized pojo jar
String pojoNS = "org.kie.pojos";
ReleaseId pojoID = KieServices.Factory.get().newReleaseId(pojoNS, "pojojar", "2.0.0");
String className = "Message";
ClassDefinition def = new ClassDefinition(pojoNS + "." + className);
def.addField(new FieldDefinition("text", String.class.getName()));
byte[] messageClazz = ClassBuilderFactory.getDefaultBeanClassBuilder().buildClass(def, null);
MemoryFileSystem mfs = new MemoryFileSystem();
mfs.write(pojoNS.replace('.', '/') + "/" + className + ".class", messageClazz);
byte[] pomContent = generatePomXml(pojoID).getBytes();
mfs.write("META-INF/maven/" + pojoID.getGroupId() + "/" + pojoID.getArtifactId() + "/pom.xml", pomContent);
mfs.write("META-INF/maven/" + pojoID.getGroupId() + "/" + pojoID.getArtifactId() + "/pom.properties", generatePomProperties(pojoID).getBytes());
byte[] pojojar = mfs.writeAsBytes();
MavenRepository.getMavenRepository().installArtifact(pojoID, pojojar, pomContent);
// Create and deploy a kjar that depends on the previous pojo jar
String kjarNS = "org.kie.test1";
ReleaseId kjarID = KieServices.Factory.get().newReleaseId(kjarNS, "rkjar", "1.0.0");
String rule = getRule(kjarNS, pojoNS, "R1");
String pom = generatePomXml(kjarID, pojoID);
byte[] rkjar = createKJar(ks, kjarID, pom, rule);
KieModule kmodule = deployJar(ks, rkjar);
assertNotNull(kmodule);
KieContainer kContainer = ks.newKieContainer(kjarID);
KieSession kSession = kContainer.newKieSession();
List<?> list = new ArrayList<Object>();
kSession.setGlobal("list", list);
kSession.fireAllRules();
assertEquals(1, list.size());
}
Aggregations