[JBoss JIRA] (FORGE-1313) Support commands without UI
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-1313?page=com.atlassian.jira.plugin... ]
Lincoln Baxter III commented on FORGE-1313:
-------------------------------------------
Requirements:
A UICommand is defined as "interactionless" if its "initializeUI()" method has not added any UIInput fields to the UIBuilder.
For interactionless commands in a GUI environment:
If there is a next step, attempt to display it.
If all subsequent steps are interactionless, and the current step can proceed, enable the "Finish" button.
If this step is the first step, and a user is on the second step, "Back" should be disabled.
If all steps in a UIWizard flow are interactionless, command execution should begin immediately without confirmation.
For interactionless commands in a shell environment:
During argument population, interactionless steps should be ignored.
During command execution, interactionless steps should be executed normally.
> Support commands without UI
> ---------------------------
>
> Key: FORGE-1313
> URL: https://issues.jboss.org/browse/FORGE-1313
> Project: Forge
> Issue Type: Feature Request
> Components: UI - API, UI - Eclipse
> Affects Versions: 2.0.0.Beta2
> Reporter: George Gastaldi
> Fix For: 2.x Future
>
>
> Some commands/steps may not need a UI for the user to interact during a wizard. The underlying UI provider should skip it during UI interaction, then execute during execution.
> We could assume that this happens when no input is added to the UIBuilder in the initializeUI method
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (FORGE-1313) Support commands without UI
by George Gastaldi (JIRA)
George Gastaldi created FORGE-1313:
--------------------------------------
Summary: Support commands without UI
Key: FORGE-1313
URL: https://issues.jboss.org/browse/FORGE-1313
Project: Forge
Issue Type: Feature Request
Components: UI - API, UI - Eclipse
Affects Versions: 2.0.0.Beta2
Reporter: George Gastaldi
Fix For: 2.x Future
Some commands/steps may not need a UI for the user to interact during a wizard. The underlying UI provider should skip it during UI interaction, then execute during execution.
We could assume that this happens when no input is added to the UIBuilder in the initializeUI method
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (FORGE-1312) UICommand.execute is executed out of sequence when a list of commands or wizards are to be executed
by Vineet Reynolds (JIRA)
[ https://issues.jboss.org/browse/FORGE-1312?page=com.atlassian.jira.plugin... ]
Vineet Reynolds edited comment on FORGE-1312 at 11/18/13 11:46 PM:
-------------------------------------------------------------------
I've taken a look at this, and the current behaviour boils down to this bit of code in the {{FinishJob}} inner class in the {{ForgeWizard}} class:
{noformat}
for (IWizardPage wizardPage : getPages()) {
currentCommand = ((ForgeWizardPage) wizardPage)
.getUICommand();
...
Result result = currentCommand.execute(uiContext);
...
}
{noformat}
The order of execution of {{UICommand}} s depends on the order in which the pages are displayed. In the scaffold setup wizard, the first page to be displayed is the scaffold setup wizard page, and hence, it is also the first command to be executed even though other commands (for facet installation) should be executed first.
I think we might need a mechanism to allow addons to dictate the order. At the bare minimum, I'd prefer that we have some way to ensure that Facet setup UIWizards and UICommands are executed before others.
was (Author: vineet.reynolds):
I've taken a look at this, and the current behaviour boils down to this bit of code in the {{FinishJob}} inner class in the {{ForgeWizard}} class:
{noformat}
for (IWizardPage wizardPage : getPages()) {
currentCommand = ((ForgeWizardPage) wizardPage)
.getUICommand();
...
Result result = currentCommand.execute(uiContext);
...
}
{noformat}
The order of execution of {{UICommand}}s depends on the order in which the pages are displayed. In the scaffold setup wizard, the first page to be displayed is the scaffold setup wizard page, and hence, it is also the first command to be executed even though other commands (for facet installation) should be executed first.
I think we might need a mechanism to allow addons to dictate the order. At the bare minimum, I'd prefer that we have some way to ensure that Facet setup UIWizards and UICommands are executed before others.
> UICommand.execute is executed out of sequence when a list of commands or wizards are to be executed
> ---------------------------------------------------------------------------------------------------
>
> Key: FORGE-1312
> URL: https://issues.jboss.org/browse/FORGE-1312
> Project: Forge
> Issue Type: Bug
> Components: UI - Eclipse
> Affects Versions: 2.0.0.Alpha14
> Reporter: Vineet Reynolds
>
> Related to FORGE-1131, in the Scaffold setup wizard, I have:
> {noformat}
> @Override
> public Result execute(UIContext context) throws Exception
> {
> ScaffoldProvider selectedProvider = provider.getValue();
> selectedProvider.setup(getSelectedProject(context), createSetupContext());
> return Results.success("Scaffold was setup successfully.");
> }
> {noformat}
> This is expected to be executed only after all other setup wizards and commands have been executed. For example, if the Faces scaffold provider is being setup, then any or all of CDI, EJB, Servlet, Faces and JPA setup wizards must be executed before {{ScaffoldSetupWizard.execute()}} is invoked. This is not the case currently, resulting in {{ScaffoldSetupWizard.execute()}} being invoked first.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (FORGE-1312) UICommand.execute is executed out of sequence when a list of commands or wizards are to be executed
by Vineet Reynolds (JIRA)
[ https://issues.jboss.org/browse/FORGE-1312?page=com.atlassian.jira.plugin... ]
Vineet Reynolds commented on FORGE-1312:
----------------------------------------
I've taken a look at this, and the current behaviour boils down to this bit of code in the {{FinishJob}} inner class in the {{ForgeWizard}} class:
{noformat}
for (IWizardPage wizardPage : getPages()) {
currentCommand = ((ForgeWizardPage) wizardPage)
.getUICommand();
...
Result result = currentCommand.execute(uiContext);
...
}
{noformat}
The order of execution of {{UICommand}}s depends on the order in which the pages are displayed. In the scaffold setup wizard, the first page to be displayed is the scaffold setup wizard page, and hence, it is also the first command to be executed even though other commands (for facet installation) should be executed first.
I think we might need a mechanism to allow addons to dictate the order. At the bare minimum, I'd prefer that we have some way to ensure that Facet setup UIWizards and UICommands are executed before others.
> UICommand.execute is executed out of sequence when a list of commands or wizards are to be executed
> ---------------------------------------------------------------------------------------------------
>
> Key: FORGE-1312
> URL: https://issues.jboss.org/browse/FORGE-1312
> Project: Forge
> Issue Type: Bug
> Components: UI - Eclipse
> Affects Versions: 2.0.0.Alpha14
> Reporter: Vineet Reynolds
>
> Related to FORGE-1131, in the Scaffold setup wizard, I have:
> {noformat}
> @Override
> public Result execute(UIContext context) throws Exception
> {
> ScaffoldProvider selectedProvider = provider.getValue();
> selectedProvider.setup(getSelectedProject(context), createSetupContext());
> return Results.success("Scaffold was setup successfully.");
> }
> {noformat}
> This is expected to be executed only after all other setup wizards and commands have been executed. For example, if the Faces scaffold provider is being setup, then any or all of CDI, EJB, Servlet, Faces and JPA setup wizards must be executed before {{ScaffoldSetupWizard.execute()}} is invoked. This is not the case currently, resulting in {{ScaffoldSetupWizard.execute()}} being invoked first.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (FORGE-1311) UICommands are not displayed in Eclipse when provided as a wizard step
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1311?page=com.atlassian.jira.plugin... ]
George Gastaldi updated FORGE-1311:
-----------------------------------
Status: Closed (was: Pull Request Sent)
Fix Version/s: 2.0.0.Beta3
Resolution: Done
> UICommands are not displayed in Eclipse when provided as a wizard step
> ----------------------------------------------------------------------
>
> Key: FORGE-1311
> URL: https://issues.jboss.org/browse/FORGE-1311
> Project: Forge
> Issue Type: Bug
> Components: UI - Eclipse
> Affects Versions: 2.0.0.Alpha14
> Reporter: Vineet Reynolds
> Assignee: Vineet Reynolds
> Fix For: 2.0.0.Beta3
>
>
> In the ScaffoldSetupWizard, I do:
> {noformat}
> List<Class<? extends UICommand>> setupFlow = selectedProvider.getSetupFlow();
> if(setupFlow.isEmpty())
> {
> return null;
> }
> else
> {
> Class<? extends UICommand> next = setupFlow.remove(0);
> Class<?>[] additional = setupFlow.toArray(new Class<?>[setupFlow.size()]);
> return Results.navigateTo(next, (Class<? extends UICommand>[]) additional);
> }
> {noformat}
> When additional dialogs/wizard pages need to be displayed, they're provided by the scaffold provider in the form of additional UICommands or UIWizards via the {{getSetupFlow()}} invocation.
> If a UICommand is returned, then the wizard does not display the other UICommands or UIWizards following it. For example, if the sequence of flows contains {{JPASetupWizard}}, {{FacesSetupWizard}}, {{CDISetupWizard}}, {{EJBSetupWizard}} and {{ServletSetupWizard}}, then only the JPA and Faces setup wizards are displayed; CDI, EJB and Servlet wizards are not displayed.
> The underlying reason is that the {{FacesSetupWizard}} is a {{UICommand}} and not a {{UIWizard}} and hence all subsequent commands and wizards are omitted from display in the wizard.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (FORGE-1311) UICommands are not displayed in Eclipse when provided as a wizard step
by Vineet Reynolds (JIRA)
[ https://issues.jboss.org/browse/FORGE-1311?page=com.atlassian.jira.plugin... ]
Vineet Reynolds updated FORGE-1311:
-----------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/forge/jbosstools-forge/pull/3
Submitted PR to ensure that UIWizards are drilled into, to obtain the next wizard page to display. UICommands are not drilled into, and the next page is obtained from the existing list of subflows.
> UICommands are not displayed in Eclipse when provided as a wizard step
> ----------------------------------------------------------------------
>
> Key: FORGE-1311
> URL: https://issues.jboss.org/browse/FORGE-1311
> Project: Forge
> Issue Type: Bug
> Components: UI - Eclipse
> Affects Versions: 2.0.0.Alpha14
> Reporter: Vineet Reynolds
> Assignee: Vineet Reynolds
>
> In the ScaffoldSetupWizard, I do:
> {noformat}
> List<Class<? extends UICommand>> setupFlow = selectedProvider.getSetupFlow();
> if(setupFlow.isEmpty())
> {
> return null;
> }
> else
> {
> Class<? extends UICommand> next = setupFlow.remove(0);
> Class<?>[] additional = setupFlow.toArray(new Class<?>[setupFlow.size()]);
> return Results.navigateTo(next, (Class<? extends UICommand>[]) additional);
> }
> {noformat}
> When additional dialogs/wizard pages need to be displayed, they're provided by the scaffold provider in the form of additional UICommands or UIWizards via the {{getSetupFlow()}} invocation.
> If a UICommand is returned, then the wizard does not display the other UICommands or UIWizards following it. For example, if the sequence of flows contains {{JPASetupWizard}}, {{FacesSetupWizard}}, {{CDISetupWizard}}, {{EJBSetupWizard}} and {{ServletSetupWizard}}, then only the JPA and Faces setup wizards are displayed; CDI, EJB and Servlet wizards are not displayed.
> The underlying reason is that the {{FacesSetupWizard}} is a {{UICommand}} and not a {{UIWizard}} and hence all subsequent commands and wizards are omitted from display in the wizard.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (FORGE-1312) UICommand.execute is executed out of sequence when a list of commands or wizards are to be executed
by Vineet Reynolds (JIRA)
Vineet Reynolds created FORGE-1312:
--------------------------------------
Summary: UICommand.execute is executed out of sequence when a list of commands or wizards are to be executed
Key: FORGE-1312
URL: https://issues.jboss.org/browse/FORGE-1312
Project: Forge
Issue Type: Bug
Components: UI - Eclipse
Affects Versions: 2.0.0.Alpha14
Reporter: Vineet Reynolds
Related to FORGE-1131, in the Scaffold setup wizard, I have:
{noformat}
@Override
public Result execute(UIContext context) throws Exception
{
ScaffoldProvider selectedProvider = provider.getValue();
selectedProvider.setup(getSelectedProject(context), createSetupContext());
return Results.success("Scaffold was setup successfully.");
}
{noformat}
This is expected to be executed only after all other setup wizards and commands have been executed. For example, if the Faces scaffold provider is being setup, then any or all of CDI, EJB, Servlet, Faces and JPA setup wizards must be executed before {{ScaffoldSetupWizard.execute()}} is invoked. This is not the case currently, resulting in {{ScaffoldSetupWizard.execute()}} being invoked first.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years