Skip to content

Commit

Permalink
FORGE-1685 Moved utility classes to scaffold-spi
Browse files Browse the repository at this point in the history
  • Loading branch information
VineetReynolds committed Mar 23, 2014
1 parent a851adf commit f39b3e2
Show file tree
Hide file tree
Showing 11 changed files with 52 additions and 49 deletions.
20 changes: 0 additions & 20 deletions scaffold/api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,5 @@
<classifier>forge-addon</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>projects</artifactId>
<classifier>forge-addon</classifier>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>parser-java</artifactId>
<classifier>forge-addon</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>javaee-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.metawidget.modules</groupId>
<artifactId>metawidget-all</artifactId>
</dependency>
</dependencies>
</project>
5 changes: 5 additions & 0 deletions scaffold/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@
<artifactId>scaffold-impl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>

This comment has been minimized.

Copy link
@gastaldi

gastaldi Mar 24, 2014

Member

Does this project exist?

This comment has been minimized.

Copy link
@VineetReynolds

VineetReynolds Mar 24, 2014

Author Member

Err no. Remnant of some transient work. Will remove.

<groupId>org.jboss.forge.addon</groupId>
<artifactId>scaffold-services</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>scaffold-spi</artifactId>
Expand Down
15 changes: 14 additions & 1 deletion scaffold/spi/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,29 @@
<artifactId>projects</artifactId>
<classifier>forge-addon</classifier>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>parser-java</artifactId>
<classifier>forge-addon</classifier>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>ui</artifactId>
<classifier>forge-addon</classifier>
</dependency>
</dependency>
<dependency>
<groupId>org.jboss.forge.addon</groupId>
<artifactId>javaee-api</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.forge.furnace</groupId>
<artifactId>furnace-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.metawidget.modules</groupId>
<artifactId>metawidget-all</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand All @@ -41,7 +38,6 @@ public class MetawidgetInspectorFacade
private Project project;
private CompositeInspector compositeInspector;

@Inject
public MetawidgetInspectorFacade(Project project)
{
this.project = project;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*
Expand Down Expand Up @@ -93,7 +95,7 @@ protected Map<String, String> 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))
Expand All @@ -104,15 +106,15 @@ protected Map<String, String> inspectProperty(Property property)

if(property.isAnnotationPresent(Embedded.class) || isPropertyTypeEmbeddedable(property.getType()))
{
attributes.put(EMBEDDABLE, TRUE);
attributes.put(EMBEDDABLE, InspectionResultConstants.TRUE);
}

// ManyToOne

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);
}
Expand All @@ -121,7 +123,7 @@ protected Map<String, String> 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))
{
Expand Down Expand Up @@ -150,19 +152,19 @@ protected Map<String, String> inspectProperty(Property property)
lookup.add(anEnum.getName());
}

attributes.put(LOOKUP, CollectionUtils.toString(lookup));
attributes.put(InspectionResultConstants.LOOKUP, CollectionUtils.toString(lookup));
}
}

// Id

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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -29,7 +29,7 @@

/**
* Inspects Forge-specific <tt>JavaSource</tt> objects for properties.
*
*
* @author Richard Kennard
*/

Expand Down Expand Up @@ -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
*/

Expand Down Expand Up @@ -215,7 +215,7 @@ protected void lookupGetters(final Map<String, Property> 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
*/
Expand Down Expand Up @@ -330,7 +330,7 @@ protected <O extends JavaSource<O>> void lookupSetters(final Map<String, Propert

/**
* Returns whether the given method is a 'setter' method.
*
*
* @param method a single-parametered method. May return non-void (ie. for Fluent interfaces)
* @return the property name
*/
Expand All @@ -351,7 +351,7 @@ protected String isSetter(final Method<?> method)

/**
* Gets the private field representing the given <code>propertyName</code> within the given class.
*
*
* @return the private Field for this propertyName, or null if no such field (should not throw NoSuchFieldException)
*/

Expand Down Expand Up @@ -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));
}
Expand All @@ -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)
{
Expand Down Expand Up @@ -508,9 +508,10 @@ public <T extends Annotation> T getAnnotation(final Class<T> annotationClass)

public List<EnumConstant<JavaEnum>> 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();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -36,6 +37,11 @@ public DirectoryResource getRootDirectory() {
return null;
}

@Override
public Resource<?> getRoot() {
return null;
}

@Override
public boolean hasFacet(Class<? extends ProjectFacet> type) {
return false;
Expand Down

0 comments on commit f39b3e2

Please sign in to comment.