Example usage for org.apache.commons.lang StringUtils replace

List of usage examples for org.apache.commons.lang StringUtils replace

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils replace.

Prototype

public static String replace(String text, String searchString, String replacement) 

Source Link

Document

Replaces all occurrences of a String within another String.

Usage

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, "&quot;", "\"");
    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;
}