[
https://issues.jboss.org/browse/FORGE-1372?page=com.atlassian.jira.plugin...
]
George Gastaldi closed FORGE-1372.
----------------------------------
Fix Version/s: 2.0.0.Beta4
(was: 2.x Future)
Resolution: Done
Fix implemented by Comparing inputs before evicting from the flow list
WizardCommandController must not cache initialized commands
-----------------------------------------------------------
Key: FORGE-1372
URL:
https://issues.jboss.org/browse/FORGE-1372
Project: Forge
Issue Type: Bug
Components: UI - API, UI - Eclipse
Affects Versions: 2.0.0.Beta3
Reporter: George Gastaldi
Assignee: George Gastaldi
Fix For: 2.0.0.Beta4
Some Wizards call UIBuilder.add() in the initializeUI method with a specific condition.
eg:
{code:java|title=JPASetupConnectionStep}
@Override
public void initializeUI(UIBuilder builder) throws Exception
{
UIContext uiContext = builder.getUIContext();
PersistenceContainer pc = (PersistenceContainer)
uiContext.getAttribute(PersistenceContainer.class);
initDBType(uiContext);
initDatasourceName(uiContext);
initPersistenceUnitName(builder);
builder.add(dbType);
if (pc.isJTASupported())
{
builder.add(dataSourceName);
}
else
{
builder.add(jdbcDriver).add(databaseURL).add(username).add(password);
}
}
{code}
Therefore, the WizardCommandController shouldn't cache initialized UICommands, since
the added fields may differ.
This impacts in the navigation UX, in the fact that already typed information is lost
when the previous button is called. One solution would be to re-initialize a different
command, and compare if the inputs provided differ from the original initialization.
--
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