Example usage for org.apache.commons.jci.readers ResourceReader getBytes

List of usage examples for org.apache.commons.jci.readers ResourceReader getBytes

Introduction

In this page you can find the example usage for org.apache.commons.jci.readers ResourceReader getBytes.

Prototype

byte[] getBytes(final String pResourceName);

Source Link

Usage

From source file:org.vafer.drift.generator.JavaGeneratorTestCase.java

private CompilationResult compile(final InputStream input) throws IOException {
    final Schema schema = Schema.build(input);

    final JavaGenerator javaGenerator = new JavaGenerator("org.vafer.drift.generator.generated");
    final MemoryCodeWriter writer = new MemoryCodeWriter();
    javaGenerator.generate(schema, writer);

    final ResourceStore store = new MemoryResourceStore();
    final ResourceReader reader = writer;
    final JavaCompiler compiler = new JavaCompilerFactory().createCompiler("eclipse");

    assertNotNull(compiler);/*from w ww .  ja  v  a2s  .com*/

    final CompilationResult result = compiler.compile(writer.getNames(), reader, store);

    final CompilationProblem[] errors = result.getErrors();

    final Set<String> fileNames = new HashSet<String>();

    for (int i = 0; i < errors.length; i++) {
        System.out.println(errors[i]);
        fileNames.add(errors[i].getFileName());
    }

    final CompilationProblem[] warnings = result.getWarnings();
    for (int i = 0; i < warnings.length; i++) {
        System.out.println(warnings[i]);
        fileNames.add(warnings[i].getFileName());
    }

    if (fileNames.size() > 0) {
        System.out.println("Writing out files with problems");

        for (Iterator<String> it = fileNames.iterator(); it.hasNext();) {
            final String name = it.next();
            final String content = new String(reader.getBytes(name));

            final File fullPath = new File(dir, name);

            fullPath.getParentFile().mkdirs();

            System.out.println(" writing " + fullPath.getAbsolutePath());

            FileUtils.writeStringToFile(fullPath, content);
        }
    }

    return result;
}