Skip to content

Commit

Permalink
Added facet installation checks.
Browse files Browse the repository at this point in the history
The Faces scaffold provider now verifies that the required facets
have been installed before setting up the Faces scaffold.
  • Loading branch information
VineetReynolds committed Oct 29, 2013
1 parent 0bfb317 commit 8b8af97
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
Expand Up @@ -25,6 +25,9 @@
import org.jboss.forge.addon.javaee.jpa.JPAFacet;
import org.jboss.forge.addon.javaee.jpa.ui.setup.JPASetupWizard;
import org.jboss.forge.addon.javaee.servlet.ServletFacet;
import org.jboss.forge.addon.javaee.servlet.ServletFacet_3_0;
import org.jboss.forge.addon.javaee.servlet.ServletFacet_3_1;
import org.jboss.forge.addon.javaee.servlet.ui.ServletSetupWizard;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.projects.facets.WebResourcesFacet;
import org.jboss.forge.addon.resource.FileResource;
Expand Down Expand Up @@ -198,6 +201,11 @@ public List<Class<? extends UICommand>> getSetupFlow()
{
setupCommands.add(EJBSetupWizard.class);
}
if(!(origin.hasFacet(ServletFacet_3_0.class) || origin.hasFacet(ServletFacet_3_1.class)))
{
//TODO: FORGE-1296. Ensure that this wizard only sets up Servlet 3.0+
setupCommands.add(ServletSetupWizard.class);
}
if(!origin.hasFacet(FacesFacet.class))
{
setupCommands.add(FacesSetupWizard.class);
Expand Down
Expand Up @@ -13,6 +13,9 @@
import javax.inject.Inject;

import org.jboss.forge.addon.convert.Converter;
import org.jboss.forge.addon.facets.AbstractFacet;
import org.jboss.forge.addon.facets.AbstractFaceted;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.projects.ProjectFactory;
import org.jboss.forge.addon.projects.ui.AbstractProjectCommand;
import org.jboss.forge.addon.scaffold.spi.ScaffoldContext;
Expand Down Expand Up @@ -108,25 +111,26 @@ public Metadata getMetadata(UIContext context)
public Result execute(UIContext context) throws Exception
{
ScaffoldProvider selectedProvider = provider.getValue();
if(selectedProvider.getSetupFlow() == null)
{
selectedProvider.setup(getSelectedProject(context), createScaffoldContext());
}
selectedProvider.setup(getSelectedProject(context), createScaffoldContext());
return Results.success();
}

@Override
public NavigationResult next(UIContext context) throws Exception
{
List<Class<? extends UICommand>> setupFlow = provider.getValue().getSetupFlow();
ScaffoldProvider selectedProvider = provider.getValue();
Project project = getSelectedProject(context);
((AbstractFacet) selectedProvider).setFaceted(project);
List<Class<? extends UICommand>> setupFlow = selectedProvider.getSetupFlow();
if(setupFlow.isEmpty())
{
return null;
}
else
{
Class<? extends UICommand> next = setupFlow.remove(0);
return Results.navigateTo(next, (Class<? extends UICommand>[]) setupFlow.toArray());
Class<?>[] additional = setupFlow.toArray(new Class<?>[setupFlow.size()]);
return Results.navigateTo(next, (Class<? extends UICommand>[]) additional);
}
}

Expand Down

0 comments on commit 8b8af97

Please sign in to comment.