java类javax.portlet.EventRequest的实例源码

PortletHubTests_SPEC_23_JSPRP_TX.java 文件源码 项目:portals-pluto 阅读 17 收藏 0 点赞 0 评论 0
@EventMethod(portletName = "PortletHubTests_SPEC_23_JSPRP_TX", processingEvents = {
      @PortletQName(namespaceURI="http://www.apache.org/", localPart="prpevent")
})
public void doEvent(EventRequest eventReq, EventResponse eventResp) {

   MutableRenderParameters mrp = eventResp.getRenderParameters();
   String testcase = (String) eventReq.getEvent().getValue();

   if (testcase == null || testcase.isEmpty()) {

      mrp.setValue("status", "Failed. No test case parameter present.");

   } else if (testcase.equals(V3PORTLETHUBTESTS_SPEC_23_JSPRP_ACTION1) ||
         testcase.equals(V3PORTLETHUBTESTS_SPEC_23_JSPRP_ACTION2)) {

      mrp.setValue("status", "OK");
      mrp.setValue("prptestcase", testcase);
   }

}
PortletHubTests_SPEC_23_JSAction.java 文件源码 项目:portals-pluto 阅读 16 收藏 0 点赞 0 评论 0
@EventMethod(portletName = "PortletHubTests_SPEC_23_JSAction", processingEvents = {
      @PortletQName(namespaceURI="http://www.apache.org/", localPart="event")
})
public void doEvent(EventRequest eventReq, EventResponse eventResp) {

   MutableRenderParameters mrp = eventResp.getRenderParameters();
   String testcase = mrp.getValue("testcase");

   if (testcase == null || testcase.isEmpty()) {
      mrp.setValue("status", "Failed. No test case parameter present.");
   } else if (testcase.equals(V3PORTLETHUBTESTS_SPEC_23_JSACTION_ACTION6)) {
      mrp.setValue("status", "OK");
   } else {
      mrp.setValue("status", "Failed. Unknown test case: " + testcase);
   }

}
AddlPortletTests_SPEC2_5_RenderGenericPortlet_event.java 文件源码 项目:portals-pluto 阅读 23 收藏 0 点赞 0 评论 0
@ProcessEvent(qname = "AddlPortletTests_SPEC2_5_RenderGenericPortlet")
public void processEvent(EventRequest portletReq, EventResponse portletResp)
    throws PortletException, IOException {
  JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();

  /* TestCase: V2AddlPortletTests_SPEC2_5_RenderGenericPortlet_eventDispatching1 */
  /* Details: "The GenericPortlet processEvent method will dispatch the */
  /* request to a subclass method annotated with the tag */
  /* @ProcessEvent(qname=<eventname>), where <eventname> */
  /* must be in the format provided by Qname.toString()" */

  Event event = portletReq.getEvent();
  String qName = event.getName();
  TestResult tr1 =
      tcd.getTestResultFailed(V2ADDLPORTLETTESTS_SPEC2_5_RENDERGENERICPORTLET_EVENTDISPATCHING1);
  if (qName.toString().equals("AddlPortletTests_SPEC2_5_RenderGenericPortlet")) {
    tr1.setTcSuccess(true);
  } else {
    tr1.appendTcDetail(
        "Failed because QName is not AddlPortletTests_SPEC2_5_RenderGenericPortlet");
  }
  portletReq.getPortletSession().setAttribute(
      Constants.RESULT_ATTR_PREFIX + "AddlPortletTests_SPEC2_5_RenderGenericPortlet_event_a",
      tr1.toString(), APPLICATION_SCOPE);
}
AddlPortletTests_SPEC2_5_RenderGenericPortlet.java 文件源码 项目:portals-pluto 阅读 18 收藏 0 点赞 0 评论 0
@ProcessEvent(name = "AddlPortletTests_SPEC2_5_RenderGenericPortlet_localPart")
public void processEvent(EventRequest portletReq, EventResponse response)
      throws PortletException, IOException {
   JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();

   /*
    * TestCase:
    * V2AddlPortletTests_SPEC2_5_RenderGenericPortlet_eventDispatching2
    */
   /* Details: "The GenericPortlet processEvent method will dispatch the */
   /* request to a subclass method annotated with the tag */
   /* @ProcessEvent(name=<event_name_local_part>)" */
   TestResult tr2 = tcd.getTestResultFailed(
         V2ADDLPORTLETTESTS_SPEC2_5_RENDERGENERICPORTLET_EVENTDISPATCHING2);
   tr2.setTcSuccess(true);
   portletReq.getPortletSession().setAttribute(
         RESULT_ATTR_PREFIX
               + "AddlPortletTests_SPEC2_5_RenderGenericPortlet_event_b",
         tr2.toString(), APPLICATION_SCOPE);

}
DispatcherReqRespTests2_SPEC2_19_ForwardServletEventResponse_event.java 文件源码 项目:portals-pluto 阅读 17 收藏 0 点赞 0 评论 0
@Override
public void processEvent(EventRequest portletReq, EventResponse portletResp)
      throws PortletException, IOException {


   portletResp.setRenderParameters(portletReq);

   long tid = Thread.currentThread().getId();
   portletReq.setAttribute(THREADID_ATTR, tid);

   // Now do the actual dispatch
   String target = SERVLET_PREFIX + "DispatcherReqRespTests2_SPEC2_19_ForwardServletEventResponse_servlet" + SERVLET_SUFFIX + "?" + QUERY_STRING;
   PortletRequestDispatcher rd = portletConfig.getPortletContext()
         .getRequestDispatcher(target);
   rd.forward(portletReq, portletResp);

}
DispatcherReqRespTests2_SPEC2_19_ForwardServletEventRequest_event.java 文件源码 项目:portals-pluto 阅读 17 收藏 0 点赞 0 评论 0
@Override
public void processEvent(EventRequest portletReq, EventResponse portletResp)
      throws PortletException, IOException {


   portletResp.setRenderParameters(portletReq);

   long tid = Thread.currentThread().getId();
   portletReq.setAttribute(THREADID_ATTR, tid);

   // Prereq for: V2DispatcherReqRespTests2_SPEC2_19_ForwardServletEventRequest_getAttribute
   portletReq.setAttribute(ATTR_PREFIX +"V2DispatcherReqRespTests2_SPEC2_19_ForwardServletEventRequest_getAttribute", "Value1");

   // Prereq for: V2DispatcherReqRespTests2_SPEC2_19_ForwardServletEventRequest_getAttributeNames
   portletReq.setAttribute(ATTR_PREFIX + "V2DispatcherReqRespTests2_SPEC2_19_ForwardServletEventRequest_getAttributeNames", "Value1");

   // Now do the actual dispatch
   String target = SERVLET_PREFIX + "DispatcherReqRespTests2_SPEC2_19_ForwardServletEventRequest_servlet" + SERVLET_SUFFIX + "?" + QUERY_STRING;
   PortletRequestDispatcher rd = portletConfig.getPortletContext()
         .getRequestDispatcher(target);
   rd.forward(portletReq, portletResp);

}
AnnotationMethodHandlerAdapter.java 文件源码 项目:spring4-understanding 阅读 21 收藏 0 点赞 0 评论 0
@Override
public void handleEvent(EventRequest request, EventResponse response, Object handler) throws Exception {
    Object returnValue = doHandle(request, response, handler);
    if (returnValue != null) {
        throw new IllegalStateException("Invalid event method return value: " + returnValue);
    }
}
AnnotationMethodHandlerAdapter.java 文件源码 项目:spring4-understanding 阅读 20 收藏 0 点赞 0 评论 0
public boolean match(PortletRequest request) {
    if (!this.modes.isEmpty() && !this.modes.contains(request.getPortletMode())) {
        return false;
    }
    if (StringUtils.hasLength(this.phase) &&
            !this.phase.equals(request.getAttribute(PortletRequest.LIFECYCLE_PHASE))) {
        return false;
    }
    if (StringUtils.hasLength(this.value)) {
        if (this.phase.equals(PortletRequest.ACTION_PHASE) &&
                !this.value.equals(request.getParameter(ActionRequest.ACTION_NAME))) {
            return false;
        }
        else if (this.phase.equals(PortletRequest.RENDER_PHASE) &&
                !(new WindowState(this.value)).equals(request.getWindowState())) {
            return false;
        }
        else if (this.phase.equals(PortletRequest.RESOURCE_PHASE) &&
                !this.value.equals(((ResourceRequest) request).getResourceID())) {
            return false;
        }
        else if (this.phase.equals(PortletRequest.EVENT_PHASE)) {
            Event event = ((EventRequest) request).getEvent();
            if (!this.value.equals(event.getName()) && !this.value.equals(event.getQName().toString())) {
                return false;
            }
        }
    }
    return (PortletAnnotationMappingUtils.checkRequestMethod(this.methods, request) &&
            PortletAnnotationMappingUtils.checkParameters(this.params, request) &&
            PortletAnnotationMappingUtils.checkHeaders(this.headers, request));
}
DefaultAnnotationHandlerMapping.java 文件源码 项目:spring4-understanding 阅读 24 收藏 0 点赞 0 评论 0
@Override
public boolean match(PortletRequest request) {
    if (!PortletRequest.EVENT_PHASE.equals(request.getAttribute(PortletRequest.LIFECYCLE_PHASE))) {
        return false;
    }
    if ("".equals(this.eventName)) {
        return true;
    }
    Event event = ((EventRequest) request).getEvent();
    return (this.eventName.equals(event.getName()) || this.eventName.equals(event.getQName().toString()));
}
PortletWrappingController.java 文件源码 项目:spring4-understanding 阅读 19 收藏 0 点赞 0 评论 0
@Override
public void handleEventRequest(
        EventRequest request, EventResponse response) throws Exception {

    if (!(this.portletInstance instanceof EventPortlet)) {
        logger.debug("Ignoring event request for non-event target portlet: " + this.portletInstance.getClass());
        return;
    }
    EventPortlet eventPortlet = (EventPortlet) this.portletInstance;

    // Delegate to PortletContentGenerator for checking and preparing.
    check(request, response);

    // Execute in synchronized block if required.
    if (isSynchronizeOnSession()) {
        PortletSession session = request.getPortletSession(false);
        if (session != null) {
            Object mutex = PortletUtils.getSessionMutex(session);
            synchronized (mutex) {
                eventPortlet.processEvent(request, response);
                return;
            }
        }
    }

    eventPortlet.processEvent(request, response);
}


问题


面经


文章

微信
公众号

扫码关注公众号