Search in sources :

Example 1 with FileReader

use of com.github.havardh.javaflow.phases.reader.FileReader in project javaflow by havardh.

the class JavaFlowTest method parseAll.

private static Map<String, Type> parseAll(String... modelNames) {
    FileReader adapter = new FileReader();
    Parser parser = new JavaParser();
    Transformer transformer = new InheritanceTransformer();
    List<Type> types = stream(modelNames).map(name -> BASE_PATH + name + ".java").map(adapter::read).map(Optional::get).map(parser::parse).map(Optional::get).collect(toList());
    transformer.transform(types);
    return types.stream().collect(toMap(type -> type.getCanonicalName().getName(), identity()));
}
Also used : BeforeEach(org.junit.jupiter.api.BeforeEach) Nested(org.junit.jupiter.api.Nested) Field(com.github.havardh.javaflow.ast.Field) InheritanceTransformer(com.github.havardh.javaflow.phases.transform.InheritanceTransformer) Parent(com.github.havardh.javaflow.ast.Parent) Collectors.toMap(java.util.stream.Collectors.toMap) Parser(com.github.havardh.javaflow.phases.parser.Parser) Class(com.github.havardh.javaflow.ast.Class) Map(java.util.Map) Matchers.hasSize(org.hamcrest.Matchers.hasSize) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Type(com.github.havardh.javaflow.ast.Type) Enum(com.github.havardh.javaflow.ast.Enum) Matchers.notNullValue(org.hamcrest.Matchers.notNullValue) CanonicalName(com.github.havardh.javaflow.model.CanonicalName) Transformer(com.github.havardh.javaflow.phases.transform.Transformer) Test(org.junit.jupiter.api.Test) JavaParser(com.github.havardh.javaflow.phases.parser.java.JavaParser) JavaFlowConverter(com.github.havardh.javaflow.phases.writer.flow.converter.JavaFlowConverter) Collectors.toList(java.util.stream.Collectors.toList) List(java.util.List) Matchers.contains(org.hamcrest.Matchers.contains) FileReader(com.github.havardh.javaflow.phases.reader.FileReader) Function.identity(java.util.function.Function.identity) Optional(java.util.Optional) Matchers.is(org.hamcrest.Matchers.is) Arrays.stream(java.util.Arrays.stream) JavaParser(com.github.havardh.javaflow.phases.parser.java.JavaParser) Type(com.github.havardh.javaflow.ast.Type) InheritanceTransformer(com.github.havardh.javaflow.phases.transform.InheritanceTransformer) Transformer(com.github.havardh.javaflow.phases.transform.Transformer) InheritanceTransformer(com.github.havardh.javaflow.phases.transform.InheritanceTransformer) FileReader(com.github.havardh.javaflow.phases.reader.FileReader) Parser(com.github.havardh.javaflow.phases.parser.Parser) JavaParser(com.github.havardh.javaflow.phases.parser.java.JavaParser)

Example 2 with FileReader

use of com.github.havardh.javaflow.phases.reader.FileReader in project javaflow by havardh.

the class JavaFlow method main.

/**
 * Main routine for JavaFlow command line runner
 *
 * @param args command line arguments
 */
public static void main(String[] args) {
    TypeMap typeMap = new TypeMap("types.yml");
    Converter converter = new JavaFlowConverter(typeMap);
    List<Verifier> verifierList = new ArrayList<>();
    verifierList.add(new MemberFieldsPresentVerifier(typeMap));
    if (stream(args).anyMatch(arg -> arg.equals(VERIFY_GETTERS_ARG))) {
        verifierList.add(new ClassGetterNamingVerifier());
    }
    Execution execution = new Execution(new FileReader(), new JavaParser(), asList(new InheritanceTransformer(), new SortedTypeTransformer()), verifierList, new FlowWriter(converter), asList(new CommentPrependTransformer("Generated by javaflow 1.4.1-SNAPSHOT"), new EslintDisableTransformer(singletonList("no-use-before-define")), new CommentPrependTransformer("@flow")));
    System.out.println(execution.run(filterOutArgs(args)));
}
Also used : CommentPrependTransformer(com.github.havardh.javaflow.phases.filetransform.CommentPrependTransformer) JavaParser(com.github.havardh.javaflow.phases.parser.java.JavaParser) MemberFieldsPresentVerifier(com.github.havardh.javaflow.phases.verifier.MemberFieldsPresentVerifier) JavaFlowConverter(com.github.havardh.javaflow.phases.writer.flow.converter.JavaFlowConverter) ArrayList(java.util.ArrayList) FlowWriter(com.github.havardh.javaflow.phases.writer.flow.FlowWriter) ClassGetterNamingVerifier(com.github.havardh.javaflow.phases.verifier.ClassGetterNamingVerifier) Verifier(com.github.havardh.javaflow.phases.verifier.Verifier) ClassGetterNamingVerifier(com.github.havardh.javaflow.phases.verifier.ClassGetterNamingVerifier) MemberFieldsPresentVerifier(com.github.havardh.javaflow.phases.verifier.MemberFieldsPresentVerifier) EslintDisableTransformer(com.github.havardh.javaflow.phases.filetransform.EslintDisableTransformer) InheritanceTransformer(com.github.havardh.javaflow.phases.transform.InheritanceTransformer) SortedTypeTransformer(com.github.havardh.javaflow.phases.transform.SortedTypeTransformer) Converter(com.github.havardh.javaflow.phases.writer.flow.converter.Converter) JavaFlowConverter(com.github.havardh.javaflow.phases.writer.flow.converter.JavaFlowConverter) FileReader(com.github.havardh.javaflow.phases.reader.FileReader) TypeMap(com.github.havardh.javaflow.model.TypeMap)

Aggregations

JavaParser (com.github.havardh.javaflow.phases.parser.java.JavaParser)2 FileReader (com.github.havardh.javaflow.phases.reader.FileReader)2 InheritanceTransformer (com.github.havardh.javaflow.phases.transform.InheritanceTransformer)2 JavaFlowConverter (com.github.havardh.javaflow.phases.writer.flow.converter.JavaFlowConverter)2 Class (com.github.havardh.javaflow.ast.Class)1 Enum (com.github.havardh.javaflow.ast.Enum)1 Field (com.github.havardh.javaflow.ast.Field)1 Parent (com.github.havardh.javaflow.ast.Parent)1 Type (com.github.havardh.javaflow.ast.Type)1 CanonicalName (com.github.havardh.javaflow.model.CanonicalName)1 TypeMap (com.github.havardh.javaflow.model.TypeMap)1 CommentPrependTransformer (com.github.havardh.javaflow.phases.filetransform.CommentPrependTransformer)1 EslintDisableTransformer (com.github.havardh.javaflow.phases.filetransform.EslintDisableTransformer)1 Parser (com.github.havardh.javaflow.phases.parser.Parser)1 SortedTypeTransformer (com.github.havardh.javaflow.phases.transform.SortedTypeTransformer)1 Transformer (com.github.havardh.javaflow.phases.transform.Transformer)1 ClassGetterNamingVerifier (com.github.havardh.javaflow.phases.verifier.ClassGetterNamingVerifier)1 MemberFieldsPresentVerifier (com.github.havardh.javaflow.phases.verifier.MemberFieldsPresentVerifier)1 Verifier (com.github.havardh.javaflow.phases.verifier.Verifier)1 FlowWriter (com.github.havardh.javaflow.phases.writer.flow.FlowWriter)1