Skip to content

Commit 88aceb8

Browse files
Added facet installation checks.
The Faces scaffold provider now verifies that the required facets have been installed before setting up the Faces scaffold.
1 parent df09649 commit 88aceb8

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

scaffold/faces/src/main/java/org/jboss/forge/addon/scaffold/faces/FacesScaffoldProvider.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
import org.jboss.forge.addon.javaee.jpa.JPAFacet;
2626
import org.jboss.forge.addon.javaee.jpa.ui.setup.JPASetupWizard;
2727
import org.jboss.forge.addon.javaee.servlet.ServletFacet;
28+
import org.jboss.forge.addon.javaee.servlet.ServletFacet_3_0;
29+
import org.jboss.forge.addon.javaee.servlet.ServletFacet_3_1;
30+
import org.jboss.forge.addon.javaee.servlet.ui.ServletSetupWizard;
2831
import org.jboss.forge.addon.projects.Project;
2932
import org.jboss.forge.addon.projects.facets.WebResourcesFacet;
3033
import org.jboss.forge.addon.resource.FileResource;
@@ -198,6 +201,11 @@ public List<Class<? extends UICommand>> getSetupFlow()
198201
{
199202
setupCommands.add(EJBSetupWizard.class);
200203
}
204+
if(!(origin.hasFacet(ServletFacet_3_0.class) || origin.hasFacet(ServletFacet_3_1.class)))
205+
{
206+
//TODO: FORGE-1296. Ensure that this wizard only sets up Servlet 3.0+
207+
setupCommands.add(ServletSetupWizard.class);
208+
}
201209
if(!origin.hasFacet(FacesFacet.class))
202210
{
203211
setupCommands.add(FacesSetupWizard.class);

scaffold/impl/src/main/java/org/jboss/forge/addon/scaffold/impl/ui/ScaffoldSetupWizardImpl.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
import javax.inject.Inject;
1414

1515
import org.jboss.forge.addon.convert.Converter;
16+
import org.jboss.forge.addon.facets.AbstractFacet;
17+
import org.jboss.forge.addon.facets.AbstractFaceted;
18+
import org.jboss.forge.addon.projects.Project;
1619
import org.jboss.forge.addon.projects.ProjectFactory;
1720
import org.jboss.forge.addon.projects.ui.AbstractProjectCommand;
1821
import org.jboss.forge.addon.scaffold.spi.ScaffoldContext;
@@ -108,25 +111,26 @@ public Metadata getMetadata(UIContext context)
108111
public Result execute(UIContext context) throws Exception
109112
{
110113
ScaffoldProvider selectedProvider = provider.getValue();
111-
if(selectedProvider.getSetupFlow() == null)
112-
{
113-
selectedProvider.setup(getSelectedProject(context), createScaffoldContext());
114-
}
114+
selectedProvider.setup(getSelectedProject(context), createScaffoldContext());
115115
return Results.success();
116116
}
117117

118118
@Override
119119
public NavigationResult next(UIContext context) throws Exception
120120
{
121-
List<Class<? extends UICommand>> setupFlow = provider.getValue().getSetupFlow();
121+
ScaffoldProvider selectedProvider = provider.getValue();
122+
Project project = getSelectedProject(context);
123+
((AbstractFacet) selectedProvider).setFaceted(project);
124+
List<Class<? extends UICommand>> setupFlow = selectedProvider.getSetupFlow();
122125
if(setupFlow.isEmpty())
123126
{
124127
return null;
125128
}
126129
else
127130
{
128131
Class<? extends UICommand> next = setupFlow.remove(0);
129-
return Results.navigateTo(next, (Class<? extends UICommand>[]) setupFlow.toArray());
132+
Class<?>[] additional = setupFlow.toArray(new Class<?>[setupFlow.size()]);
133+
return Results.navigateTo(next, (Class<? extends UICommand>[]) additional);
130134
}
131135
}
132136

0 commit comments

Comments
 (0)