public JetspeedNavigationalStateCodec(PortalContext portalContext) { ArrayList<PortletMode> modesList = new ArrayList<PortletMode>(); // ensure standard modes will be first in the portletModeNames array // this ensures those modes are never lost from a bookmarked url when new modes are added somewhere in the // middle modesList.addAll(JetspeedActions.getStandardPortletModes()); modesList.addAll(JetspeedActions.getExtendedPortletModes()); portletModes = modesList.toArray(new PortletMode[modesList.size()]); if (portletModes.length > keytable.length()) { throw new UnsupportedOperationException("Too many supported PortletModes found. Can only handle max: "+keytable.length()); } // ensure standard states will be first in the windowStateNames array // this ensures those states are never lost from a bookmarked url when new states are added somewhere in the // middle ArrayList<WindowState> statesList = new ArrayList<WindowState>(); statesList.addAll(JetspeedActions.getStandardWindowStates()); statesList.addAll(JetspeedActions.getExtendedWindowStates()); windowStates = statesList.toArray(new WindowState[statesList.size()]); if (windowStates.length > keytable.length()) { throw new UnsupportedOperationException("Too many supported WindowModes found. Can only handle max: "+keytable.length()); } }
this.validPortletModes.put(mode, mode); modes = JetspeedActions.getExtendedPortletModes().iterator(); while (modes.hasNext())
private PortletMode getRequestedPortletMode(final RequestContext context) { String portletModeName = context.getRequestParameter(PortalReservedParameters.PORTLET_MODE); if (StringUtils.isBlank(portletModeName)) { return PortletMode.VIEW; } if (availablePortletModesMap == null) { Map<String, PortletMode> portletModesMap = new HashMap<String, PortletMode>(); for (PortletMode portletMode : JetspeedActions.getStandardPortletModes()) { portletModesMap.put(portletMode.toString(), portletMode); } for (PortletMode portletMode : JetspeedActions.getExtendedPortletModes()) { portletModesMap.put(portletMode.toString(), portletMode); } availablePortletModesMap = portletModesMap; } PortletMode portletMode = availablePortletModesMap.get(portletModeName); return (portletMode != null ? portletMode : PortletMode.VIEW); }
public List<PortletMode> getSupportedPortletModes() { if ( supportedPortletModes == null ) { ArrayList<PortletMode> list = new ArrayList<PortletMode>(JetspeedActions.getStandardPortletModes()); supportedCustomModes = new HashMap<PortletMode,PortletMode>(); mappedCustomModes = new HashMap<PortletMode,PortletMode>(); for (CustomPortletMode customMode : getCustomPortletModes()) { if ( !list.contains(customMode.getCustomMode()) && (!customMode.isPortalManaged() || JetspeedActions.getExtendedPortletModes().contains(customMode.getMappedMode())) ) { list.add(customMode.getCustomMode()); supportedCustomModes.put(customMode.getMappedMode(), customMode.getCustomMode()); mappedCustomModes.put(customMode.getCustomMode(), customMode.getMappedMode()); } } supportedPortletModes = Collections.unmodifiableList(list); } return supportedPortletModes; }