// refresh makes sense after a group membership change but we already perform a CoreGUI refresh to
// reset the whole detail view after that user action. So, only support refresh for autogroup nodes
// in the resource tree.
if (node instanceof AutoGroupTreeNode) {
// separator
addItem(new MenuItemSeparator());
// refresh node
MenuItem refresh = new MenuItem(MSG.common_button_refresh());
refresh.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
// refresh the tree and detail
((ResourceTreeView) treeView).contextMenuRefresh(treeGrid, node, false);
}
});
addItem(refresh);
}
// separator
addItem(new MenuItemSeparator());
// plugin config
MenuItem pluginConfiguration = new MenuItem(MSG.view_tabs_common_connectionSettings());
boolean pluginConfigEnabled = resourceType.getPluginConfigurationDefinition() != null;
pluginConfiguration.setEnabled(pluginConfigEnabled);
if (pluginConfigEnabled) {
pluginConfiguration.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
CoreGUI.goToView(LinkManager.getEntityTabLink(EntityContext.forGroup(group), "Inventory",
"ConnectionSettings"));
}
});
}
addItem(pluginConfiguration);
// resource config
MenuItem resourceConfiguration = new MenuItem(MSG.view_tree_common_contextMenu_resourceConfiguration());
boolean resourceConfigEnabled = groupComposite.getResourcePermission().isConfigureRead()
&& resourceType.getResourceConfigurationDefinition() != null;
resourceConfiguration.setEnabled(resourceConfigEnabled);
if (resourceConfigEnabled) {
resourceConfiguration.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
CoreGUI.goToView(LinkManager.getEntityTabLink(EntityContext.forGroup(group), "Configuration",
"Current"));
}
});
}
addItem(resourceConfiguration);
// separator
addItem(new MenuItemSeparator());
// Operations Menu
MenuItem operations = new MenuItem(MSG.common_title_operations());
boolean operationsEnabled = (groupComposite.getResourcePermission().isControl()
&& null != resourceType.getOperationDefinitions() && !resourceType.getOperationDefinitions().isEmpty());