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

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

Introduction

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

Prototype

public static String substringAfterLast(final String str, final String separator) 

Source Link

Document

Gets the substring after the last occurrence of a separator.

Usage

From source file:io.adeptj.runtime.servlet.ErrorPages.java

static void renderErrorPage(HttpServletRequest req, HttpServletResponse resp) {
    String statusCode = StringUtils.substringAfterLast(req.getRequestURI(), SLASH);
    if (StringUtils.equals(TEMPLATE_ERROR, req.getRequestURI())) {
        ErrorPages.renderGenericErrorPage(req, resp);
    } else if (StringUtils.equals(STATUS_500, statusCode)) {
        ErrorPages.render500Page(req, resp);
    } else if (RequestUtil.hasException(req) && StringUtils.equals(STATUS_500, statusCode)) {
        ErrorPages.render500PageWithExceptionTrace(req, resp);
    } else if (Configs.of().undertow().getStringList(KEY_STATUS_CODES).contains(statusCode)) {
        ErrorPages.renderErrorPageForStatusCode(req, resp, statusCode);
    } else {/*  www  .ja v a2 s  .  com*/
        ResponseUtil.sendError(resp, HttpServletResponse.SC_NOT_FOUND);
    }
}

From source file:com.quatico.base.aem.test.api.AemMatchers.java

public static Matcher<String> pathEndsWithUuid() {
    return new TypeSafeMatcher<String>() {
        @Override//  www  .  j a v  a 2 s .com
        protected boolean matchesSafely(String value) {
            try {
                UUID.fromString(StringUtils.substringAfterLast(value, "/"));
            } catch (IllegalArgumentException ex) {
                return false;
            }
            return true;
        }

        @Override
        public void describeTo(Description description) {
            description.appendText("String should end with a UUID");
        }
    };
}

From source file:io.wcm.handler.mediasource.inline.InlineRendition.java

/**
 * @param resource Binary resource/*  w w w .j  a va  2  s  .  c o m*/
 * @param media Media metadata
 * @param mediaArgs Media args
 * @param fileName File name
 */
InlineRendition(Resource resource, Media media, MediaArgs mediaArgs, String fileName, Adaptable adaptable) {
    this.resource = resource;
    this.media = media;
    this.mediaArgs = mediaArgs;
    this.adaptable = adaptable;

    // detect image dimension
    String processedFileName = fileName;

    // check if scaling is possible
    String fileExtension = StringUtils.substringAfterLast(processedFileName, ".");
    boolean isImage = FileExtension.isImage(fileExtension);

    Dimension dimension = null;
    Dimension scaledDimension = null;
    if (isImage) {
        // get dimension from image binary
        dimension = getImageDimension();

        // check if scaling is required
        scaledDimension = getScaledDimension(dimension);
        if (scaledDimension != null && !scaledDimension.equals(SCALING_NOT_POSSIBLE_DIMENSION)) {
            // overwrite image dimension of {@link Rendition} instance with scaled dimensions
            dimension = scaledDimension;
            // change extension to JPEG because scaling always produces JPEG images
            processedFileName = StringUtils.substringBeforeLast(processedFileName, ".") + "."
                    + FileExtension.JPEG;
        }
    }
    this.fileName = processedFileName;
    this.imageDimension = dimension;

    // build media url (it is null if no rendition is available for the given media args)
    this.url = buildMediaUrl(scaledDimension);

    // set first media format as resolved format - because only the first is supported
    if (url != null && mediaArgs.getMediaFormats() != null && mediaArgs.getMediaFormats().length > 0) {
        this.resolvedMediaFormat = mediaArgs.getMediaFormats()[0];
    }

}

From source file:blue.lapis.pore.impl.event.PoreEventImplTest.java

@Test
public void checkName() {
    Class<?> bukkitEvent = eventImpl.getSuperclass();

    String poreName = event;/*from   ww w .  j  a v  a  2 s  .  c o m*/
    String porePackage = StringUtils.substringBeforeLast(poreName, ".");
    poreName = StringUtils.substringAfterLast(poreName, ".");

    String bukkitName = StringUtils.removeStart(bukkitEvent.getName(), BUKKIT_PREFIX);
    String bukkitPackage = StringUtils.substringBeforeLast(bukkitName, ".");
    bukkitName = StringUtils.substringAfterLast(bukkitName, ".");

    String expectedName = "Pore" + bukkitName;

    assertEquals(poreName + " should be called " + expectedName, poreName, expectedName);
    assertEquals(poreName + " is in wrong package: should be in " + PORE_PREFIX + bukkitPackage, porePackage,
            bukkitPackage);
}

From source file:info.magnolia.test.fixture.JcrPropertyServlet.java

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    final String path = request.getParameter("path");
    final String workspace = StringUtils.defaultString(request.getParameter("workspace"),
            RepositoryConstants.CONFIG);
    final String value = request.getParameter("value");
    final boolean delete = Boolean.valueOf(request.getParameter("delete"));
    final String nodePath = StringUtils.substringBeforeLast(path, "/");
    final String propertyName = StringUtils.substringAfterLast(path, "/");
    try {/*from  w  w  w  .  ja va  2 s . c om*/
        final Node node = SessionUtil.getNode(workspace, nodePath);
        if (node == null) {
            throw new ServletException("Node does not exist [" + nodePath + "]");
        }

        final String returnValue = PropertyUtil.getString(node, propertyName);

        if (value != null) {
            node.setProperty(propertyName, value);
            node.getSession().save();
            log.info("Changing value of '{}' from [{}] to [{}]", path, returnValue, value);
        } else if (delete) {
            if (node.hasProperty(propertyName)) {
                Property property = node.getProperty(propertyName);
                property.remove();
                node.getSession().save();
                log.info("Removed property '{}' from [{}].", propertyName, path);
            } else {
                log.info("No property '{}' found at [{}].", propertyName, path);
            }
        }

        response.getWriter().write(String.valueOf(returnValue));
    } catch (RepositoryException e) {
        log.warn("Could not handle property [{}] from workspace [{}]", new Object[] { path, workspace });
        throw new ServletException("Could not read property [" + path + "]");
    }
}

From source file:de.jfachwert.net.EMailAdresse.java

/**
 * Der Domain Part, der hinter dem @-Zeichen steht und fuer den die
 * Syntaxregeln des Domain Name Systems gelten, besteht mindestens aus drei
 * Teilen: einem Hostnamen (z. B. ein Firmenname), einem Punkt und einer
 * Top-Level-Domain.//from  w  w  w  . j a v  a2  s  .  c  o m
 *
 * @return z.B. "fachwert.de"
 */
public Domainname getDomainPart() {
    return new Domainname(StringUtils.substringAfterLast(this.getCode(), "@"));
}

From source file:com.xpn.xwiki.internal.filter.output.PropertyClassOutputFilterStream.java

@Override
public void beginWikiClassProperty(String name, String type, FilterEventParameters parameters)
        throws FilterException {
    if (this.enabled) {
        ComponentManager componentManager = this.componentManagerProvider.get();

        this.currentClassPropertyMeta = null;

        PropertyClassProvider provider;// w w  w .  ja  v  a2 s. c om

        // First try to use the specified class type as hint.
        try {
            if (componentManager.hasComponent(PropertyClassProvider.class, type)) {
                provider = componentManager.getInstance(PropertyClassProvider.class, type);
            } else {
                // In previous versions the class type was the full Java class name of the property class
                // implementation. Extract the hint by removing the Java package prefix and the Class suffix.
                String classType = StringUtils.removeEnd(StringUtils.substringAfterLast(type, "."), "Class");
                if (componentManager.hasComponent(PropertyClassProvider.class, classType)) {
                    provider = componentManager.getInstance(PropertyClassProvider.class, classType);
                } else {
                    this.logger.warn("Unknown property type [{}]", type);

                    return;
                }
            }
        } catch (ComponentLookupException e) {
            throw new FilterException(
                    String.format("Failed to get instance of the property class provider for type [%s]", type),
                    e);
        }

        this.currentClassPropertyMeta = provider.getDefinition();

        if (this.entity == null) {
            // We should use PropertyClassInterface (instead of PropertyClass, its default implementation) but it
            // doesn't have the set methods and adding them would breaks the backwards compatibility. We make the
            // assumption that all property classes extend PropertyClass.
            this.entity = (PropertyClass) provider.getInstance();
        }

        this.entity.setName(name);
        this.entity.setObject(this.currentXClass);
    }
}

From source file:com.adobe.acs.commons.mcp.form.AbstractResourceImpl.java

@Override
public String getName() {
    return StringUtils.substringAfterLast(path, "/");
}

From source file:info.magnolia.imaging.ImagingServlet.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    final String generatorName = getImageGeneratorName(request);
    final ImageGenerator generator = getGenerator(generatorName);
    if (generator == null) {
        throw new IllegalArgumentException("No ImageGenerator with name " + generatorName);
    }//from   ww w.  j av a 2 s .c o  m

    final ParameterProviderFactory parameterProviderFactory = generator.getParameterProviderFactory();
    final ParameterProvider p = parameterProviderFactory.newParameterProviderFor(request);

    if (validateFileExtension) {
        String outputFormat = generator.getOutputFormat(p).getFormatName();
        String requestedPath = StringUtils.substringAfterLast(request.getPathInfo(), "/"); // don't take part of node name as extension, we support dots in node names!
        String requestedFormat = StringUtils.substringAfterLast(requestedPath, ".");
        if (!StringUtils.equals(outputFormat, requestedFormat)) {
            response.sendError(HttpServletResponse.SC_NOT_FOUND);
            return;
        }
    }

    try {
        // TODO -- mimetype etc.
        final ImageStreamer streamer = getStreamer(parameterProviderFactory);
        streamer.serveImage(generator, p, response.getOutputStream());

        response.flushBuffer();
        // IOUtils.closeQuietly(response.getOutputStream());
    } catch (ImagingException e) {
        throw new ServletException(e); // TODO
    }
}

From source file:com.zht.common.generator.excute.impl.JSPGeneratorImplNew.java

@Override
public void genjsp_update(String entityFullClassName, String controllerNameSpace, GenEntity genEntity,
        List<GenEntityProperty> genEntityPropertyList) {
    JSPModelNew jSPModel = new JSPModelNew();
    //??/*from  w  w w.  ja va2s  .  co m*/
    String entitySimpleClassName = StringUtils.substringAfterLast(entityFullClassName, ".");
    //
    String str = StringUtils.substringBeforeLast(entityFullClassName, ".");
    str = StringUtils.substringBeforeLast(str, ".");
    String firstLower = ZStrUtil.toLowerCaseFirst(entitySimpleClassName);
    jSPModel.setControllerNameSpace(controllerNameSpace);
    jSPModel.setEntityFullClassName(entityFullClassName);
    jSPModel.setEntitySimpleClassName(entitySimpleClassName);
    jSPModel.setGenEntity(genEntity);
    jSPModel.setGenEntityPropertyList(genEntityPropertyList);

    Map<String, Object> data = new HashMap<String, Object>();
    data.put("model", jSPModel);
    String filePath = new String(GenConstant.project_path + "WebRoot/WEB-INF/jsp/" + controllerNameSpace + "/"
            + firstLower + "Update.jsp");
    super.generate(GenConstant.jsp_add_template_dir, data, filePath);

}