List of usage examples for org.apache.commons.lang StringUtils replace
public static String replace(String text, String searchString, String replacement)
Replaces all occurrences of a String within another String.
From source file:info.magnolia.cms.beans.config.URI2RepositoryMapping.java
/** * Clean a handle. Remove double / and add always a leading /. *//* www .j a v a2 s . co m*/ protected String cleanHandle(String handle) { if (!handle.startsWith("/")) { handle = "/" + handle; } while (handle.indexOf("//") != -1) { handle = StringUtils.replace(handle, "//", "/"); } return handle; }
From source file:immf.ImodeForwardMail.java
private static String cidAddedBody(String html, List<AttachedFile> inlines) { for (AttachedFile f : inlines) { html = StringUtils.replace(html, f.getId(), "cid:" + f.getId()); }// ww w . j a v a2 s . c o m return html; }
From source file:com.pieframework.model.repository.ModelStore.java
protected static String evalAsTemplate(Object object) throws SimpleSerializerException { String template = componentToString(object); template = StringUtils.replace(template, """, "\""); return (String) TemplateRuntime.eval(template, model); }
From source file:at.general.solutions.android.ical.parser.ICalParserThread.java
private String cleanText(String text) { text = StringUtils.replace(text, "\\n", "\n"); text = StringUtils.replace(text, "\\,", ","); text = StringUtils.replace(text, "\\\"", "\""); return text;//from w w w . j a va 2 s. c o m }
From source file:jp.co.tis.gsp.tools.db.beans.Column.java
public void setDataType(String dataType) { if (StringUtils.equalsIgnoreCase(dataType, "ARRAY") || StringUtils.endsWithIgnoreCase(dataType, "_ARRAY")) { dataType = StringUtils.replace(dataType, "_ARRAY", ""); if (StringUtils.isEmpty(dataType)) { dataType = "VARCHAR"; }/*from w ww.ja v a 2s. c o m*/ isArray = true; } this.dataType = dataType; }
From source file:com.antsdb.saltedfish.nosql.DumpRow.java
private void dump() throws Exception { if (this.isVerbose) { String str = BytesUtil.toHex(this.key); str = StringUtils.replace(str, "\n", "\n "); println("key: %s", str); }/* w w w . j a v a 2 s . co m*/ // find tablet files this.findTabletFiles(this.home); Collections.sort(this.files); Collections.reverse(this.files); // create mapped buffers for (File i : this.files) { try (RandomAccessFile raf = new RandomAccessFile(i, "r")) { Tablet tablet = new Tablet(); this.tablets.add(tablet); tablet.buf = raf.getChannel().map(MapMode.READ_ONLY, 0, i.length()); ; tablet.file = i; } if (isVerbose) { println("loading file: %s", i); } } // find row List<Long> sprows = new ArrayList<>(); for (Tablet tablet : this.tablets) { MappedByteBuffer buf = tablet.buf; long addr = UberUtil.getAddress(buf); BluntHeap heap = new BluntHeap(addr + MemTablet.HEADER_SIZE, 0); heap.position(buf.capacity() - MemTablet.HEADER_SIZE); FishSkipList slist = FishSkipList.alloc(heap, new VariableLengthLongComparator()); long pHead = slist.get(this.pKey); if (pHead == 0) { continue; } dumpRowVersions(tablet, heap, pHead, sprows); } // dump each row for (long spRow : sprows) { dumpRow(spRow); } }
From source file:eionet.eunis.servlets.DownloadServlet.java
/** * Process the actual request./*from ww w . j a v a 2 s . co m*/ * * @param request The request to be processed. * @param response The response to be created. * @param content Whether the request body should be written (GET) or not (HEAD). * @throws IOException If something fails at I/O level. * @throws ServletException */ private void processRequest(HttpServletRequest request, HttpServletResponse response, boolean content) throws IOException, ServletException { String requestURI = request.getRequestURI(); String contextPath = request.getContextPath(); String pathInfo = request.getPathInfo(); String servletPath = request.getServletPath(); // Create the abstract file reference to the requested file. File file = null; String fileRelativePath = StringUtils.substringAfter(request.getRequestURI(), request.getContextPath()); fileRelativePath = StringUtils.replace(fileRelativePath, "%20", " "); if (StringUtils.isNotEmpty(fileRelativePath) && StringUtils.isNotEmpty(appHome)) { file = new File(appHome, fileRelativePath); } // If file was not found, send 404. if (file == null || !file.exists() || file.isDirectory()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return; } // Prepare some variables. The ETag is an unique identifier of the file. String fileName = file.getName(); long length = file.length(); long lastModified = file.lastModified(); String eTag = fileName + "_" + length + "_" + lastModified; // Validate request headers for caching --------------------------------------------------- // If-None-Match header should contain "*" or ETag. If so, then return 304. String ifNoneMatch = request.getHeader("If-None-Match"); if (ifNoneMatch != null && matches(ifNoneMatch, eTag)) { response.setHeader("ETag", eTag); // Required in 304. response.sendError(HttpServletResponse.SC_NOT_MODIFIED); return; } // If-Modified-Since header should be greater than LastModified. If so, then return 304. // This header is ignored if any If-None-Match header is specified. long ifModifiedSince = request.getDateHeader("If-Modified-Since"); if (ifNoneMatch == null && ifModifiedSince != -1 && ifModifiedSince + 1000 > lastModified) { response.setHeader("ETag", eTag); // Required in 304. response.sendError(HttpServletResponse.SC_NOT_MODIFIED); return; } // Validate request headers for resume ---------------------------------------------------- // If-Match header should contain "*" or ETag. If not, then return 412. String ifMatch = request.getHeader("If-Match"); if (ifMatch != null && !matches(ifMatch, eTag)) { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } // If-Unmodified-Since header should be greater than LastModified. If not, then return 412. long ifUnmodifiedSince = request.getDateHeader("If-Unmodified-Since"); if (ifUnmodifiedSince != -1 && ifUnmodifiedSince + 1000 <= lastModified) { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } // Validate and process range ------------------------------------------------------------- // Prepare some variables. The full Range represents the complete file. Range full = new Range(0, length - 1, length); List<Range> ranges = new ArrayList<Range>(); // Validate and process Range and If-Range headers. String range = request.getHeader("Range"); if (range != null) { // Range header should match format "bytes=n-n,n-n,n-n...". If not, then return 416. if (!range.matches("^bytes=\\d*-\\d*(,\\d*-\\d*)*$")) { response.setHeader("Content-Range", "bytes */" + length); // Required in 416. response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE); return; } // If-Range header should either match ETag or be greater then LastModified. If not, // then return full file. String ifRange = request.getHeader("If-Range"); if (ifRange != null && !ifRange.equals(eTag)) { try { long ifRangeTime = request.getDateHeader("If-Range"); // Throws IAE if invalid. if (ifRangeTime != -1 && ifRangeTime + 1000 < lastModified) { ranges.add(full); } } catch (IllegalArgumentException ignore) { ranges.add(full); } } // If any valid If-Range header, then process each part of byte range. if (ranges.isEmpty()) { for (String part : range.substring(6).split(",")) { // Assuming a file with length of 100, the following examples returns bytes at: // 50-80 (50 to 80), 40- (40 to length=100), -20 (length-20=80 to length=100). long start = sublong(part, 0, part.indexOf("-")); long end = sublong(part, part.indexOf("-") + 1, part.length()); if (start == -1) { start = length - end; end = length - 1; } else if (end == -1 || end > length - 1) { end = length - 1; } // Check if Range is syntactically valid. If not, then return 416. if (start > end) { response.setHeader("Content-Range", "bytes */" + length); // Required in 416. response.sendError(HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE); return; } // Add range. ranges.add(new Range(start, end, length)); } } } // Prepare and initialize response -------------------------------------------------------- // Get content type by file name and set default GZIP support and content disposition. String contentType = getServletContext().getMimeType(fileName); boolean acceptsGzip = false; String disposition = "inline"; // If content type is unknown, then set the default value. // For all content types, see: http://www.w3schools.com/media/media_mimeref.asp // To add new content types, add new mime-mapping entry in web.xml. if (contentType == null) { contentType = "application/octet-stream"; } // If content type is text, then determine whether GZIP content encoding is supported by // the browser and expand content type with the one and right character encoding. // Else, expect for images, determine content disposition. If content type is supported by // the browser, then set to inline, else attachment which will pop a 'save as' dialogue. if (contentType.startsWith("text")) { String acceptEncoding = request.getHeader("Accept-Encoding"); acceptsGzip = acceptEncoding != null && accepts(acceptEncoding, "gzip"); contentType += ";charset=UTF-8"; } else if (!contentType.startsWith("image")) { String accept = request.getHeader("Accept"); disposition = accept != null && accepts(accept, contentType) ? "inline" : "attachment"; } // Initialize response. response.reset(); response.setBufferSize(DEFAULT_BUFFER_SIZE); response.setHeader("Content-Disposition", disposition + ";filename=\"" + fileName + "\""); response.setHeader("Accept-Ranges", "bytes"); response.setHeader("ETag", eTag); response.setDateHeader("Last-Modified", lastModified); response.setDateHeader("Expires", System.currentTimeMillis() + DEFAULT_EXPIRE_TIME); // Send requested file (part(s)) to client ------------------------------------------------ // Prepare streams. RandomAccessFile input = null; OutputStream output = null; try { // Open streams. input = new RandomAccessFile(file, "r"); output = response.getOutputStream(); if (ranges.isEmpty() || ranges.get(0) == full) { // Return full file. Range r = full; response.setContentType(contentType); response.setHeader("Content-Range", "bytes " + r.start + "-" + r.end + "/" + r.total); if (content) { if (acceptsGzip) { // The browser accepts GZIP, so GZIP the content. response.setHeader("Content-Encoding", "gzip"); output = new GZIPOutputStream(output, DEFAULT_BUFFER_SIZE); } else { // Content length is not directly predictable in case of GZIP. // So only add it if there is no means of GZIP, else browser will hang. response.setHeader("Content-Length", String.valueOf(r.length)); } // Copy full range. copy(input, output, r.start, r.length); } } else if (ranges.size() == 1) { // Return single part of file. Range r = ranges.get(0); response.setContentType(contentType); response.setHeader("Content-Range", "bytes " + r.start + "-" + r.end + "/" + r.total); response.setHeader("Content-Length", String.valueOf(r.length)); response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); // 206. if (content) { // Copy single part range. copy(input, output, r.start, r.length); } } else { // Return multiple parts of file. response.setContentType("multipart/byteranges; boundary=" + MULTIPART_BOUNDARY); response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); // 206. if (content) { // Cast back to ServletOutputStream to get the easy println methods. ServletOutputStream sos = (ServletOutputStream) output; // Copy multi part range. for (Range r : ranges) { // Add multipart boundary and header fields for every range. sos.println(); sos.println("--" + MULTIPART_BOUNDARY); sos.println("Content-Type: " + contentType); sos.println("Content-Range: bytes " + r.start + "-" + r.end + "/" + r.total); // Copy single part range of multi part range. copy(input, output, r.start, r.length); } // End with multipart boundary. sos.println(); sos.println("--" + MULTIPART_BOUNDARY + "--"); } } } finally { // Gently close streams. close(output); close(input); } }
From source file:com.marvelution.bamboo.plugins.sonar.tasks.processors.SonarBuildPasswordProcessor.java
/** * Search and replace the Sonar password property * /*from w w w. ja v a 2s. c om*/ * @param entry the {@link String} to search in * @return the filtered {@link String} */ private String filterPasswords(String entry) { Matcher matcher = PATTERN.matcher(entry); if (matcher.find()) { return StringUtils.replace(entry, matcher.group(1), "sonar.jdbc.password=******"); } return entry; }
From source file:com.cognifide.cq.cqsm.foundation.actions.check.permissions.CheckPermissions.java
private void checkPermissionsForGlob(Session session, final boolean execute, final ActionResult actionResult, final Authorizable authorizable, final Set<Principal> authorizablesToCheck, final CqActions actions, final List<String> privilegesToCheck) throws RepositoryException, LoginException { final List<String> subpaths = getAllSubpaths(session, path); Pattern pattern = Pattern.compile(path + StringUtils.replace(glob, "*", ".*")); boolean foundMatch = false; boolean failed = false; for (String subpath : subpaths) { if (pattern.matcher(subpath).matches()) { foundMatch = true;//w ww. j a v a2s . c om failed = checkPermissionsForPath(authorizablesToCheck, actions, privilegesToCheck, subpath); if (failed) { logFailure(execute, actionResult, authorizable, subpath); break; } } } if (!foundMatch) { actionResult.logError("No match was found for " + authorizable.getID() + " for given glob " + glob); if (execute) { actionResult.logError(ActionUtils.ASSERTION_FAILED_MSG); } } else if (!failed) { actionResult.logMessage("All required privileges are set for " + authorizable.getID() + " on " + path); } }
From source file:info.magnolia.freemarker.FreemarkerUtil.java
/** * Same as {@link #createTemplateName(Class, String)} but adds the classifier between * the template name and the extension.//from w w w . ja va 2s . c om */ public static String createTemplateName(Class<?> klass, String classifier, String ext) { classifier = (classifier != null) ? StringUtils.capitalize(classifier) : ""; return "/" + StringUtils.replace(klass.getName(), ".", "/") + classifier + "." + ext; }