/* * Licensed Materials - Property of Rogue Wave Software, Inc. * © Copyright Rogue Wave Software, Inc. 2014, 2015 * © Copyright IBM Corp. 2009, 2014 * © Copyright ILOG 1996, 2009 * All Rights Reserved. * * Note to U.S. Government Users Restricted Rights: * The Software and Documentation were developed at private expense and * are "Commercial Items" as that term is defined at 48 CFR 2.101, * consisting of "Commercial Computer Software" and * "Commercial Computer Software Documentation", as such terms are * used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4, * as applicable. */ package monitoring.web.controls.popup; import monitoring.shared.ServicesUtils; import monitoring.web.AbstractSampleContext; import ilog.cpl.graph.IlpGraphView; import ilog.cpl.model.IlpObject; import ilog.views.faces.dhtml.IlvDHTMLConstants; import ilog.views.util.servlet.model.IlvMenu; import ilog.views.util.servlet.model.IlvMenuSeparator; import shared.ResourceUtils; /** * The contextual menu factory that is used in the service module's network view. */ public class ServiceContextualMenuFactory extends AbstractContextualMenuFactory { /** * Service implementation. * * @see monitoring.web.controls.popup.AbstractContextualMenuFactory#initialize(monitoring.web.AbstractSampleContext) */ public void initialize(AbstractSampleContext sampleContext) { super.initialize(sampleContext); //Sets the identifier of the actual contextual menu instance setContextualMenuFactoryIdentifier("sampleContext.controls.networkControls.serviceContextualMenuFactory"); } /** * Service implementation. * * @see monitoring.web.controls.popup.AbstractContextualMenuFactory#createViewSpecificMenuItems(ilog.views.util.servlet.model.IlvMenu, ilog.cpl.model.IlpObject, java.lang.String, ilog.cpl.graph.IlpGraphView) */ protected void createViewSpecificMenuItems(IlvMenu root, IlpObject businessObject, String menuModelId, IlpGraphView graphView) { ServicesUtils servicesUtils = sampleContext.getServicesUtils(); //This is the show service details String serviceName = servicesUtils.getServiceName(businessObject); if (serviceName != null) { this .createServerClientMenuItem( root, ResourceUtils.getString("labelMenuItemShowServiceDetails"), ResourceUtils.getString("iconMenuItemShowDetails"), "#{sampleContext.actionProviders.networkActions.prepareServiceDetailViewToBeShown}", getShowServiceDetailJavaScriptAction(), "SHOW_SERVICE_DETAIL", true, IlvDHTMLConstants.IMAGE_SERVLET_CONTEXT); //Add a menu separator root.addChild(new IlvMenuSeparator()); } } /** * Service implementation. * * @see monitoring.web.controls.popup.AbstractContextualMenuFactory#createModuleNavigationMenuItems(ilog.views.util.servlet.model.IlvMenu, java.lang.String, ilog.cpl.graph.IlpGraphView) */ protected void createModuleNavigationMenuItems(IlvMenu root, String menuModelId, IlpGraphView graphView) { this.createServerMenuItem(root, ResourceUtils .getString("labelMenuItemShowNetworkModule"), ResourceUtils .getString("iconMenuItemShowNetworkModule"), showNetworkModuleActionListener, true); this.createServerMenuItem(root, ResourceUtils .getString("labelMenuItemShowInventoryModule"), ResourceUtils .getString("iconMenuItemShowInventoryModule"), showInventoryModuleActionListener, true); } /** * Returns the JavaScript action that should be executed to display the service * details. */ protected String getShowServiceDetailJavaScriptAction() { return "showServiceDetailView()"; } }