Java 类javax.portlet.StateAwareResponse 实例源码

项目:portals-pluto    文件:BaseEventTest.java   
protected int getNumberOfMethodsThatShouldRun(PortletRequest request) {
    if (numMethodsCache == -1) {
        Class<?> clazz = getClass();
        for (Method m : clazz.getMethods()) {
            if (m.getName().startsWith("check") && 
                    m.getReturnType().equals(TestResult.class)) {
                for (Class<?> paramType : m.getParameterTypes()) {
                    if (StateAwareResponse.class
                            .isAssignableFrom(paramType)) {
                        numMethodsCache++;
                    }
                }
            }
        }
    }
    return numMethodsCache;
}
项目:portals-pluto    文件:Utils.java   
public boolean checkEqualStateAwareResponse(
      StateAwareResponse injectedPortletArtifact,
      StateAwareResponse stateAwareResponse) {
   if (injectedPortletArtifact.equals(stateAwareResponse)) {
      return true;
   }
   PortletMode injectedPortletMode = injectedPortletArtifact
         .getPortletMode();
   PortletMode portletPortletMode = stateAwareResponse.getPortletMode();
   WindowState injectedWindowState = injectedPortletArtifact
         .getWindowState();
   WindowState portletWindowState = stateAwareResponse.getWindowState();
   MutableRenderParameters injectedMutableRenderParams = injectedPortletArtifact
         .getRenderParameters();
   MutableRenderParameters portletMutableRenderParams = stateAwareResponse
         .getRenderParameters();
   if (checkEqualResponses(injectedPortletArtifact, stateAwareResponse)
         && injectedPortletMode.equals(portletPortletMode)
         && injectedWindowState.equals(portletWindowState)
         && checkEqualParameters(injectedMutableRenderParams,
               portletMutableRenderParams)) {
      return true;
   } else {
      return false;
   }
}
项目:portals-pluto    文件:PortletStateScopedBeanHolder.java   
/**
 * Removes the bean holder for the current request. Deletes all beans contained therein.
 * If response is provided, the beans are deserialized and stored.
 * 
 * @param resp    The response for setting the bean values
 */
public static void removeBeanHolder(StateAwareResponse resp) {

   PortletStateScopedBeanHolder bh = getBeanHolder();
   if (bh != null) {
      bh.removeAll(resp);
   }
   holders.remove();

   if (isTrace) {
      StringBuilder txt = new StringBuilder(80);
      txt.append("Removed render state bean holder.");
      txt.append(" ThreadId=").append(Thread.currentThread().getId());
      LOG.trace(txt.toString());
   }
}
项目:portals-pluto    文件:PortletStateScopedBeanHolder.java   
/**
 * Remove & destroy all beans. if a response is provided, store the bean state.
 * 
 * @param   resp     The state aware response
 */
protected void removeAll(StateAwareResponse resp) {
   for (Contextual<?> bean : beans.keySet()) {
      if (resp != null) {
         PortletSerializable thisBean = (PortletSerializable) beans.get(bean).instance;
         String[] vals = thisBean.serialize();
         String pn = config.getParamName((Bean<?>) bean);
         resp.getRenderParameters().setValues(pn, vals);

         if (isTrace) {
            StringBuilder txt = new StringBuilder(128);
            txt.append("Stored parameter for portlet with namespace: ");
            txt.append(resp.getNamespace());
            txt.append(", paramName: ").append(pn);
            txt.append(", Values: ").append(Arrays.toString(vals));
            LOG.trace(txt.toString());
         }
      }
      remove(bean);
   }
}
项目:spring4-understanding    文件:DispatcherPortlet.java   
/**
 * Expose the given action exception to the given response.
 * @param request current portlet request
 * @param response current portlet response
 * @param ex the action exception (may also come from an event phase)
 */
protected void exposeActionException(PortletRequest request, StateAwareResponse response, Exception ex) {
    // Copy all parameters unless overridden in the action handler.
    Enumeration<String> paramNames = request.getParameterNames();
    while (paramNames.hasMoreElements()) {
        String paramName = paramNames.nextElement();
        String[] paramValues = request.getParameterValues(paramName);
        if (paramValues != null && !response.getRenderParameterMap().containsKey(paramName)) {
            response.setRenderParameter(paramName, paramValues);
        }
    }
    response.setRenderParameter(ACTION_EXCEPTION_RENDER_PARAMETER, ex.toString());
    request.getPortletSession().setAttribute(ACTION_EXCEPTION_SESSION_ATTRIBUTE, ex);
}
项目:class-guard    文件:AnnotationMethodHandlerAdapter.java   
@SuppressWarnings("unchecked")
private ModelAndView invokeHandlerMethod(
        PortletRequest request, PortletResponse response, Object handler, ExtendedModelMap implicitModel)
        throws Exception {

    PortletWebRequest webRequest = new PortletWebRequest(request, response);
    PortletHandlerMethodResolver methodResolver = getMethodResolver(handler);
    Method handlerMethod = methodResolver.resolveHandlerMethod(request);
    PortletHandlerMethodInvoker methodInvoker = new PortletHandlerMethodInvoker(methodResolver);

    Object result = methodInvoker.invokeHandlerMethod(handlerMethod, handler, webRequest, implicitModel);
    ModelAndView mav = methodInvoker.getModelAndView(handlerMethod, handler.getClass(), result, implicitModel,
            webRequest);
    methodInvoker.updateModelAttributes(
            handler, (mav != null ? mav.getModel() : null), implicitModel, webRequest);

    // Expose implicit model for subsequent render phase.
    if (response instanceof StateAwareResponse && !implicitModel.isEmpty()) {
        StateAwareResponse stateResponse = (StateAwareResponse) response;
        Map<?, ?> modelToStore = implicitModel;
        try {
            stateResponse.setRenderParameter(IMPLICIT_MODEL_RENDER_PARAMETER, Boolean.TRUE.toString());
            if (response instanceof EventResponse) {
                // Update the existing model, if any, when responding to an event -
                // whereas we're replacing the model in case of an action response.
                Map existingModel = (Map) request.getPortletSession().getAttribute(IMPLICIT_MODEL_SESSION_ATTRIBUTE);
                if (existingModel != null) {
                    existingModel.putAll(implicitModel);
                    modelToStore = existingModel;
                }
            }
            request.getPortletSession().setAttribute(IMPLICIT_MODEL_SESSION_ATTRIBUTE, modelToStore);
        }
        catch (IllegalStateException ex) {
            // Probably sendRedirect called... no need to expose model to render phase.
        }
    }

    return mav;
}
项目:class-guard    文件:DispatcherPortlet.java   
/**
 * Expose the given action exception to the given response.
 * @param request current portlet request
 * @param response current portlet response
 * @param ex the action exception (may also come from an event phase)
 */
protected void exposeActionException(PortletRequest request, StateAwareResponse response, Exception ex) {
    // Copy all parameters unless overridden in the action handler.
    Enumeration<String> paramNames = request.getParameterNames();
    while (paramNames.hasMoreElements()) {
        String paramName = paramNames.nextElement();
        String[] paramValues = request.getParameterValues(paramName);
        if (paramValues != null && !response.getRenderParameterMap().containsKey(paramName)) {
            response.setRenderParameter(paramName, paramValues);
        }
    }
    response.setRenderParameter(ACTION_EXCEPTION_RENDER_PARAMETER, ex.toString());
    request.getPortletSession().setAttribute(ACTION_EXCEPTION_SESSION_ATTRIBUTE, ex);
}
项目:portals-pluto    文件:TestPortlet.java   
private void processStateAwarePhase(
        PortletRequest request, StateAwareResponse response) {
    String testId = getTestId(request);
    PortletTest test = (PortletTest) tests.get(testId);
    if (test != null) {
        TestResults results = test.doTest(getPortletConfig(),
                                          getPortletContext(),
                                          request,
                                          response);
        PortletSession session = request.getPortletSession();
        TestResults existingResults = (TestResults) 
            session.getAttribute(test.getClass().getName());
        if (existingResults != null) {
            for (TestResult result : results.getCollection()) {
                existingResults.add(result);
            }
        } else {
            session.setAttribute(test.getClass().getName(), results);
        }
    }
    Map<String, String[]> renderParameters = null;
    if (test != null) {
        renderParameters = test.getRenderParameters(request);
    }
    if (renderParameters == null) {
        renderParameters = new HashMap<String, String[]>();
    }
    renderParameters.put("testId", new String[] { testId });
    response.setRenderParameters(renderParameters);        
}
项目:portals-pluto    文件:PortletArtifactProducer.java   
/**
 * Producer method for the StateAwareResponse. 
 */
@Produces @PortletRequestScoped @Named("stateAwareResponse") @Typed(StateAwareResponse.class)
public static StateAwareResponse produceStateAwareResponse() {
   PortletArtifactProducer pap = producers.get();
   assert pap != null;
   StateAwareResponse resp = null;
   if (pap.resp instanceof StateAwareResponse) {
      resp = (StateAwareResponse) pap.resp;
   }
   return resp;
}
项目:spring4-understanding    文件:AnnotationMethodHandlerAdapter.java   
@SuppressWarnings("unchecked")
private ModelAndView invokeHandlerMethod(
        PortletRequest request, PortletResponse response, Object handler, ExtendedModelMap implicitModel)
        throws Exception {

    PortletWebRequest webRequest = new PortletWebRequest(request, response);
    PortletHandlerMethodResolver methodResolver = getMethodResolver(handler);
    Method handlerMethod = methodResolver.resolveHandlerMethod(request);
    PortletHandlerMethodInvoker methodInvoker = new PortletHandlerMethodInvoker(methodResolver);

    Object result = methodInvoker.invokeHandlerMethod(handlerMethod, handler, webRequest, implicitModel);
    ModelAndView mav = methodInvoker.getModelAndView(handlerMethod, handler.getClass(), result, implicitModel,
            webRequest);
    methodInvoker.updateModelAttributes(
            handler, (mav != null ? mav.getModel() : null), implicitModel, webRequest);

    // Expose implicit model for subsequent render phase.
    if (response instanceof StateAwareResponse && !implicitModel.isEmpty()) {
        StateAwareResponse stateResponse = (StateAwareResponse) response;
        Map<?, ?> modelToStore = implicitModel;
        try {
            stateResponse.setRenderParameter(IMPLICIT_MODEL_RENDER_PARAMETER, Boolean.TRUE.toString());
            if (response instanceof EventResponse) {
                // Update the existing model, if any, when responding to an event -
                // whereas we're replacing the model in case of an action response.
                Map<String, Object> existingModel = (Map<String, Object>)
                        request.getPortletSession().getAttribute(IMPLICIT_MODEL_SESSION_ATTRIBUTE);
                if (existingModel != null) {
                    existingModel.putAll(implicitModel);
                    modelToStore = existingModel;
                }
            }
            request.getPortletSession().setAttribute(IMPLICIT_MODEL_SESSION_ATTRIBUTE, modelToStore);
        }
        catch (IllegalStateException ex) {
            // Probably sendRedirect called... no need to expose model to render phase.
        }
    }

    return mav;
}
项目:spring4-understanding    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping(name = "this")
public void myHandle(StateAwareResponse response) {
    response.setRenderParameter("test", "value");
}
项目:spring4-understanding    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("that")
public void myHandle2(StateAwareResponse response) {
    response.setRenderParameter("test", "value2");
}
项目:spring4-understanding    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("error")
public void myError(StateAwareResponse response) {
    throw new IllegalStateException("XXX");
}
项目:spring4-understanding    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("else")
public void myHandle(StateAwareResponse response) {
    response.setRenderParameter("test", "value3");
}
项目:class-guard    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("this")
public void myHandle(StateAwareResponse response) {
    response.setRenderParameter("test", "value");
}
项目:class-guard    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("that")
public void myHandle2(StateAwareResponse response) {
    response.setRenderParameter("test", "value2");
}
项目:class-guard    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("error")
public void myError(StateAwareResponse response) {
    throw new IllegalStateException("XXX");
}
项目:class-guard    文件:Portlet20AnnotationControllerTests.java   
@ActionMapping("else")
public void myHandle(StateAwareResponse response) {
    response.setRenderParameter("test", "value3");
}
项目:portals-pluto    文件:BaseEventTest.java   
protected void tally(StateAwareResponse response) {
    // Eventually will track how many test methods run...
    // Maybe should move to the AbstractReflectivePortletTest class?
}
项目:portals-pluto    文件:DefineObjectsTag362.java   
@Override
protected void setPortletRequestResponseAttribute(PortletRequest request, PortletResponse response) {

   PortletContext poco = request.getPortletContext();
   setAttribute(poco, "portletContext");

   PortletConfig config = (PortletConfig) pageContext.getRequest().getAttribute(Constants.PORTLET_CONFIG);
   setAttribute(config.getPortletName(), "portletName");

   setAttribute(request.getRenderParameters(), "renderParams");
   setAttribute(request.getPortletMode(), "portletMode");
   setAttribute(request.getWindowState(), "windowState");
   setAttribute(request.getCookies(), "cookies");
   setAttribute(Collections.list(request.getLocales()).toArray(new Locale[0]), "locales");
   setAttribute(request.getLocale(), "locale");
   setAttribute(request.getWindowID(), "windowId");
   setAttribute(request.getContextPath(), "contextPath");
   setAttribute(response.getNamespace(), "namespace");

   if (request instanceof ClientDataRequest) {
      setAttribute(request, "clientDataRequest");
      if (request instanceof ActionRequest) {
         setAttribute(((ActionRequest) request).getActionParameters(), "actionParameters");
      } else {
         setAttribute(((ResourceRequest) request).getResourceParameters(), "resourceParameters");
      }
   }

   if (response instanceof StateAwareResponse) {
      setAttribute(response, "stateAwareResponse");
      setAttribute(((StateAwareResponse) response).getRenderParameters(), "mutableRenderParams");
   }

   if (response instanceof MimeResponse) {
      setAttribute(response, "mimeResponse");
   }

   if(request instanceof HeaderRequest){
      setAttribute(request, "headerRequest");
      setAttribute(response, "headerResponse");
   }     

   super.setPortletRequestResponseAttribute(request, response);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
/**
 * @param response
 */
public StateAwareResponseWrapper(StateAwareResponse response) {
   super(response);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public MutableRenderParameters getRenderParameters() {
   return ((StateAwareResponse)response).getRenderParameters();
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public void setWindowState(WindowState windowState)
      throws WindowStateException {
   ((StateAwareResponse)response).setWindowState(windowState);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public void setPortletMode(PortletMode portletMode)
      throws PortletModeException {
   ((StateAwareResponse)response).setPortletMode(portletMode);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public PortletMode getPortletMode() {
   return ((StateAwareResponse)response).getPortletMode();
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public WindowState getWindowState() {
   return ((StateAwareResponse)response).getWindowState();
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
@Deprecated
public void setRenderParameters(Map<String, String[]> parameters) {
   ((StateAwareResponse)response).setRenderParameters(parameters);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
@Deprecated
public void setRenderParameter(String key, String value) {
   ((StateAwareResponse)response).setRenderParameter(key, value);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
@Deprecated
public void setRenderParameter(String key, String... values) {
   ((StateAwareResponse)response).setRenderParameter(key, values);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public void setEvent(QName name, Serializable value) {
   ((StateAwareResponse)response).setEvent(name, value);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
public void setEvent(String name, Serializable value) {
   ((StateAwareResponse)response).setEvent(name, value);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
@Deprecated
public Map<String, String[]> getRenderParameterMap() {
   return ((StateAwareResponse)response).getRenderParameterMap();
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
@Deprecated
public void removePublicRenderParameter(String name) {
   ((StateAwareResponse)response).removePublicRenderParameter(name);
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
/**
 * Return the wrapped response object.
 * 
 * @return the wrapped response
 */
public StateAwareResponse getResponse() {
   return (StateAwareResponse) response;
}
项目:portals-pluto    文件:StateAwareResponseWrapper.java   
/**
 * Sets the response object being wrapped.
 * 
 * @param response the response to set
 * @throws java.lang.IllegalArgumentException   if the response is null.
 */
public void setResponse(StateAwareResponse response) {
   super.setResponse(response);
}