use of org.drools.compiler.compiler.io.File in project drools by kiegroup.
the class MemoryFileTest method testFileRemoval.
@Test
public void testFileRemoval() throws IOException {
FileSystem fs = new MemoryFileSystem();
Folder mres = fs.getFolder("src/main/java/org/domain");
mres.create();
File f1 = mres.getFile("MyClass.java");
f1.create(new ByteArrayInputStream("ABC".getBytes()));
assertTrue(f1.exists());
assertEquals("ABC", StringUtils.toString(f1.getContents()));
fs.remove(f1);
f1 = mres.getFile("MyClass.java");
assertFalse(f1.exists());
try {
f1.getContents();
fail("Should throw IOException");
} catch (IOException e) {
}
}
use of org.drools.compiler.compiler.io.File in project drools by kiegroup.
the class MemoryFileTest method testRelativeToBranchFilePath.
@Test
public void testRelativeToBranchFilePath() {
FileSystem fs = new MemoryFileSystem();
Folder mres = fs.getFolder("src/main/java/org/domain");
Folder f2 = fs.getFolder("src/main/resources/org/domain/");
File f1 = mres.getFile("MyClass.java");
assertEquals("../../../java/org/domain/MyClass.java", f1.getPath().toRelativePortableString(f2.getPath()));
}
use of org.drools.compiler.compiler.io.File in project drools by kiegroup.
the class MemoryFolderTest method testFolderRemoval.
@Test
public void testFolderRemoval() throws IOException {
FileSystem fs = new MemoryFileSystem();
Folder fld = fs.getFolder("src/main/resources/org/domain");
fld.create();
fld = fs.getFolder("src/main");
File file = fld.getFile("MyClass1.java");
file.create(new ByteArrayInputStream("ABC1".getBytes()));
file = fld.getFile("MyClass2.java");
file.create(new ByteArrayInputStream("ABC2".getBytes()));
fld = fs.getFolder("src/main/resources/org");
file = fld.getFile("MyClass3.java");
file.create(new ByteArrayInputStream("ABC3".getBytes()));
file = fld.getFile("MyClass4.java");
file.create(new ByteArrayInputStream("ABC4".getBytes()));
fld = fs.getFolder("src/main/resources/org/domain");
file = fld.getFile("MyClass4.java");
file.create(new ByteArrayInputStream("ABC5".getBytes()));
assertTrue(fs.getFolder("src/main").exists());
assertTrue(fs.getFile("src/main/MyClass1.java").exists());
assertTrue(fs.getFile("src/main/MyClass2.java").exists());
assertTrue(fs.getFile("src/main/resources/org/MyClass3.java").exists());
assertTrue(fs.getFile("src/main/resources/org/MyClass4.java").exists());
assertTrue(fs.getFile("src/main/resources/org/domain/MyClass4.java").exists());
fs.remove(fs.getFolder("src/main"));
assertFalse(fs.getFolder("src/main").exists());
assertFalse(fs.getFile("src/main/MyClass1.java").exists());
assertFalse(fs.getFile("src/main/MyClass2.java").exists());
assertFalse(fs.getFile("src/main/resources/org/MyClass3.java").exists());
assertFalse(fs.getFile("src/main/resources/org/MyClass4.java").exists());
assertFalse(fs.getFile("src/main/resources/org/domain/MyClass4.java").exists());
}
use of org.drools.compiler.compiler.io.File in project drools by kiegroup.
the class KieCompilationCacheTest method testCacheWigAccumulate.
@Test
public void testCacheWigAccumulate() throws Exception {
String drl1 = "package org.drools.compiler.integrationtests\n" + "rule R11 when\n" + " Number() from accumulate(String(), \n" + " init(int x = 0;)," + " action(x++;)," + " reverse(x--;)," + " result(x))\n" + "then\n" + "end\n";
KieServices ks = KieServices.Factory.get();
ReleaseId releaseId = ks.newReleaseId("org.kie", "cache-accumulate", "1.0-SNAPSHOT");
KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML(releaseId).write("src/main/resources/KBase1/org/pkg1/r1.drl", drl1).writeKModuleXML(createKieProjectWithPackagesAnd2KieBases(ks).toXML());
ks.newKieBuilder(kfs).buildAll();
InternalKieModule kieModule = (InternalKieModule) ks.getRepository().getKieModule(releaseId);
byte[] jar = kieModule.getBytes();
MemoryFileSystem mfs = MemoryFileSystem.readFromJar(jar);
File file = mfs.getFile(KieBuilderImpl.getCompilationCachePath(releaseId, "KBase1"));
assertNotNull(file);
Resource jarRes = ks.getResources().newByteArrayResource(jar);
KieModule km = ks.getRepository().addKieModule(jarRes);
KieSession ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession1");
ksession.insert(new String("Hello World"));
assertEquals(1, ksession.fireAllRules());
}
use of org.drools.compiler.compiler.io.File in project drools by kiegroup.
the class KieCompilationCacheTest method testHelloWorldWithPackagesAnd2KieBases.
@Test
public void testHelloWorldWithPackagesAnd2KieBases() throws Exception {
String drl1 = "package org.drools.compiler.integrationtests\n" + "import " + Message.class.getCanonicalName() + "\n" + "rule R11 when\n" + " $m : Message( message == \"Hello World\" )\n" + "then\n" + "end\n" + "rule R12 when\n" + " $m : Message( message == \"Hi Universe\" )\n" + "then\n" + "end\n";
String drl2 = "package org.drools.compiler.integrationtests\n" + "import " + Message.class.getCanonicalName() + "\n" + "rule R21 when\n" + " $m : Message( message == \"Hello World\" )\n" + "then\n" + "end\n" + "rule R22 when\n" + " $m : Message( message == \"Aloha Earth\" )\n" + "then\n" + "end\n";
KieServices ks = KieServices.Factory.get();
ReleaseId releaseId = ks.newReleaseId("org.kie", "hello-world", "1.0-SNAPSHOT");
KieFileSystem kfs = ks.newKieFileSystem().generateAndWritePomXML(releaseId).write("src/main/resources/KBase1/org/pkg1/r1.drl", drl1).write("src/main/resources/KBase1/org/pkg2/r2.drl", drl2).writeKModuleXML(createKieProjectWithPackagesAnd2KieBases(ks).toXML());
ks.newKieBuilder(kfs).buildAll();
InternalKieModule kieModule = (InternalKieModule) ks.getRepository().getKieModule(releaseId);
byte[] jar = kieModule.getBytes();
MemoryFileSystem mfs = MemoryFileSystem.readFromJar(jar);
File file = mfs.getFile(KieBuilderImpl.getCompilationCachePath(releaseId, "KBase1"));
assertNotNull(file);
file = mfs.getFile(KieBuilderImpl.getCompilationCachePath(releaseId, "KBase2"));
assertNotNull(file);
Resource jarRes = ks.getResources().newByteArrayResource(jar);
KieModule km = ks.getRepository().addKieModule(jarRes);
KieSession ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession1");
ksession.insert(new Message("Hello World"));
assertEquals(1, ksession.fireAllRules());
ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession1");
ksession.insert(new Message("Hi Universe"));
assertEquals(1, ksession.fireAllRules());
ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession1");
ksession.insert(new Message("Aloha Earth"));
assertEquals(0, ksession.fireAllRules());
ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession2");
ksession.insert(new Message("Hello World"));
assertEquals(1, ksession.fireAllRules());
ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession2");
ksession.insert(new Message("Hi Universe"));
assertEquals(0, ksession.fireAllRules());
ksession = ks.newKieContainer(km.getReleaseId()).newKieSession("KSession2");
ksession.insert(new Message("Aloha Earth"));
assertEquals(1, ksession.fireAllRules());
}
Aggregations