diff --git a/core/pom.xml b/core/pom.xml new file mode 100644 index 00000000..a9b6d30e --- /dev/null +++ b/core/pom.xml @@ -0,0 +1,218 @@ + + 4.0.0 + + + com.phoenixnap.oss + springmvc-raml-root + 2.0.6-SNAPSHOT + + + springmvc-raml-plugin-core + ${project.parent.version} + + RAML to Spring MVC code generator core + Component is Maven plugin that reads RAML documents and creates Spring MVC endpoints + https://github.com/phoenixnap/springmvc-raml-plugin/tree/master/springmvc-raml-parser + jar + + + + Aleksandar Stojsavljevic + aleksandars@ccbill.com + CCBill + http://www.ccbill.com + + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + scm:git:git@github.com:phoenixnap/springmvc-raml-plugin.git + scm:git:git@github.com:phoenixnap/springmvc-raml-plugin.git + git@github.com:phoenixnap/springmvc-raml-plugin.git + + + + UTF-8 + 1.8 + 1.8 + true + + + + + + commons-io + commons-io + + + + commons-collections + commons-collections + + + + org.raml + raml-parser-2 + + + + org.jsonschema2pojo + jsonschema2pojo-core + + + + com.sun.codemodel + codemodel + ${codemodel.version} + + + + org.springframework.cloud + spring-cloud-starter-feign + ${feign.client.version} + true + + + org.springframework.boot + spring-boot-starter-logging + + + + + + + org.springframework + spring-web + 5.1.0.RELEASE + + + + + + junit + junit + test + + + org.hamcrest + hamcrest-all + test + + + org.mockito + mockito-core + test + + + org.powermock + powermock-module-junit4 + test + + + org.powermock + powermock-api-mockito + test + + + org.slf4j + slf4j-log4j12 + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.7.0 + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + springmvc-raml + true + + + + mojo-descriptor + process-classes + + descriptor + + + + default-descriptor + + descriptor + + process-classes + + + help-descriptor + + helpmojo + + process-classes + + + + + org.apache.maven.plugins + maven-site-plugin + 3.5.1 + + + attach-descriptor + + attach-descriptor + + + + + + + + + + net.revelc.code.formatter + formatter-maven-plugin + + + + + + src/main/resources + true + + + + + src/test/resources + true + + + + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiActionMetadata.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiActionMetadata.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiActionMetadata.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiActionMetadata.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiBodyMetadata.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiBodyMetadata.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiBodyMetadata.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiBodyMetadata.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiParameterMetadata.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiParameterMetadata.java similarity index 98% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiParameterMetadata.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiParameterMetadata.java index d8131350..3336133a 100644 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiParameterMetadata.java +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiParameterMetadata.java @@ -23,7 +23,7 @@ import com.phoenixnap.oss.ramlplugin.raml2code.helpers.NamingHelper; import com.phoenixnap.oss.ramlplugin.raml2code.helpers.SchemaHelper; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.Config; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlAbstractParam; import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlUriParameter; import com.sun.codemodel.JCodeModel; diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiResourceMetadata.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiResourceMetadata.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiResourceMetadata.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/ApiResourceMetadata.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/RamlFormParameter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/RamlFormParameter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/RamlFormParameter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/data/RamlFormParameter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidCodeModelException.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidCodeModelException.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidCodeModelException.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidCodeModelException.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlException.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlException.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlException.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlException.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlResourceException.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlResourceException.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlResourceException.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/InvalidRamlResourceException.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RamlSpecNotFullySupportedException.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RamlSpecNotFullySupportedException.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RamlSpecNotFullySupportedException.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RamlSpecNotFullySupportedException.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RuleCanNotProcessModelException.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RuleCanNotProcessModelException.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RuleCanNotProcessModelException.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/RuleCanNotProcessModelException.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/UnsupportedRamlVersionException.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/UnsupportedRamlVersionException.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/UnsupportedRamlVersionException.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/exception/UnsupportedRamlVersionException.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/CodeModelHelper.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/CodeModelHelper.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/CodeModelHelper.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/CodeModelHelper.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelper.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelper.java similarity index 99% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelper.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelper.java index e2eb18fd..36932158 100644 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelper.java +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelper.java @@ -37,8 +37,8 @@ import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiBodyMetadata; import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiParameterMetadata; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.Config; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.MethodsNamingLogic; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.MethodsNamingLogic; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlActionType; import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlResource; diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlHelper.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlHelper.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlHelper.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlHelper.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlParser.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlParser.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlParser.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlParser.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlTypeHelper.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlTypeHelper.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlTypeHelper.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RamlTypeHelper.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RuleHelper.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RuleHelper.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RuleHelper.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/RuleHelper.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelper.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelper.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelper.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelper.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AbstractBuilder.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AbstractBuilder.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AbstractBuilder.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AbstractBuilder.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AnyTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AnyTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AnyTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/AnyTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ArrayTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ArrayTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ArrayTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ArrayTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BaseTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BaseTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BaseTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BaseTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BooleanTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BooleanTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BooleanTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/BooleanTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/DateTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/DateTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/DateTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/DateTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/EnumBuilder.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/EnumBuilder.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/EnumBuilder.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/EnumBuilder.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/FileTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/FileTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/FileTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/FileTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NullTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NullTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NullTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NullTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NumberTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NumberTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NumberTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/NumberTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ObjectTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ObjectTypeInterpreter.java similarity index 98% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ObjectTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ObjectTypeInterpreter.java index 133cddb4..82c9d263 100644 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ObjectTypeInterpreter.java +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/ObjectTypeInterpreter.java @@ -29,7 +29,7 @@ import com.phoenixnap.oss.ramlplugin.raml2code.helpers.NamingHelper; import com.phoenixnap.oss.ramlplugin.raml2code.helpers.RamlTypeHelper; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.Config; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlDataType; import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlRoot; import com.sun.codemodel.JClass; diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/PojoBuilder.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/PojoBuilder.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/PojoBuilder.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/PojoBuilder.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpretationResult.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpretationResult.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpretationResult.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpretationResult.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpreterFactory.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpreterFactory.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpreterFactory.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlInterpreterFactory.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeValidations.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeValidations.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeValidations.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/RamlTypeValidations.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/StringTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/StringTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/StringTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/StringTypeInterpreter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpreter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpreter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpreter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpreter.java diff --git a/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/CodeGenerator.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/CodeGenerator.java new file mode 100644 index 00000000..c0919d00 --- /dev/null +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/CodeGenerator.java @@ -0,0 +1,293 @@ +package com.phoenixnap.oss.ramlplugin.raml2code.plugin; + +import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiBodyMetadata; +import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiResourceMetadata; +import com.phoenixnap.oss.ramlplugin.raml2code.helpers.NamingHelper; +import com.phoenixnap.oss.ramlplugin.raml2code.helpers.RamlParser; +import com.phoenixnap.oss.ramlplugin.raml2code.helpers.RamlTypeHelper; +import com.phoenixnap.oss.ramlplugin.raml2code.helpers.SchemaHelper; +import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlDataType; +import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlRoot; +import com.phoenixnap.oss.ramlplugin.raml2code.raml.raml10.RJP10V2RamlRoot; +import com.phoenixnap.oss.ramlplugin.raml2code.rules.RamlLoader; +import com.phoenixnap.oss.ramlplugin.raml2code.rules.Rule; +import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerStubRule; +import com.sun.codemodel.JCodeModel; +import com.sun.codemodel.JDefinedClass; +import org.jsonschema2pojo.Annotator; +import org.jsonschema2pojo.Jackson1Annotator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + +public class CodeGenerator { + + private final Logger logger = LoggerFactory.getLogger(CodeGenerator.class); + private String resolvedSchemaLocation; + + private final Rule ruleInstance; + private final MojoConfig config; + private final File baseDir; + + public CodeGenerator(Rule ruleInstance, MojoConfig config, + File baseDir) { + this.ruleInstance = ruleInstance != null ? ruleInstance : new Spring4ControllerStubRule(); + this.config = config; + this.baseDir = baseDir;; + } + + protected void generateEndpoints() throws IOException { + + String resolvedPath = baseDir.getAbsolutePath(); + if (resolvedPath.endsWith(File.separator) || resolvedPath.endsWith("/")) { + resolvedPath = resolvedPath.substring(0, resolvedPath.length() - 1); + } + + String resolvedRamlPath = baseDir.getAbsolutePath(); + + if (!config.getRamlPath().startsWith(File.separator) && !config.getRamlPath().startsWith("/")) { + resolvedRamlPath += File.separator + config.getRamlPath(); + } else { + resolvedRamlPath += config.getRamlPath(); + } + + // Resolve schema location and add to classpath + resolvedSchemaLocation = getSchemaLocation(config.getSchemaLocation()); + + RamlRoot loadRamlFromFile = RamlLoader.loadRamlFromFile(new File(resolvedRamlPath).toURI().toString()); + + JCodeModel codeModel = null; + // In the RJP10V2 we have support for a unified code model. RJP08V1 does + // not work well with this. + boolean unifiedModel = false; + if (loadRamlFromFile instanceof RJP10V2RamlRoot) { + codeModel = new JCodeModel(); + unifiedModel = true; + } + + Objects.requireNonNull(loadRamlFromFile); + RamlParser par = new RamlParser(getBasePath(loadRamlFromFile)); + Set controllers = par.extractControllers(codeModel, loadRamlFromFile); + + String outputRelativePath = config.getOutputRelativePath(); + if (StringUtils.hasText(outputRelativePath)) { + if (!outputRelativePath.startsWith(File.separator) && !outputRelativePath.startsWith("/")) { + resolvedPath += File.separator; + } + resolvedPath += outputRelativePath; + } else { + resolvedPath += "/target/generated-sources/spring-mvc"; + } + + File rootDir = new File( + resolvedPath + (config.getAddTimestampFolder() ? System.currentTimeMillis() : "") + "/"); + + if (!rootDir.exists() && !rootDir.mkdirs()) { + throw new IOException("Could not create directory:" + rootDir.getAbsolutePath()); + } + + generateCode(null, controllers, rootDir); + if (config.getGenerateUnreferencedObjects()) { + generateUnreferencedObjects(codeModel, loadRamlFromFile, resolvedRamlPath, rootDir, controllers); + } + + if (unifiedModel) { + buildCodeModelToDisk(codeModel, "Unified", rootDir); + } + } + + /** + * Fetches all referenced type names so as to not generate classes multiple + * times + * + * @param controllers + * ApiResourceMetadata list + * @return set of names + */ + private Set getAllReferencedTypeNames(Set controllers) { + // TODO Add nested objects as well. For now only the top level objects + // are included + Set parametersNames = controllers.stream() + .flatMap(resourceMetadata -> resourceMetadata.getParameters().stream()) + .map(apiParameter -> StringUtils.capitalize(apiParameter.getName())).collect(Collectors.toSet()); + Set bodyNames = controllers.stream() + .flatMap(resourceMetadata -> resourceMetadata.getDependencies().stream()).map(ApiBodyMetadata::getName) + .collect(Collectors.toSet()); + bodyNames.addAll(parametersNames); + return bodyNames; + } + + private void generateUnreferencedObjects(JCodeModel codeModel, RamlRoot loadRamlFromFile, String resolvedRamlPath, + File rootDir, Set controllers) { + if (loadRamlFromFile.getTypes() != null && !loadRamlFromFile.getTypes().isEmpty()) { + this.getLog().debug("Generating Code for Unreferenced Types"); + Set allReferencedTypes = getAllReferencedTypeNames(controllers); + for (Map.Entry type : loadRamlFromFile.getTypes().entrySet()) { + if (!allReferencedTypes.contains(type.getKey())) { + ApiBodyMetadata tempBodyMetadata = RamlTypeHelper.mapTypeToPojo(codeModel, loadRamlFromFile, + type.getValue().getType()); + generateModelSources(codeModel, tempBodyMetadata, rootDir); + } + } + } + + if (loadRamlFromFile.getSchemas() != null && !loadRamlFromFile.getSchemas().isEmpty()) { + this.getLog().debug("Generating Code for Unreferenced Schemas"); + for (Map map : loadRamlFromFile.getSchemas()) { + for (String schemaName : map.keySet()) { + this.getLog().info("Generating POJO for unreferenced schema " + schemaName); + ApiBodyMetadata tempBodyMetadata = SchemaHelper.mapSchemaToPojo(loadRamlFromFile, schemaName, + resolvedRamlPath, schemaName, this.resolvedSchemaLocation); + generateModelSources(null, tempBodyMetadata, rootDir); + } + } + } + } + + /** + * + * @param codeModel + * If not null this will operated assuming a unified code model for + * all output + * @param controllers + * @param rootDir + */ + private void generateCode(JCodeModel codeModel, Set controllers, File rootDir) { + for (ApiResourceMetadata met : controllers) { + this.getLog().debug(""); + this.getLog().debug("-----------------------------------------------------------"); + this.getLog().info("Generating Code for Resource: " + met.getName()); + this.getLog().debug(""); + + if (codeModel == null) { + Set dependencies = met.getDependencies(); + for (ApiBodyMetadata body : dependencies) { + generateModelSources(codeModel, body, rootDir); + } + } + + generateControllerSource(codeModel, met, rootDir); + } + } + + /* + * @return The configuration property (if set) or the baseUri from the + * RAML spec. + */ + private String getBasePath(RamlRoot loadRamlFromFile) { + // we take the given baseUri from raml spec by default. + String basePath = loadRamlFromFile.getBaseUri(); + + // If the baseUri is explicitly set by the plugin configuration we take + // it. + if (config.getBaseUri() != null) { + basePath = config.getBaseUri(); + } + + // Because we can't load an empty string parameter value from maven + // config + // the user needs to set a single "/", to overrule the raml spec. + if (basePath != null && basePath.equals("/")) { + // We remove a single "/" cause the leading slash will be generated + // by the raml + // endpoints. + basePath = ""; + } + + return basePath; + } + + private void generateModelSources(JCodeModel codeModel, ApiBodyMetadata body, File rootDir) { + boolean build = false; + if (codeModel == null) { + Annotator annotator = config.getUseJackson1xCompatibility() + ? new Jackson1Annotator(config.getGenerationConfig()) + : null; + this.getLog().info("Generating Model object for: " + body.getName()); + build = true; + if (config.getGenerationConfig() == null && annotator == null) { + codeModel = body.getCodeModel(); + } else { + codeModel = body.getCodeModel(resolvedSchemaLocation, + config.getBasePackage() + NamingHelper.getDefaultModelPackage(), annotator); + } + } + if (build && codeModel != null) { + buildCodeModelToDisk(codeModel, body.getName(), rootDir); + } + } + + private String getSchemaLocation(String schemaLocation) { + if (StringUtils.hasText(schemaLocation)) { + + if (!schemaLocation.contains(":")) { + String resolvedPath = baseDir.getAbsolutePath(); + if (resolvedPath.endsWith(File.separator) || resolvedPath.endsWith("/")) { + resolvedPath = resolvedPath.substring(0, resolvedPath.length() - 1); + } + + if (!schemaLocation.startsWith(File.separator) && !schemaLocation.startsWith("/")) { + resolvedPath += File.separator; + } + + resolvedPath += schemaLocation; + + if (!schemaLocation.endsWith(File.separator) && !schemaLocation.endsWith("/")) { + resolvedPath += File.separator; + } + resolvedPath = resolvedPath.replace(File.separator, "/").replace("\\", "/"); + try { + URLClassLoader urlClassLoader = (URLClassLoader) ClassLoader.getSystemClassLoader(); + Class urlClass = URLClassLoader.class; + Method method = urlClass.getDeclaredMethod("addURL", new Class[]{URL.class}); + method.setAccessible(true); + method.invoke(urlClassLoader, new Object[]{new File(resolvedPath).toURI().toURL()}); + return "classpath:/"; // since we have added this folder to + // the classpath this + // should be used by the plugin + } catch (Exception ex) { + this.getLog().error("Could not add schema location to classpath", ex); + return new File(resolvedPath).toURI().toString(); + } + } + return schemaLocation; + } + return null; + } + + private void generateControllerSource(JCodeModel codeModel, ApiResourceMetadata met, File dir) { + boolean build = false; + if (codeModel == null) { + codeModel = new JCodeModel(); + build = true; + } + ruleInstance.apply(met, codeModel); + if (build) { + buildCodeModelToDisk(codeModel, met.getName(), dir); + } + } + + private void buildCodeModelToDisk(JCodeModel codeModel, String name, File dir) { + try { + codeModel.build(dir); + } catch (IOException e) { + e.printStackTrace(); + this.getLog().error("Could not build code model for " + name, e); + } + } + + private Logger getLog() { + return logger; + } + +} diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/Config.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/Config.java similarity index 74% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/Config.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/Config.java index 59cc0ed2..3b4b8581 100644 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/Config.java +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/Config.java @@ -1,14 +1,14 @@ package com.phoenixnap.oss.ramlplugin.raml2code.plugin; import com.phoenixnap.oss.ramlplugin.raml2code.helpers.NamingHelper; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.MethodsNamingLogic; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import org.jsonschema2pojo.DefaultGenerationConfig; +import org.jsonschema2pojo.GenerationConfig; public class Config { - private static PojoGenerationConfig pojoGenerationConfig = new PojoGenerationConfig(); + private static GenerationConfig pojoGenerationConfig = new DefaultGenerationConfig(); - private static SpringMvcEndpointGeneratorMojo springMvcEndpointGeneratorMojo; + private static MojoConfig mojoConfig; private static final Boolean DEFAULT_SEPERATE_METHODS_BY_CONTENTTYPE = Boolean.FALSE; private static Boolean seperateMethodsByContentType = DEFAULT_SEPERATE_METHODS_BY_CONTENTTYPE; @@ -40,20 +40,20 @@ public class Config { Config() { } - protected static void setMojo(SpringMvcEndpointGeneratorMojo springMvcEndpointGeneratorMojo) { - Config.springMvcEndpointGeneratorMojo = springMvcEndpointGeneratorMojo; + public static void setMojoConfig(MojoConfig springMvcEndpointGeneratorMojo) { + Config.mojoConfig = springMvcEndpointGeneratorMojo; if (springMvcEndpointGeneratorMojo != null) { - Config.pojoGenerationConfig = springMvcEndpointGeneratorMojo.generationConfig; + Config.pojoGenerationConfig = springMvcEndpointGeneratorMojo.getGenerationConfig(); } else { Config.pojoGenerationConfig = null; } } - protected static void setPojoConfig(PojoGenerationConfig pojoGenerationConfig) { + protected static void setPojoConfig(GenerationConfig pojoGenerationConfig) { Config.pojoGenerationConfig = pojoGenerationConfig; } - public static PojoGenerationConfig getPojoConfig() { + public static GenerationConfig getPojoConfig() { return pojoGenerationConfig; } @@ -62,8 +62,8 @@ protected static void setSeperateMethodsByContentType(Boolean seperateMethodsByC } public static Boolean isSeperateMethodsByContentType() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.seperateMethodsByContentType; + if (mojoConfig != null) { + return mojoConfig.getSeperateMethodsByContentType(); } return seperateMethodsByContentType; } @@ -73,8 +73,8 @@ protected static void setInjectHttpHeadersParameter(Boolean injectHttpHeadersPar } public static Boolean isInjectHttpHeadersParameter() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.injectHttpHeadersParameter; + if (mojoConfig != null) { + return mojoConfig.getInjectHttpHeadersParameter(); } return injectHttpHeadersParameter; } @@ -84,8 +84,8 @@ protected static void setResourceDepthInClassNames(Integer resourceDepthInClassN } public static Integer getResourceDepthInClassNames() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.resourceDepthInClassNames; + if (mojoConfig != null) { + return mojoConfig.getResourceDepthInClassNames(); } return resourceDepthInClassNames; } @@ -95,8 +95,8 @@ protected static void setResourceTopLevelInClassNames(Integer resourceTopLevelIn } public static Integer getResourceTopLevelInClassNames() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.resourceTopLevelInClassNames; + if (mojoConfig != null) { + return mojoConfig.getResourceTopLevelInClassNames(); } return resourceTopLevelInClassNames; } @@ -106,8 +106,8 @@ protected static void setReverseOrderInClassNames(Boolean reverseOrderInClassNam } public static Boolean isReverseOrderInClassNames() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.reverseOrderInClassNames; + if (mojoConfig != null) { + return mojoConfig.getReverseOrderInClassNames(); } return reverseOrderInClassNames; } @@ -117,15 +117,15 @@ protected static void setBasePackage(String basePackage) { } public static String getBasePackage() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.basePackage; + if (mojoConfig != null) { + return mojoConfig.getBasePackage(); } return basePackage; } public static MethodsNamingLogic getMethodsNamingLogic() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.methodsNamingLogic; + if (mojoConfig != null) { + return mojoConfig.getMethodsNamingLogic(); } if (methodsNamingLogic == null) { return DEFAULT_METHODS_NAMING_LOGIC; @@ -138,8 +138,8 @@ protected static void setMethodsNamingLogic(MethodsNamingLogic methodsNamingLogi } public static OverrideNamingLogicWith getOverrideNamingLogicWith() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.overrideNamingLogicWith; + if (mojoConfig != null) { + return mojoConfig.getOverrideNamingLogicWith(); } return overrideNamingLogicWith; } @@ -149,8 +149,8 @@ protected static void setOverrideNamingLogicWith(OverrideNamingLogicWith overrid } public static String getDontGenerateForAnnotation() { - if (springMvcEndpointGeneratorMojo != null) { - return springMvcEndpointGeneratorMojo.dontGenerateForAnnotation; + if (mojoConfig != null) { + return mojoConfig.getDontGenerateForAnnotation(); } return dontGenerateForAnnotation; } @@ -164,7 +164,7 @@ public static String getPojoPackage() { } protected static void resetFields() { - setMojo(null); + setMojoConfig(null); setBasePackage(DEFAULT_BASE_PACKAGE); setInjectHttpHeadersParameter(DEFAULT_INJECT_HTTP_HEADERS_PARAMETER); setResourceDepthInClassNames(DEFAULT_RESOURCE_DEPTH_IN_CLASS_NAMES); diff --git a/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/ExtendedGenerationConfig.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/ExtendedGenerationConfig.java new file mode 100644 index 00000000..51488ffa --- /dev/null +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/ExtendedGenerationConfig.java @@ -0,0 +1,278 @@ +package com.phoenixnap.oss.ramlplugin.raml2code.plugin; + +import org.jsonschema2pojo.DefaultGenerationConfig; + +public class ExtendedGenerationConfig extends DefaultGenerationConfig { + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * creation of BigDecimals instead of Floats + */ + protected Boolean useBigDecimals = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * creation of Doubles instead of Floats + */ + protected Boolean useDoubleNumbers = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * creation of Longs instead of Ints + */ + protected Boolean useLongIntegers = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * creation of JSR303 Annotations + */ + protected Boolean includeJsr303Annotations = Boolean.TRUE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * creation of primitives instead of Objects + */ + protected Boolean usePrimitives = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for use of + * commons-lang 3.x imports instead of commons-lang 2.x + */ + protected Boolean useCommonsLang3 = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * generation of builder-style methods of the form withXxx(value) + * that return this + */ + protected Boolean generateBuilders = Boolean.FALSE; + /** + * We will pass on this configuration to the jsonschema2pojo library for + * generation of getters and setters + */ + protected Boolean includeAccessors = Boolean.TRUE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for support + * of additional properties + */ + protected Boolean includeAdditionalProperties = Boolean.TRUE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * generation of constructors + */ + protected Boolean includeConstructors = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * generation of constructors with only required properties + */ + protected Boolean constructorsRequiredPropertiesOnly = Boolean.FALSE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * generation of hashCode and equals methods + */ + protected Boolean includeHashcodeAndEquals = Boolean.TRUE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * generation of toString method + */ + protected Boolean includeToString = Boolean.TRUE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * initialization of collections + */ + protected Boolean initializeCollections = Boolean.TRUE; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * defining the target version of generated source files + */ + protected String targetVersion = "1.6"; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * defining the object type used to create string type fields with date-time + * format + */ + protected String dateTimeType; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * defining the object type used to create string type fields with date format + */ + protected String dateType; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * defining the object type used to create string type fields with time format + */ + protected String timeType; + + /** + * We will pass on this configuration to the jsonschema2pojo library for + * creation of BigIntegers instead of Ints + */ + protected Boolean useBigIntegers = Boolean.FALSE; + + @Override + public boolean isUseBigDecimals() { + if (useBigDecimals != null) { + return useBigDecimals; + } + return super.isUseBigDecimals(); + } + + @Override + public boolean isUseDoubleNumbers() { + if (useDoubleNumbers != null) { + return useDoubleNumbers; + } + return super.isUseDoubleNumbers(); + } + + @Override + public boolean isUseLongIntegers() { + if (useLongIntegers != null) { + return useLongIntegers; + } + return super.isUseLongIntegers(); + } + + @Override + public boolean isIncludeJsr303Annotations() { + if (includeJsr303Annotations != null) { + return includeJsr303Annotations; + } + return super.isIncludeJsr303Annotations(); + } + + @Override + public boolean isUsePrimitives() { + if (usePrimitives != null) { + return usePrimitives; + } + return super.isUsePrimitives(); + } + + @Override + public boolean isUseCommonsLang3() { + if (useCommonsLang3 != null) { + return useCommonsLang3; + } + return super.isUseCommonsLang3(); + } + + @Override + public boolean isGenerateBuilders() { + if (generateBuilders != null) { + return generateBuilders; + } + return super.isGenerateBuilders(); + } + + @Override + public boolean isIncludeAccessors() { + if (includeAccessors != null) { + return includeAccessors; + } + return super.isIncludeAccessors(); + } + + @Override + public boolean isIncludeAdditionalProperties() { + if (includeAdditionalProperties != null) { + return includeAdditionalProperties; + } + return super.isIncludeAdditionalProperties(); + } + + @Override + public boolean isIncludeConstructors() { + if (includeConstructors != null) { + return includeConstructors; + } + return super.isIncludeConstructors(); + } + + @Override + public boolean isConstructorsRequiredPropertiesOnly() { + if (constructorsRequiredPropertiesOnly != null) { + return constructorsRequiredPropertiesOnly; + } + return super.isConstructorsRequiredPropertiesOnly(); + } + + @Override + public boolean isIncludeHashcodeAndEquals() { + if (includeHashcodeAndEquals != null) { + return includeHashcodeAndEquals; + } + return super.isIncludeHashcodeAndEquals(); + } + + @Override + public boolean isIncludeToString() { + if (includeToString != null) { + return includeToString; + } + return super.isIncludeToString(); + } + + @Override + public boolean isInitializeCollections() { + if (initializeCollections != null) { + return initializeCollections; + } + return super.isInitializeCollections(); + } + + @Override + public String getTargetVersion() { + if (targetVersion != null) { + return targetVersion; + } + return super.getTargetVersion(); + } + + @Override + public String getDateTimeType() { + if (dateTimeType != null) { + return dateTimeType; + } + return super.getDateTimeType(); + } + + @Override + public String getDateType() { + if (dateType != null) { + return dateType; + } + return super.getDateType(); + } + + @Override + public String getTimeType() { + if (timeType != null) { + return timeType; + } + return super.getTimeType(); + } + + @Override + public boolean isUseBigIntegers() { + if (useBigIntegers != null) { + return useBigIntegers; + } + return super.isUseBigIntegers(); + } + + public void setUseBigIntegers(boolean useBigIntegers) { + this.useBigIntegers = useBigIntegers; + } + +} diff --git a/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/MethodsNamingLogic.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/MethodsNamingLogic.java new file mode 100644 index 00000000..a868e79e --- /dev/null +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/MethodsNamingLogic.java @@ -0,0 +1,5 @@ +package com.phoenixnap.oss.ramlplugin.raml2code.plugin; + +public enum MethodsNamingLogic { + OBJECTS, RESOURCES +} diff --git a/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/MojoConfig.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/MojoConfig.java new file mode 100644 index 00000000..b5f0c117 --- /dev/null +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/MojoConfig.java @@ -0,0 +1,45 @@ +package com.phoenixnap.oss.ramlplugin.raml2code.plugin; + +import org.jsonschema2pojo.GenerationConfig; + +import java.util.Map; + +public interface MojoConfig { + String getRamlPath(); + + String getOutputRelativePath(); + + Boolean getAddTimestampFolder(); + + String getBasePackage(); + + Boolean getGenerateUnreferencedObjects(); + + String getBaseUri(); + + Boolean getSeperateMethodsByContentType(); + + Boolean getUseJackson1xCompatibility(); + + String getRule(); + + Map getRuleConfiguration(); + + GenerationConfig getGenerationConfig(); + + Boolean getInjectHttpHeadersParameter(); + + Integer getResourceDepthInClassNames(); + + Integer getResourceTopLevelInClassNames(); + + Boolean getReverseOrderInClassNames(); + + MethodsNamingLogic getMethodsNamingLogic(); + + OverrideNamingLogicWith getOverrideNamingLogicWith(); + + String getDontGenerateForAnnotation(); + + String getSchemaLocation(); +} diff --git a/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/OverrideNamingLogicWith.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/OverrideNamingLogicWith.java new file mode 100644 index 00000000..88c95c01 --- /dev/null +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/OverrideNamingLogicWith.java @@ -0,0 +1,5 @@ +package com.phoenixnap.oss.ramlplugin.raml2code.plugin; + +public enum OverrideNamingLogicWith { + DISPLAY_NAME, ANNOTATION +} diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAbstractParam.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAbstractParam.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAbstractParam.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAbstractParam.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAction.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAction.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAction.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlAction.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlActionType.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlActionType.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlActionType.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlActionType.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDataType.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDataType.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDataType.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDataType.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDocumentationItem.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDocumentationItem.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDocumentationItem.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlDocumentationItem.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlHeader.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlHeader.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlHeader.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlHeader.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlMimeType.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlMimeType.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlMimeType.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlMimeType.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelEmitter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelEmitter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelEmitter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelEmitter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelFactory.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelFactory.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelFactory.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlModelFactory.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlParamType.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlParamType.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlParamType.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlParamType.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlQueryParameter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlQueryParameter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlQueryParameter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlQueryParameter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResource.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResource.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResource.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResource.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResourceRoot.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResourceRoot.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResourceRoot.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResourceRoot.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResponse.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResponse.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResponse.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlResponse.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlRoot.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlRoot.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlRoot.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlRoot.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityReference.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityReference.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityReference.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityReference.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityScheme.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityScheme.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityScheme.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlSecurityScheme.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlUriParameter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlUriParameter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlUriParameter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlUriParameter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlVersion.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlVersion.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlVersion.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlVersion.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlAction.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlAction.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlAction.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlAction.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDataType.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDataType.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDataType.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDataType.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDocumentationItem.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDocumentationItem.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDocumentationItem.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlDocumentationItem.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlFormParameter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlFormParameter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlFormParameter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlFormParameter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlHeader.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlHeader.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlHeader.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlHeader.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlMimeType.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlMimeType.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlMimeType.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlMimeType.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlModelFactory.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlModelFactory.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlModelFactory.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlModelFactory.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlQueryParameter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlQueryParameter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlQueryParameter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlQueryParameter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResource.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResource.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResource.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResource.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResponse.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResponse.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResponse.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlResponse.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRoot.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRoot.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRoot.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRoot.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityReference.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityReference.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityReference.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityReference.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityScheme.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityScheme.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityScheme.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlSecurityScheme.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlUriParameter.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlUriParameter.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlUriParameter.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlUriParameter.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ConfigurableRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ConfigurableRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ConfigurableRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ConfigurableRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GenericJavaClassRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GenericJavaClassRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GenericJavaClassRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GenericJavaClassRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlLoader.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlLoader.java similarity index 90% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlLoader.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlLoader.java index cc626924..73440506 100644 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlLoader.java +++ b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlLoader.java @@ -14,6 +14,7 @@ import org.raml.v2.api.RamlModelBuilder; import org.raml.v2.api.RamlModelResult; +import org.raml.v2.api.model.common.ValidationResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; @@ -26,6 +27,8 @@ import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlVersion; import com.phoenixnap.oss.ramlplugin.raml2code.raml.raml10.RJP10V2RamlModelFactory; +import java.util.stream.Collectors; + /** * * Class containing method used to load a raml file @@ -66,8 +69,9 @@ private static RamlModelFactory createRamlModelFactoryFor(String ramlURL) { if (ramlModelResult.hasErrors()) { if (logger.isErrorEnabled()) { - logger.error("Loaded RAML has validation errors: {}", - StringUtils.collectionToCommaDelimitedString(ramlModelResult.getValidationResults())); + String csvString = String.join(", ", + ramlModelResult.getValidationResults().stream().map(Object::toString).collect(Collectors.toList())); + logger.error("Loaded RAML has validation errors: {}", csvString); } throw new InvalidRamlException(ramlURL, ramlModelResult.getValidationResults()); } diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Rule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Rule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Rule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Rule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerDecoratorRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerDecoratorRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerDecoratorRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerDecoratorRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerInterfaceRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerInterfaceRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerInterfaceRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerInterfaceRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerStubRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerStubRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerStubRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerStubRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientInterfaceRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientInterfaceRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientInterfaceRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientInterfaceRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClientInterfaceDeclarationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClientInterfaceDeclarationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClientInterfaceDeclarationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClientInterfaceDeclarationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInterfaceRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInterfaceRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInterfaceRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInterfaceRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ResourceClassDeclarationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ResourceClassDeclarationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ResourceClassDeclarationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ResourceClassDeclarationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/SpringFeignClientInterfaceDeclarationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/SpringFeignClientInterfaceDeclarationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/SpringFeignClientInterfaceDeclarationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/SpringFeignClientInterfaceDeclarationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringCallableResponseEntityRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringCallableResponseEntityRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringCallableResponseEntityRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringCallableResponseEntityRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringConfigurableRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringConfigurableRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringConfigurableRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringConfigurableRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerDecoratorRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerDecoratorRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerDecoratorRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerDecoratorRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerInterfaceRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerInterfaceRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerInterfaceRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerInterfaceRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerStubRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerStubRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerStubRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringControllerStubRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDeferredResultResponseEntityRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDeferredResultResponseEntityRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDeferredResultResponseEntityRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDeferredResultResponseEntityRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDelegateFieldDeclerationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDelegateFieldDeclerationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDelegateFieldDeclerationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringDelegateFieldDeclerationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientClassAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientClassAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientClassAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientClassAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientInterfaceDecoratorRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientInterfaceDecoratorRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientInterfaceDecoratorRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientInterfaceDecoratorRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientMethodParamsRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientMethodParamsRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientMethodParamsRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientMethodParamsRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientResponseTypeRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientResponseTypeRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientResponseTypeRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringFeignClientResponseTypeRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringMethodParamsRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringMethodParamsRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringMethodParamsRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringMethodParamsRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringObjectReturnTypeRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringObjectReturnTypeRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringObjectReturnTypeRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringObjectReturnTypeRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingClassAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingClassAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingClassAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingClassAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingMethodAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingMethodAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingMethodAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRequestMappingMethodAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseBodyMethodAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseBodyMethodAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseBodyMethodAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseBodyMethodAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseEntityRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseEntityRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseEntityRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringResponseEntityRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestClientMethodBodyRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestClientMethodBodyRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestClientMethodBodyRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestClientMethodBodyRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestControllerAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestControllerAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestControllerAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestControllerAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestTemplateFieldDeclerationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestTemplateFieldDeclerationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestTemplateFieldDeclerationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRestTemplateFieldDeclerationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringShortcutMappingMethodAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringShortcutMappingMethodAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringShortcutMappingMethodAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringShortcutMappingMethodAnnotationRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleCallableResponseTypeRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleCallableResponseTypeRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleCallableResponseTypeRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleCallableResponseTypeRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleResponseTypeRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleResponseTypeRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleResponseTypeRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringSimpleResponseTypeRule.java diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringValidatedClassAnnotationRule.java b/core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringValidatedClassAnnotationRule.java similarity index 100% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringValidatedClassAnnotationRule.java rename to core/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringValidatedClassAnnotationRule.java diff --git a/src/main/resources/parser.properties b/core/src/main/resources/parser.properties similarity index 100% rename from src/main/resources/parser.properties rename to core/src/main/resources/parser.properties diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/SrpMatchers.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/SrpMatchers.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/SrpMatchers.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/SrpMatchers.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue152RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue152RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue152RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue152RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue156RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue156RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue156RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue156RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue158RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue158RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue158RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue158RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue159RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue159RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue159RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue159RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue161RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue161RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue161RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue161RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue169RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue169RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue169RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue169RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue172RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue172RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue172RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue172RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue173RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue173RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue173RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue173RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue175RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue175RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue175RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue175RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue176RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue176RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue176RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue176RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue177RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue177RulesTest.java similarity index 93% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue177RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue177RulesTest.java index 066e7462..1842708c 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue177RulesTest.java +++ b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue177RulesTest.java @@ -5,7 +5,7 @@ import org.junit.Test; import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiResourceMetadata; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.TestConfig; import com.phoenixnap.oss.ramlplugin.raml2code.rules.GitHubAbstractRuleTestBase; import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerStubRule; diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue181RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue181RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue181RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue181RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue183RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue183RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue183RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue183RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue193RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue193RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue193RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue193RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue199RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue199RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue199RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue199RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue204RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue204RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue204RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue204RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue208RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue208RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue208RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue208RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue210RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue210RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue210RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue210RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue211RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue211RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue211RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue211RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue212RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue212RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue212RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue212RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue215RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue215RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue215RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue215RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue224RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue224RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue224RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue224RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue225RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue225RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue225RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue225RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue235RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue235RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue235RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue235RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue241RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue241RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue241RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue241RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue242RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue242RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue242RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue242RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue245RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue245RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue245RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue245RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue247RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue247RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue247RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue247RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue248RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue248RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue248RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue248RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue250RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue250RulesTest.java similarity index 91% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue250RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue250RulesTest.java index a1affbfb..9a91e421 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue250RulesTest.java +++ b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue250RulesTest.java @@ -2,8 +2,8 @@ import org.junit.Test; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.MethodsNamingLogic; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.MethodsNamingLogic; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.TestConfig; import com.phoenixnap.oss.ramlplugin.raml2code.rules.GitHubAbstractRuleTestBase; import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerDecoratorRule; diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue253RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue253RulesTest.java similarity index 70% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue253RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue253RulesTest.java index ca766b1d..3b0075e9 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue253RulesTest.java +++ b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue253RulesTest.java @@ -1,17 +1,34 @@ package com.phoenixnap.oss.ramlplugin.raml2code.github; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.TestConfig; import com.phoenixnap.oss.ramlplugin.raml2code.rules.GitHubAbstractRuleTestBase; import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerDecoratorRule; +import java.util.Locale; + /** * @author aleksandars * @since 2.0.1 */ public class Issue253RulesTest extends GitHubAbstractRuleTestBase { + // Workaround for https://github.com/raml-org/raml-java-parser/issues/561 + private static Locale defaultLocale = Locale.getDefault(); + + @Before + public void setUp() throws Exception { + Locale.setDefault(Locale.ENGLISH); + } + + @After + public void tearDown() throws Exception { + Locale.setDefault(defaultLocale); + } + @Test public void verify_custom_datetime_types() throws Exception { TestConfig.setDateTimeType("java.time.ZonedDateTime"); diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue254RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue254RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue254RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue254RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue257RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue257RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue257RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue257RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue258RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue258RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue258RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue258RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue261RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue261RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue261RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue261RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue263RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue263RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue263RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue263RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue265RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue265RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue265RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue265RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue266RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue266RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue266RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue266RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue275RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue275RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue275RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue275RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue282RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue282RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue282RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue282RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue284RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue284RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue284RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue284RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue286RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue286RulesTest.java similarity index 95% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue286RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue286RulesTest.java index 25f66b90..98e5e3c1 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue286RulesTest.java +++ b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue286RulesTest.java @@ -3,7 +3,7 @@ import org.junit.Before; import org.junit.Test; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.plugin.TestConfig; import com.phoenixnap.oss.ramlplugin.raml2code.rules.GitHubAbstractRuleTestBase; import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4RestTemplateClientRule; diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue288RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue288RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue288RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue288RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue32RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue32RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue32RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue32RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue61RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue61RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue61RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue61RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue76RulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue76RulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue76RulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/github/Issue76RulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelperTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelperTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelperTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/NamingHelperTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelperTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelperTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelperTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/helpers/SchemaHelperTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpretorTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpretorTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpretorTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/interpreters/UnionTypeInterpretorTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/TestConfig.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/TestConfig.java similarity index 91% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/TestConfig.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/TestConfig.java index 99df746a..fb767283 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/TestConfig.java +++ b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/TestConfig.java @@ -1,7 +1,5 @@ package com.phoenixnap.oss.ramlplugin.raml2code.plugin; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.MethodsNamingLogic; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.SpringMvcEndpointGeneratorMojo.OverrideNamingLogicWith; import com.phoenixnap.oss.ramlplugin.raml2code.rules.TestPojoConfig; public class TestConfig { diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlInterpreterTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlInterpreterTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlInterpreterTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/RamlInterpreterTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlActionTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlActionTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlActionTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlActionTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRootTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRootTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRootTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/raml/raml10/RJP10V2RamlRootTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractEquivalenceRuleTestBase.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractEquivalenceRuleTestBase.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractEquivalenceRuleTestBase.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractEquivalenceRuleTestBase.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractRuleTestBase.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractRuleTestBase.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractRuleTestBase.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/AbstractRuleTestBase.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GitHubAbstractRuleTestBase.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GitHubAbstractRuleTestBase.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GitHubAbstractRuleTestBase.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/GitHubAbstractRuleTestBase.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/MultipartMimeRequestTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/MultipartMimeRequestTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/MultipartMimeRequestTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/MultipartMimeRequestTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/NamingLogicTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/NamingLogicTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/NamingLogicTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/NamingLogicTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/PatternConstraintTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/PatternConstraintTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/PatternConstraintTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/PatternConstraintTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlSchemaWithInheritanceTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlSchemaWithInheritanceTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlSchemaWithInheritanceTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RamlSchemaWithInheritanceTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RequestBodyWithValidationTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RequestBodyWithValidationTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RequestBodyWithValidationTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/RequestBodyWithValidationTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ShortcutMappingsTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ShortcutMappingsTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ShortcutMappingsTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/ShortcutMappingsTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesHttpHeadersTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesHttpHeadersTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesHttpHeadersTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesHttpHeadersTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4ControllerRulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesHtppHeadersTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesHtppHeadersTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesHtppHeadersTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesHtppHeadersTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/Spring4RestTemplateClientRulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientRulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientRulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientRulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/SpringFeignClientRulesTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/TestPojoConfig.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/TestPojoConfig.java similarity index 84% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/TestPojoConfig.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/TestPojoConfig.java index bac1a61f..ab245b49 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/TestPojoConfig.java +++ b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/TestPojoConfig.java @@ -1,8 +1,8 @@ package com.phoenixnap.oss.ramlplugin.raml2code.rules; -import com.phoenixnap.oss.ramlplugin.raml2code.plugin.PojoGenerationConfig; +import com.phoenixnap.oss.ramlplugin.raml2code.plugin.ExtendedGenerationConfig; -public class TestPojoConfig extends PojoGenerationConfig { +public class TestPojoConfig extends ExtendedGenerationConfig { public void setIncludeJsr303Annotations(boolean includeJsr303Annotations) { this.includeJsr303Annotations = includeJsr303Annotations; diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassCommentRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ClassFieldDeclarationRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerClassDeclarationRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerInterfaceDeclarationRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ControllerMethodSignatureRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/DelegatingMethodBodyRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementMeMethodBodyRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInferfaceRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInferfaceRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInferfaceRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/ImplementsControllerInferfaceRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodCommentRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/MethodParamsRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRuleTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRuleTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRuleTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/basic/PackageRuleTest.java diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRulesTest.java b/core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRulesTest.java similarity index 100% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRulesTest.java rename to core/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/rules/spring/SpringRulesTest.java diff --git a/src/test/resources/default-config/pom.xml b/core/src/test/resources/default-config/pom.xml similarity index 100% rename from src/test/resources/default-config/pom.xml rename to core/src/test/resources/default-config/pom.xml diff --git a/src/test/resources/default-config/src/main/resources/api.raml b/core/src/test/resources/default-config/src/main/resources/api.raml similarity index 100% rename from src/test/resources/default-config/src/main/resources/api.raml rename to core/src/test/resources/default-config/src/main/resources/api.raml diff --git a/src/test/resources/default-config/src/main/resources/examples/example-sample.json b/core/src/test/resources/default-config/src/main/resources/examples/example-sample.json similarity index 100% rename from src/test/resources/default-config/src/main/resources/examples/example-sample.json rename to core/src/test/resources/default-config/src/main/resources/examples/example-sample.json diff --git a/src/test/resources/default-config/src/main/resources/examples/example-samples.json b/core/src/test/resources/default-config/src/main/resources/examples/example-samples.json similarity index 100% rename from src/test/resources/default-config/src/main/resources/examples/example-samples.json rename to core/src/test/resources/default-config/src/main/resources/examples/example-samples.json diff --git a/src/test/resources/log4j.properties b/core/src/test/resources/log4j.properties similarity index 100% rename from src/test/resources/log4j.properties rename to core/src/test/resources/log4j.properties diff --git a/src/test/resources/ramls/github/issue-15.raml b/core/src/test/resources/ramls/github/issue-15.raml similarity index 100% rename from src/test/resources/ramls/github/issue-15.raml rename to core/src/test/resources/ramls/github/issue-15.raml diff --git a/src/test/resources/ramls/github/issue-152.raml b/core/src/test/resources/ramls/github/issue-152.raml similarity index 100% rename from src/test/resources/ramls/github/issue-152.raml rename to core/src/test/resources/ramls/github/issue-152.raml diff --git a/src/test/resources/ramls/github/issue-156-normal_invalidity.raml b/core/src/test/resources/ramls/github/issue-156-normal_invalidity.raml similarity index 100% rename from src/test/resources/ramls/github/issue-156-normal_invalidity.raml rename to core/src/test/resources/ramls/github/issue-156-normal_invalidity.raml diff --git a/src/test/resources/ramls/github/issue-156-unsupported.raml b/core/src/test/resources/ramls/github/issue-156-unsupported.raml similarity index 100% rename from src/test/resources/ramls/github/issue-156-unsupported.raml rename to core/src/test/resources/ramls/github/issue-156-unsupported.raml diff --git a/src/test/resources/ramls/github/issue-158.raml b/core/src/test/resources/ramls/github/issue-158.raml similarity index 100% rename from src/test/resources/ramls/github/issue-158.raml rename to core/src/test/resources/ramls/github/issue-158.raml diff --git a/src/test/resources/ramls/github/issue-159.raml b/core/src/test/resources/ramls/github/issue-159.raml similarity index 100% rename from src/test/resources/ramls/github/issue-159.raml rename to core/src/test/resources/ramls/github/issue-159.raml diff --git a/src/test/resources/ramls/github/issue-161.raml b/core/src/test/resources/ramls/github/issue-161.raml similarity index 100% rename from src/test/resources/ramls/github/issue-161.raml rename to core/src/test/resources/ramls/github/issue-161.raml diff --git a/src/test/resources/ramls/github/issue-169.raml b/core/src/test/resources/ramls/github/issue-169.raml similarity index 100% rename from src/test/resources/ramls/github/issue-169.raml rename to core/src/test/resources/ramls/github/issue-169.raml diff --git a/src/test/resources/ramls/github/issue-172.raml b/core/src/test/resources/ramls/github/issue-172.raml similarity index 100% rename from src/test/resources/ramls/github/issue-172.raml rename to core/src/test/resources/ramls/github/issue-172.raml diff --git a/src/test/resources/ramls/github/issue-173.raml b/core/src/test/resources/ramls/github/issue-173.raml similarity index 100% rename from src/test/resources/ramls/github/issue-173.raml rename to core/src/test/resources/ramls/github/issue-173.raml diff --git a/src/test/resources/ramls/github/issue-175.raml b/core/src/test/resources/ramls/github/issue-175.raml similarity index 100% rename from src/test/resources/ramls/github/issue-175.raml rename to core/src/test/resources/ramls/github/issue-175.raml diff --git a/src/test/resources/ramls/github/issue-176.raml b/core/src/test/resources/ramls/github/issue-176.raml similarity index 100% rename from src/test/resources/ramls/github/issue-176.raml rename to core/src/test/resources/ramls/github/issue-176.raml diff --git a/src/test/resources/ramls/github/issue-177.raml b/core/src/test/resources/ramls/github/issue-177.raml similarity index 100% rename from src/test/resources/ramls/github/issue-177.raml rename to core/src/test/resources/ramls/github/issue-177.raml diff --git a/src/test/resources/ramls/github/issue-181.raml b/core/src/test/resources/ramls/github/issue-181.raml similarity index 100% rename from src/test/resources/ramls/github/issue-181.raml rename to core/src/test/resources/ramls/github/issue-181.raml diff --git a/src/test/resources/ramls/github/issue-183.raml b/core/src/test/resources/ramls/github/issue-183.raml similarity index 100% rename from src/test/resources/ramls/github/issue-183.raml rename to core/src/test/resources/ramls/github/issue-183.raml diff --git a/src/test/resources/ramls/github/issue-193.raml b/core/src/test/resources/ramls/github/issue-193.raml similarity index 100% rename from src/test/resources/ramls/github/issue-193.raml rename to core/src/test/resources/ramls/github/issue-193.raml diff --git a/src/test/resources/ramls/github/issue-199.raml b/core/src/test/resources/ramls/github/issue-199.raml similarity index 100% rename from src/test/resources/ramls/github/issue-199.raml rename to core/src/test/resources/ramls/github/issue-199.raml diff --git a/src/test/resources/ramls/github/issue-204.raml b/core/src/test/resources/ramls/github/issue-204.raml similarity index 100% rename from src/test/resources/ramls/github/issue-204.raml rename to core/src/test/resources/ramls/github/issue-204.raml diff --git a/src/test/resources/ramls/github/issue-208-group.raml b/core/src/test/resources/ramls/github/issue-208-group.raml similarity index 100% rename from src/test/resources/ramls/github/issue-208-group.raml rename to core/src/test/resources/ramls/github/issue-208-group.raml diff --git a/src/test/resources/ramls/github/issue-208-product.raml b/core/src/test/resources/ramls/github/issue-208-product.raml similarity index 100% rename from src/test/resources/ramls/github/issue-208-product.raml rename to core/src/test/resources/ramls/github/issue-208-product.raml diff --git a/src/test/resources/ramls/github/issue-208.raml b/core/src/test/resources/ramls/github/issue-208.raml similarity index 100% rename from src/test/resources/ramls/github/issue-208.raml rename to core/src/test/resources/ramls/github/issue-208.raml diff --git a/src/test/resources/ramls/github/issue-210.raml b/core/src/test/resources/ramls/github/issue-210.raml similarity index 100% rename from src/test/resources/ramls/github/issue-210.raml rename to core/src/test/resources/ramls/github/issue-210.raml diff --git a/src/test/resources/ramls/github/issue-211-create-update-naming-resolution.raml b/core/src/test/resources/ramls/github/issue-211-create-update-naming-resolution.raml similarity index 100% rename from src/test/resources/ramls/github/issue-211-create-update-naming-resolution.raml rename to core/src/test/resources/ramls/github/issue-211-create-update-naming-resolution.raml diff --git a/src/test/resources/ramls/github/issue-212-1.raml b/core/src/test/resources/ramls/github/issue-212-1.raml similarity index 100% rename from src/test/resources/ramls/github/issue-212-1.raml rename to core/src/test/resources/ramls/github/issue-212-1.raml diff --git a/src/test/resources/ramls/github/issue-212-2.raml b/core/src/test/resources/ramls/github/issue-212-2.raml similarity index 100% rename from src/test/resources/ramls/github/issue-212-2.raml rename to core/src/test/resources/ramls/github/issue-212-2.raml diff --git a/src/test/resources/ramls/github/issue-212-3.raml b/core/src/test/resources/ramls/github/issue-212-3.raml similarity index 100% rename from src/test/resources/ramls/github/issue-212-3.raml rename to core/src/test/resources/ramls/github/issue-212-3.raml diff --git a/src/test/resources/ramls/github/issue-215-1.raml b/core/src/test/resources/ramls/github/issue-215-1.raml similarity index 100% rename from src/test/resources/ramls/github/issue-215-1.raml rename to core/src/test/resources/ramls/github/issue-215-1.raml diff --git a/src/test/resources/ramls/github/issue-215-2.raml b/core/src/test/resources/ramls/github/issue-215-2.raml similarity index 100% rename from src/test/resources/ramls/github/issue-215-2.raml rename to core/src/test/resources/ramls/github/issue-215-2.raml diff --git a/src/test/resources/ramls/github/issue-215-3.raml b/core/src/test/resources/ramls/github/issue-215-3.raml similarity index 100% rename from src/test/resources/ramls/github/issue-215-3.raml rename to core/src/test/resources/ramls/github/issue-215-3.raml diff --git a/src/test/resources/ramls/github/issue-224.raml b/core/src/test/resources/ramls/github/issue-224.raml similarity index 100% rename from src/test/resources/ramls/github/issue-224.raml rename to core/src/test/resources/ramls/github/issue-224.raml diff --git a/src/test/resources/ramls/github/issue-225.raml b/core/src/test/resources/ramls/github/issue-225.raml similarity index 100% rename from src/test/resources/ramls/github/issue-225.raml rename to core/src/test/resources/ramls/github/issue-225.raml diff --git a/src/test/resources/ramls/github/issue-235.raml b/core/src/test/resources/ramls/github/issue-235.raml similarity index 100% rename from src/test/resources/ramls/github/issue-235.raml rename to core/src/test/resources/ramls/github/issue-235.raml diff --git a/src/test/resources/ramls/github/issue-241.raml b/core/src/test/resources/ramls/github/issue-241.raml similarity index 100% rename from src/test/resources/ramls/github/issue-241.raml rename to core/src/test/resources/ramls/github/issue-241.raml diff --git a/src/test/resources/ramls/github/issue-242.raml b/core/src/test/resources/ramls/github/issue-242.raml similarity index 100% rename from src/test/resources/ramls/github/issue-242.raml rename to core/src/test/resources/ramls/github/issue-242.raml diff --git a/src/test/resources/ramls/github/issue-245.raml b/core/src/test/resources/ramls/github/issue-245.raml similarity index 100% rename from src/test/resources/ramls/github/issue-245.raml rename to core/src/test/resources/ramls/github/issue-245.raml diff --git a/src/test/resources/ramls/github/issue-247.raml b/core/src/test/resources/ramls/github/issue-247.raml similarity index 100% rename from src/test/resources/ramls/github/issue-247.raml rename to core/src/test/resources/ramls/github/issue-247.raml diff --git a/src/test/resources/ramls/github/issue-248.raml b/core/src/test/resources/ramls/github/issue-248.raml similarity index 100% rename from src/test/resources/ramls/github/issue-248.raml rename to core/src/test/resources/ramls/github/issue-248.raml diff --git a/src/test/resources/ramls/github/issue-250-1.raml b/core/src/test/resources/ramls/github/issue-250-1.raml similarity index 100% rename from src/test/resources/ramls/github/issue-250-1.raml rename to core/src/test/resources/ramls/github/issue-250-1.raml diff --git a/src/test/resources/ramls/github/issue-250.raml b/core/src/test/resources/ramls/github/issue-250.raml similarity index 100% rename from src/test/resources/ramls/github/issue-250.raml rename to core/src/test/resources/ramls/github/issue-250.raml diff --git a/src/test/resources/ramls/github/issue-253.raml b/core/src/test/resources/ramls/github/issue-253.raml similarity index 100% rename from src/test/resources/ramls/github/issue-253.raml rename to core/src/test/resources/ramls/github/issue-253.raml diff --git a/src/test/resources/ramls/github/issue-254.raml b/core/src/test/resources/ramls/github/issue-254.raml similarity index 100% rename from src/test/resources/ramls/github/issue-254.raml rename to core/src/test/resources/ramls/github/issue-254.raml diff --git a/src/test/resources/ramls/github/issue-258.raml b/core/src/test/resources/ramls/github/issue-258.raml similarity index 100% rename from src/test/resources/ramls/github/issue-258.raml rename to core/src/test/resources/ramls/github/issue-258.raml diff --git a/src/test/resources/ramls/github/issue-261.raml b/core/src/test/resources/ramls/github/issue-261.raml similarity index 100% rename from src/test/resources/ramls/github/issue-261.raml rename to core/src/test/resources/ramls/github/issue-261.raml diff --git a/src/test/resources/ramls/github/issue-263.raml b/core/src/test/resources/ramls/github/issue-263.raml similarity index 100% rename from src/test/resources/ramls/github/issue-263.raml rename to core/src/test/resources/ramls/github/issue-263.raml diff --git a/src/test/resources/ramls/github/issue-265.raml b/core/src/test/resources/ramls/github/issue-265.raml similarity index 100% rename from src/test/resources/ramls/github/issue-265.raml rename to core/src/test/resources/ramls/github/issue-265.raml diff --git a/src/test/resources/ramls/github/issue-266.raml b/core/src/test/resources/ramls/github/issue-266.raml similarity index 100% rename from src/test/resources/ramls/github/issue-266.raml rename to core/src/test/resources/ramls/github/issue-266.raml diff --git a/src/test/resources/ramls/github/issue-275-1.raml b/core/src/test/resources/ramls/github/issue-275-1.raml similarity index 100% rename from src/test/resources/ramls/github/issue-275-1.raml rename to core/src/test/resources/ramls/github/issue-275-1.raml diff --git a/src/test/resources/ramls/github/issue-275-2.raml b/core/src/test/resources/ramls/github/issue-275-2.raml similarity index 100% rename from src/test/resources/ramls/github/issue-275-2.raml rename to core/src/test/resources/ramls/github/issue-275-2.raml diff --git a/src/test/resources/ramls/github/issue-282.raml b/core/src/test/resources/ramls/github/issue-282.raml similarity index 100% rename from src/test/resources/ramls/github/issue-282.raml rename to core/src/test/resources/ramls/github/issue-282.raml diff --git a/src/test/resources/ramls/github/issue-284.raml b/core/src/test/resources/ramls/github/issue-284.raml similarity index 100% rename from src/test/resources/ramls/github/issue-284.raml rename to core/src/test/resources/ramls/github/issue-284.raml diff --git a/src/test/resources/ramls/github/issue-288-1.raml b/core/src/test/resources/ramls/github/issue-288-1.raml similarity index 100% rename from src/test/resources/ramls/github/issue-288-1.raml rename to core/src/test/resources/ramls/github/issue-288-1.raml diff --git a/src/test/resources/ramls/github/issue-288-2.raml b/core/src/test/resources/ramls/github/issue-288-2.raml similarity index 100% rename from src/test/resources/ramls/github/issue-288-2.raml rename to core/src/test/resources/ramls/github/issue-288-2.raml diff --git a/src/test/resources/ramls/github/issue-32.raml b/core/src/test/resources/ramls/github/issue-32.raml similarity index 100% rename from src/test/resources/ramls/github/issue-32.raml rename to core/src/test/resources/ramls/github/issue-32.raml diff --git a/src/test/resources/ramls/github/issue-61.raml b/core/src/test/resources/ramls/github/issue-61.raml similarity index 100% rename from src/test/resources/ramls/github/issue-61.raml rename to core/src/test/resources/ramls/github/issue-61.raml diff --git a/src/test/resources/ramls/github/issue-76.raml b/core/src/test/resources/ramls/github/issue-76.raml similarity index 100% rename from src/test/resources/ramls/github/issue-76.raml rename to core/src/test/resources/ramls/github/issue-76.raml diff --git a/src/test/resources/ramls/raml-action-test-v10.raml b/core/src/test/resources/ramls/raml-action-test-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-action-test-v10.raml rename to core/src/test/resources/ramls/raml-action-test-v10.raml diff --git a/src/test/resources/ramls/raml-interpreter-test-v10.raml b/core/src/test/resources/ramls/raml-interpreter-test-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-interpreter-test-v10.raml rename to core/src/test/resources/ramls/raml-interpreter-test-v10.raml diff --git a/src/test/resources/ramls/raml-naming-logic.raml b/core/src/test/resources/ramls/raml-naming-logic.raml similarity index 100% rename from src/test/resources/ramls/raml-naming-logic.raml rename to core/src/test/resources/ramls/raml-naming-logic.raml diff --git a/src/test/resources/ramls/raml-root-schemas-test-v10.raml b/core/src/test/resources/ramls/raml-root-schemas-test-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-root-schemas-test-v10.raml rename to core/src/test/resources/ramls/raml-root-schemas-test-v10.raml diff --git a/src/test/resources/ramls/raml-root-test-emptyValues-v10.raml b/core/src/test/resources/ramls/raml-root-test-emptyValues-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-root-test-emptyValues-v10.raml rename to core/src/test/resources/ramls/raml-root-test-emptyValues-v10.raml diff --git a/src/test/resources/ramls/raml-root-test-lib-v10.raml b/core/src/test/resources/ramls/raml-root-test-lib-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-root-test-lib-v10.raml rename to core/src/test/resources/ramls/raml-root-test-lib-v10.raml diff --git a/src/test/resources/ramls/raml-root-test-lib2-v10.raml b/core/src/test/resources/ramls/raml-root-test-lib2-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-root-test-lib2-v10.raml rename to core/src/test/resources/ramls/raml-root-test-lib2-v10.raml diff --git a/src/test/resources/ramls/raml-root-test-lib3-v10.raml b/core/src/test/resources/ramls/raml-root-test-lib3-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-root-test-lib3-v10.raml rename to core/src/test/resources/ramls/raml-root-test-lib3-v10.raml diff --git a/src/test/resources/ramls/raml-root-test-v10.raml b/core/src/test/resources/ramls/raml-root-test-v10.raml similarity index 100% rename from src/test/resources/ramls/raml-root-test-v10.raml rename to core/src/test/resources/ramls/raml-root-test-v10.raml diff --git a/src/test/resources/ramls/raml-with-union-types.raml b/core/src/test/resources/ramls/raml-with-union-types.raml similarity index 100% rename from src/test/resources/ramls/raml-with-union-types.raml rename to core/src/test/resources/ramls/raml-with-union-types.raml diff --git a/src/test/resources/ramls/test-actions-missing.raml b/core/src/test/resources/ramls/test-actions-missing.raml similarity index 100% rename from src/test/resources/ramls/test-actions-missing.raml rename to core/src/test/resources/ramls/test-actions-missing.raml diff --git a/src/test/resources/ramls/test-contenttype-success.raml b/core/src/test/resources/ramls/test-contenttype-success.raml similarity index 100% rename from src/test/resources/ramls/test-contenttype-success.raml rename to core/src/test/resources/ramls/test-contenttype-success.raml diff --git a/src/test/resources/ramls/test-default-values.raml b/core/src/test/resources/ramls/test-default-values.raml similarity index 100% rename from src/test/resources/ramls/test-default-values.raml rename to core/src/test/resources/ramls/test-default-values.raml diff --git a/src/test/resources/ramls/test-duplicatecommand.raml b/core/src/test/resources/ramls/test-duplicatecommand.raml similarity index 100% rename from src/test/resources/ramls/test-duplicatecommand.raml rename to core/src/test/resources/ramls/test-duplicatecommand.raml diff --git a/src/test/resources/ramls/test-feign-client.raml b/core/src/test/resources/ramls/test-feign-client.raml similarity index 100% rename from src/test/resources/ramls/test-feign-client.raml rename to core/src/test/resources/ramls/test-feign-client.raml diff --git a/src/test/resources/ramls/test-multicontenttype-missingcontent.raml b/core/src/test/resources/ramls/test-multicontenttype-missingcontent.raml similarity index 100% rename from src/test/resources/ramls/test-multicontenttype-missingcontent.raml rename to core/src/test/resources/ramls/test-multicontenttype-missingcontent.raml diff --git a/src/test/resources/ramls/test-multicontenttype-success.raml b/core/src/test/resources/ramls/test-multicontenttype-success.raml similarity index 100% rename from src/test/resources/ramls/test-multicontenttype-success.raml rename to core/src/test/resources/ramls/test-multicontenttype-success.raml diff --git a/src/test/resources/ramls/test-multipart-mime-request.raml b/core/src/test/resources/ramls/test-multipart-mime-request.raml similarity index 100% rename from src/test/resources/ramls/test-multipart-mime-request.raml rename to core/src/test/resources/ramls/test-multipart-mime-request.raml diff --git a/src/test/resources/ramls/test-pattern-constraint.raml b/core/src/test/resources/ramls/test-pattern-constraint.raml similarity index 100% rename from src/test/resources/ramls/test-pattern-constraint.raml rename to core/src/test/resources/ramls/test-pattern-constraint.raml diff --git a/src/test/resources/ramls/test-queryparam-missing.raml b/core/src/test/resources/ramls/test-queryparam-missing.raml similarity index 100% rename from src/test/resources/ramls/test-queryparam-missing.raml rename to core/src/test/resources/ramls/test-queryparam-missing.raml diff --git a/src/test/resources/ramls/test-queryparam-success.raml b/core/src/test/resources/ramls/test-queryparam-success.raml similarity index 100% rename from src/test/resources/ramls/test-queryparam-success.raml rename to core/src/test/resources/ramls/test-queryparam-success.raml diff --git a/src/test/resources/ramls/test-requestbody-with-validation.raml b/core/src/test/resources/ramls/test-requestbody-with-validation.raml similarity index 100% rename from src/test/resources/ramls/test-requestbody-with-validation.raml rename to core/src/test/resources/ramls/test-requestbody-with-validation.raml diff --git a/src/test/resources/ramls/test-responsebody-differenttype.raml b/core/src/test/resources/ramls/test-responsebody-differenttype.raml similarity index 100% rename from src/test/resources/ramls/test-responsebody-differenttype.raml rename to core/src/test/resources/ramls/test-responsebody-differenttype.raml diff --git a/src/test/resources/ramls/test-responsebody-missing.raml b/core/src/test/resources/ramls/test-responsebody-missing.raml similarity index 100% rename from src/test/resources/ramls/test-responsebody-missing.raml rename to core/src/test/resources/ramls/test-responsebody-missing.raml diff --git a/src/test/resources/ramls/test-responsebody-multipletype.raml b/core/src/test/resources/ramls/test-responsebody-multipletype.raml similarity index 100% rename from src/test/resources/ramls/test-responsebody-multipletype.raml rename to core/src/test/resources/ramls/test-responsebody-multipletype.raml diff --git a/src/test/resources/ramls/test-responsebody-success.raml b/core/src/test/resources/ramls/test-responsebody-success.raml similarity index 100% rename from src/test/resources/ramls/test-responsebody-success.raml rename to core/src/test/resources/ramls/test-responsebody-success.raml diff --git a/src/test/resources/ramls/test-schema-with-inheritance.raml b/core/src/test/resources/ramls/test-schema-with-inheritance.raml similarity index 100% rename from src/test/resources/ramls/test-schema-with-inheritance.raml rename to core/src/test/resources/ramls/test-schema-with-inheritance.raml diff --git a/src/test/resources/ramls/test-shortcut-mappings.raml b/core/src/test/resources/ramls/test-shortcut-mappings.raml similarity index 100% rename from src/test/resources/ramls/test-shortcut-mappings.raml rename to core/src/test/resources/ramls/test-shortcut-mappings.raml diff --git a/src/test/resources/ramls/test-simple.raml b/core/src/test/resources/ramls/test-simple.raml similarity index 100% rename from src/test/resources/ramls/test-simple.raml rename to core/src/test/resources/ramls/test-simple.raml diff --git a/src/test/resources/ramls/test-single-controller.raml b/core/src/test/resources/ramls/test-single-controller.raml similarity index 100% rename from src/test/resources/ramls/test-single-controller.raml rename to core/src/test/resources/ramls/test-single-controller.raml diff --git a/src/test/resources/ramls/test-style-actionsecurity-fails.raml b/core/src/test/resources/ramls/test-style-actionsecurity-fails.raml similarity index 100% rename from src/test/resources/ramls/test-style-actionsecurity-fails.raml rename to core/src/test/resources/ramls/test-style-actionsecurity-fails.raml diff --git a/src/test/resources/ramls/test-style-actionsecurity-success.raml b/core/src/test/resources/ramls/test-style-actionsecurity-success.raml similarity index 100% rename from src/test/resources/ramls/test-style-actionsecurity-success.raml rename to core/src/test/resources/ramls/test-style-actionsecurity-success.raml diff --git a/src/test/resources/ramls/test-style-missing-get404-fails.raml b/core/src/test/resources/ramls/test-style-missing-get404-fails.raml similarity index 100% rename from src/test/resources/ramls/test-style-missing-get404-fails.raml rename to core/src/test/resources/ramls/test-style-missing-get404-fails.raml diff --git a/src/test/resources/ramls/test-style-missing-get404.raml b/core/src/test/resources/ramls/test-style-missing-get404.raml similarity index 100% rename from src/test/resources/ramls/test-style-missing-get404.raml rename to core/src/test/resources/ramls/test-style-missing-get404.raml diff --git a/src/test/resources/ramls/test-style-missing-request-bodies-fails.raml b/core/src/test/resources/ramls/test-style-missing-request-bodies-fails.raml similarity index 100% rename from src/test/resources/ramls/test-style-missing-request-bodies-fails.raml rename to core/src/test/resources/ramls/test-style-missing-request-bodies-fails.raml diff --git a/src/test/resources/ramls/test-style-missing-request-bodies.raml b/core/src/test/resources/ramls/test-style-missing-request-bodies.raml similarity index 100% rename from src/test/resources/ramls/test-style-missing-request-bodies.raml rename to core/src/test/resources/ramls/test-style-missing-request-bodies.raml diff --git a/src/test/resources/ramls/test-style-missing-response-bodies-fails.raml b/core/src/test/resources/ramls/test-style-missing-response-bodies-fails.raml similarity index 100% rename from src/test/resources/ramls/test-style-missing-response-bodies-fails.raml rename to core/src/test/resources/ramls/test-style-missing-response-bodies-fails.raml diff --git a/src/test/resources/ramls/test-style-missing-response-bodies.raml b/core/src/test/resources/ramls/test-style-missing-response-bodies.raml similarity index 100% rename from src/test/resources/ramls/test-style-missing-response-bodies.raml rename to core/src/test/resources/ramls/test-style-missing-response-bodies.raml diff --git a/src/test/resources/ramls/test-style-pluralised-singularcollection.raml b/core/src/test/resources/ramls/test-style-pluralised-singularcollection.raml similarity index 100% rename from src/test/resources/ramls/test-style-pluralised-singularcollection.raml rename to core/src/test/resources/ramls/test-style-pluralised-singularcollection.raml diff --git a/src/test/resources/ramls/test-style-pluralised-success.raml b/core/src/test/resources/ramls/test-style-pluralised-success.raml similarity index 100% rename from src/test/resources/ramls/test-style-pluralised-success.raml rename to core/src/test/resources/ramls/test-style-pluralised-success.raml diff --git a/src/test/resources/ramls/test-style-success.raml b/core/src/test/resources/ramls/test-style-success.raml similarity index 100% rename from src/test/resources/ramls/test-style-success.raml rename to core/src/test/resources/ramls/test-style-success.raml diff --git a/src/test/resources/ramls/test-uri.raml b/core/src/test/resources/ramls/test-uri.raml similarity index 100% rename from src/test/resources/ramls/test-uri.raml rename to core/src/test/resources/ramls/test-uri.raml diff --git a/src/test/resources/ramls/test-uriparam.raml b/core/src/test/resources/ramls/test-uriparam.raml similarity index 100% rename from src/test/resources/ramls/test-uriparam.raml rename to core/src/test/resources/ramls/test-uriparam.raml diff --git a/src/test/resources/schemas/A.json b/core/src/test/resources/schemas/A.json similarity index 100% rename from src/test/resources/schemas/A.json rename to core/src/test/resources/schemas/A.json diff --git a/src/test/resources/schemas/B-badid.json b/core/src/test/resources/schemas/B-badid.json similarity index 100% rename from src/test/resources/schemas/B-badid.json rename to core/src/test/resources/schemas/B-badid.json diff --git a/src/test/resources/schemas/B-noid.json b/core/src/test/resources/schemas/B-noid.json similarity index 100% rename from src/test/resources/schemas/B-noid.json rename to core/src/test/resources/schemas/B-noid.json diff --git a/src/test/resources/schemas/B-urn.json b/core/src/test/resources/schemas/B-urn.json similarity index 100% rename from src/test/resources/schemas/B-urn.json rename to core/src/test/resources/schemas/B-urn.json diff --git a/src/test/resources/schemas/B.json b/core/src/test/resources/schemas/B.json similarity index 100% rename from src/test/resources/schemas/B.json rename to core/src/test/resources/schemas/B.json diff --git a/src/test/resources/schemas/accounts.schema b/core/src/test/resources/schemas/accounts.schema similarity index 100% rename from src/test/resources/schemas/accounts.schema rename to core/src/test/resources/schemas/accounts.schema diff --git a/src/test/resources/schemas/address.schema b/core/src/test/resources/schemas/address.schema similarity index 100% rename from src/test/resources/schemas/address.schema rename to core/src/test/resources/schemas/address.schema diff --git a/src/test/resources/schemas/addresses.schema b/core/src/test/resources/schemas/addresses.schema similarity index 100% rename from src/test/resources/schemas/addresses.schema rename to core/src/test/resources/schemas/addresses.schema diff --git a/src/test/resources/schemas/nested-ref.schema b/core/src/test/resources/schemas/nested-ref.schema similarity index 100% rename from src/test/resources/schemas/nested-ref.schema rename to core/src/test/resources/schemas/nested-ref.schema diff --git a/src/test/resources/schemas/nested.schema b/core/src/test/resources/schemas/nested.schema similarity index 100% rename from src/test/resources/schemas/nested.schema rename to core/src/test/resources/schemas/nested.schema diff --git a/src/test/resources/schemas/sample_unit.json b/core/src/test/resources/schemas/sample_unit.json similarity index 100% rename from src/test/resources/schemas/sample_unit.json rename to core/src/test/resources/schemas/sample_unit.json diff --git a/src/test/resources/schemas/sample_units.json b/core/src/test/resources/schemas/sample_units.json similarity index 100% rename from src/test/resources/schemas/sample_units.json rename to core/src/test/resources/schemas/sample_units.json diff --git a/src/test/resources/validations/BaseControllerDecorator.java.txt b/core/src/test/resources/validations/BaseControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerDecorator.java.txt rename to core/src/test/resources/validations/BaseControllerDecorator.java.txt diff --git a/src/test/resources/validations/BaseControllerDecoratorAsync.java.txt b/core/src/test/resources/validations/BaseControllerDecoratorAsync.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerDecoratorAsync.java.txt rename to core/src/test/resources/validations/BaseControllerDecoratorAsync.java.txt diff --git a/src/test/resources/validations/BaseControllerInterface.java.txt b/core/src/test/resources/validations/BaseControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerInterface.java.txt rename to core/src/test/resources/validations/BaseControllerInterface.java.txt diff --git a/src/test/resources/validations/BaseControllerInterfaceAsync.java.txt b/core/src/test/resources/validations/BaseControllerInterfaceAsync.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerInterfaceAsync.java.txt rename to core/src/test/resources/validations/BaseControllerInterfaceAsync.java.txt diff --git a/src/test/resources/validations/BaseControllerInterfaceWithObjectReturnTypes.java.txt b/core/src/test/resources/validations/BaseControllerInterfaceWithObjectReturnTypes.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerInterfaceWithObjectReturnTypes.java.txt rename to core/src/test/resources/validations/BaseControllerInterfaceWithObjectReturnTypes.java.txt diff --git a/src/test/resources/validations/BaseControllerInterfaceWithShortcutMappings.java.txt b/core/src/test/resources/validations/BaseControllerInterfaceWithShortcutMappings.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerInterfaceWithShortcutMappings.java.txt rename to core/src/test/resources/validations/BaseControllerInterfaceWithShortcutMappings.java.txt diff --git a/src/test/resources/validations/BaseControllerStub.java.txt b/core/src/test/resources/validations/BaseControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerStub.java.txt rename to core/src/test/resources/validations/BaseControllerStub.java.txt diff --git a/src/test/resources/validations/BaseControllerStubAsync.java.txt b/core/src/test/resources/validations/BaseControllerStubAsync.java.txt similarity index 100% rename from src/test/resources/validations/BaseControllerStubAsync.java.txt rename to core/src/test/resources/validations/BaseControllerStubAsync.java.txt diff --git a/src/test/resources/validations/BaseDecoratorRequestBodyWithValidation.java.txt b/core/src/test/resources/validations/BaseDecoratorRequestBodyWithValidation.java.txt similarity index 100% rename from src/test/resources/validations/BaseDecoratorRequestBodyWithValidation.java.txt rename to core/src/test/resources/validations/BaseDecoratorRequestBodyWithValidation.java.txt diff --git a/src/test/resources/validations/BaseHttpHeadersControllerDecorator.java.txt b/core/src/test/resources/validations/BaseHttpHeadersControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/BaseHttpHeadersControllerDecorator.java.txt rename to core/src/test/resources/validations/BaseHttpHeadersControllerDecorator.java.txt diff --git a/src/test/resources/validations/BaseHttpHeadersControllerInterface.java.txt b/core/src/test/resources/validations/BaseHttpHeadersControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/BaseHttpHeadersControllerInterface.java.txt rename to core/src/test/resources/validations/BaseHttpHeadersControllerInterface.java.txt diff --git a/src/test/resources/validations/BaseHttpHeadersControllerStub.java.txt b/core/src/test/resources/validations/BaseHttpHeadersControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/BaseHttpHeadersControllerStub.java.txt rename to core/src/test/resources/validations/BaseHttpHeadersControllerStub.java.txt diff --git a/src/test/resources/validations/BaseInterfaceRequestBodyWithValidation.java.txt b/core/src/test/resources/validations/BaseInterfaceRequestBodyWithValidation.java.txt similarity index 100% rename from src/test/resources/validations/BaseInterfaceRequestBodyWithValidation.java.txt rename to core/src/test/resources/validations/BaseInterfaceRequestBodyWithValidation.java.txt diff --git a/src/test/resources/validations/BaseStubRequestBodyWithValidation.java.txt b/core/src/test/resources/validations/BaseStubRequestBodyWithValidation.java.txt similarity index 100% rename from src/test/resources/validations/BaseStubRequestBodyWithValidation.java.txt rename to core/src/test/resources/validations/BaseStubRequestBodyWithValidation.java.txt diff --git a/src/test/resources/validations/FeignClient.java.txt b/core/src/test/resources/validations/FeignClient.java.txt similarity index 100% rename from src/test/resources/validations/FeignClient.java.txt rename to core/src/test/resources/validations/FeignClient.java.txt diff --git a/src/test/resources/validations/FeignClientDefaultValues.java.txt b/core/src/test/resources/validations/FeignClientDefaultValues.java.txt similarity index 100% rename from src/test/resources/validations/FeignClientDefaultValues.java.txt rename to core/src/test/resources/validations/FeignClientDefaultValues.java.txt diff --git a/src/test/resources/validations/MultipartRequestStub.java.txt b/core/src/test/resources/validations/MultipartRequestStub.java.txt similarity index 100% rename from src/test/resources/validations/MultipartRequestStub.java.txt rename to core/src/test/resources/validations/MultipartRequestStub.java.txt diff --git a/src/test/resources/validations/NamingLogicSpring4ControllerDecorator.java.txt b/core/src/test/resources/validations/NamingLogicSpring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/NamingLogicSpring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/NamingLogicSpring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/PatternConstraintSpring4Decorator.java.txt b/core/src/test/resources/validations/PatternConstraintSpring4Decorator.java.txt similarity index 100% rename from src/test/resources/validations/PatternConstraintSpring4Decorator.java.txt rename to core/src/test/resources/validations/PatternConstraintSpring4Decorator.java.txt diff --git a/src/test/resources/validations/RamlEquivalenceSpring4Decorator.java.txt b/core/src/test/resources/validations/RamlEquivalenceSpring4Decorator.java.txt similarity index 100% rename from src/test/resources/validations/RamlEquivalenceSpring4Decorator.java.txt rename to core/src/test/resources/validations/RamlEquivalenceSpring4Decorator.java.txt diff --git a/src/test/resources/validations/RamlSchemaWithInheritanceTest.java.txt b/core/src/test/resources/validations/RamlSchemaWithInheritanceTest.java.txt similarity index 100% rename from src/test/resources/validations/RamlSchemaWithInheritanceTest.java.txt rename to core/src/test/resources/validations/RamlSchemaWithInheritanceTest.java.txt diff --git a/src/test/resources/validations/RamlWithUnionTypeSpring4ControllerInterface.java.txt b/core/src/test/resources/validations/RamlWithUnionTypeSpring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/RamlWithUnionTypeSpring4ControllerInterface.java.txt rename to core/src/test/resources/validations/RamlWithUnionTypeSpring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/Spring3BaseControllerDecorator.java.txt b/core/src/test/resources/validations/Spring3BaseControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/Spring3BaseControllerDecorator.java.txt rename to core/src/test/resources/validations/Spring3BaseControllerDecorator.java.txt diff --git a/src/test/resources/validations/Spring3BaseControllerInterface.java.txt b/core/src/test/resources/validations/Spring3BaseControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/Spring3BaseControllerInterface.java.txt rename to core/src/test/resources/validations/Spring3BaseControllerInterface.java.txt diff --git a/src/test/resources/validations/Spring3BaseControllerStub.java.txt b/core/src/test/resources/validations/Spring3BaseControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/Spring3BaseControllerStub.java.txt rename to core/src/test/resources/validations/Spring3BaseControllerStub.java.txt diff --git a/src/test/resources/validations/Spring3HttpHeadersBaseControllerDecorator.java.txt b/core/src/test/resources/validations/Spring3HttpHeadersBaseControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/Spring3HttpHeadersBaseControllerDecorator.java.txt rename to core/src/test/resources/validations/Spring3HttpHeadersBaseControllerDecorator.java.txt diff --git a/src/test/resources/validations/Spring3HttpHeadersBaseControllerInterface.java.txt b/core/src/test/resources/validations/Spring3HttpHeadersBaseControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/Spring3HttpHeadersBaseControllerInterface.java.txt rename to core/src/test/resources/validations/Spring3HttpHeadersBaseControllerInterface.java.txt diff --git a/src/test/resources/validations/Spring3HttpHeadersBaseControllerStub.java.txt b/core/src/test/resources/validations/Spring3HttpHeadersBaseControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/Spring3HttpHeadersBaseControllerStub.java.txt rename to core/src/test/resources/validations/Spring3HttpHeadersBaseControllerStub.java.txt diff --git a/src/test/resources/validations/Spring4BaseClient.java.txt b/core/src/test/resources/validations/Spring4BaseClient.java.txt similarity index 100% rename from src/test/resources/validations/Spring4BaseClient.java.txt rename to core/src/test/resources/validations/Spring4BaseClient.java.txt diff --git a/src/test/resources/validations/Spring4ControllerInterfaceWithShortcutMappings.java.txt b/core/src/test/resources/validations/Spring4ControllerInterfaceWithShortcutMappings.java.txt similarity index 100% rename from src/test/resources/validations/Spring4ControllerInterfaceWithShortcutMappings.java.txt rename to core/src/test/resources/validations/Spring4ControllerInterfaceWithShortcutMappings.java.txt diff --git a/src/test/resources/validations/Spring4HttpHeadersBaseClient.java.txt b/core/src/test/resources/validations/Spring4HttpHeadersBaseClient.java.txt similarity index 100% rename from src/test/resources/validations/Spring4HttpHeadersBaseClient.java.txt rename to core/src/test/resources/validations/Spring4HttpHeadersBaseClient.java.txt diff --git a/src/test/resources/validations/github/Issue117ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue117ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue117ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue117ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue117Spring4Client.java.txt b/core/src/test/resources/validations/github/Issue117Spring4Client.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue117Spring4Client.java.txt rename to core/src/test/resources/validations/github/Issue117Spring4Client.java.txt diff --git a/src/test/resources/validations/github/Issue117Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue117Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue117Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue117Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue117Spring4Decorator.java.txt b/core/src/test/resources/validations/github/Issue117Spring4Decorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue117Spring4Decorator.java.txt rename to core/src/test/resources/validations/github/Issue117Spring4Decorator.java.txt diff --git a/src/test/resources/validations/github/Issue117Spring4DecoratorNoArray.java.txt b/core/src/test/resources/validations/github/Issue117Spring4DecoratorNoArray.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue117Spring4DecoratorNoArray.java.txt rename to core/src/test/resources/validations/github/Issue117Spring4DecoratorNoArray.java.txt diff --git a/src/test/resources/validations/github/Issue117Spring4Interface.java.txt b/core/src/test/resources/validations/github/Issue117Spring4Interface.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue117Spring4Interface.java.txt rename to core/src/test/resources/validations/github/Issue117Spring4Interface.java.txt diff --git a/src/test/resources/validations/github/Issue158Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue158Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue158Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue158Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue159Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue159Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue159Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue159Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue161Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue161Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue161Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue161Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue169Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue169Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue169Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue169Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue172Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue172Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue172Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue172Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue173Spring4Decorator.java.txt b/core/src/test/resources/validations/github/Issue173Spring4Decorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue173Spring4Decorator.java.txt rename to core/src/test/resources/validations/github/Issue173Spring4Decorator.java.txt diff --git a/src/test/resources/validations/github/Issue175Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue175Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue175Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue175Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue176Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue176Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue176Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue176Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue177-1Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue177-1Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue177-1Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue177-1Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue177-2Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue177-2Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue177-2Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue177-2Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue181Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue181Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue181Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue181Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue183Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue183Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue183Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue183Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue193-validqueryparameters.java.txt b/core/src/test/resources/validations/github/Issue193-validqueryparameters.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue193-validqueryparameters.java.txt rename to core/src/test/resources/validations/github/Issue193-validqueryparameters.java.txt diff --git a/src/test/resources/validations/github/Issue199Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue199Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue199Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue199Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue204Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue204Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue204Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue204Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue208Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue208Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue208Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue208Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue210Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue210Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue210Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue210Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue211SpringInterfaceForRaml10.java.txt b/core/src/test/resources/validations/github/Issue211SpringInterfaceForRaml10.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue211SpringInterfaceForRaml10.java.txt rename to core/src/test/resources/validations/github/Issue211SpringInterfaceForRaml10.java.txt diff --git a/src/test/resources/validations/github/Issue212-1-pathvariablesnaming.java.txt b/core/src/test/resources/validations/github/Issue212-1-pathvariablesnaming.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue212-1-pathvariablesnaming.java.txt rename to core/src/test/resources/validations/github/Issue212-1-pathvariablesnaming.java.txt diff --git a/src/test/resources/validations/github/Issue212-2-pathvariablesnaming.java.txt b/core/src/test/resources/validations/github/Issue212-2-pathvariablesnaming.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue212-2-pathvariablesnaming.java.txt rename to core/src/test/resources/validations/github/Issue212-2-pathvariablesnaming.java.txt diff --git a/src/test/resources/validations/github/Issue212-3-pathvariablesnaming.java.txt b/core/src/test/resources/validations/github/Issue212-3-pathvariablesnaming.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue212-3-pathvariablesnaming.java.txt rename to core/src/test/resources/validations/github/Issue212-3-pathvariablesnaming.java.txt diff --git a/src/test/resources/validations/github/Issue215-1Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue215-1Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue215-1Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue215-1Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue215-2Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue215-2Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue215-2Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue215-2Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue215-3Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue215-3Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue215-3Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue215-3Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue224Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue224Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue224Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue224Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue225Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue225Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue225Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue225Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue235Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue235Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue235Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue235Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue241Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/Issue241Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue241Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/Issue241Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/Issue242Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue242Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue242Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue242Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue245DisabledSpring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue245DisabledSpring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue245DisabledSpring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue245DisabledSpring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue245EnabledSpring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue245EnabledSpring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue245EnabledSpring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue245EnabledSpring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue247Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue247Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue247Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue247Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue248Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue248Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue248Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue248Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue250-1Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue250-1Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue250-1Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue250-1Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue250-2Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue250-2Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue250-2Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue250-2Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue250-3Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue250-3Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue250-3Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue250-3Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue250-4Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue250-4Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue250-4Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue250-4Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue250-5Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue250-5Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue250-5Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue250-5Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue253Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue253Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue253Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue253Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue258-retainPropertyName.java.txt b/core/src/test/resources/validations/github/Issue258-retainPropertyName.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue258-retainPropertyName.java.txt rename to core/src/test/resources/validations/github/Issue258-retainPropertyName.java.txt diff --git a/src/test/resources/validations/github/Issue261Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue261Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue261Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue261Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue263Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue263Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue263Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue263Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue265Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/Issue265Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue265Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/Issue265Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/Issue266-1Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue266-1Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue266-1Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue266-1Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue266-2Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue266-2Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue266-2Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue266-2Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue282Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/Issue282Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue282Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/Issue282Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/Issue284FeignClientInterface.java.txt b/core/src/test/resources/validations/github/Issue284FeignClientInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue284FeignClientInterface.java.txt rename to core/src/test/resources/validations/github/Issue284FeignClientInterface.java.txt diff --git a/src/test/resources/validations/github/Issue61BaseClient.java.txt b/core/src/test/resources/validations/github/Issue61BaseClient.java.txt similarity index 100% rename from src/test/resources/validations/github/Issue61BaseClient.java.txt rename to core/src/test/resources/validations/github/Issue61BaseClient.java.txt diff --git a/src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-152/Issue152-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-152/Issue152-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-152/Issue152-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-152/Issue152-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-152/Issue152-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-254/Issue254-1Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-254/Issue254-2Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-254/Issue254-FeignClientInterface.java.txt b/core/src/test/resources/validations/github/issue-254/Issue254-FeignClientInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-254/Issue254-FeignClientInterface.java.txt rename to core/src/test/resources/validations/github/issue-254/Issue254-FeignClientInterface.java.txt diff --git a/src/test/resources/validations/github/issue-254/Issue254-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-254/Issue254-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-254/Issue254-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-254/Issue254-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-257/Issue257Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-257/Issue257Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-257/Issue257Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/issue-257/Issue257Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Callable-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Format-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Simple-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigDecimal-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Callable-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-275/Issue275-BigInteger-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-286/Issue286-1Spring4FeignClient.java.txt b/core/src/test/resources/validations/github/issue-286/Issue286-1Spring4FeignClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-286/Issue286-1Spring4FeignClient.java.txt rename to core/src/test/resources/validations/github/issue-286/Issue286-1Spring4FeignClient.java.txt diff --git a/src/test/resources/validations/github/issue-286/Issue286-1Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-286/Issue286-1Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-286/Issue286-1Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-286/Issue286-1Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-286/Issue286-2Spring4FeignClient.java.txt b/core/src/test/resources/validations/github/issue-286/Issue286-2Spring4FeignClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-286/Issue286-2Spring4FeignClient.java.txt rename to core/src/test/resources/validations/github/issue-286/Issue286-2Spring4FeignClient.java.txt diff --git a/src/test/resources/validations/github/issue-286/Issue286-2Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-286/Issue286-2Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-286/Issue286-2Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-286/Issue286-2Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Callable-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-BigInteger-Format-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Callable-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Format-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Simple-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigDecimal-Spring4RestTemplateClient.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerDecorator.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerDecorator.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerDecorator.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerDecorator.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Callable-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerDecoratorRule.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerDecoratorRule.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerDecoratorRule.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerDecoratorRule.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerInterface.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerInterface.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerInterface.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerInterface.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerStub.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerStub.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerStub.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4ControllerStub.java.txt diff --git a/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4RestTemplateClient.java.txt b/core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4RestTemplateClient.java.txt similarity index 100% rename from src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4RestTemplateClient.java.txt rename to core/src/test/resources/validations/github/issue-288/Issue288-BigInteger-Spring4RestTemplateClient.java.txt diff --git a/maven/pom.xml b/maven/pom.xml new file mode 100644 index 00000000..26e70518 --- /dev/null +++ b/maven/pom.xml @@ -0,0 +1,211 @@ + + 4.0.0 + + + com.phoenixnap.oss + springmvc-raml-root + 2.0.6-SNAPSHOT + + + springmvc-raml-plugin + ${project.parent.version} + + RAML to Spring MVC Maven Plugin + Component is Maven plugin that reads RAML documents and creates Spring MVC endpoints + https://github.com/phoenixnap/springmvc-raml-plugin/tree/master/springmvc-raml-parser + maven-plugin + + + + Aleksandar Stojsavljevic + aleksandars@ccbill.com + CCBill + http://www.ccbill.com + + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + scm:git:git@github.com:phoenixnap/springmvc-raml-plugin.git + scm:git:git@github.com:phoenixnap/springmvc-raml-plugin.git + git@github.com:phoenixnap/springmvc-raml-plugin.git + + + + UTF-8 + 1.8 + 1.8 + true + + 1.6.2 + 3.3.9 + 0.5.1 + 1.0.26 + 1.1.6.RELEASE + 2.6 + + + + + + + org.apache.maven + maven-core + ${maven.core.version} + + + org.apache.maven + maven-plugin-api + ${maven.core.version} + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.4 + provided + + + org.apache.maven + maven-compat + ${maven.core.version} + test + + + org.apache.maven.plugin-testing + maven-plugin-testing-harness + test + 3.3.0 + + + + + + junit + junit + test + + + org.hamcrest + hamcrest-all + test + + + org.mockito + mockito-core + test + + + org.powermock + powermock-module-junit4 + ${powermock.version} + test + + + org.powermock + powermock-api-mockito + ${powermock.version} + test + + + org.slf4j + slf4j-log4j12 + test + + + com.phoenixnap.oss + springmvc-raml-plugin-core + ${project.parent.version} + + + + + + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + springmvc-raml + true + + + + mojo-descriptor + process-classes + + descriptor + + + + default-descriptor + + descriptor + + process-classes + + + help-descriptor + + helpmojo + + process-classes + + + + + org.apache.maven.plugins + maven-site-plugin + 3.5.1 + + + attach-descriptor + + attach-descriptor + + + + + + + + + + net.revelc.code.formatter + formatter-maven-plugin + + + + + + src/main/resources + true + + + + + src/test/resources + true + + + + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfig.java b/maven/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfig.java similarity index 96% rename from src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfig.java rename to maven/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfig.java index 9fbe0663..5bc7eb74 100644 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfig.java +++ b/maven/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfig.java @@ -15,7 +15,7 @@ import org.apache.maven.plugins.annotations.Parameter; import org.jsonschema2pojo.DefaultGenerationConfig; -public class PojoGenerationConfig extends DefaultGenerationConfig { +public class PojoGenerationConfig extends ExtendedGenerationConfig { /** * We will pass on this configuration to the jsonschema2pojo library for * creation of BigDecimals instead of Floats @@ -52,16 +52,16 @@ public class PojoGenerationConfig extends DefaultGenerationConfig { protected Boolean usePrimitives = Boolean.FALSE; /** - * We will pass on this configuration to the jsonschema2pojo library for use - * of commons-lang 3.x imports instead of commons-lang 2.x + * We will pass on this configuration to the jsonschema2pojo library for use of + * commons-lang 3.x imports instead of commons-lang 2.x */ @Parameter(required = false, readonly = true, defaultValue = "false") protected Boolean useCommonsLang3 = Boolean.FALSE; /** * We will pass on this configuration to the jsonschema2pojo library for - * generation of builder-style methods of the form - * withXxx(value) that return this + * generation of builder-style methods of the form withXxx(value) + * that return this */ @Parameter(required = false, readonly = true, defaultValue = "false") protected Boolean generateBuilders = Boolean.FALSE; @@ -73,8 +73,8 @@ public class PojoGenerationConfig extends DefaultGenerationConfig { protected Boolean includeAccessors = Boolean.TRUE; /** - * We will pass on this configuration to the jsonschema2pojo library for - * support of additional properties + * We will pass on this configuration to the jsonschema2pojo library for support + * of additional properties */ @Parameter(required = false, readonly = true, defaultValue = "true") protected Boolean includeAdditionalProperties = Boolean.TRUE; @@ -131,16 +131,14 @@ public class PojoGenerationConfig extends DefaultGenerationConfig { /** * We will pass on this configuration to the jsonschema2pojo library for - * defining the object type used to create string type fields with date - * format + * defining the object type used to create string type fields with date format */ @Parameter(required = false, readonly = true) protected String dateType; /** * We will pass on this configuration to the jsonschema2pojo library for - * defining the object type used to create string type fields with time - * format + * defining the object type used to create string type fields with time format */ @Parameter(required = false, readonly = true) protected String timeType; diff --git a/maven/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/SpringMvcEndpointGeneratorMojo.java b/maven/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/SpringMvcEndpointGeneratorMojo.java new file mode 100644 index 00000000..1d603105 --- /dev/null +++ b/maven/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/SpringMvcEndpointGeneratorMojo.java @@ -0,0 +1,377 @@ +/* + * Copyright 2002-2017 the original author or authors. + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with + * the License. You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See + * the License for the + * specific language governing permissions and limitations under the License. + */ +package com.phoenixnap.oss.ramlplugin.raml2code.plugin; + +import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiResourceMetadata; +import com.phoenixnap.oss.ramlplugin.raml2code.exception.InvalidRamlResourceException; +import com.phoenixnap.oss.ramlplugin.raml2code.rules.Rule; +import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerStubRule; +import com.sun.codemodel.JCodeModel; +import com.sun.codemodel.JDefinedClass; +import org.apache.maven.artifact.DependencyResolutionRequiredException; +import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.descriptor.PluginDescriptor; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProject; +import org.codehaus.plexus.classworlds.realm.ClassRealm; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * Maven Plugin MOJO specific to Generation of Spring MVC Endpoints from RAML + * documents. + * + * @author Kurt Paris + * @since 0.2.1 + */ +@Mojo(name = "generate-springmvc-endpoints", requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, threadSafe = true, requiresProject = false) +public class SpringMvcEndpointGeneratorMojo extends AbstractMojo implements MojoConfig { + + /** + * Maven project - required for project info + */ + @Parameter(defaultValue = "${project}", required = true, readonly = true) + protected MavenProject project; + + @Parameter(defaultValue = "${plugin}", readonly = true) + private PluginDescriptor descriptor; + + /** + * Path to the raml document to be verified + */ + @Parameter(property = "ramlPath", required = true, readonly = true, defaultValue = "") + protected String ramlPath; + + /** + * Path to the pom document to be verified + */ + @Parameter(property = "pomPath", required = false, readonly = true, defaultValue = "NA") + protected String pomPath; + + /** + * Relative file path where the Java files will be saved to + */ + @Parameter(property = "outputRelativePath", required = false, readonly = true, defaultValue = "") + protected String outputRelativePath; + + /** + * IF this is set to true, we will only parse methods that consume, produce or + * accept the requested defaultMediaType + */ + @Parameter(required = false, readonly = true, defaultValue = "false") + protected Boolean addTimestampFolder; + + /** + * Java package to be applied to the generated files + */ + @Parameter(property = "basePackage", required = true, readonly = true, defaultValue = "") + protected String basePackage; + + /** + * The URI or relative path to the folder/network location containing JSON + * Schemas + */ + @Parameter(required = false, readonly = true, defaultValue = "") + protected String schemaLocation; + + /** + * A boolean indicating whether the POJOs for unreferenced objects (schemas and + * data types) defined in the RAML file should be generated. By default, such + * schemas/types are not generated. + */ + @Parameter(required = false, readonly = true, defaultValue = "false") + protected Boolean generateUnreferencedObjects; + + /** + * The explicit base path under which the rest endpoints should be located. If + * overrules the baseUri setting in the raml spec. + */ + @Parameter(required = false, readonly = true) + protected String baseUri; + + /** + * If set to true, we will generate seperate methods for different content types + * in the RAML + */ + @Parameter(required = false, readonly = true, defaultValue = "false") + protected Boolean seperateMethodsByContentType; + + /** + * If set to true, we will generate Jackson 1 annotations inside the model + * objects + */ + @Parameter(required = false, readonly = true, defaultValue = "false") + protected Boolean useJackson1xCompatibility; + + /** + * The full qualified name of the Rule that should be used for code generation. + */ + @Parameter(required = false, readonly = true, defaultValue = "com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerStubRule") + protected String rule; + + /** + * Map of key/value configuration parameters that can be used to modify + * behaviour or certain rules + */ + @Parameter(required = false, readonly = true) + protected Map ruleConfiguration = new LinkedHashMap<>(); + + /** + * Configuration passed to JSONSchema2Pojo for generation of pojos. + */ + @Parameter(required = false, readonly = true) + protected PojoGenerationConfig generationConfig = new PojoGenerationConfig(); + + /** + * If set to true, we will generate methods with HttpHeaders as a parameter + */ + @Parameter(required = false, readonly = true, defaultValue = "false") + protected Boolean injectHttpHeadersParameter; + + /** + * How many levels of uri will be included in generated class names. Default is + * 1 which means that only current resource will be in included in + * controller/decorator names. + */ + @Parameter(required = false, readonly = true, defaultValue = "1") + protected Integer resourceDepthInClassNames; + + /** + * Top level of URI included in generated class names. Default is 0 which means + * that all resources will be in included in controller/decorator names. + */ + @Parameter(required = false, readonly = true, defaultValue = "0") + protected Integer resourceTopLevelInClassNames; + + /** + * Reverse order of resource path that will be included in generated class + * names. Default is false which means that resources will be in included in + * controller/decorator names from left to right. + */ + @Parameter(required = false, readonly = true, defaultValue = "false") + protected Boolean reverseOrderInClassNames; + + /** + * Logic used for Java methods name generation. Possible values: + *
    + *
  • OBJECTS - objects like request parameters and return types will be + * used
  • + *
  • RESOURCES - resource path will be used
  • + *
+ * Default is OBJECTS. + */ + @Parameter(required = false, readonly = true, defaultValue = "OBJECTS") + protected MethodsNamingLogic methodsNamingLogic; + + /** + * The way to override naming logic for Java methods and arguments. Possible + * values: + *
    + *
  • DISPLAY_NAME - "displayName" attribute (if found) will be cleaned and + * used
  • + *
  • ANNOTATION - "javaName" annotation (if found) will be used as is
  • + *
+ * No default. + */ + @Parameter(required = false, readonly = true) + protected OverrideNamingLogicWith overrideNamingLogicWith; + + /** + * Skip code generation for endpoints (resources and methods) annotated with + * this annotation. + */ + @Parameter(required = false, readonly = true) + protected String dontGenerateForAnnotation; + + private ClassRealm classRealm; + + @Override + public void execute() throws MojoExecutionException, MojoFailureException { + long startTime = System.currentTimeMillis(); + + try { + generateEndpoints(); + } catch (IOException e) { + throw new MojoExecutionException(e, + "Unexpected exception while executing Spring MVC Endpoint Generation Plugin.", e.toString()); + } catch (InvalidRamlResourceException e) { + throw new MojoExecutionException(e, "Supplied RAML has failed validation and cannot be loaded.", + e.toString()); + } + + this.getLog().info("Endpoint Generation Completed in:" + (System.currentTimeMillis() - startTime) + "ms"); + } + + private void generateEndpoints() throws IOException { + + File pomFile = null; + if (!pomPath.equals("NA")) { + + Model model = null; + FileReader reader = null; + MavenXpp3Reader mavenreader = new MavenXpp3Reader(); + pomFile = new File(pomPath); + try { + reader = new FileReader(pomFile); + model = mavenreader.read(reader); + model.setPomFile(pomFile); + } catch (Exception ex) { + getLog().info("Exception Occured", ex); + } + project = new MavenProject(model); + project.setFile(pomFile); + } + + CodeGenerator codeGenerator = new CodeGenerator(createRule(), this, project.getBasedir()); + codeGenerator.generateEndpoints(); + } + + @SuppressWarnings("unchecked") + private Rule createRule() { + Rule ruleInstance = new Spring4ControllerStubRule(); + try { + ruleInstance = (Rule) getClassRealm().loadClass(rule) + .newInstance(); + } catch (Exception e) { + getLog().error( + "Could not instantiate Rule " + this.rule + ". The default Rule will be used for code generation.", + e); + } + return ruleInstance; + } + + private ClassRealm getClassRealm() throws DependencyResolutionRequiredException, MalformedURLException { + if (classRealm == null) { + List runtimeClasspathElements = project.getRuntimeClasspathElements(); + + classRealm = descriptor.getClassRealm(); + + if (classRealm == null) { + classRealm = project.getClassRealm(); + } + + for (String element : runtimeClasspathElements) { + File elementFile = new File(element); + classRealm.addURL(elementFile.toURI().toURL()); + } + } + return classRealm; + } + + @Override + public String getRamlPath() { + return ramlPath; + } + + @Override + public String getOutputRelativePath() { + return outputRelativePath; + } + + @Override + public Boolean getAddTimestampFolder() { + return addTimestampFolder; + } + + @Override + public String getBasePackage() { + return basePackage; + } + + @Override + public Boolean getGenerateUnreferencedObjects() { + return generateUnreferencedObjects; + } + + @Override + public String getBaseUri() { + return baseUri; + } + + @Override + public Boolean getSeperateMethodsByContentType() { + return seperateMethodsByContentType; + } + + @Override + public Boolean getUseJackson1xCompatibility() { + return useJackson1xCompatibility; + } + + @Override + public String getRule() { + return rule; + } + + @Override + public Map getRuleConfiguration() { + return ruleConfiguration; + } + + @Override + public PojoGenerationConfig getGenerationConfig() { + return generationConfig; + } + + @Override + public Boolean getInjectHttpHeadersParameter() { + return injectHttpHeadersParameter; + } + + @Override + public Integer getResourceDepthInClassNames() { + return resourceDepthInClassNames; + } + + @Override + public Integer getResourceTopLevelInClassNames() { + return resourceTopLevelInClassNames; + } + + @Override + public Boolean getReverseOrderInClassNames() { + return reverseOrderInClassNames; + } + + @Override + public MethodsNamingLogic getMethodsNamingLogic() { + return methodsNamingLogic; + } + + @Override + public OverrideNamingLogicWith getOverrideNamingLogicWith() { + return overrideNamingLogicWith; + } + + @Override + public String getDontGenerateForAnnotation() { + return dontGenerateForAnnotation; + } + + @Override + public String getSchemaLocation() { + return schemaLocation; + } +} diff --git a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfigTest.java b/maven/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfigTest.java similarity index 97% rename from src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfigTest.java rename to maven/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfigTest.java index 8c32a349..eada142f 100644 --- a/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfigTest.java +++ b/maven/src/test/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/PojoGenerationConfigTest.java @@ -37,7 +37,8 @@ public class PojoGenerationConfigTest { @Test public void testDefaultConfig() throws Exception { - final SpringMvcEndpointGeneratorMojo mojo = (SpringMvcEndpointGeneratorMojo) loadMojo(DEFAULT_CONFIG, GOAL_NAME); + final SpringMvcEndpointGeneratorMojo mojo = (SpringMvcEndpointGeneratorMojo) loadMojo(DEFAULT_CONFIG, + GOAL_NAME); final PojoGenerationConfig generationConfig = mojo.generationConfig; Assert.assertNotNull(generationConfig); Assert.assertEquals("1.6", generationConfig.getTargetVersion()); @@ -104,7 +105,8 @@ public void testLocalDateTimeConfig() throws Exception { @Test(expected = ComponentConfigurationException.class) public void testUnknownParameterConfig() throws Exception { @SuppressWarnings("unused") - final SpringMvcEndpointGeneratorMojo mojo = (SpringMvcEndpointGeneratorMojo) configureMojo("unknown", "invalid"); + final SpringMvcEndpointGeneratorMojo mojo = (SpringMvcEndpointGeneratorMojo) configureMojo("unknown", + "invalid"); } private Mojo configureMojo(final String parameter, final String value) throws Exception { diff --git a/pom.xml b/pom.xml index 65529d9f..0c2e9653 100644 --- a/pom.xml +++ b/pom.xml @@ -3,21 +3,19 @@ 4.0.0 com.phoenixnap.oss - springmvc-raml-plugin - 2.0.5 - - - io.spring.platform - platform-bom - Brussels-SR6 - - + springmvc-raml-root + 2.0.6-SNAPSHOT RAML to Spring MVC code generator Component is Maven plugin that reads RAML documents and creates Spring MVC endpoints https://github.com/phoenixnap/springmvc-raml-plugin/tree/master/springmvc-raml-parser - maven-plugin - + pom + + + core + maven + + Aleksandar Stojsavljevic @@ -39,31 +37,34 @@ scm:git:git@github.com:phoenixnap/springmvc-raml-plugin.git git@github.com:phoenixnap/springmvc-raml-plugin.git - + UTF-8 1.8 - 1.8 - true - + 1.8 + true + 1.6.2 3.3.9 - 0.5.1 - 1.0.26 + 0.5.1 + 1.0.27 1.1.6.RELEASE - 2.6 + 2.6 - - + + + commons-io commons-io + 2.6 commons-collections commons-collections + 3.2.2 @@ -97,51 +98,24 @@ - - - org.apache.maven - maven-core - ${maven.core.version} - - - org.apache.maven - maven-plugin-api - ${maven.core.version} - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.4 - provided - - - org.apache.maven - maven-compat - ${maven.core.version} - test - - - org.apache.maven.plugin-testing - maven-plugin-testing-harness - test - 3.3.0 - - junit junit + 4.12 test org.hamcrest hamcrest-all + 1.3 test org.mockito mockito-core + 2.8.47 test @@ -159,9 +133,12 @@ org.slf4j slf4j-log4j12 + 1.7.25 test - + + + @@ -171,38 +148,6 @@ maven-compiler-plugin 3.7.0 - - org.apache.maven.plugins - maven-plugin-plugin - 3.5 - - springmvc-raml - true - - - - mojo-descriptor - process-classes - - descriptor - - - - default-descriptor - - descriptor - - process-classes - - - help-descriptor - - helpmojo - - process-classes - - - org.apache.maven.plugins maven-site-plugin @@ -216,37 +161,35 @@ + + + net.revelc.code.formatter + formatter-maven-plugin + 2.7.1 + + ${basedir}/../eclipse-formatter-config.xml + AUTO + + + + + validate + + + + - - - - net.revelc.code.formatter - formatter-maven-plugin - 2.7.1 - - ${project.basedir}/eclipse-formatter-config.xml - AUTO - - - - - validate - - - - - - src/main/resources + core/src/main/resources true - src/test/resources + core/src/test/resources true diff --git a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/SpringMvcEndpointGeneratorMojo.java b/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/SpringMvcEndpointGeneratorMojo.java deleted file mode 100644 index 9b414b72..00000000 --- a/src/main/java/com/phoenixnap/oss/ramlplugin/raml2code/plugin/SpringMvcEndpointGeneratorMojo.java +++ /dev/null @@ -1,540 +0,0 @@ -/* - * Copyright 2002-2017 the original author or authors. - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with - * the License. You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See - * the License for the - * specific language governing permissions and limitations under the License. - */ -package com.phoenixnap.oss.ramlplugin.raml2code.plugin; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import org.apache.maven.artifact.DependencyResolutionRequiredException; -import org.apache.maven.model.Model; -import org.apache.maven.model.io.xpp3.MavenXpp3Reader; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugin.descriptor.PluginDescriptor; -import org.apache.maven.plugins.annotations.Mojo; -import org.apache.maven.plugins.annotations.Parameter; -import org.apache.maven.plugins.annotations.ResolutionScope; -import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.classworlds.realm.ClassRealm; -import org.jsonschema2pojo.Annotator; -import org.jsonschema2pojo.Jackson1Annotator; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiBodyMetadata; -import com.phoenixnap.oss.ramlplugin.raml2code.data.ApiResourceMetadata; -import com.phoenixnap.oss.ramlplugin.raml2code.exception.InvalidRamlResourceException; -import com.phoenixnap.oss.ramlplugin.raml2code.helpers.NamingHelper; -import com.phoenixnap.oss.ramlplugin.raml2code.helpers.RamlParser; -import com.phoenixnap.oss.ramlplugin.raml2code.helpers.RamlTypeHelper; -import com.phoenixnap.oss.ramlplugin.raml2code.helpers.SchemaHelper; -import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlDataType; -import com.phoenixnap.oss.ramlplugin.raml2code.raml.RamlRoot; -import com.phoenixnap.oss.ramlplugin.raml2code.raml.raml10.RJP10V2RamlRoot; -import com.phoenixnap.oss.ramlplugin.raml2code.rules.ConfigurableRule; -import com.phoenixnap.oss.ramlplugin.raml2code.rules.RamlLoader; -import com.phoenixnap.oss.ramlplugin.raml2code.rules.Rule; -import com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerStubRule; -import com.sun.codemodel.JCodeModel; -import com.sun.codemodel.JDefinedClass; - -/** - * Maven Plugin MOJO specific to Generation of Spring MVC Endpoints from RAML - * documents. - * - * @author Kurt Paris - * @since 0.2.1 - */ -@Mojo(name = "generate-springmvc-endpoints", requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, threadSafe = true, requiresProject = false) -public class SpringMvcEndpointGeneratorMojo extends AbstractMojo { - - /** - * Maven project - required for project info - */ - @Parameter(defaultValue = "${project}", required = true, readonly = true) - protected MavenProject project; - - @Parameter(defaultValue = "${plugin}", readonly = true) - private PluginDescriptor descriptor; - - /** - * Path to the raml document to be verified - */ - @Parameter(property = "ramlPath", required = true, readonly = true, defaultValue = "") - protected String ramlPath; - - /** - * Path to the pom document to be verified - */ - @Parameter(property = "pomPath", required = false, readonly = true, defaultValue = "NA") - protected String pomPath; - - /** - * Relative file path where the Java files will be saved to - */ - @Parameter(property = "outputRelativePath", required = false, readonly = true, defaultValue = "") - protected String outputRelativePath; - - /** - * IF this is set to true, we will only parse methods that consume, produce - * or accept the requested defaultMediaType - */ - @Parameter(required = false, readonly = true, defaultValue = "false") - protected Boolean addTimestampFolder; - - /** - * Java package to be applied to the generated files - */ - @Parameter(property = "basePackage", required = true, readonly = true, defaultValue = "") - protected String basePackage; - - /** - * The URI or relative path to the folder/network location containing JSON - * Schemas - */ - @Parameter(required = false, readonly = true, defaultValue = "") - protected String schemaLocation; - - /** - * A boolean indicating whether the POJOs for unreferenced objects (schemas - * and data types) defined in the RAML file should be generated. By default, - * such schemas/types are not generated. - */ - @Parameter(required = false, readonly = true, defaultValue = "false") - protected Boolean generateUnreferencedObjects; - - /** - * The explicit base path under which the rest endpoints should be located. - * If overrules the baseUri setting in the raml spec. - */ - @Parameter(required = false, readonly = true) - protected String baseUri; - - /** - * If set to true, we will generate seperate methods for different content - * types in the RAML - */ - @Parameter(required = false, readonly = true, defaultValue = "false") - protected Boolean seperateMethodsByContentType; - - /** - * If set to true, we will generate Jackson 1 annotations inside the model - * objects - */ - @Parameter(required = false, readonly = true, defaultValue = "false") - protected Boolean useJackson1xCompatibility; - - /** - * The full qualified name of the Rule that should be used for code - * generation. - */ - @Parameter(required = false, readonly = true, defaultValue = "com.phoenixnap.oss.ramlplugin.raml2code.rules.Spring4ControllerStubRule") - protected String rule; - - /** - * Map of key/value configuration parameters that can be used to modify - * behaviour or certain rules - */ - @Parameter(required = false, readonly = true) - protected Map ruleConfiguration = new LinkedHashMap<>(); - - /** - * Configuration passed to JSONSchema2Pojo for generation of pojos. - */ - @Parameter(required = false, readonly = true) - protected PojoGenerationConfig generationConfig = new PojoGenerationConfig(); - - /** - * If set to true, we will generate methods with HttpHeaders as a parameter - */ - @Parameter(required = false, readonly = true, defaultValue = "false") - protected Boolean injectHttpHeadersParameter; - - /** - * How many levels of uri will be included in generated class names. Default - * is 1 which means that only current resource will be in included in - * controller/decorator names. - */ - @Parameter(required = false, readonly = true, defaultValue = "1") - protected Integer resourceDepthInClassNames; - - /** - * Top level of URI included in generated class names. Default is 0 which - * means that all resources will be in included in controller/decorator - * names. - */ - @Parameter(required = false, readonly = true, defaultValue = "0") - protected Integer resourceTopLevelInClassNames; - - /** - * Reverse order of resource path that will be included in generated class - * names. Default is false which means that resources will be in included in - * controller/decorator names from left to right. - */ - @Parameter(required = false, readonly = true, defaultValue = "false") - protected Boolean reverseOrderInClassNames; - - /** - * Logic used for Java methods name generation. Possible values:
    - *
  • OBJECTS - objects like request parameters and return types will be - * used
  • RESOURCES - resource path will be used
Default - * is OBJECTS. - */ - @Parameter(required = false, readonly = true, defaultValue = "OBJECTS") - protected MethodsNamingLogic methodsNamingLogic; - - /** - * The way to override naming logic for Java methods and arguments. Possible - * values:
  • DISPLAY_NAME - "displayName" attribute (if found) will - * be cleaned and used
  • ANNOTATION - "javaName" annotation (if - * found) will be used as is
No default. - */ - @Parameter(required = false, readonly = true) - protected OverrideNamingLogicWith overrideNamingLogicWith; - - /** - * Skip code generation for endpoints (resources and methods) annotated with - * this annotation. - */ - @Parameter(required = false, readonly = true) - protected String dontGenerateForAnnotation; - - private ClassRealm classRealm; - - private String resolvedSchemaLocation; - - protected void generateEndpoints() throws IOException { - - File pomFile = null; - if (!pomPath.equals("NA")) { - - Model model = null; - FileReader reader = null; - MavenXpp3Reader mavenreader = new MavenXpp3Reader(); - pomFile = new File(pomPath); - try { - reader = new FileReader(pomFile); - model = mavenreader.read(reader); - model.setPomFile(pomFile); - } catch (Exception ex) { - getLog().info("Exception Occured", ex); - } - project = new MavenProject(model); - project.setFile(pomFile); - } - - String resolvedPath = project.getBasedir().getAbsolutePath(); - if (resolvedPath.endsWith(File.separator) || resolvedPath.endsWith("/")) { - resolvedPath = resolvedPath.substring(0, resolvedPath.length() - 1); - } - - String resolvedRamlPath = project.getBasedir().getAbsolutePath(); - - if (!ramlPath.startsWith(File.separator) && !ramlPath.startsWith("/")) { - resolvedRamlPath += File.separator + ramlPath; - } else { - resolvedRamlPath += ramlPath; - } - - // Resolve schema location and add to classpath - resolvedSchemaLocation = getSchemaLocation(); - - RamlRoot loadRamlFromFile = RamlLoader.loadRamlFromFile(new File(resolvedRamlPath).toURI().toString()); - - JCodeModel codeModel = null; - // In the RJP10V2 we have support for a unified code model. RJP08V1 does - // not work well with this. - boolean unifiedModel = false; - if (loadRamlFromFile instanceof RJP10V2RamlRoot) { - codeModel = new JCodeModel(); - unifiedModel = true; - } - - // init configuration - Config.setMojo(this); - - RamlParser par = new RamlParser(getBasePath(loadRamlFromFile)); - Set controllers = par.extractControllers(codeModel, loadRamlFromFile); - - if (StringUtils.hasText(outputRelativePath)) { - if (!outputRelativePath.startsWith(File.separator) && !outputRelativePath.startsWith("/")) { - resolvedPath += File.separator; - } - resolvedPath += outputRelativePath; - } else { - resolvedPath += "/target/generated-sources/spring-mvc"; - } - - File rootDir = new File(resolvedPath + (addTimestampFolder == true ? System.currentTimeMillis() : "") + "/"); - - if (!rootDir.exists() && !rootDir.mkdirs()) { - throw new IOException("Could not create directory:" + rootDir.getAbsolutePath()); - } - - generateCode(null, controllers, rootDir); - if (this.generateUnreferencedObjects) { - generateUnreferencedObjects(codeModel, loadRamlFromFile, resolvedRamlPath, rootDir, controllers); - } - - if (unifiedModel) { - buildCodeModelToDisk(codeModel, "Unified", rootDir); - } - } - - /** - * Fetches all referenced type names so as to not generate classes multiple - * times - * - * @param controllers - * ApiResourceMetadata list - * @return set of names - */ - private Set getAllReferencedTypeNames(Set controllers) { - // TODO Add nested objects as well. For now only the top level objects - // are included - Set parametersNames = controllers.stream().flatMap(resourceMetadata -> resourceMetadata.getParameters().stream()) - .map(apiParameter -> StringUtils.capitalize(apiParameter.getName())).collect(Collectors.toSet()); - Set bodyNames = controllers.stream().flatMap(resourceMetadata -> resourceMetadata.getDependencies().stream()) - .map(ApiBodyMetadata::getName).collect(Collectors.toSet()); - bodyNames.addAll(parametersNames); - return bodyNames; - } - - private void generateUnreferencedObjects(JCodeModel codeModel, RamlRoot loadRamlFromFile, String resolvedRamlPath, File rootDir, - Set controllers) { - if (loadRamlFromFile.getTypes() != null && !loadRamlFromFile.getTypes().isEmpty()) { - this.getLog().debug("Generating Code for Unreferenced Types"); - Set allReferencedTypes = getAllReferencedTypeNames(controllers); - for (Map.Entry type : loadRamlFromFile.getTypes().entrySet()) { - if (!allReferencedTypes.contains(type.getKey())) { - ApiBodyMetadata tempBodyMetadata = RamlTypeHelper.mapTypeToPojo(codeModel, loadRamlFromFile, type.getValue().getType()); - generateModelSources(codeModel, tempBodyMetadata, rootDir); - } - } - } - - if (loadRamlFromFile.getSchemas() != null && !loadRamlFromFile.getSchemas().isEmpty()) { - this.getLog().debug("Generating Code for Unreferenced Schemas"); - for (Map map : loadRamlFromFile.getSchemas()) { - for (String schemaName : map.keySet()) { - this.getLog().info("Generating POJO for unreferenced schema " + schemaName); - ApiBodyMetadata tempBodyMetadata = SchemaHelper.mapSchemaToPojo(loadRamlFromFile, schemaName, resolvedRamlPath, - schemaName, this.resolvedSchemaLocation); - generateModelSources(null, tempBodyMetadata, rootDir); - } - } - } - } - - /** - * - * @param codeModel - * If not null this will operated assuming a unified code model - * for all output - * @param controllers - * @param rootDir - */ - private void generateCode(JCodeModel codeModel, Set controllers, File rootDir) { - for (ApiResourceMetadata met : controllers) { - this.getLog().debug(""); - this.getLog().debug("-----------------------------------------------------------"); - this.getLog().info("Generating Code for Resource: " + met.getName()); - this.getLog().debug(""); - - if (codeModel == null) { - Set dependencies = met.getDependencies(); - for (ApiBodyMetadata body : dependencies) { - generateModelSources(codeModel, body, rootDir); - } - } - - generateControllerSource(codeModel, met, rootDir); - } - } - - /* - * @return The configuration property (if set) or the baseUri from - * the RAML spec. - */ - private String getBasePath(RamlRoot loadRamlFromFile) { - // we take the given baseUri from raml spec by default. - String basePath = loadRamlFromFile.getBaseUri(); - - // If the baseUri is explicitly set by the plugin configuration we take - // it. - if (baseUri != null) { - basePath = baseUri; - } - - // Because we can't load an empty string parameter value from maven - // config - // the user needs to set a single "/", to overrule the raml spec. - if (basePath != null && basePath.equals("/")) { - // We remove a single "/" cause the leading slash will be generated - // by the raml - // endpoints. - basePath = ""; - } - - return basePath; - } - - @SuppressWarnings("unchecked") - private Rule loadRule() { - Rule ruleInstance = new Spring4ControllerStubRule(); - try { - ruleInstance = (Rule) getClassRealm().loadClass(rule).newInstance(); - this.getLog().debug(StringUtils.collectionToCommaDelimitedString(ruleConfiguration.keySet())); - this.getLog().debug(StringUtils.collectionToCommaDelimitedString(ruleConfiguration.values())); - - if (ruleInstance instanceof ConfigurableRule && !CollectionUtils.isEmpty(ruleConfiguration)) { - this.getLog().debug("SETTING CONFIG"); - ((ConfigurableRule) ruleInstance).applyConfiguration(ruleConfiguration); - } - } catch (Exception e) { - getLog().error("Could not instantiate Rule " + this.rule + ". The default Rule will be used for code generation.", e); - } - return ruleInstance; - } - - private ClassRealm getClassRealm() throws DependencyResolutionRequiredException, MalformedURLException { - if (classRealm == null) { - List runtimeClasspathElements = project.getRuntimeClasspathElements(); - - classRealm = descriptor.getClassRealm(); - - if (classRealm == null) { - classRealm = project.getClassRealm(); - } - - for (String element : runtimeClasspathElements) { - File elementFile = new File(element); - classRealm.addURL(elementFile.toURI().toURL()); - } - } - return classRealm; - } - - private void generateModelSources(JCodeModel codeModel, ApiBodyMetadata body, File rootDir) { - boolean build = false; - if (codeModel == null) { - Annotator annotator = this.useJackson1xCompatibility ? new Jackson1Annotator(this.generationConfig) : null; - this.getLog().info("Generating Model object for: " + body.getName()); - build = true; - if (this.generationConfig == null && annotator == null) { - codeModel = body.getCodeModel(); - } else { - codeModel = body.getCodeModel(resolvedSchemaLocation, basePackage + NamingHelper.getDefaultModelPackage(), annotator); - } - } - if (build && codeModel != null) { - buildCodeModelToDisk(codeModel, body.getName(), rootDir); - } - } - - private String getSchemaLocation() { - - if (StringUtils.hasText(schemaLocation)) { - - if (!schemaLocation.contains(":")) { - String resolvedPath = project.getBasedir().getAbsolutePath(); - if (resolvedPath.endsWith(File.separator) || resolvedPath.endsWith("/")) { - resolvedPath = resolvedPath.substring(0, resolvedPath.length() - 1); - } - - if (!schemaLocation.startsWith(File.separator) && !schemaLocation.startsWith("/")) { - resolvedPath += File.separator; - } - - resolvedPath += schemaLocation; - - if (!schemaLocation.endsWith(File.separator) && !schemaLocation.endsWith("/")) { - resolvedPath += File.separator; - } - resolvedPath = resolvedPath.replace(File.separator, "/").replace("\\", "/"); - try { - URLClassLoader urlClassLoader = (URLClassLoader) ClassLoader.getSystemClassLoader(); - Class urlClass = URLClassLoader.class; - Method method = urlClass.getDeclaredMethod("addURL", new Class[] { URL.class }); - method.setAccessible(true); - method.invoke(urlClassLoader, new Object[] { new File(resolvedPath).toURI().toURL() }); - return "classpath:/"; // since we have added this folder to - // the classpath this - // should be used by the plugin - } catch (Exception ex) { - this.getLog().error("Could not add schema location to classpath", ex); - return new File(resolvedPath).toURI().toString(); - } - } - return schemaLocation; - } - return null; - } - - private void generateControllerSource(JCodeModel codeModel, ApiResourceMetadata met, File dir) { - boolean build = false; - if (codeModel == null) { - codeModel = new JCodeModel(); - build = true; - } - loadRule().apply(met, codeModel); - if (build) { - buildCodeModelToDisk(codeModel, met.getName(), dir); - } - } - - private void buildCodeModelToDisk(JCodeModel codeModel, String name, File dir) { - try { - codeModel.build(dir); - } catch (IOException e) { - e.printStackTrace(); - this.getLog().error("Could not build code model for " + name, e); - } - } - - @Override - public void execute() throws MojoExecutionException, MojoFailureException { - long startTime = System.currentTimeMillis(); - - try { - generateEndpoints(); - } catch (IOException e) { - throw new MojoExecutionException(e, "Unexpected exception while executing Spring MVC Endpoint Generation Plugin.", - e.toString()); - } catch (InvalidRamlResourceException e) { - throw new MojoExecutionException(e, "Supplied RAML has failed validation and cannot be loaded.", e.toString()); - } - - this.getLog().info("Endpoint Generation Completed in:" + (System.currentTimeMillis() - startTime) + "ms"); - } - - public enum MethodsNamingLogic { - OBJECTS, RESOURCES - } - - public enum OverrideNamingLogicWith { - DISPLAY_NAME, ANNOTATION - } - -}