diff --git a/scaffold/api/pom.xml b/scaffold/api/pom.xml index 55711895ec..728c1293e4 100644 --- a/scaffold/api/pom.xml +++ b/scaffold/api/pom.xml @@ -20,25 +20,5 @@ forge-addon provided - - org.jboss.forge.addon - projects - forge-addon - - - org.jboss.forge.addon - parser-java - forge-addon - provided - - - org.jboss.forge.addon - javaee-api - provided - - - org.metawidget.modules - metawidget-all - diff --git a/scaffold/pom.xml b/scaffold/pom.xml index 087d6ded39..55d05d1063 100644 --- a/scaffold/pom.xml +++ b/scaffold/pom.xml @@ -38,6 +38,11 @@ scaffold-impl ${project.version} + + org.jboss.forge.addon + scaffold-services + ${project.version} + org.jboss.forge.addon scaffold-spi diff --git a/scaffold/spi/pom.xml b/scaffold/spi/pom.xml index 94b9569a4d..270a1409f8 100644 --- a/scaffold/spi/pom.xml +++ b/scaffold/spi/pom.xml @@ -14,16 +14,29 @@ projects forge-addon + + org.jboss.forge.addon + parser-java + forge-addon + org.jboss.forge.addon ui forge-addon - + + + org.jboss.forge.addon + javaee-api + org.jboss.forge.furnace furnace-api provided + + org.metawidget.modules + metawidget-all + diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/MetawidgetInspectorFacade.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/MetawidgetInspectorFacade.java similarity index 95% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/MetawidgetInspectorFacade.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/MetawidgetInspectorFacade.java index c9674f6d0a..ac71ce4c88 100644 --- a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/MetawidgetInspectorFacade.java +++ b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/MetawidgetInspectorFacade.java @@ -10,15 +10,12 @@ import java.util.List; import java.util.Map; -import javax.inject.Inject; - -import org.jboss.forge.addon.scaffold.spi.ScaffoldProvider; import org.jboss.forge.addon.projects.Project; -import org.jboss.forge.parser.java.JavaClass; import org.jboss.forge.addon.scaffold.metawidget.inspector.ForgeInspector; import org.jboss.forge.addon.scaffold.metawidget.inspector.ForgeInspectorConfig; import org.jboss.forge.addon.scaffold.metawidget.inspector.propertystyle.ForgePropertyStyle; import org.jboss.forge.addon.scaffold.metawidget.inspector.propertystyle.ForgePropertyStyleConfig; +import org.jboss.forge.parser.java.JavaClass; import org.metawidget.inspector.beanvalidation.BeanValidationInspector; import org.metawidget.inspector.composite.CompositeInspector; import org.metawidget.inspector.composite.CompositeInspectorConfig; @@ -29,7 +26,7 @@ import org.w3c.dom.Element; /** - * A facade for Metawidget inspectors. This class wraps Metawidget API invocations for {@link ScaffoldProvider} + * A facade for Metawidget inspectors. This class provides an abstraction over Metawidget API invocations ScaffoldProvider * instances to invoke. * * @author Vineet Reynolds @@ -41,7 +38,6 @@ public class MetawidgetInspectorFacade private Project project; private CompositeInspector compositeInspector; - @Inject public MetawidgetInspectorFacade(Project project) { this.project = project; diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectionResultConstants.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectionResultConstants.java similarity index 100% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectionResultConstants.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectionResultConstants.java diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspector.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspector.java similarity index 93% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspector.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspector.java index 7faefe8f5b..f3b9a7a272 100644 --- a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspector.java +++ b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspector.java @@ -16,19 +16,21 @@ import javax.persistence.*; +import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; +import org.jboss.forge.addon.parser.java.resources.JavaResource; +import org.jboss.forge.addon.projects.Project; +import org.jboss.forge.addon.scaffold.metawidget.inspector.propertystyle.ForgePropertyStyle.ForgeProperty; import org.jboss.forge.parser.java.EnumConstant; import org.jboss.forge.parser.java.JavaClass; import org.jboss.forge.parser.java.JavaEnum; import org.jboss.forge.parser.java.JavaSource; -import org.jboss.forge.addon.projects.Project; -import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; -import org.jboss.forge.addon.parser.java.resources.JavaResource; -import org.jboss.forge.addon.scaffold.metawidget.inspector.propertystyle.ForgePropertyStyle.ForgeProperty; +import org.metawidget.inspector.InspectionResultConstants; import org.metawidget.inspector.impl.BaseObjectInspector; import org.metawidget.inspector.impl.propertystyle.Property; import org.metawidget.util.CollectionUtils; import org.w3c.dom.Element; + /** * Inspects Forge-specific metadata. * @@ -93,7 +95,7 @@ protected Map inspectProperty(Property property) if (property.isAnnotationPresent(OneToOne.class)) { - attributes.put(ONE_TO_ONE, TRUE); + attributes.put(ONE_TO_ONE, InspectionResultConstants.TRUE); attributes.put(JPA_REL_TYPE, JPA_ONE_TO_ONE); getReversePrimaryKey(property, attributes); if (property.isAnnotationPresent(OneToOne.class)) @@ -104,7 +106,7 @@ protected Map inspectProperty(Property property) if(property.isAnnotationPresent(Embedded.class) || isPropertyTypeEmbeddedable(property.getType())) { - attributes.put(EMBEDDABLE, TRUE); + attributes.put(EMBEDDABLE, InspectionResultConstants.TRUE); } // ManyToOne @@ -112,7 +114,7 @@ protected Map inspectProperty(Property property) if (property.isAnnotationPresent(ManyToOne.class)) { attributes.put(JPA_REL_TYPE, JPA_MANY_TO_ONE); - attributes.put(MANY_TO_ONE, TRUE); + attributes.put(MANY_TO_ONE, InspectionResultConstants.TRUE); getReversePrimaryKey(property, attributes); getManyToOneBidirectionalProperties(property, attributes); } @@ -121,7 +123,7 @@ protected Map inspectProperty(Property property) if (property.isAnnotationPresent(OneToMany.class) || property.isAnnotationPresent(ManyToMany.class)) { - attributes.put(N_TO_MANY, TRUE); + attributes.put(N_TO_MANY, InspectionResultConstants.TRUE); getCollectionReversePrimaryKey(property, attributes); if (property.isAnnotationPresent(OneToMany.class)) { @@ -150,7 +152,7 @@ protected Map inspectProperty(Property property) lookup.add(anEnum.getName()); } - attributes.put(LOOKUP, CollectionUtils.toString(lookup)); + attributes.put(InspectionResultConstants.LOOKUP, CollectionUtils.toString(lookup)); } } @@ -158,11 +160,11 @@ protected Map inspectProperty(Property property) if (property.isAnnotationPresent(Id.class)) { - attributes.put(PRIMARY_KEY, TRUE); + attributes.put(PRIMARY_KEY, InspectionResultConstants.TRUE); } if (property.isAnnotationPresent(GeneratedValue.class)) { - attributes.put(GENERATED_VALUE, TRUE); + attributes.put(GENERATED_VALUE, InspectionResultConstants.TRUE); } return attributes; diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectorConfig.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectorConfig.java similarity index 100% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectorConfig.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/ForgeInspectorConfig.java diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyle.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyle.java similarity index 95% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyle.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyle.java index cec7962e9b..3fdf2468eb 100644 --- a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyle.java +++ b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyle.java @@ -14,10 +14,10 @@ import java.util.List; import java.util.Map; +import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; +import org.jboss.forge.addon.projects.Project; import org.jboss.forge.parser.JavaParser; import org.jboss.forge.parser.java.*; -import org.jboss.forge.addon.projects.Project; -import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet; import org.metawidget.inspector.iface.InspectorException; import org.metawidget.inspector.impl.propertystyle.BaseProperty; import org.metawidget.inspector.impl.propertystyle.BasePropertyStyle; @@ -29,7 +29,7 @@ /** * Inspects Forge-specific JavaSource objects for properties. - * + * * @author Richard Kennard */ @@ -62,7 +62,7 @@ public ForgePropertyStyle(final ForgePropertyStyleConfig config) /** * Traverses the given Class heirarchy using properties of the given names. - * + * * @return the declared type (not actual type). May be null */ @@ -215,7 +215,7 @@ protected void lookupGetters(final Map properties, final Metho /** * Returns whether the given method is a 'getter' method. - * + * * @param method a parameterless method that returns a non-void * @return the property name */ @@ -330,7 +330,7 @@ protected > void lookupSetters(final Map method) /** * Gets the private field representing the given propertyName within the given class. - * + * * @return the private Field for this propertyName, or null if no such field (should not throw NoSuchFieldException) */ @@ -379,7 +379,7 @@ protected Field getPrivateField(final FieldHolder fieldHolder, final Strin // FORGE-402: support fields starting with capital letter - if (field == null && !Character.isUpperCase(propertyName.charAt( 0 ))) + if (field == null && !Character.isUpperCase(propertyName.charAt(0))) { field = fieldHolder.getField(StringUtils.capitalize(propertyName)); } @@ -391,7 +391,7 @@ protected Field getPrivateField(final FieldHolder fieldHolder, final Strin // Private methods // - /*package private*/ + /* package private */ static JavaSource sourceForName(final Project project, final String type) { @@ -508,9 +508,10 @@ public T getAnnotation(final Class annotationClass) public List> getEnumConstants() { - JavaSource source = sourceForName( this.project, getType() ); + JavaSource source = sourceForName(this.project, getType()); - if ( source instanceof JavaEnum ) { + if (source instanceof JavaEnum) + { return ((JavaEnum) source).getEnumConstants(); } diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyleConfig.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyleConfig.java similarity index 100% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyleConfig.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/ForgePropertyStyleConfig.java diff --git a/scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/util/ScaffoldUtil.java b/scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/util/ScaffoldUtil.java similarity index 100% rename from scaffold/api/src/main/java/org/jboss/forge/addon/scaffold/util/ScaffoldUtil.java rename to scaffold/spi/src/main/java/org/jboss/forge/addon/scaffold/util/ScaffoldUtil.java diff --git a/scaffold/tests/src/test/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/StubProject.java b/scaffold/tests/src/test/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/StubProject.java index f08aac2ee8..088d931d41 100644 --- a/scaffold/tests/src/test/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/StubProject.java +++ b/scaffold/tests/src/test/java/org/jboss/forge/addon/scaffold/metawidget/inspector/propertystyle/StubProject.java @@ -10,6 +10,7 @@ import org.jboss.forge.addon.projects.Project; import org.jboss.forge.addon.projects.ProjectFacet; import org.jboss.forge.addon.resource.DirectoryResource; +import org.jboss.forge.addon.resource.Resource; /** * A stubbed out implementation of a Project @@ -36,6 +37,11 @@ public DirectoryResource getRootDirectory() { return null; } + @Override + public Resource getRoot() { + return null; + } + @Override public boolean hasFacet(Class type) { return false;