Example usage for org.apache.commons.lang3 StringUtils containsIgnoreCase

List of usage examples for org.apache.commons.lang3 StringUtils containsIgnoreCase

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils containsIgnoreCase.

Prototype

public static boolean containsIgnoreCase(final CharSequence str, final CharSequence searchStr) 

Source Link

Document

Checks if CharSequence contains a search CharSequence irrespective of case, handling null .

Usage

From source file:com.microsoft.rest.interceptors.LoggingInterceptor.java

@Override
public Response intercept(Chain chain) throws IOException {
    // get logger
    Request request = chain.request();
    String context = request.header(LOGGING_HEADER);
    if (context == null) {
        context = "";
    }/*  w  w w.  j a  v  a  2s  . co m*/
    Logger logger = LoggerFactory.getLogger(context);

    // log URL
    if (logLevel != LogLevel.NONE) {
        log(logger, String.format("--> %s %s", request.method(), request.url()));
    }
    // log headers
    if (logLevel == LogLevel.HEADERS || logLevel == LogLevel.BODY_AND_HEADERS) {
        for (String header : request.headers().names()) {
            if (!LOGGING_HEADER.equals(header)) {
                log(logger, String.format("%s: %s", header, Joiner.on(", ").join(request.headers(header))));
            }
        }
    }
    // log body
    if (logLevel == LogLevel.BODY || logLevel == LogLevel.BODY_AND_HEADERS) {
        if (request.body() != null) {
            Buffer buffer = new Buffer();
            request.body().writeTo(buffer);

            Charset charset = Charset.forName("UTF8");
            MediaType contentType = request.body().contentType();
            if (contentType != null) {
                charset = contentType.charset(charset);
            }

            if (isPlaintext(buffer)) {
                String content = buffer.clone().readString(charset);
                if (logLevel.isPrettyJson()) {
                    try {
                        content = MAPPER.writerWithDefaultPrettyPrinter()
                                .writeValueAsString(MAPPER.readValue(content, JsonNode.class));
                    } catch (Exception e) {
                        // swallow, keep original content
                    }
                }
                log(logger, String.format("%s-byte body:\n%s", request.body().contentLength(), content));
                log(logger, "--> END " + request.method());
            } else {
                log(logger, "--> END " + request.method() + " (binary " + request.body().contentLength()
                        + "-byte body omitted)");
            }
        }
    }

    long startNs = System.nanoTime();
    Response response;
    try {
        response = chain.proceed(request);
    } catch (Exception e) {
        log(logger, "<-- HTTP FAILED: " + e);
        throw e;
    }
    long tookMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNs);

    ResponseBody responseBody = response.body();
    long contentLength = responseBody.contentLength();
    String bodySize = contentLength != -1 ? contentLength + "-byte" : "unknown-length";

    // log URL
    if (logLevel != LogLevel.NONE) {
        log(logger, String.format("<-- %s %s %s (%s ms, %s body)", response.code(), response.message(),
                response.request().url(), tookMs, bodySize));
    }

    // log headers
    if (logLevel == LogLevel.HEADERS || logLevel == LogLevel.BODY_AND_HEADERS) {
        for (String header : response.headers().names()) {
            log(logger, String.format("%s: %s", header, Joiner.on(", ").join(response.headers(header))));
        }
    }

    // log body
    if (logLevel == LogLevel.BODY || logLevel == LogLevel.BODY_AND_HEADERS) {
        if (response.body() != null) {
            BufferedSource source = responseBody.source();
            source.request(Long.MAX_VALUE); // Buffer the entire body.
            Buffer buffer = source.buffer();

            Charset charset = Charset.forName("UTF8");
            MediaType contentType = responseBody.contentType();
            if (contentType != null) {
                try {
                    charset = contentType.charset(charset);
                } catch (UnsupportedCharsetException e) {
                    log(logger, "Couldn't decode the response body; charset is likely malformed.");
                    log(logger, "<-- END HTTP");
                    return response;
                }
            }

            boolean gzipped = response.header("content-encoding") != null
                    && StringUtils.containsIgnoreCase(response.header("content-encoding"), "gzip");
            if (!isPlaintext(buffer) && !gzipped) {
                log(logger, "<-- END HTTP (binary " + buffer.size() + "-byte body omitted)");
                return response;
            }

            if (contentLength != 0) {
                String content;
                if (gzipped) {
                    content = CharStreams
                            .toString(new InputStreamReader(new GZIPInputStream(buffer.clone().inputStream())));
                } else {
                    content = buffer.clone().readString(charset);
                }
                if (logLevel.isPrettyJson()) {
                    try {
                        content = MAPPER.writerWithDefaultPrettyPrinter()
                                .writeValueAsString(MAPPER.readValue(content, JsonNode.class));
                    } catch (Exception e) {
                        // swallow, keep original content
                    }
                }
                log(logger, String.format("%s-byte body:\n%s", buffer.size(), content));
            }
            log(logger, "<-- END HTTP");
        }
    }
    return response;
}

From source file:fr.cph.chicago.activity.BusBoundActivity.java

@Override
public final void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ChicagoTracker.checkBusData(this);
    if (!this.isFinishing()) {
        setContentView(R.layout.activity_bus_bound);

        if (mBusRouteId == null && mBusRouteName == null && mBound == null) {
            mBusRouteId = getIntent().getExtras().getString("busRouteId");
            mBusRouteName = getIntent().getExtras().getString("busRouteName");
            mBound = getIntent().getExtras().getString("bound");
        }/*w w w  .  jav a 2  s. co  m*/
        mAdapter = new BusBoundAdapter(mBusRouteId);
        setListAdapter(mAdapter);
        getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                BusStop busStop = (BusStop) mAdapter.getItem(position);
                Intent intent = new Intent(ChicagoTracker.getAppContext(), BusActivity.class);

                Bundle extras = new Bundle();
                extras.putInt("busStopId", busStop.getId());
                extras.putString("busStopName", busStop.getName());
                extras.putString("busRouteId", mBusRouteId);
                extras.putString("busRouteName", mBusRouteName);
                extras.putString("bound", mBound);
                extras.putDouble("latitude", busStop.getPosition().getLatitude());
                extras.putDouble("longitude", busStop.getPosition().getLongitude());

                intent.putExtras(extras);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
                overridePendingTransition(R.anim.slide_in, R.anim.slide_out);
            }
        });

        EditText filter = (EditText) findViewById(R.id.bus_filter);
        filter.addTextChangedListener(new TextWatcher() {
            List<BusStop> busStopsFiltered;

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                busStopsFiltered = new ArrayList<BusStop>();
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                for (BusStop busStop : mBusStops) {
                    if (StringUtils.containsIgnoreCase(busStop.getName(), s)) {
                        this.busStopsFiltered.add(busStop);
                    }
                }
            }

            @Override
            public void afterTextChanged(Editable s) {
                mAdapter.update(busStopsFiltered);
                mAdapter.notifyDataSetChanged();
            }
        });

        getActionBar().setDisplayHomeAsUpEnabled(true);
        new BusBoundAsyncTask().execute();

        // Preventing keyboard from moving background when showing up
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
    }
}

From source file:controllers.WidgetAdmin.java

private static String isPasswordStrongEnough(String password, String email) {
    if (StringUtils.length(password) < 8) {
        return "Password is too short";
    }/*from  w  w  w .  ja  v  a 2  s .c o m*/
    if (!Pattern.matches("(?=^.{8,}$)((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$", password)
            && !StringUtils.containsIgnoreCase(email, password)) {
        return "Password must match requirements";
    }

    Set<String> strSet = new HashSet<String>();
    for (String s : password.split("")) {
        if (StringUtils.length(s) > 0) {
            strSet.add(s.toLowerCase());
        }
    }

    if (CollectionUtils.size(strSet) < 3) {
        return "Too many repeating letters";
    }

    if (StringUtils.getLevenshteinDistance(password, email.split("@")[0]) < 5
            || StringUtils.getLevenshteinDistance(password, email.split("@")[1]) < 5) {
        return "Password similar to email";
    }

    return null;
}

From source file:javax.portlet.tck.portlets.AddlRequestTests_SPEC2_11_EventReq_event.java

@SuppressWarnings("deprecation")
@Override/*from   ww  w.ja  v  a 2s .co m*/
public void processEvent(EventRequest portletReq, EventResponse portletResp)
        throws PortletException, IOException {

    portletResp.setRenderParameters(portletReq);

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

    StringWriter writer = new StringWriter();

    JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();

    // Create result objects for the tests

    /* TestCase: V2AddlRequestTests_SPEC2_11_EventReq_contentType1 */
    /* Details: "The getResponseContentType method returns a String */
    /* representing the default content type the portlet container */
    /* assumes for the output" */
    TestResult tr0 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_EVENTREQ_CONTENTTYPE1);
    if (portletReq.getResponseContentType() != null && !portletReq.getResponseContentType().isEmpty())
        tr0.setTcSuccess(true);
    tr0.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_EventReq_contentType2 */
    /* Details: "The getResponseContentTypes method returns an */
    /* Enumeration of String elements representing the acceptable content */
    /* types for the output in order of preference" */
    TestResult tr1 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_EVENTREQ_CONTENTTYPE2);
    Enumeration<String> contentTypesTr1 = portletReq.getResponseContentTypes();
    if (contentTypesTr1 != null && contentTypesTr1.hasMoreElements()
            && !contentTypesTr1.nextElement().isEmpty())
        tr1.setTcSuccess(true);
    tr1.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_EventReq_contentType3 */
    /* Details: "The first element of the Enumeration returned by the */
    /* getResponseContentTypes method must equal the value returned by */
    /* the getResponseContentType method" */
    TestResult tr2 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_EVENTREQ_CONTENTTYPE3);
    if (portletReq.getResponseContentTypes().nextElement().equals(portletReq.getResponseContentType()))
        tr2.setTcSuccess(true);
    tr2.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_EventReq_windowId4 */
    /* Details: "The string returned by getWindowID method must be the */
    /* same ID used for scoping portlet-scope session attributes" */
    TestResult tr5 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_EVENTREQ_WINDOWID4);
    portletReq.getPortletSession().setAttribute("tr5", portletReq.getWindowID(), PORTLET_SCOPE);
    String tr5SessionAttribute = (String) portletReq.getPortletSession()
            .getAttribute("javax.portlet.p." + portletReq.getWindowID() + "?tr5", APPLICATION_SCOPE);
    if (tr5SessionAttribute != null && tr5SessionAttribute.equals(portletReq.getWindowID())) {
        tr5.setTcSuccess(true);
    } else {
        tr5.appendTcDetail("Couldn't find javax.portlet.p." + portletReq.getWindowID() + ".tr5 attribute");
    }
    tr5.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_EventReq_contentType8 */
    /* Details: "Within the processEvent method, the content type must */
    /* include only the MIME type, not the character set" */
    TestResult tr6 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_EVENTREQ_CONTENTTYPE8);
    if (!StringUtils.containsIgnoreCase(portletReq.getResponseContentType(), "UTF-8"))
        tr6.setTcSuccess(true);
    tr6.writeTo(writer);

    portletReq.getPortletSession().setAttribute(RESULT_ATTR_PREFIX + "AddlRequestTests_SPEC2_11_EventReq",
            writer.toString(), APPLICATION_SCOPE);

}

From source file:ec.edu.chyc.manejopersonal.managebean.GestorTesis.java

public boolean filtrarTutor(Object value, Object filter, Locale locale) {
    String filterText = (filter == null) ? null : filter.toString().trim();
    if (filterText == null || filterText.equals("")) {
        return true;
    }/*from ww  w  .  j  a va 2 s  .  com*/

    if (value == null) {
        return false;
    }

    Set<Persona> tutores = (Set<Persona>) value;

    for (Persona per : tutores) {
        if (StringUtils.containsIgnoreCase(per.getNombres(), filterText)
                || StringUtils.containsIgnoreCase(per.getApellidos(), filterText)) {
            return true;
        }
    }
    return false;

}

From source file:javax.portlet.tck.portlets.AddlRequestTests_SPEC2_11_RenderReq.java

@Override
public void render(RenderRequest portletReq, RenderResponse portletResp) throws PortletException, IOException {

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

    PrintWriter writer = portletResp.getWriter();

    JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();

    // Create result objects for the tests

    /* TestCase: V2AddlRequestTests_SPEC2_11_RenderReq_contentType1 */
    /* Details: "The getResponseContentType method returns a String */
    /* representing the default content type the portlet container */
    /* assumes for the output" */
    TestResult tr0 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RENDERREQ_CONTENTTYPE1);
    if (portletReq.getResponseContentType() != null && !portletReq.getResponseContentType().isEmpty())
        tr0.setTcSuccess(true);/*  w ww. j a  v a2 s . c om*/
    tr0.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_RenderReq_contentType2 */
    /* Details: "The getResponseContentTypes method returns an */
    /* Enumeration of String elements representing the acceptable content */
    /* types for the output in order of preference" */
    TestResult tr1 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RENDERREQ_CONTENTTYPE2);
    Enumeration<String> contentTypesTr1 = portletReq.getResponseContentTypes();
    if (contentTypesTr1 != null && contentTypesTr1.hasMoreElements()
            && !contentTypesTr1.nextElement().isEmpty())
        tr1.setTcSuccess(true);
    tr1.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_RenderReq_contentType3 */
    /* Details: "The first element of the Enumeration returned by the */
    /* getResponseContentTypes method must equal the value returned by */
    /* the getResponseContentType method" */
    TestResult tr2 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RENDERREQ_CONTENTTYPE3);
    if (portletReq.getResponseContentTypes().nextElement().equals(portletReq.getResponseContentType()))
        tr2.setTcSuccess(true);
    tr2.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_RenderReq_windowId4 */
    /* Details: "The string returned by getWindowID method must be the */
    /* same ID used for scoping portlet-scope session attributes" */
    TestResult tr5 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RENDERREQ_WINDOWID4);
    portletReq.getPortletSession().setAttribute("tr5", portletReq.getWindowID(), PORTLET_SCOPE);
    String tr5SessionAttribute = (String) portletReq.getPortletSession()
            .getAttribute("javax.portlet.p." + portletReq.getWindowID() + "?tr5", APPLICATION_SCOPE);
    if (tr5SessionAttribute != null && tr5SessionAttribute.equals(portletReq.getWindowID())) {
        tr5.setTcSuccess(true);
    } else {
        tr5.appendTcDetail("Couldn't find javax.portlet.p." + portletReq.getWindowID() + ".tr5 attribute");
    }
    tr5.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_RenderReq_contentType10 */
    /* Details: "Within the render method, the content type must include */
    /* only the MIME type, not the character set" */
    TestResult tr6 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RENDERREQ_CONTENTTYPE10);
    if (!StringUtils.containsIgnoreCase(portletReq.getResponseContentType(),
            portletResp.getCharacterEncoding()))
        tr6.setTcSuccess(true);
    tr6.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_RenderReq_contentType13 */
    /* Details: "The character set of the response can be retrieved via */
    /* the RenderResponse.getCharacterEncoding method" */
    TestResult tr8 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RENDERREQ_CONTENTTYPE13);
    if (portletResp.getCharacterEncoding() != null) {
        tr8.setTcSuccess(true);
    } else {
        tr8.appendTcDetail("Character Encoding is null");
    }
    tr8.writeTo(writer);

}

From source file:fr.cph.chicago.fragment.BikeFragment.java

private final void loadList() {
    EditText filter = (EditText) mRootView.findViewById(R.id.bike_filter);
    if (mAdapter == null) {
        mAdapter = new BikeAdapter(mActivity);
    }//from   w  ww.  j av  a2s  .c o m
    mListView.setAdapter(mAdapter);
    filter.addTextChangedListener(new TextWatcher() {

        private List<BikeStation> bikeStations = null;

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            this.bikeStations = new ArrayList<BikeStation>();
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            for (BikeStation bikeStation : BikeFragment.this.mBikeStations) {
                if (StringUtils.containsIgnoreCase(bikeStation.getName(), s.toString().trim())) {
                    this.bikeStations.add(bikeStation);
                }
            }
        }

        @Override
        public void afterTextChanged(Editable s) {
            mAdapter.setBikeStations(this.bikeStations);
            mAdapter.notifyDataSetChanged();
        }
    });
    mListView.setVisibility(ListView.VISIBLE);
    mFilterView.setVisibility(ListView.VISIBLE);
    mLoadingLayout.setVisibility(RelativeLayout.INVISIBLE);
    RelativeLayout errorLayout = (RelativeLayout) mRootView.findViewById(R.id.error_layout);
    errorLayout.setVisibility(RelativeLayout.INVISIBLE);
}

From source file:com.sonicle.webtop.core.util.ZPushManager.java

private String parseListDevicesOfUserOutput(List<String> lines, String lineSeparator) {
    StringBuilder sb = new StringBuilder();
    int lineNo = 0, dataLine = -1;
    for (String line : lines) {
        lineNo++;/* w ww .ja v  a 2  s  . c  o  m*/
        if (StringUtils.containsIgnoreCase(line, "Synchronized by user")) {
            dataLine = lineNo;
        }
        if ((dataLine != -1) && (lineNo >= dataLine)) {
            sb.append(line);
            sb.append(lineSeparator);
        }
    }
    return sb.toString();
}

From source file:com.evolveum.polygon.connector.hcm.FilterHandler.java

private Boolean evaluateAttributeFilter(AttributeFilter filter, String filterType, String p) {
    // LOGGER.ok("Processing trough {0} ", filter);
    if (p == null || p.isEmpty()) {
        return true;
    } else {//from ww  w  .  j a v a2 s  .  c  o  m

        String endTagName = "";
        String evaluatedValue = "";
        String uidAttributeName = "";

        String heplerVariableParts[] = p.split(DELIMITER);

        if (heplerVariableParts.length != 3) {
            return true;
        } else {
            endTagName = heplerVariableParts[0];
            evaluatedValue = heplerVariableParts[1];
            uidAttributeName = heplerVariableParts[2];
        }

        Attribute attribute = filter.getAttribute();
        String attributeValue = AttributeUtil.getAsStringValue(attribute);
        String attributeName = attribute.getName();

        if ((attributeName.equals(UID) && uidAttributeName.equals(endTagName))
                || attributeName.equals(endTagName)) {

            if (EQUALS.equals(filterType)) {
                if (!attributeValue.equals(evaluatedValue)) {
                    return false;
                }
            } else if (CONTAINS.equals(filterType)) {
                if (!StringUtils.containsIgnoreCase(evaluatedValue, attributeValue)) {

                    return false;
                }

            } else if (STARTSWITH.equals(filterType)) {
                if (!StringUtils.startsWithIgnoreCase(evaluatedValue, attributeValue)) {

                    return false;
                }

            } else if (ENDSWITH.equals(filterType)) {
                if (!StringUtils.endsWithIgnoreCase(evaluatedValue, attributeValue)) {

                    return false;
                }

            }
        }
    }
    return true;

}

From source file:javax.portlet.tck.portlets.AddlRequestTests_SPEC2_11_ResourceReq.java

@Override
public void serveResource(ResourceRequest portletReq, ResourceResponse portletResp)
        throws PortletException, IOException {

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

    PrintWriter writer = portletResp.getWriter();

    JSR286SpecTestCaseDetails tcd = new JSR286SpecTestCaseDetails();

    // Create result objects for the tests

    /* TestCase: V2AddlRequestTests_SPEC2_11_ResourceReq_contentType1 */
    /* Details: "The getResponseContentType method returns a String */
    /* representing the default content type the portlet container */
    /* assumes for the output" */
    TestResult tr0 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RESOURCEREQ_CONTENTTYPE1);
    if (portletReq.getResponseContentType() != null && !portletReq.getResponseContentType().isEmpty())
        tr0.setTcSuccess(true);//  w  ww. j a v a2s.c o  m
    tr0.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_ResourceReq_contentType2 */
    /* Details: "The getResponseContentTypes method returns an */
    /* Enumeration of String elements representing the acceptable content */
    /* types for the output in order of preference" */
    TestResult tr1 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RESOURCEREQ_CONTENTTYPE2);
    Enumeration<String> contentTypesTr1 = portletReq.getResponseContentTypes();
    if (contentTypesTr1 != null && contentTypesTr1.hasMoreElements()
            && !contentTypesTr1.nextElement().isEmpty())
        tr1.setTcSuccess(true);
    tr1.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_ResourceReq_contentType3 */
    /* Details: "The first element of the Enumeration returned by the */
    /* getResponseContentTypes method must equal the value returned by */
    /* the getResponseContentType method" */
    TestResult tr2 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RESOURCEREQ_CONTENTTYPE3);
    if (portletReq.getResponseContentTypes().nextElement().equals(portletReq.getResponseContentType()))
        tr2.setTcSuccess(true);
    tr2.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_ResourceReq_windowId4 */
    /* Details: "The string returned by getWindowID method must be the */
    /* same ID used for scoping portlet-scope session attributes" */
    TestResult tr5 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RESOURCEREQ_WINDOWID4);
    portletReq.getPortletSession().setAttribute("tr5", portletReq.getWindowID(), PORTLET_SCOPE);
    String tr5SessionAttribute = (String) portletReq.getPortletSession()
            .getAttribute("javax.portlet.p." + portletReq.getWindowID() + "?tr5", APPLICATION_SCOPE);
    if (tr5SessionAttribute != null && tr5SessionAttribute.equals(portletReq.getWindowID())) {
        tr5.setTcSuccess(true);
    } else {
        tr5.appendTcDetail("Couldn't find javax.portlet.p." + portletReq.getWindowID() + ".tr5 attribute");
    }
    tr5.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_ResourceReq_contentType12 */
    /* Details: "Within the serveResource method, the content type should */
    /* be based on the HTTP Accept header provided by the client" */
    TestResult tr6 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RESOURCEREQ_CONTENTTYPE12);
    if (!StringUtils.containsIgnoreCase(portletReq.getResponseContentType(), portletReq.getCharacterEncoding()))
        tr6.setTcSuccess(true);
    tr6.writeTo(writer);

    /* TestCase: V2AddlRequestTests_SPEC2_11_ResourceReq_contentType13 */
    /* Details: "The character set of the response can be retrieved via */
    /* the RenderResponse.getCharacterEncoding method" */
    TestResult tr7 = tcd.getTestResultFailed(V2ADDLREQUESTTESTS_SPEC2_11_RESOURCEREQ_CONTENTTYPE13);
    if (portletReq.getCharacterEncoding() != null) {
        tr7.setTcSuccess(true);
    } else {
        tr7.appendTcDetail("getCharacterEncoding() returned null.");
    }
    tr7.writeTo(writer);

}