Search in sources :

Example 11 with File

use of org.drools.compiler.compiler.io.File in project drools by kiegroup.

the class MemoryFileSystemTest method testGetJapaneseFileName.

@Test
public void testGetJapaneseFileName() throws Exception {
    final File file = memoryFileSystem.getFile("path/path/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A.java");
    assertEquals("あいうえお.java", file.getName());
}
Also used : File(org.drools.compiler.compiler.io.File) Test(org.junit.Test)

Example 12 with File

use of org.drools.compiler.compiler.io.File in project drools by kiegroup.

the class CanonicalModelKieProject method writeProjectOutput.

@Override
public void writeProjectOutput(MemoryFileSystem trgMfs, ResultsImpl messages) {
    MemoryFileSystem srcMfs = new MemoryFileSystem();
    ModelWriter modelWriter = new ModelWriter();
    List<String> modelFiles = new ArrayList<>();
    for (ModelBuilderImpl modelBuilder : modelBuilders) {
        final ModelWriter.Result result = modelWriter.writeModel(srcMfs, modelBuilder.getPackageModels());
        modelFiles.addAll(result.getModelFiles());
        final String[] sources = result.getSources();
        if (sources.length != 0) {
            CompilationResult res = getCompiler().compile(sources, srcMfs, trgMfs, getClassLoader());
            Stream.of(res.getErrors()).collect(groupingBy(CompilationProblem::getFileName)).forEach((name, errors) -> {
                errors.forEach(messages::addMessage);
                File srcFile = srcMfs.getFile(name);
                if (srcFile instanceof MemoryFile) {
                    String src = new String(srcMfs.getFileContents((MemoryFile) srcFile));
                    messages.addMessage(Message.Level.ERROR, name, "Java source of " + name + " in error:\n" + src);
                }
            });
            for (CompilationProblem problem : res.getWarnings()) {
                messages.addMessage(problem);
            }
        }
    }
    modelWriter.writeModelFile(modelFiles, trgMfs);
}
Also used : MemoryFile(org.drools.compiler.compiler.io.memory.MemoryFile) ArrayList(java.util.ArrayList) CompilationProblem(org.drools.compiler.commons.jci.problems.CompilationProblem) MemoryFileSystem(org.drools.compiler.compiler.io.memory.MemoryFileSystem) CompilationResult(org.drools.compiler.commons.jci.compilers.CompilationResult) File(org.drools.compiler.compiler.io.File) MemoryFile(org.drools.compiler.compiler.io.memory.MemoryFile)

Example 13 with File

use of org.drools.compiler.compiler.io.File in project drools by kiegroup.

the class MemoryFileTest method testFilePath.

@Test
public void testFilePath() {
    FileSystem fs = new MemoryFileSystem();
    Folder mres = fs.getFolder("src/main/java/org/domain");
    File f1 = mres.getFile("MyClass.java");
    assertEquals("src/main/java/org/domain/MyClass.java", f1.getPath().toPortableString());
}
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 14 with File

use of org.drools.compiler.compiler.io.File in project drools by kiegroup.

the class MemoryFileTest method testRelativeToParentFilePath.

@Test
public void testRelativeToParentFilePath() {
    FileSystem fs = new MemoryFileSystem();
    Folder mres = fs.getFolder("src/main/java/org/domain");
    Folder f2 = fs.getFolder("src/main/java/org/domain/f1/f2/");
    File f1 = mres.getFile("MyClass.java");
    assertEquals("../../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 15 with File

use of org.drools.compiler.compiler.io.File in project drools by kiegroup.

the class MemoryFileTest method testFileCreation.

@Test
public void testFileCreation() throws IOException {
    FileSystem fs = new MemoryFileSystem();
    Folder mres = fs.getFolder("src/main/java/org/domain");
    File f1 = mres.getFile("MyClass.java");
    f1.create(new ByteArrayInputStream("ABC".getBytes()));
    mres.create();
    f1 = mres.getFile("MyClass.java");
    assertTrue(f1.exists());
    f1.create(new ByteArrayInputStream("ABC".getBytes()));
    f1 = mres.getFile("MyClass.java");
    assertTrue(f1.exists());
    assertEquals("ABC", StringUtils.toString(f1.getContents()));
    f1.create(new ByteArrayInputStream("ABC".getBytes()));
    f1.setContents(new ByteArrayInputStream("DEF".getBytes()));
    assertEquals("DEF", StringUtils.toString(f1.getContents()));
}
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) File(org.drools.compiler.compiler.io.File) Test(org.junit.Test)

Aggregations

File (org.drools.compiler.compiler.io.File)15 Test (org.junit.Test)11 MemoryFileSystem (org.drools.compiler.compiler.io.memory.MemoryFileSystem)10 Folder (org.drools.compiler.compiler.io.Folder)9 FileSystem (org.drools.compiler.compiler.io.FileSystem)6 IOException (java.io.IOException)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 InternalKieModule (org.drools.compiler.kie.builder.impl.InternalKieModule)3 KieServices (org.kie.api.KieServices)3 KieFileSystem (org.kie.api.builder.KieFileSystem)3 KieModule (org.kie.api.builder.KieModule)3 ReleaseId (org.kie.api.builder.ReleaseId)3 Resource (org.kie.api.io.Resource)3 KieSession (org.kie.api.runtime.KieSession)3 ZipFile (java.util.zip.ZipFile)2 Resource (org.drools.compiler.compiler.io.Resource)2 MemoryFile (org.drools.compiler.compiler.io.memory.MemoryFile)2 ArrayList (java.util.ArrayList)1 ZipEntry (java.util.zip.ZipEntry)1 Message (org.drools.compiler.Message)1