示例#1
0
  /** Return the relevant sorted value map for the resource */
  public static LinkedHashMap<String, String> processPortletNameMapForResource(
      ResourceComposite composite) {

    LinkedHashMap<String, String> resourceMenuMap = PortletFactory.getResourcePortletMenuMap();

    if ((composite != null) && (composite.getResource() != null)) {
      resourceMenuMap = new LinkedHashMap<String, String>(resourceMenuMap);

      // filter out portlets not relevent for facets
      Set<ResourceTypeFacet> facets = composite.getResourceFacets().getFacets();
      if (!facets.isEmpty()) {
        // Operation related portlets
        if (!facets.contains(ResourceTypeFacet.OPERATION)) {
          resourceMenuMap.remove(ResourceOperationsPortlet.KEY);
        }
        // MEASUREMENT related portlets(METRICS)
        if (!facets.contains(ResourceTypeFacet.MEASUREMENT)) {
          resourceMenuMap.remove(ResourceMetricsPortlet.KEY);
          resourceMenuMap.remove(ResourceMetricsPortlet.KEY);
        }
        // Content related portlets
        if (!facets.contains(ResourceTypeFacet.CONTENT)) {
          resourceMenuMap.remove(ResourcePkgHistoryPortlet.KEY);
        }
        // Event related portlets
        if (!facets.contains(ResourceTypeFacet.EVENT)) {
          resourceMenuMap.remove(ResourceEventsPortlet.KEY);
        }
        // Configuration related portlets
        if (!facets.contains(ResourceTypeFacet.CONFIGURATION)) {
          resourceMenuMap.remove(ResourceConfigurationUpdatesPortlet.KEY);
        }
        // Bundle related portlets
        if (!facets.contains(ResourceTypeFacet.BUNDLE)) {
          resourceMenuMap.remove(ResourceBundleDeploymentsPortlet.KEY);
        }
      }
    }

    return resourceMenuMap;
  }