List of usage examples for org.apache.commons.lang StringUtils substringBefore
public static String substringBefore(String str, String separator)
Gets the substring before the first occurrence of a separator.
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(); }