OK. Found the solution:
private IModel createTreeModel() {
final IModel model = new AbstractReadOnlyModel() {
private static final long serialVersionUID = 1L;
@Override
public Object getObject() {
final Profile profile = (Profile) getModelObject();
final DefaultMutableTreeNode rootNode = new
DefaultMutableTreeNode();
final ConfigurationsNode configurationsNode = new
ConfigurationsNode(profile,
getString(extract.rdb.profile.view.section.configurations));
configurationsNode.addToParentNode(profile, rootNode);
final CampaignsNode campaignsNode = new
CampaignsNode(profile,
getString(extract.rdb.profile.view.section.campaigns));
campaignsNode.addToParentNode(profile, rootNode);
final UniverseNode universesNode = new UniverseNode(profile,
getString(extract.rdb.profile.view.section.universes));
universesNode.addToParentNode(profile, rootNode);
final BprsNode bprsNode = new BprsNode(profile,
getString(extract.rdb.profile.view.section.bprs));
bprsNode.addToParentNode(profile, rootNode);
final AuditCardsNode auditCardsNode = new
AuditCardsNode(profile,
getString(extract.rdb.profile.view.section.audits));
auditCardsNode.addToParentNode(profile, rootNode);
final AllTicketsNode allTicketsNode = new AllTicketsNode(
getString(extract.rdb.profile.view.section.allTickets));
allTicketsNode.addToParentNode(profile, rootNode);
final TreeModel treeModel = new DefaultTreeModel(rootNode);
return treeModel;
}
};
return model;
}
I knew it's something with dynamic model !!
Eyal Golan
egola...@gmail.com
Visit: http://jvdrums.sourceforge.net/
LinkedIn: http://www.linkedin.com/in/egolan74
P Save a tree. Please don't print this e-mail unless it's really necessary
On Tue, Aug 18, 2009 at 4:55 PM, Eyal Golan egola...@gmail.com wrote:
Hello,
I have a wizard that in the last step I show a tree with the selections
made in the previous steps.
The wizard uses static steps so actually the last step is built in advance.
The problem is that the tree is not updated.
For debugging purposes I have in the last step tables that show the same
selections.
The tables are updated (the DataProvider calls the iterator). I use
DetachableModel for the tables.
So in short,
How can I updated the model of the tree.
Below is the code of creating the tree that is made in the constructor:
private TreeModel createTreeModel() {
final Profile profile = (Profile) getModelObject();
final DefaultMutableTreeNode rootNode = new
DefaultMutableTreeNode();
final ConfigurationsNode configurationsNode = new
ConfigurationsNode(profile,
getString(extract.rdb.profile.view.section.configurations));
configurationsNode.addToParentNode(profile, rootNode);
final CampaignsNode campaignsNode = new CampaignsNode(profile,
getString(extract.rdb.profile.view.section.campaigns));
campaignsNode.addToParentNode(profile, rootNode);
final UniverseNode universesNode = new UniverseNode(profile,
getString(extract.rdb.profile.view.section.universes));
universesNode.addToParentNode(profile, rootNode);
final BprsNode bprsNode = new BprsNode(profile,
getString(extract.rdb.profile.view.section.bprs));
bprsNode.addToParentNode(profile, rootNode);
final AuditCardsNode auditCardsNode = new AuditCardsNode(profile,
getString(extract.rdb.profile.view.section.audits));
auditCardsNode.addToParentNode(profile, rootNode);
final AllTicketsNode allTicketsNode = new AllTicketsNode(
getString(extract.rdb.profile.view.section.allTickets));
allTicketsNode.addToParentNode(profile, rootNode);
final TreeModel treeModel = new DefaultTreeModel(rootNode);
return treeModel;
}
Here's one of the nodes:
public final class ConfigurationsNode extends AbstractProfileDataNode {
private static final long serialVersionUID = 3306972776261689364L;
public ConfigurationsNode(final Profile profile, String title) {
super(title);
final ListConfiguration configurations =
profile.getConfigurations();
for (final Configuration configuration : configurations) {
final DefaultMutableTreeNode configurationNode = new
DefaultMutableTreeNode() {
private static final long serialVersionUID = 1L;
@Override
public Object getUserObject() {
return configuration.getConfigurationName();
}
};
add(configurationNode);
}
}
@Override
protected boolean isVisible(Profile profile) {