public Map<String, String> verifySupportedPublicRenderParameters( EntityID portletEntityId, List<PublicRenderParameterHolder> supportedPublicRenderParameterHolders) { Map<String, String> supportedPublicRenderParametersMap = null; if (supportedPublicRenderParameterHolders != null) { supportedPublicRenderParametersMap = new HashMap<String, String>(supportedPublicRenderParameterHolders.size()); for (PublicRenderParameterHolder supportedPublicRenderParameterHolder : supportedPublicRenderParameterHolders) { List<PortletID> portlets = this.publicRenderParameterSupportingPortlets.get(supportedPublicRenderParameterHolder); if (portlets != null) { PortletID portletID = portletEntityId.getPortletID(); if (portlets.contains(portletID)) { supportedPublicRenderParametersMap.put( supportedPublicRenderParameterHolder.getIdentifier(), supportedPublicRenderParameterHolder.getIdentifier()); } else { // Check whether supportedPublicRenderParameterHolder's qname is present in the aliases // of any // public render parameter definition or whether supportedPublicRenderParameterHolder's // qname is // same as the qname of any public render parameter definition or whether aliases of the // supportedPublicRenderParameterHolder contains the qname of any public render // parameter definition // if yes use the render parameter qname of that public render parameter definition to // get the portlet list for (List<PublicRenderParameterHolder> allPublicRenderParameterHolders : this.appPublicRenderParameterHolders.values()) { for (PublicRenderParameterHolder publicRenderParameterHolder : allPublicRenderParameterHolders) { List<QName> aliases = publicRenderParameterHolder.getAliases(); if (aliases.contains(supportedPublicRenderParameterHolder.getQName()) || publicRenderParameterHolder .getQName() .equals(supportedPublicRenderParameterHolder.getQName()) || supportedPublicRenderParameterHolder .getAliases() .contains(publicRenderParameterHolder.getQName())) { portlets = this.publicRenderParameterSupportingPortlets.get(publicRenderParameterHolder); if (portlets != null && portlets.contains(portletID)) { supportedPublicRenderParametersMap.put( supportedPublicRenderParameterHolder.getIdentifier(), publicRenderParameterHolder.getIdentifier()); } } } } } } } } if (supportedPublicRenderParametersMap == null) return Collections.emptyMap(); else return supportedPublicRenderParametersMap; }
public List<PublicRenderParameterHolder> getSupportedPublicRenderParameterHolders( EntityID portletEntityId, Map<String, String[]> renderParameters) { PortletID portletID = portletEntityId.getPortletID(); List<PublicRenderParameterHolder> publicRenderParameterHolders = new ArrayList<PublicRenderParameterHolder>(); if (portletID != null) { List<PublicRenderParameterHolder> supportingPublicRenderParameterHolders = this.portletSupportingPublicRenderParameters.get(portletID); Set<Map.Entry<String, List<PublicRenderParameterHolder>>> entries = this.appPublicRenderParameterHolders.entrySet(); for (Map.Entry<String, List<PublicRenderParameterHolder>> mapEntry : entries) { if (supportingPublicRenderParameterHolders != null) { if (renderParameters == null) { for (PublicRenderParameterHolder publicRenderParameterHolder : mapEntry.getValue()) { if (supportingPublicRenderParameterHolders.contains(publicRenderParameterHolder)) { publicRenderParameterHolders.add(publicRenderParameterHolder); } } } else { for (PublicRenderParameterHolder publicRenderParameterHolder : mapEntry.getValue()) { if (renderParameters.containsKey(publicRenderParameterHolder.getIdentifier()) && supportingPublicRenderParameterHolders.contains(publicRenderParameterHolder)) { publicRenderParameterHolders.add(publicRenderParameterHolder); } } } } } } return publicRenderParameterHolders; }