connectioncontext.java

来自「RESIN 3.2 最新源码」· Java 代码 · 共 2,389 行 · 第 1/5 页

JAVA
2,389
字号
    return       windowContext == null       ? null       : windowContext.getWindow().getRenderer();  }  protected Invocation getInvocation()  {    Invocation invocation = _windowContext.getInvocation();    if (invocation == null)      throw new UnsupportedOperationException("operation requires a namespace");        return invocation;  }  protected Invocation getInvocation(String namespace)  {    return _invocationFactory.getInvocation(namespace);  }  protected void forbidRedirectIfInActionStage()  {    if (_stage == STAGE_ACTION)      setForbidRedirect();  }  // -- Invocation - WindowState/PortletMode  public Set<WindowState> getWindowStatesUsed()  {    return getInvocationFactory().getWindowStatesUsed();  }  public Set<PortletMode> getPortletModesUsed()  {    return getInvocationFactory().getPortletModesUsed();  }  protected boolean isPortletModeAllowed( Window window,                                          PortletMode portletMode)  {    PortletRequest portletRequest = getPortletRequest();    boolean allowed = true;    Renderer renderer = window.getRenderer();    if (renderer != null)      allowed = renderer.isPortletModeAllowed(portletRequest, portletMode);    if (allowed && window != null)      allowed = window.isPortletModeAllowed(portletRequest, portletMode);    if (allowed)      allowed = getPortal().isPortletModeAllowed(portletRequest, portletMode);    return allowed;  }  protected void setPortletMode( Window window,                                 String namespace,                                 Invocation invocation,                                 PortletMode portletMode)    throws PortletModeException  {    if (!isPortletModeAllowed(window, portletMode))      throw new PortletModeException(          "PortletMode `" + portletMode           + "' not allowed for namespace `" + namespace + "'",          portletMode);    forbidRedirectIfInActionStage();    invocation.setPortletMode(portletMode);  }  public boolean isPortletModeAllowed(PortletMode portletMode)  {    return isPortletModeAllowed( getWindow(), getPortletMode());  }  public boolean isPortletModeAllowed( String namespace,                                        PortletMode portletMode)  {    return isPortletModeAllowed( getWindow(namespace),                                  getPortletMode(namespace));  }  public PortletMode getPortletMode()  {    return getInvocation().getPortletMode();  }  public PortletMode getPortletMode(String namespace)  {    return getInvocation(namespace).getPortletMode();  }  public void setPortletMode(PortletMode portletMode)    throws PortletModeException  {    setPortletMode( getWindow(),                    getNamespace(),                    getInvocation(),                    portletMode);  }  public void setPortletMode(String namespace, PortletMode portletMode)    throws PortletModeException  {    checkWindowMutable(namespace);    setPortletMode( getWindow(namespace),                    namespace,                    getInvocation(namespace),                    portletMode);  }  protected boolean isWindowStateAllowed( Window window,                                          WindowState windowState)  {    PortletRequest portletRequest = getPortletRequest();    boolean allowed = true;    Renderer renderer = window.getRenderer();    if (renderer != null)      allowed = renderer.isWindowStateAllowed(portletRequest, windowState);    if (allowed && window != null)      allowed = window.isWindowStateAllowed(portletRequest, windowState);    if (allowed)      allowed = getPortal().isWindowStateAllowed(portletRequest, windowState);    return allowed;  }  protected void setWindowState( Window window,                                 String namespace,                                 Invocation invocation,                                 WindowState windowState )    throws WindowStateException  {    if (!isWindowStateAllowed(window, windowState))      throw new WindowStateException(          "WindowState `" + windowState           + "' not allowed for namespace `" + namespace + "'",          windowState);    forbidRedirectIfInActionStage();    invocation.setWindowState(windowState);  }  public boolean isWindowStateAllowed(WindowState windowState)  {    return isWindowStateAllowed( getWindow(),                                  windowState );  }  public boolean isWindowStateAllowed( String namespace,                                        WindowState windowState)  {    return isWindowStateAllowed( getWindow(namespace),                                  windowState );  }  public WindowState getWindowState()  {    return getInvocation().getWindowState();  }  public WindowState getWindowState(String namespace)  {    return getInvocation(namespace).getWindowState();  }  public void setWindowState(WindowState windowState)    throws WindowStateException  {    setWindowState( getWindow(),                    getNamespace(),                    getInvocation(),                    windowState );  }  public void setWindowState(String namespace, WindowState windowState)    throws WindowStateException  {    checkWindowMutable(namespace);    setWindowState( getWindow(namespace),                    namespace,                    getInvocation(namespace),                    windowState );  }  // -- Invocation - parameters  public Map<String, String[]> getActionParameterMap()  {    Map<String, String[]> actionMap = _windowContext.getActionMap();    if (actionMap == null)      throw new IllegalStateException(          "namespace `" + getNamespace() + "' is not target of action");    return actionMap;  }  public Map<String, String[]> getRenderParameterMap()  {    return getInvocation().getParameterMap();  }  public Map<String, String[]> getRenderParameterMap(String namespace)  {    return getInvocation(namespace).getParameterMap();  }  private void checkNullName(String name)  {    if (name == null)      throw new IllegalArgumentException("parameter name cannot be null");  }  private void checkNullValue(Object value)  {    if (value == null)      throw new IllegalArgumentException("parameter value cannot be null");  }  protected String getParameter(Map<String, String[]> map, String name)  {    checkNullName(name);    String values[] = map.get(name);    return values == null || values.length == 0 ? null : values[0];  }  protected String[] getParameterValues( Map<String, String[]> map,                                          String name)  {    checkNullName(name);    return map.get(name);  }  protected Enumeration getParameterNames(Map<String, String[]> map)  {    return Collections.enumeration(map.keySet());  }  protected void setParameter( Map<String, String[]> map,                                String name,                                String value)  {    checkNullName(name);    checkNullValue(value);    map.put(name, new String[] { value });  }  protected void setParameters( Map<String, String[]> destMap,                                 Map<String, String[]> srcMap)  {    checkNullValue(srcMap);    destMap.clear();    Iterator<Map.Entry<String, String[]>> iter       = srcMap.entrySet().iterator();    while (iter.hasNext())     {      Map.Entry<String, String[]> entry = iter.next();      setParameter(destMap, entry.getKey(), entry.getValue());    }  }  protected void setParameter( Map<String, String[]> map,                                String name,                                String[] values)  {    checkNullName(name);    checkNullValue(values);    if (values.length == 0)      map.remove(name);    else      map.put(name, values);  }  public String getActionParameter(String name)  {    return getParameter(getActionParameterMap(), name);  }  public String[] getActionParameterValues(String name)  {    return getParameterValues(getActionParameterMap(), name);  }  public Enumeration getActionParameterNames()  {    return getParameterNames(getActionParameterMap());  }  public String getRenderParameter(String name)  {    return getParameter(getRenderParameterMap(), name);  }  public String[] getRenderParameterValues(String name)  {    return getParameterValues(getRenderParameterMap(), name);  }  public Enumeration getRenderParameterNames()  {    return getParameterNames(getRenderParameterMap());  }  public void setRenderParameters(Map<String, String[]> srcMap)  {    forbidRedirectIfInActionStage();    setParameters(getRenderParameterMap(), srcMap);  }  public void setRenderParameter(String name, String value)  {    forbidRedirectIfInActionStage();    setParameter(getRenderParameterMap(), name, value);  }  public void setRenderParameter(String name, String[] values)  {    forbidRedirectIfInActionStage();    setParameter(getRenderParameterMap(), name, values);  }  public String getRenderParameter(String namespace, String name)  {    return getParameter(getRenderParameterMap(namespace), name);  }  public String[] getRenderParameterValues(String namespace, String name)  {    return getParameterValues(getRenderParameterMap(namespace), name);  }  public Enumeration getRenderParameterNames(String namespace)  {    return getParameterNames(getRenderParameterMap(namespace));  }  public void setRenderParameters(String namespace, Map<String,String[]> srcMap)  {    checkWindowMutable(namespace);    forbidRedirectIfInActionStage();    setParameters(getRenderParameterMap(namespace), srcMap);  }  public void setRenderParameter(String namespace, String name, String value)  {    checkWindowMutable(namespace);    forbidRedirectIfInActionStage();    setParameter(getRenderParameterMap(namespace), name, value);  }  public void setRenderParameter(String namespace, String name, String[] values)  {    checkWindowMutable(namespace);    forbidRedirectIfInActionStage();    setParameter(getRenderParameterMap(namespace), name, values);  }  // -- Invocation - urls  protected PortalURL createURL(InvocationURL url)  {    return new PortalURL(this, url);  }  protected PortalURL createRenderURL( Invocation invocation,                                        boolean keepParameters )  {    PortalURL url =  createURL(invocation.createRenderURL());    if (keepParameters)      url.setParameters(invocation.getParameterMap());    return url;  }  protected PortalURL createActionURL( Invocation invocation,                                       boolean keepParameters )  {    PortalURL url =  createURL(invocation.createActionURL());    if (keepParameters)      url.setParameters(invocation.getParameterMap());    return url;  }  public PortalURL createRenderURL()  {    return createRenderURL(getInvocation(), false);  }  public PortalURL createActionURL()  {    return createActionURL(getInvocation(), false);  }  public PortalURL createRenderURL(String namespace, boolean keepParameters)  {    return createRenderURL(getInvocation(namespace), keepParameters);  }  public PortalURL createActionURL(String namespace, boolean keepParameters)  {    return createActionURL(getInvocation(namespace), keepParameters);  }  // -- Preferences  public PortletPreferences getPreferences()  {    if (_windowContext.getPreferences() == null) {      PreferencesStore store = getPreferencesStore();      Window window = getWindow();      PortletPreferences defaultPreferences        = window == null           ? null           : window.getDefaultPreferences();      ArrayList<PreferencesValidator> validators         = window == null           ? null           : window.getPreferencesValidators();      try {        Map<String, String[]> storeMap =          store.getPreferencesMap(getPortletRequest(), getNamespace());        // XXX: pool these        LinkingPortletPreferences pref = new LinkingPortletPreferences();        pref.start(defaultPreferences, validators, storeMap);        _windowContext.setPreferences(pref);      }      catch (IOException ex) {        throw new RuntimeException(ex);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?