// The tck uses only get & post requests protected void processTCKReq(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { LOGGER.entering(LOG_CLASS, "servlet entry"); PortletRequest portletReq = (PortletRequest) request.getAttribute("javax.portlet.request"); PortletResponse portletResp = (PortletResponse) request.getAttribute("javax.portlet.response"); PortletConfig portletConfig = (PortletConfig) request.getAttribute("javax.portlet.config"); long svtTid = Thread.currentThread().getId(); long reqTid = (Long) portletReq.getAttribute(THREADID_ATTR); PrintWriter writer = ((MimeResponse) portletResp).getWriter(); JSR286DispatcherReqRespTestCaseDetails tcd = new JSR286DispatcherReqRespTestCaseDetails(); // Create result objects for the tests /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_containsHeader */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.containsHeader must return false" */ TestResult tr0 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_CONTAINSHEADER); try { boolean ok = response.containsHeader("Accept"); tr0.setTcSuccess(ok == false); } catch (Exception e) { tr0.appendTcDetail(e.toString()); } tr0.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_encodeRedirectURL1 */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.encodeRedirectURL must return null" */ TestResult tr1 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_ENCODEREDIRECTURL1); try { String isval = response.encodeRedirectURL("http://www.cnn.com/"); CompareUtils.stringsEqual(isval, null, tr1); } catch (Exception e) { tr1.appendTcDetail(e.toString()); } tr1.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_encodeRedirectUrl */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.encodeRedirectUrl must return null" */ TestResult tr2 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_ENCODEREDIRECTURL); try { String isval = response.encodeRedirectUrl("http://www.cnn.com/"); CompareUtils.stringsEqual(isval, null, tr2); } catch (Exception e) { tr2.appendTcDetail(e.toString()); } tr2.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_encodeURL1 */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.encodeURL must provide the same */ /* functionality as ResourceResponse.encodeURL" */ TestResult tr3 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_ENCODEURL1); try { String turl = "http://www.apache.org/"; String hval = (String) response.encodeURL(turl); String pval = (String) portletResp.encodeURL(turl); CompareUtils.stringsEqual("HttpServletResponse", hval, "ResourceResponse", pval, tr3); } catch (Exception e) { tr3.appendTcDetail(e.toString()); } tr3.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_encodeUrl */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.encodeUrl must provide the same */ /* functionality as ResourceResponse.encodeURL" */ TestResult tr4 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_ENCODEURL); try { String turl = "http://www.apache.org/"; String hval = (String) response.encodeUrl(turl); String pval = (String) portletResp.encodeURL(turl); CompareUtils.stringsEqual("HttpServletResponse", hval, "ResourceResponse", pval, tr4); } catch (Exception e) { tr4.appendTcDetail(e.toString()); } tr4.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_getBufferSize */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.getBufferSize must provide the same */ /* functionality as ResourceResponse.getBufferSize" */ TestResult tr5 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_GETBUFFERSIZE); try { int hval = response.getBufferSize(); int pval = ((ResourceResponse) portletResp).getBufferSize(); String str = "Value " + hval + " from " + "HttpServletResponse" + " does not equal value " + pval + " + ResourceResponse"; if (hval != pval) { tr5.appendTcDetail(str); } tr5.setTcSuccess(hval == pval); } catch (Exception e) { tr5.appendTcDetail(e.toString()); } tr5.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_getCharacterEncoding */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.getCharacterEncoding must provide */ /* the same functionality as ResourceResponse.getCharacterEncoding" */ TestResult tr6 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_GETCHARACTERENCODING); try { String hval = response.getCharacterEncoding(); String pval = ((ResourceResponse) portletResp).getCharacterEncoding(); CompareUtils.stringsEqual("HttpServletResponse", hval, "ResourceResponse", pval, tr6); } catch (Exception e) { tr6.appendTcDetail(e.toString()); } tr6.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_getContentType */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.getContentType must provide the */ /* same functionality as ResourceResponse.getContentType" */ TestResult tr7 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_GETCONTENTTYPE); try { String hval = response.getContentType(); String pval = ((ResourceResponse) portletResp).getContentType(); CompareUtils.stringsEqual("HttpServletResponse", hval, "ResourceResponse", pval, tr7); } catch (Exception e) { tr7.appendTcDetail(e.toString()); } tr7.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_getLocale */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.getLocale must provide the same */ /* functionality as ResourceResponse.getLocale" */ TestResult tr8 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_GETLOCALE); try { Locale hl = response.getLocale(); Locale pl = ((MimeResponse) portletResp).getLocale(); String hval = hl.getDisplayName(); String pval = pl.getDisplayName(); CompareUtils.stringsEqual("HttpServletResponse", hval, "ResourceResponse", pval, tr8); } catch (Exception e) { tr8.appendTcDetail(e.toString()); } tr8.writeTo(writer); /* TestCase: V2DispatcherReqRespTests4_SPEC2_19_IncludeServletResourceResponse_isCommitted */ /* Details: "In a target servlet of a include in the Resource phase, */ /* the method HttpServletResponse.isCommitted must provide the same */ /* functionality as ResourceResponse.isCommitted" */ TestResult tr9 = tcd.getTestResultFailed( V2DISPATCHERREQRESPTESTS4_SPEC2_19_INCLUDESERVLETRESOURCERESPONSE_ISCOMMITTED); try { boolean hval = response.isCommitted(); boolean pval = ((ResourceResponse) portletResp).isCommitted(); String str = "Value " + hval + " from " + "HttpServletResponse" + " does not equal value " + pval + " + ResourceResponse"; if (hval != pval) { tr9.appendTcDetail(str); } tr9.setTcSuccess(hval == pval); } catch (Exception e) { tr9.appendTcDetail(e.toString()); } tr9.writeTo(writer); }
@Override public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp) throws PortletException, IOException { LOGGER.entering(LOG_CLASS, "main portlet serveResource entry"); long tid = Thread.currentThread().getId(); portletReq.setAttribute(THREADID_ATTR, tid); PrintWriter writer = portletResp.getWriter(); JSR286SignatureTestCaseDetails tcd = new JSR286SignatureTestCaseDetails(); // Create result objects for the tests PortletURL url = portletResp.createActionURL(); ClassChecker cc = new ClassChecker(url.getClass()); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasAddProperty */ /* Details: "Action URL has a addProperty(String, String) method " */ TestResult tr0 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASADDPROPERTY); try { String name = "addProperty"; Class<?>[] exceptions = null; Class<?>[] parms = {String.class, String.class}; tr0.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr0.appendTcDetail(e.toString()); } tr0.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasAddPropertyReturns */ /* Details: "Action URL method addProperty(String, String) returns */ /* void " */ TestResult tr1 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASADDPROPERTYRETURNS); try { String name = "addProperty"; Class<?> retType = void.class; Class<?>[] parms = {String.class, String.class}; tr1.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr1.appendTcDetail(e.toString()); } tr1.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasGetParameterMap */ /* Details: "Action URL has a getParameterMap() method " */ TestResult tr2 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASGETPARAMETERMAP); try { String name = "getParameterMap"; Class<?>[] exceptions = null; Class<?>[] parms = null; tr2.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr2.appendTcDetail(e.toString()); } tr2.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasGetParameterMapReturns */ /* Details: "Action URL method getParameterMap() returns */ /* java.util.Map " */ TestResult tr3 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASGETPARAMETERMAPRETURNS); try { String name = "getParameterMap"; Class<?> retType = java.util.Map.class; Class<?>[] parms = null; tr3.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr3.appendTcDetail(e.toString()); } tr3.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameter */ /* Details: "Action URL has a setParameter(String, String) method " */ TestResult tr4 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETER); try { String name = "setParameter"; Class<?>[] exceptions = null; Class<?>[] parms = {String.class, String.class}; tr4.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr4.appendTcDetail(e.toString()); } tr4.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameterA */ /* Details: "Action URL has a setParameter(String, String[]) method */ /* " */ TestResult tr5 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERA); try { String name = "setParameter"; Class<?>[] exceptions = null; Class<?>[] parms = {String.class, String[].class}; tr5.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr5.appendTcDetail(e.toString()); } tr5.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameterReturns */ /* Details: "Action URL method setParameter(String, String) returns */ /* void " */ TestResult tr6 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERRETURNS); try { String name = "setParameter"; Class<?> retType = void.class; Class<?>[] parms = {String.class, String.class}; tr6.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr6.appendTcDetail(e.toString()); } tr6.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameterReturnsA */ /* Details: "Action URL method setParameter(String, String[]) returns */ /* void " */ TestResult tr7 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERRETURNSA); try { String name = "setParameter"; Class<?> retType = void.class; Class<?>[] parms = {String.class, String[].class}; tr7.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr7.appendTcDetail(e.toString()); } tr7.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParameters */ /* Details: "Action URL has a setParameters(java.util.Map) method " */ TestResult tr8 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERS); try { String name = "setParameters"; Class<?>[] exceptions = null; Class<?>[] parms = {java.util.Map.class}; tr8.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr8.appendTcDetail(e.toString()); } tr8.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetParametersReturns */ /* Details: "Action URL method setParameters(java.util.Map) returns */ /* void " */ TestResult tr9 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPARAMETERSRETURNS); try { String name = "setParameters"; Class<?> retType = void.class; Class<?>[] parms = {java.util.Map.class}; tr9.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr9.appendTcDetail(e.toString()); } tr9.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetProperty */ /* Details: "Action URL has a setProperty(String, String) method " */ TestResult tr10 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPROPERTY); try { String name = "setProperty"; Class<?>[] exceptions = null; Class<?>[] parms = {String.class, String.class}; tr10.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr10.appendTcDetail(e.toString()); } tr10.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetPropertyReturns */ /* Details: "Action URL method setProperty(String, String) returns */ /* void " */ TestResult tr11 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETPROPERTYRETURNS); try { String name = "setProperty"; Class<?> retType = void.class; Class<?>[] parms = {String.class, String.class}; tr11.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr11.appendTcDetail(e.toString()); } tr11.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetSecure */ /* Details: "Action URL has a setSecure(boolean) throws */ /* PortletSecurityException method " */ TestResult tr12 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETSECURE); try { String name = "setSecure"; Class<?>[] exceptions = {PortletSecurityException.class}; Class<?>[] parms = {boolean.class}; tr12.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr12.appendTcDetail(e.toString()); } tr12.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasSetSecureReturns */ /* Details: "Action URL method setSecure(boolean) returns void " */ TestResult tr13 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASSETSECURERETURNS); try { String name = "setSecure"; Class<?> retType = void.class; Class<?>[] parms = {boolean.class}; tr13.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr13.appendTcDetail(e.toString()); } tr13.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasToString */ /* Details: "Action URL has a toString() method " */ TestResult tr14 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASTOSTRING); try { String name = "toString"; Class<?>[] exceptions = null; Class<?>[] parms = null; tr14.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr14.appendTcDetail(e.toString()); } tr14.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasToStringReturns */ /* Details: "Action URL method toString() returns String " */ TestResult tr15 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASTOSTRINGRETURNS); try { String name = "toString"; Class<?> retType = String.class; Class<?>[] parms = null; tr15.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr15.appendTcDetail(e.toString()); } tr15.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWrite */ /* Details: "Action URL has a write(java.io.Writer) throws */ /* java.io.IOException method " */ TestResult tr16 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITE); try { String name = "write"; Class<?>[] exceptions = {java.io.IOException.class}; Class<?>[] parms = {java.io.Writer.class}; tr16.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr16.appendTcDetail(e.toString()); } tr16.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWriteA */ /* Details: "Action URL has a write(java.io.Writer, boolean) throws */ /* java.io.IOException method " */ TestResult tr17 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITEA); try { String name = "write"; Class<?>[] exceptions = {java.io.IOException.class}; Class<?>[] parms = {java.io.Writer.class, boolean.class}; tr17.setTcSuccess(cc.hasMethod(name, parms, exceptions)); } catch (Exception e) { tr17.appendTcDetail(e.toString()); } tr17.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWriteReturns */ /* Details: "Action URL method write(java.io.Writer) returns void " */ TestResult tr18 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITERETURNS); try { String name = "write"; Class<?> retType = void.class; Class<?>[] parms = {java.io.Writer.class}; tr18.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr18.appendTcDetail(e.toString()); } tr18.writeTo(writer); /* TestCase: V2SigTestsURL_BaseURL_SIGResourceActurl_hasWriteReturnsA */ /* Details: "Action URL method write(java.io.Writer, boolean) returns */ /* void " */ TestResult tr19 = tcd.getTestResultFailed(V2SIGTESTSURL_BASEURL_SIGRESOURCEACTURL_HASWRITERETURNSA); try { String name = "write"; Class<?> retType = void.class; Class<?>[] parms = {java.io.Writer.class, boolean.class}; tr19.setTcSuccess(cc.methodHasReturnType(name, retType, parms)); } catch (Exception e) { tr19.appendTcDetail(e.toString()); } tr19.writeTo(writer); }