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
- }
-
-}