Skip to content

Commit

Permalink
Merge pull request #514 from agoncal/FORGE-2065
Browse files Browse the repository at this point in the history
FORGE-2065: CDI commands should have implicit setup
  • Loading branch information
gastaldi committed Nov 4, 2014
2 parents b67f446 + c5b701f commit 1697192
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,19 @@
import javax.inject.Inject;
import javax.inject.Named;

import org.jboss.forge.addon.javaee.cdi.CDIFacet;
import org.jboss.forge.addon.parser.java.ui.AbstractJavaSourceCommand;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.ui.command.PrerequisiteCommandsProvider;
import org.jboss.forge.addon.ui.context.UIBuilder;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.context.UIExecutionContext;
import org.jboss.forge.addon.ui.hints.InputType;
import org.jboss.forge.addon.ui.input.UIInput;
import org.jboss.forge.addon.ui.input.UISelectOne;
import org.jboss.forge.addon.ui.metadata.WithAttributes;
import org.jboss.forge.addon.ui.result.NavigationResult;
import org.jboss.forge.addon.ui.result.navigation.NavigationResultBuilder;
import org.jboss.forge.addon.ui.util.Categories;
import org.jboss.forge.addon.ui.util.Metadata;
import org.jboss.forge.roaster.model.source.JavaClassSource;
Expand All @@ -32,7 +36,8 @@
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class NewBeanCommand extends AbstractJavaSourceCommand<JavaClassSource>
public class NewBeanCommand extends AbstractJavaSourceCommand<JavaClassSource> implements
PrerequisiteCommandsProvider
{
@Inject
@WithAttributes(label = "Scope", defaultValue = "DEPENDENT")
Expand Down Expand Up @@ -124,4 +129,19 @@ protected Class<JavaClassSource> getSourceType()
{
return JavaClassSource.class;
}

@Override
public NavigationResult getPrerequisiteCommands(UIContext context)
{
NavigationResultBuilder builder = NavigationResultBuilder.create();
Project project = getSelectedProject(context);
if (project != null)
{
if (!project.hasFacet(CDIFacet.class))
{
builder.add(CDISetupCommand.class);
}
}
return builder.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,17 @@
import javax.inject.Inject;
import javax.inject.Qualifier;

import org.jboss.forge.addon.javaee.cdi.CDIFacet;
import org.jboss.forge.addon.parser.java.ui.AbstractJavaSourceCommand;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.ui.command.PrerequisiteCommandsProvider;
import org.jboss.forge.addon.ui.context.UIBuilder;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.context.UIExecutionContext;
import org.jboss.forge.addon.ui.input.UIInput;
import org.jboss.forge.addon.ui.metadata.WithAttributes;
import org.jboss.forge.addon.ui.result.NavigationResult;
import org.jboss.forge.addon.ui.result.navigation.NavigationResultBuilder;
import org.jboss.forge.addon.ui.util.Categories;
import org.jboss.forge.addon.ui.util.Metadata;
import org.jboss.forge.roaster.model.source.JavaAnnotationSource;
Expand All @@ -38,7 +42,8 @@
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class NewQualifierCommand extends AbstractJavaSourceCommand<JavaAnnotationSource>
public class NewQualifierCommand extends AbstractJavaSourceCommand<JavaAnnotationSource> implements
PrerequisiteCommandsProvider
{
@Inject
@WithAttributes(label = "Inherited")
Expand Down Expand Up @@ -93,4 +98,18 @@ protected Class<JavaAnnotationSource> getSourceType()
return JavaAnnotationSource.class;
}

@Override
public NavigationResult getPrerequisiteCommands(UIContext context)
{
NavigationResultBuilder builder = NavigationResultBuilder.create();
Project project = getSelectedProject(context);
if (project != null)
{
if (!project.hasFacet(CDIFacet.class))
{
builder.add(CDISetupCommand.class);
}
}
return builder.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,18 @@
import javax.inject.Inject;
import javax.inject.Scope;

import org.jboss.forge.addon.javaee.cdi.CDIFacet;
import org.jboss.forge.addon.parser.java.ui.AbstractJavaSourceCommand;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.ui.command.PrerequisiteCommandsProvider;
import org.jboss.forge.addon.ui.context.UIBuilder;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.context.UIExecutionContext;
import org.jboss.forge.addon.ui.context.UIValidationContext;
import org.jboss.forge.addon.ui.input.UIInput;
import org.jboss.forge.addon.ui.metadata.WithAttributes;
import org.jboss.forge.addon.ui.result.NavigationResult;
import org.jboss.forge.addon.ui.result.navigation.NavigationResultBuilder;
import org.jboss.forge.addon.ui.util.Categories;
import org.jboss.forge.addon.ui.util.Metadata;
import org.jboss.forge.roaster.model.source.AnnotationSource;
Expand All @@ -39,7 +43,8 @@
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class NewScopeCommand extends AbstractJavaSourceCommand<JavaAnnotationSource>
public class NewScopeCommand extends AbstractJavaSourceCommand<JavaAnnotationSource> implements
PrerequisiteCommandsProvider
{
@Inject
@WithAttributes(label = "Pseudo Scope")
Expand Down Expand Up @@ -118,4 +123,18 @@ protected Class<JavaAnnotationSource> getSourceType()
return JavaAnnotationSource.class;
}

@Override
public NavigationResult getPrerequisiteCommands(UIContext context)
{
NavigationResultBuilder builder = NavigationResultBuilder.create();
Project project = getSelectedProject(context);
if (project != null)
{
if (!project.hasFacet(CDIFacet.class))
{
builder.add(CDISetupCommand.class);
}
}
return builder.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,18 @@
import javax.inject.Inject;
import javax.inject.Named;

import org.jboss.forge.addon.javaee.cdi.CDIFacet;
import org.jboss.forge.addon.parser.java.ui.AbstractJavaSourceCommand;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.ui.command.PrerequisiteCommandsProvider;
import org.jboss.forge.addon.ui.context.UIBuilder;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.context.UIExecutionContext;
import org.jboss.forge.addon.ui.input.UIInput;
import org.jboss.forge.addon.ui.input.UISelectMany;
import org.jboss.forge.addon.ui.metadata.WithAttributes;
import org.jboss.forge.addon.ui.result.NavigationResult;
import org.jboss.forge.addon.ui.result.navigation.NavigationResultBuilder;
import org.jboss.forge.addon.ui.util.Categories;
import org.jboss.forge.addon.ui.util.Metadata;
import org.jboss.forge.furnace.util.Iterators;
Expand All @@ -44,7 +48,8 @@
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class NewStereotypeCommand extends AbstractJavaSourceCommand<JavaAnnotationSource>
public class NewStereotypeCommand extends AbstractJavaSourceCommand<JavaAnnotationSource> implements
PrerequisiteCommandsProvider
{
@Inject
@WithAttributes(label = "Inherited")
Expand Down Expand Up @@ -122,4 +127,18 @@ protected Class<JavaAnnotationSource> getSourceType()
return JavaAnnotationSource.class;
}

@Override
public NavigationResult getPrerequisiteCommands(UIContext context)
{
NavigationResultBuilder builder = NavigationResultBuilder.create();
Project project = getSelectedProject(context);
if (project != null)
{
if (!project.hasFacet(CDIFacet.class))
{
builder.add(CDISetupCommand.class);
}
}
return builder.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ public static ForgeArchive getDeployment()
public void testCreateNewBean() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewBeanCommand.class,
project.getRoot());
controller.initialize();
Expand Down Expand Up @@ -182,6 +183,7 @@ public void testCreateNewBeanWithQualifier() throws Exception
public void testCreateNewBeanCustomScope() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
JavaAnnotationSource ann = Roaster.create(JavaAnnotationSource.class).setName("MyCustomScope")
.setPackage("org.jboss.forge.test.scope");
ann.addAnnotation(NormalScope.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ public static ForgeArchive getDeployment()
public void testCreateNewQualifier() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewQualifierCommand.class,
project.getRoot());
controller.initialize();
Expand All @@ -99,6 +100,7 @@ public void testCreateNewQualifier() throws Exception
public void testCreateNewQualifierInherited() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewQualifierCommand.class,
project.getRoot());
controller.initialize();
Expand All @@ -118,5 +120,4 @@ public void testCreateNewQualifierInherited() throws Exception
Assert.assertTrue(ann.hasAnnotation(Qualifier.class));
Assert.assertTrue(ann.hasAnnotation(Inherited.class));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ public static ForgeArchive getDeployment()
public void testCreateNewScope() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewScopeCommand.class,
project.getRoot());
controller.initialize();
Expand All @@ -98,6 +99,7 @@ public void testCreateNewScope() throws Exception
public void testCreateNewPassivatingScope() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewScopeCommand.class,
project.getRoot());
controller.initialize();
Expand All @@ -123,6 +125,7 @@ public void testCreateNewPassivatingScope() throws Exception
public void testCreateNewPseudoScope() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewScopeCommand.class,
project.getRoot());
controller.initialize();
Expand All @@ -142,5 +145,4 @@ public void testCreateNewPseudoScope() throws Exception
Assert.assertTrue(ann.hasAnnotation(Scope.class));
Assert.assertFalse(ann.hasAnnotation(NormalScope.class));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ public static ForgeArchive getDeployment()
public void testCreateNewStereotype() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewStereotypeCommand.class,
project.getRoot());
controller.initialize();
Expand All @@ -106,6 +107,7 @@ public void testCreateNewStereotype() throws Exception
public void testCreateNewInheritedStereotype() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewStereotypeCommand.class,
project.getRoot());
controller.initialize();
Expand Down Expand Up @@ -133,6 +135,7 @@ public void testCreateNewInheritedStereotype() throws Exception
public void testCreateNewNamedStereotype() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewStereotypeCommand.class,
project.getRoot());
controller.initialize();
Expand Down Expand Up @@ -160,6 +163,7 @@ public void testCreateNewNamedStereotype() throws Exception
public void testCreateNewAlternativeStereotype() throws Exception
{
Project project = projectHelper.createJavaLibraryProject();
projectHelper.installCDI_1_0(project);
CommandController controller = testHarness.createCommandController(NewStereotypeCommand.class,
project.getRoot());
controller.initialize();
Expand Down

0 comments on commit 1697192

Please sign in to comment.