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

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

Introduction

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

Prototype

public static String substringBefore(String str, String separator) 

Source Link

Document

Gets the substring before the first occurrence of a separator.

Usage

From source file:info.joseluismartin.gtc.admin.MapViewer.java

/**
 * Gets the cache url for a cache./* ww w.  j  a  v a  2  s  .  c o m*/
 * @param cache cache to create the cache url
 * @return Url to access de cache.
 */
private String getCacheUrl(CacheConfig cache) {
    String url = StringUtils.substringBefore(getApplication().getURL().toString(), "admin");
    url += cache.getPath();
    return url;
}

From source file:mediathekplugin.Database.java

public ArrayList<MediathekProgramItem> getMediathekPrograms(final Program program) {
    ArrayList<MediathekProgramItem> result = new ArrayList<MediathekProgramItem>();
    String channelName = unifyChannelName(program.getChannel().getName());
    HashMap<Long, ArrayList<Integer>> programsMap = mChannelItems.get(channelName);
    // search parts in brackets like for ARD
    if (programsMap == null && channelName.contains("(")) {
        String bracketPart = StringUtils.substringBetween(channelName, "(", ")");
        programsMap = mChannelItems.get(bracketPart);
    }//from ww  w . j a va 2s . co  m
    // search for partial name, if full name is not found
    if (programsMap == null && channelName.contains(" ")) {
        String firstPart = StringUtils.substringBefore(channelName, " ");
        programsMap = mChannelItems.get(firstPart);
    }
    if (programsMap == null) {
        for (Entry<String, HashMap<Long, ArrayList<Integer>>> entry : mChannelItems.entrySet()) {
            if (StringUtils.startsWithIgnoreCase(channelName, entry.getKey())) {
                programsMap = entry.getValue();
                break;
            }
        }
    }
    if (programsMap == null) {
        return result;
    }
    String title = program.getTitle();
    ArrayList<Integer> programs = programsMap.get(getKey(title));
    if (programs == null && title.endsWith(")") && title.contains("(")) {
        String newTitle = StringUtils.substringBeforeLast(title, "(").trim();
        programs = programsMap.get(getKey(newTitle));
    }
    if (programs == null && title.endsWith("...")) {
        String newTitle = title.substring(0, title.length() - 3).trim();
        programs = programsMap.get(getKey(newTitle));
    }
    if (programs == null) {
        return result;
    }
    try {
        RandomAccessFile file = new RandomAccessFile(new File(mFileName), "r");
        for (Integer byteOffset : programs) {
            file.seek(byteOffset);
            String lineEncoded = file.readLine();
            String line = new String(lineEncoded.getBytes(), "UTF-8");
            Matcher itemMatcher = ITEM_PATTERN.matcher(line);
            if (itemMatcher.find()) {
                String itemTitle = itemMatcher.group(3).trim();
                String itemUrl = itemMatcher.group(4).trim();
                result.add(new MediathekProgramItem(itemTitle, itemUrl, null));
            }
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return result;
}

From source file:jp.ac.tokushima_u.is.ll.common.orm.hibernate.HibernateDao.java

/**
 * count???HQL???????//  w  w  w  .j av  a 2s  . co m
 *
 *?????HQL????????HQL??count???????
 */
protected long countHqlResult(final String hql, final Object... values) {
    String fromHql = hql;
    //select?order by?count????,???
    fromHql = "from " + StringUtils.substringAfter(fromHql, "from");
    fromHql = StringUtils.substringBefore(fromHql, "order by");

    String countHql = "select count(*) " + fromHql;

    try {
        Long count = findUnique(countHql, values);
        return count;
    } catch (Exception e) {
        throw new RuntimeException("hql can't be auto count, hql is:" + countHql, e);
    }
}

From source file:cn.newtouch.util.orm.hibernate.HibernateDao.java

private String prepareCountHql(String orgHql) {
    String fromHql = orgHql;//  w w  w .  j ava 2  s . com
    //select??order by???count,?.
    fromHql = "from " + StringUtils.substringAfter(fromHql, "from");
    fromHql = StringUtils.substringBefore(fromHql, "order by");

    String countHql = "select count(*) " + fromHql;
    return countHql;
}

From source file:com.dgq.utils.Struts2Utils.java

private static HttpServletResponse initResponseHeaderServlet(final String contentType,
        HttpServletResponse response, final String... headers) {
    // ?headers?/* w  w w  .jav a2  s.  com*/
    String encoding = DEFAULT_ENCODING;
    boolean noCache = DEFAULT_NOCACHE;
    for (String header : headers) {
        String headerName = StringUtils.substringBefore(header, ":");
        String headerValue = StringUtils.substringAfter(header, ":");

        if (StringUtils.equalsIgnoreCase(headerName, HEADER_ENCODING)) {
            encoding = headerValue;
        } else if (StringUtils.equalsIgnoreCase(headerName, HEADER_NOCACHE)) {
            noCache = Boolean.parseBoolean(headerValue);
        } else {
            throw new IllegalArgumentException(headerName + "??header");
        }
    }

    // headers?
    String fullContentType = contentType + ";charset=" + encoding;
    response.setContentType(fullContentType);
    if (noCache) {
        ServletUtils.setNoCacheHeader(response);
    }

    return response;
}

From source file:ch.entwine.weblounge.dispatcher.impl.handler.PageRequestHandlerImpl.java

/**
 * Handles the request for a simple url available somewhere in the system. The
 * handler sets the response type, does the url history and then forwards
 * request to the corresponding JSP page or XSLT stylesheet.
 * <p>/*from   w w  w.ja  v a  2  s.c om*/
 * This method returns <code>true</code> if the handler is decided to handle
 * the request, <code>false</code> otherwise.
 * 
 * @param request
 *          the weblounge request
 * @param response
 *          the weblounge response
 */
public boolean service(WebloungeRequest request, WebloungeResponse response) {

    logger.debug("Page handler agrees to handle {}", request.getUrl());

    Mode processingMode = Mode.Default;
    WebUrl url = request.getUrl();
    String path = url.getPath();
    RequestFlavor contentFlavor = request.getFlavor();

    if (contentFlavor == null || contentFlavor.equals(ANY))
        contentFlavor = RequestFlavor.HTML;

    // Check the request flavor
    // TODO: Criteria would be loading the page from the repository
    // TODO: Think about performance, page lookup is expensive
    if (!HTML.equals(contentFlavor)) {
        logger.debug("Skipping request for {}, flavor {} is not supported", path, request.getFlavor());
        return false;
    }

    // Determine the editing state
    boolean isEditing = RequestUtils.isEditingState(request);

    // Check if the request is controlled by an action.
    Action action = (Action) request.getAttribute(WebloungeRequest.ACTION);

    // Get the renderer id that has been registered with the url. For this,
    // we first have to load the page data, then get the associated renderer
    // bundle.
    try {
        Page page = null;
        ResourceURI pageURI = null;
        Site site = request.getSite();

        // Check if a page was passed as an attribute
        if (request.getAttribute(WebloungeRequest.PAGE) != null) {
            page = (Page) request.getAttribute(WebloungeRequest.PAGE);
            pageURI = page.getURI();
        }

        // Load the page from the content repository
        else {
            ContentRepository contentRepository = site.getContentRepository();
            if (contentRepository == null) {
                logger.debug("No content repository found for site '{}'", site);
                return false;
            } else if (contentRepository.isIndexing()) {
                logger.debug("Content repository of site '{}' is currently being indexed", site);
                DispatchUtils.sendServiceUnavailable(request, response);
                return true;
            }

            ResourceURI requestURI = null;
            ResourceURI requestedURI = null;

            // Load the page. Note that we are taking care of the special case where
            // a user may have created a page with a url that matches a valid
            // language identifier, in which case it would have been stripped from
            // request.getUrl().
            try {
                if (action != null) {
                    pageURI = getPageURIForAction(action, request);
                    requestURI = pageURI;
                } else if (path.startsWith(URI_PREFIX)) {
                    String uriSuffix = StringUtils.substringBefore(path.substring(URI_PREFIX.length()), "/");
                    uriSuffix = URLDecoder.decode(uriSuffix, "utf-8");
                    ResourceURI uri = new PageURIImpl(site, null, uriSuffix, request.getVersion());
                    requestURI = uri;
                    WebUrl requestedUrl = request.getRequestedUrl();
                    if (requestedUrl.hasLanguagePathSegment()) {
                        String requestedPath = UrlUtils.concat(path, request.getLanguage().getIdentifier());
                        String requestedUriSuffix = StringUtils
                                .substringBefore(requestedPath.substring(URI_PREFIX.length()), "/");
                        requestedUriSuffix = URLDecoder.decode(requestedUriSuffix, "utf-8");
                        requestedURI = new PageURIImpl(site, requestedUriSuffix, null, request.getVersion());
                    }
                } else {
                    long version = isEditing ? Resource.WORK : Resource.LIVE;
                    ResourceURI uri = new PageURIImpl(request);
                    uri.setVersion(version);
                    requestURI = uri;
                    WebUrl requestedUrl = request.getRequestedUrl();
                    if (requestedUrl.hasLanguagePathSegment()) {
                        String requestedPath = UrlUtils.concat(path, request.getLanguage().getIdentifier());
                        requestedPath = URLDecoder.decode(requestedPath, "utf-8");
                        requestedURI = new PageURIImpl(site, requestedPath, null, version);
                    }
                }

                // Is this a request with potential path clashes?
                if (requestedURI != null) {
                    long version = requestedURI.getVersion();
                    if (contentRepository.existsInAnyVersion(requestedURI)) {
                        if (!isEditing && version == Resource.LIVE && contentRepository.exists(requestedURI)) {
                            pageURI = requestedURI;
                            ((WebloungeRequestImpl) request).setLanguage(request.getSessionLanguage());
                        } else if (isEditing && version == Resource.WORK
                                && !contentRepository.exists(requestedURI)) {
                            requestedURI.setVersion(Resource.LIVE);
                            pageURI = requestedURI;
                            ((WebloungeRequestImpl) request).setLanguage(request.getSessionLanguage());
                        } else if (isEditing && version == Resource.WORK
                                && !contentRepository.exists(requestedURI)) {
                            pageURI = requestedURI;
                            ((WebloungeRequestImpl) request).setLanguage(request.getSessionLanguage());
                        }
                    }
                }

                // Does the page exist?
                if (pageURI == null && contentRepository.existsInAnyVersion(requestURI)) {
                    long version = requestURI.getVersion();

                    // If the work version is requested, we need to make sure
                    // a) it exists and b) the user is in editing mode
                    if (version == Resource.WORK && isEditing) {
                        if (contentRepository.exists(requestURI)) {
                            pageURI = requestURI;
                        } else {
                            requestURI.setVersion(Resource.LIVE);
                            if (contentRepository.exists(requestURI))
                                pageURI = requestURI;
                        }
                    } else if (contentRepository.exists(requestURI)) {
                        pageURI = requestURI;
                    }
                }

                // Did we find a matching uri?
                if (pageURI == null) {
                    DispatchUtils.sendNotFound(request, response);
                    return true;
                }

                page = (Page) contentRepository.get(pageURI);
                if (page == null) {
                    DispatchUtils.sendNotFound(request, response);
                    return true;
                }
            } catch (ContentRepositoryException e) {
                logger.error("Unable to load page {} from {}: {}",
                        new Object[] { pageURI, contentRepository, e.getMessage(), e });
                DispatchUtils.sendInternalError(request, response);
                return true;
            }
        }

        // Check the request method. This handler only supports GET, POST and
        // OPTIONS
        String requestMethod = request.getMethod().toUpperCase();
        if ("OPTIONS".equals(requestMethod)) {
            String verbs = "OPTIONS, GET, POST";
            logger.trace("Answering options request to {} with {}", url, verbs);
            response.setHeader("Allow", verbs);
            response.setContentLength(0);
            return true;
        } else if (!"GET".equals(requestMethod) && !"POST".equals(requestMethod)
                && !RequestUtils.containsAction(request)) {
            logger.debug("Url {} does not handle {} requests", url, requestMethod);
            DispatchUtils.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, request, response);
            return true;
        }

        // Is it published?
        if (!page.isPublished() && !(page.getVersion() == Resource.WORK)) {
            logger.debug("Access to unpublished page {}", pageURI);
            response.sendError(HttpServletResponse.SC_NOT_FOUND);
            return true;
        }

        // Can the page be accessed by the current user?
        User user = request.getUser();
        try {
            // TODO: Check permission
            // PagePermission p = new PagePermission(page, user);
            // AccessController.checkPermission(p);
        } catch (SecurityException e) {
            logger.warn("Accessed to page {} denied for user {}", pageURI, user);
            DispatchUtils.sendAccessDenied(request, response);
            return true;
        }

        // Check for explicit no cache instructions
        boolean ignoreCache = request.getParameter(ResponseCache.NOCACHE_PARAM) != null;

        // Check if the page is already part of the cache. If so, our task is
        // already done!
        if (!ignoreCache && request.getVersion() == Resource.LIVE && !isEditing) {

            // Create the set of tags that identify the page
            CacheTagSet cacheTags = createPrimaryCacheTags(request);

            if (action == null) {
                long expirationTime = Renderer.DEFAULT_VALID_TIME;
                long revalidationTime = Renderer.DEFAULT_RECHECK_TIME;

                // Check if the page is already part of the cache
                if (response.startResponse(cacheTags.getTags(), expirationTime, revalidationTime)) {
                    logger.debug("Page handler answered request for {} from cache", request.getUrl());
                    return true;
                }
            }

            processingMode = Mode.Cached;
            cacheTags.add(CacheTag.Resource, page.getURI().getIdentifier());
            response.addTags(cacheTags);

        } else if (Http11Constants.METHOD_HEAD.equals(requestMethod)) {
            // handle HEAD requests
            Http11Utils.startHeadResponse(response);
            processingMode = Mode.Head;
        } else if (request.getVersion() == Resource.WORK) {
            response.setCacheExpirationTime(0);
        }

        // Set the default maximum render and valid times for pages
        response.setClientRevalidationTime(Renderer.DEFAULT_RECHECK_TIME);
        response.setCacheExpirationTime(Renderer.DEFAULT_VALID_TIME);

        // Store the page in the request
        request.setAttribute(WebloungeRequest.PAGE, page);

        // Get hold of the page template
        PageTemplate template = null;
        try {
            template = getPageTemplate(page, request);
            template.setEnvironment(request.getEnvironment());
        } catch (IllegalStateException e) {
            logger.debug(e.getMessage());
            DispatchUtils.sendInternalError(request, response);
            return true;
        }

        // Does the template support the requested flavor?
        if (!template.supportsFlavor(contentFlavor)) {
            logger.warn("Template '{}' does not support requested flavor {}", template, contentFlavor);
            DispatchUtils.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED, request, response);
            return true;
        }

        // Suggest a last modified data. Note that this may not be the final date
        // as the page may contain content embedded from other pages that feature
        // more recent modification dates
        response.setModificationDate(page.getLastModified());

        // Set the content type
        String characterEncoding = response.getCharacterEncoding();
        if (StringUtils.isNotBlank(characterEncoding))
            response.setContentType("text/html; charset=" + characterEncoding.toLowerCase());
        else
            response.setContentType("text/html");

        // Add the template's HTML header elements to the response if it's not
        // only used in editing mode
        for (HTMLHeadElement header : template.getHTMLHeaders()) {
            if (!HTMLInclude.Use.Editor.equals(header.getUse()))
                response.addHTMLHeader(header);
        }

        // Select the actual renderer by method and have it render the
        // request. Since renderers are being pooled by the bundle, we
        // have to return it after the request has finished.
        try {
            logger.debug("Rendering {} using page template '{}'", path, template);
            template.render(request, response);
        } catch (Throwable t) {
            String params = RequestUtils.dumpParameters(request);
            String msg = "Error rendering template '" + template + "' on '" + path + "' " + params;
            Throwable o = t.getCause();
            if (o != null) {
                msg += ": " + o.getMessage();
                logger.error(msg, o);
            } else {
                logger.error(msg, t);
            }
            DispatchUtils.sendInternalError(request, response);
        }

        return true;
    } catch (EOFException e) {
        logger.debug("Error writing page '{}' back to client: connection closed by client", url);
        return true;
    } catch (IOException e) {
        logger.error("I/O exception while sending error status: {}", e.getMessage(), e);
        return true;
    } finally {
        if (action == null) {
            switch (processingMode) {
            case Cached:
                response.endResponse();
                break;
            case Head:
                Http11Utils.endHeadResponse(response);
                break;
            default:
                break;
            }
        }
    }
}

From source file:cn.newtouch.util.hibernate.HibernateDao.java

private String prepareCountHql(String orgHql) {
    String fromHql = orgHql;/*  www  .j a va2  s .c o  m*/
    // select??order by???count,?.
    fromHql = "from " + StringUtils.substringAfter(fromHql, "from");
    fromHql = StringUtils.substringBefore(fromHql, "order by");

    String countHql = "select count(*) " + fromHql;
    return countHql;
}

From source file:com.opengamma.component.factory.engine.EngineConfigurationComponentFactory.java

/**
 * Builds the map, handling dot separate keys.
 * //from w  ww  .  ja  va2 s . co m
 * @param map the map, not null
 * @param key the key, not null
 * @param targetValue the target value,not null
 */
protected void buildMap(final Map<String, Object> map, final String key, final Object targetValue) {
    if (key.contains(".")) {
        final String key1 = StringUtils.substringBefore(key, ".");
        final String key2 = StringUtils.substringAfter(key, ".");
        @SuppressWarnings("unchecked")
        Map<String, Object> subMap = (Map<String, Object>) map.get(key1);
        if (subMap == null) {
            subMap = new LinkedHashMap<String, Object>();
            map.put(key1, subMap);
        }
        buildMap(subMap, key2, targetValue);
    } else {
        map.put(key, targetValue);
    }
}

From source file:com.dp2345.service.impl.FileServiceImpl.java

public List<FileInfo> browser(String path, FileType fileType, OrderType orderType) {
    if (path != null) {
        if (!path.startsWith("/")) {
            path = "/" + path;
        }//www  . j  a v a  2 s .  co m
        if (!path.endsWith("/")) {
            path += "/";
        }
    } else {
        path = "/";
    }
    Setting setting = SettingUtils.get();
    String uploadPath;
    if (fileType == FileType.flash) {
        uploadPath = setting.getFlashUploadPath();
    } else if (fileType == FileType.media) {
        uploadPath = setting.getMediaUploadPath();
    } else if (fileType == FileType.file) {
        uploadPath = setting.getFileUploadPath();
    } else {
        uploadPath = setting.getImageUploadPath();
    }
    String browsePath = StringUtils.substringBefore(uploadPath, "${");
    browsePath = StringUtils.substringBeforeLast(browsePath, "/") + path;

    List<FileInfo> fileInfos = new ArrayList<FileInfo>();
    if (browsePath.indexOf("..") >= 0) {
        return fileInfos;
    }
    for (StoragePlugin storagePlugin : pluginService.getStoragePlugins(true)) {
        fileInfos = storagePlugin.browser(browsePath);
        break;
    }
    if (orderType == OrderType.size) {
        Collections.sort(fileInfos, new SizeComparator());
    } else if (orderType == OrderType.type) {
        Collections.sort(fileInfos, new TypeComparator());
    } else {
        Collections.sort(fileInfos, new NameComparator());
    }
    return fileInfos;
}

From source file:eu.annocultor.converters.time.OntologyToHtmlGenerator.java

void addToIndexFile(StringInStack url, String prefLabel) {
    //        if (previous == null) {
    //            
    //        } else {
    //            if (url.getLevel() > previous.getLevel()) {
    //                urls.add("</div>");               
    //                urls.add("<div class=\"div_" + url.getLevel() + "\">");               
    //            } else {
    //                urls.add("<div class=\"div_" + url.getLevel() + "\">");               
    //                urls.add("<div class=\"div_" + url.getLevel() + "\">");                               
    //            }
    //        }//ww w .  j  a  v a  2s .com

    String prefix = StringUtils.repeat(" ", url.getLevel());
    String prefLabelToDisplay = StringUtils.substringBefore(prefLabel, "<sub>");
    String text = "<a href=\"" + url.getString() + "\">" + prefLabelToDisplay + "</a>";
    if (url.getLevel() > lastLevel) {
        last = new Node(text, url.getString(), url.getLevel(), last);
        //            urls.add(prefix + "<li><ul>");
    }
    if (url.getLevel() < lastLevel) {
        for (int i = 0; i <= lastLevel - url.getLevel(); i++) {
            last = last.getParent();
        }
        last = new Node(text, url.getString(), url.getLevel(), last);
        //            urls.add(prefix + "</ul></li>");            
    }
    if (url.getLevel() == lastLevel) {
        last = new Node(text, url.getString(), url.getLevel(), last.getParent());
        //            urls.add("</li><li>");
    }

    //        urls.add("<li><p class=\"level_" + url.getLevel() + "\"><a href=\"" + url.getString() + "\">" 
    //                + StringUtils.substringBefore(prefLabel, "<sub>") + "</a></p>");
    lastLevel = url.getLevel();
}