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());
}
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);
}
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());
}
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()));
}
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()));
}
Aggregations