@Override public String getRequestPath() { return super.getRequestPath() + version; }
/** * <p class="changed_added_2_0">The default behavior of this method * is to call {@link Resource#getURL} on the wrapped {@link * ResourceHandler} object.</p> */ @Override public URL getURL() { return getWrapped().getURL(); }
@Override public Map<String, String> getResponseHeaders() { Map<String, String> responseHeaders = super.getResponseHeaders(); responseHeaders.put(HEADER_SOURCE_MAP, sourceMap); return responseHeaders; } }, resourceName, libraryName);
@Override public InputStream getInputStream() throws IOException { InputStream inputStream = super.getInputStream(); if (inputStream != null) { String contentType = getContentType(); // Only filter text resources. Content type prefixes were obtained from here: // http://www.iana.org/assignments/media-types/media-types.xhtml if ((contentType == null) || !(contentType.startsWith("audio") || contentType.startsWith("image") || contentType.startsWith("model") || contentType.startsWith("video"))) { if ((contentType == null) || !contentType.startsWith("text")) { logger.debug("Content-Type is \"{0}\" which may not be a filterable text content type.", contentType); } Map<String, String> responseHeaders = getResponseHeaders(); String encoding = responseHeaders.get("Content-Encoding"); if (encoding == null) { encoding = getEncoding(); } String inputStreamAsString = ResourceUtil.toString(inputStream, encoding, getBufferSize()); inputStreamAsString = filter(inputStreamAsString); inputStream = ResourceUtil.toInputStream(inputStreamAsString, encoding); } else { logger.warn("Resource not filtered because it's Content-Type=[{0}] which is not a text content type.", contentType); } } return inputStream; }
/** * <p class="changed_added_2_2"> The default behavior of this method is to call * {@link Resource#getContentType()} on the wrapped {@link ResourceHandler} object. </p> */ @Override public String getContentType() { return getWrapped().getContentType(); }
@Override public Map<String, String> getResponseHeaders() { Map<String, String> responseHeaders = super.getResponseHeaders(); responseHeaders.put(HEADER_SOURCE_MAP, sourceMap); return responseHeaders; } }, resourceName, libraryName);
/** * <p class="changed_added_2_2"> The default behavior of this method is to call * {@link Resource#getLibraryName()} on the wrapped {@link ResourceHandler} object. </p> */ @Override public String getLibraryName() { return getWrapped().getLibraryName(); }
@Override public String getRequestPath() { return super.getRequestPath() + "&v=" + version; }
/** * <p class="changed_added_2_0">The default behavior of this method * is to call {@link Resource#getResponseHeaders} on the wrapped {@link * ResourceHandler} object.</p> */ @Override public Map<String, String> getResponseHeaders() { return getWrapped().getResponseHeaders(); }
@Override public String getRequestPath() { return super.getRequestPath() + "&v=" + version; }
/** * <p class="changed_added_2_0">The default behavior of this method * is to call {@link Resource#getRequestPath} on the wrapped {@link * ResourceHandler} object.</p> */ @Override public String getRequestPath() { return getWrapped().getRequestPath(); }
@Override public String getRequestPath() { return super.getRequestPath() + version; }
/** * <p class="changed_added_2_0">The default behavior of this method * is to call {@link Resource#getInputStream} on the wrapped {@link * ResourceHandler} object.</p> */ @Override public InputStream getInputStream() throws IOException { return getWrapped().getInputStream(); }
@Override public String getRequestPath() { return super.getRequestPath() + version; }
/** * <p class="changed_added_2_2"> The default behavior of this method is to call * {@link Resource#setResourceName(String)} on the wrapped {@link ResourceHandler} object. </p> */ @Override public void setResourceName(String resourceName) { getWrapped().setResourceName(resourceName); }
@Override public String getRequestPath() { ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); String mapping = externalContext.getRequestServletPath(); if (externalContext.getRequestPathInfo() == null) { mapping = mapping.substring(mapping.lastIndexOf('.')); } String path = super.getRequestPath(); if (mapping.charAt(0) == '/') { return path.replaceFirst(mapping, ""); } else if (path.contains("?")) { return path.replace(mapping + "?", "?"); } else { return path.substring(0, path.length() - mapping.length()); } }
/** * <p class="changed_added_2_0">The default behavior of this method * is to call {@link Resource#getInputStream} on the wrapped {@link * ResourceHandler} object.</p> */ @Override public InputStream getInputStream() throws IOException { return getWrapped().getInputStream(); }
@Override public String getRequestPath() { ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); String mapping = externalContext.getRequestServletPath(); if (externalContext.getRequestPathInfo() == null) { mapping = mapping.substring(mapping.lastIndexOf('.')); } String path = super.getRequestPath(); if (mapping.charAt(0) == '/') { return path.replaceFirst(mapping, ""); } else if (path.contains("?")) { return path.replace(mapping + "?", "?"); } else { return path.substring(0, path.length() - mapping.length()); } }
/** * <p class="changed_added_2_2"> The default behavior of this method is to call * {@link Resource#setContentType(String)} on the wrapped {@link ResourceHandler} object. </p> */ @Override public void setContentType(String contentType) { getWrapped().setContentType(contentType); }
@Override public String getRequestPath() { String requestPath = super.getRequestPath(); if (requestPath != null) { // If the /rfRes/ token is found in the request path, then RichFaces has likely added a dynamic resource. // Such resources have not had the request path processed by ExternalContext.encodeResourceURL(String) and // are therefore incompatible with a portlet environment. int pos = requestPath.indexOf(RICHFACES_PATH_TOKEN); if (pos > 0) { // Some resources like fileUploadProgress will have an extension like ".xhtml" appended to them which // must be removed. requestPath = requestPath.replaceAll("[.]faces", ""); requestPath = requestPath.replaceAll("[.]jsf", ""); requestPath = requestPath.replaceAll("[.]xhtml", ""); // Encode the request path as a portlet ResourceURL. FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); StringBuilder buf = new StringBuilder(); buf.append("/javax.faces.resource/"); buf.append(requestPath.substring(pos + RICHFACES_PATH_TOKEN.length())); requestPath = externalContext.encodeResourceURL(buf.toString()); } } return requestPath; }