Search in sources :

Example 1 with File

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) {
    }
}
Also used : MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) ByteArrayInputStream(java.io.ByteArrayInputStream) FileSystem(org.drools.compiler.compiler.io.FileSystem) MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) IOException(java.io.IOException) Folder(org.drools.compiler.compiler.io.Folder) File(org.drools.compiler.compiler.io.File) Test(org.junit.Test)

Example 2 with File

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()));
}
Also used : MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) FileSystem(org.drools.compiler.compiler.io.FileSystem) MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) Folder(org.drools.compiler.compiler.io.Folder) File(org.drools.compiler.compiler.io.File) Test(org.junit.Test)

Example 3 with File

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());
}
Also used : MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) ByteArrayInputStream(java.io.ByteArrayInputStream) FileSystem(org.drools.compiler.compiler.io.FileSystem) MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) Folder(org.drools.compiler.compiler.io.Folder) MemoryFolder(org.drools.compiler.compiler.io.memory.MemoryFolder) File(org.drools.compiler.compiler.io.File) Test(org.junit.Test)

Example 4 with File

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());
}
Also used : MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) KieFileSystem(org.kie.api.builder.KieFileSystem) Resource(org.kie.api.io.Resource) KieServices(org.kie.api.KieServices) KieSession(org.kie.api.runtime.KieSession) ReleaseId(org.kie.api.builder.ReleaseId) File(org.drools.compiler.compiler.io.File) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) KieModule(org.kie.api.builder.KieModule) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) Test(org.junit.Test)

Example 5 with File

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());
}
Also used : MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) KieFileSystem(org.kie.api.builder.KieFileSystem) Message(org.drools.compiler.Message) Resource(org.kie.api.io.Resource) KieServices(org.kie.api.KieServices) KieSession(org.kie.api.runtime.KieSession) ReleaseId(org.kie.api.builder.ReleaseId) File(org.drools.compiler.compiler.io.File) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) KieModule(org.kie.api.builder.KieModule) InternalKieModule(org.drools.compiler.kie.builder.impl.InternalKieModule) Test(org.junit.Test)

Aggregations

File (org.drools.compiler.compiler.io.File)25 Test (org.junit.Test)20 MemoryFileSystem (org.drools.compiler.compiler.io.memory.MemoryFileSystem)18 Folder (org.drools.compiler.compiler.io.Folder)13 FileSystem (org.drools.compiler.compiler.io.FileSystem)10 InternalKieModule (org.drools.compiler.kie.builder.impl.InternalKieModule)7 ByteArrayInputStream (java.io.ByteArrayInputStream)6 KieServices (org.kie.api.KieServices)6 KieFileSystem (org.kie.api.builder.KieFileSystem)6 KieModule (org.kie.api.builder.KieModule)6 ReleaseId (org.kie.api.builder.ReleaseId)6 Resource (org.kie.api.io.Resource)6 KieSession (org.kie.api.runtime.KieSession)6 IOException (java.io.IOException)5 MemoryFile (org.drools.compiler.compiler.io.memory.MemoryFile)3 KieBuilder (org.kie.api.builder.KieBuilder)3 ArrayList (java.util.ArrayList)2 ZipFile (java.util.zip.ZipFile)2 FileSystemItem (org.drools.compiler.compiler.io.FileSystemItem)2 MemoryFolder (org.drools.compiler.compiler.io.memory.MemoryFolder)2