List of usage examples for org.apache.commons.lang3 StringUtils substringBefore
public static String substringBefore(final String str, final String separator)
Gets the substring before the first occurrence of a separator.
From source file:com.norconex.commons.lang.url.URLNormalizer.java
/** * <p>Sorts query parameters.</p> * <code>http://www.example.com/?z=bb&y=cc&z=aa → * http://www.example.com/?y=cc&z=bb&z=aa</code> * @return this instance// w w w.ja v a 2 s . co m */ public URLNormalizer sortQueryParameters() { if (url.contains("?")) { // QueryString extends Properties which already has sorted keys. QueryString q = new HttpURL(url).getQueryString(); if (q != null) { QueryString sorted = new QueryString(); Set<String> keys = new TreeSet<>(q.keySet()); for (String key : keys) { sorted.put(key, q.get(key)); } url = StringUtils.substringBefore(url, "?") + sorted.toString(); } } return this; }
From source file:de.blizzy.documentr.access.UserStore.java
private List<RoleGrantedAuthority> getUserAuthorities(String loginName, ILockedRepository repo) { String json = BlobUtils.getHeadContent(repo.r(), loginName + AUTHORITIES_SUFFIX); if (json == null) { throw new UserNotFoundException(loginName); }/*from ww w.j av a 2 s .co m*/ Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create(); Map<String, Set<String>> authoritiesMap = gson.fromJson(json, new TypeToken<Map<String, Set<String>>>() { }.getType()); List<RoleGrantedAuthority> authorities = Lists.newArrayList(); for (Map.Entry<String, Set<String>> entry : authoritiesMap.entrySet()) { String targetStr = entry.getKey(); Type type = Type.valueOf(StringUtils.substringBefore(targetStr, ":")); //$NON-NLS-1$ String targetId = StringUtils.substringAfter(targetStr, ":"); //$NON-NLS-1$ for (String roleName : entry.getValue()) { authorities.add(new RoleGrantedAuthority(new GrantedAuthorityTarget(targetId, type), roleName)); } } Collections.sort(authorities, new RoleGrantedAuthorityComparator()); return authorities; }
From source file:com.compomics.colims.core.io.mztab.MzTabExporter.java
private void constructMetadata(int type, PrintWriter pw) throws IOException { //version, type, mode and description pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER).append(MZTAB_VERSION) .append(COLUMN_DELIMITER).append(VERSION)); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER).append(MZTAB_MODE) .append(COLUMN_DELIMITER).append(mzTabExport.getMzTabMode().mzTabName())); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER).append(MZTAB_TYPE) .append(COLUMN_DELIMITER).append(mzTabExport.getMzTabType().mzTabName())); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER).append(DESCRIPTION) .append(COLUMN_DELIMITER).append(mzTabExport.getDescription())); //run locations for (int i = 0; i < mzTabExport.getRuns().size(); i++) { analyticalRunIndexRef.put(mzTabExport.getRuns().get(i).getId(), i + 1); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(RUN_LOCATION, i + 1)).append(COLUMN_DELIMITER) .append(mzTabExport.getRuns().get(i).getStorageLocation()).append("\\") .append(mzTabExport.getRuns().get(i).getName())); }// w ww .j a va 2 s . c o m if (type == 1 || type == 2) { //protein quantification unit (relative quantification unit from mztab.json) pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(PROTEIN_QUANTIFICATION_UNIT).append(COLUMN_DELIMITER) .append(createOntology(mzTabParams.get(3).getMzTabParamOptions().get(1).getOntology(), mzTabParams.get(3).getMzTabParamOptions().get(1).getAccession(), mzTabParams.get(3).getMzTabParamOptions().get(1).getName()))); //peptide quantification unit (relative quantification unit from mztab.json)(same with protein quant unit) pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(PEPTIDE_QUANTIFICATION_UNIT).append(COLUMN_DELIMITER) .append(createOntology(mzTabParams.get(3).getMzTabParamOptions().get(1).getOntology(), mzTabParams.get(3).getMzTabParamOptions().get(1).getAccession(), mzTabParams.get(3).getMzTabParamOptions().get(1).getName()))); } //set softwares setSoftware(); //software if (type == 2 || type == 4) { pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(SOFTWARE, 1)).append(COLUMN_DELIMITER).append(getSearchEngine()) .append(COLUMN_DELIMITER)); } // protein search engine score pw.println(new StringBuilder() .append(getEngineScore(PROTEIN_SEARCH_ENGINE_SCORE, PROTEIN_SEARCH_ENGINE_SCORE_ALIGNMENT))); // peptide search engine score pw.println(new StringBuilder() .append(getEngineScore(PEPTIDE_SEARCH_ENGINE_SCORE, PEPTIDE_SEARCH_ENGINE_SCORE_ALIGNMENT))); // psm search engine score pw.println(new StringBuilder() .append(getEngineScore(PSM_SEARCH_ENGINE_SCORE, PSM_SEARCH_ENGINE_SCORE_ALIGNMENT))); // fixed modifications int counter = 1; List<String> modifications = new ArrayList<>(); for (int i = 0; i < mzTabExport.getRuns().size(); i++) { for (SearchParametersHasModification searchParametersHasModification : getSearchAndValidationSettings( mzTabExport.getRuns().get(i)).getSearchParameters().getSearchParametersHasModifications()) { if (searchParametersHasModification.getModificationType().equals(ModificationType.FIXED) && searchParametersHasModification.getSearchModification().getAccession() != null && !modifications .contains(searchParametersHasModification.getSearchModification().getName())) { modifications.add(searchParametersHasModification.getSearchModification().getName()); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(FIXED_MOD, counter)).append(COLUMN_DELIMITER) .append(createOntology(StringUtils.substringBefore( searchParametersHasModification.getSearchModification().getAccession(), ":"), searchParametersHasModification.getSearchModification().getAccession(), searchParametersHasModification.getSearchModification().getName()))); counter++; } } } // variable modifications counter = 1; modifications = new ArrayList<>(); for (int i = 0; i < mzTabExport.getRuns().size(); i++) { for (SearchParametersHasModification searchParametersHasModification : getSearchAndValidationSettings( mzTabExport.getRuns().get(i)).getSearchParameters().getSearchParametersHasModifications()) { if (searchParametersHasModification.getModificationType().equals(ModificationType.VARIABLE) && searchParametersHasModification.getSearchModification().getAccession() != null && !modifications .contains(searchParametersHasModification.getSearchModification().getName())) { modifications.add(searchParametersHasModification.getSearchModification().getName()); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(VARIABLE_MOD, counter)).append(COLUMN_DELIMITER) .append(createOntology(StringUtils.substringBefore( searchParametersHasModification.getSearchModification().getAccession(), ":"), searchParametersHasModification.getSearchModification().getAccession(), searchParametersHasModification.getSearchModification().getName()))); counter++; } } } // quantification method if (type == 2) { pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(QUANTIFICATION_METHOD).append(COLUMN_DELIMITER) .append(createOntology( StringUtils.substringBefore(getQuantificationSettings(mzTabExport.getRuns().get(0)) .getQuantificationMethod().getAccession(), ":"), getQuantificationSettings(mzTabExport.getRuns().get(0)).getQuantificationMethod() .getAccession(), getQuantificationSettings(mzTabExport.getRuns().get(0)).getQuantificationMethod() .getName()))); } //assay quantification reagents if (type == 1 || type == 2) { for (int i = 0; i < mzTabExport.getRuns().size(); i++) { counter = 0; // label free if (getQuantificationSettings(mzTabExport.getRuns().get(i)).getQuantificationMethod() .getQuantificationMethodHasReagents().isEmpty()) { int assayNumber = mzTabExport.getAnalyticalRunsAssaysRefs() .get(mzTabExport.getRuns().get(i))[counter]; pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(ASSAY_QUANTIFICATION_REAGENT, assayNumber)) .append(COLUMN_DELIMITER) .append(createOntology(mzTabParams.get(5).getMzTabParamOptions().get(2).getOntology(), mzTabParams.get(5).getMzTabParamOptions().get(2).getAccession(), mzTabParams.get(5).getMzTabParamOptions().get(2).getName()))); assayReagentRef.put(String.format(ASSAY, assayNumber), mzTabParams.get(5).getMzTabParamOptions().get(2).getName()); } // labeled for (QuantificationMethodHasReagent quantificationMethodHasReagent : getQuantificationSettings( mzTabExport.getRuns().get(i)).getQuantificationMethod() .getQuantificationMethodHasReagents()) { int assayNumber = mzTabExport.getAnalyticalRunsAssaysRefs() .get(mzTabExport.getRuns().get(i))[counter]; pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(ASSAY_QUANTIFICATION_REAGENT, assayNumber)) .append(COLUMN_DELIMITER) .append(createOntology( StringUtils.substringBefore(quantificationMethodHasReagent .getQuantificationReagent().getAccession(), ":"), quantificationMethodHasReagent.getQuantificationReagent().getAccession(), quantificationMethodHasReagent.getQuantificationReagent().getName()))); assayReagentRef.put(String.format(ASSAY, assayNumber), quantificationMethodHasReagent.getQuantificationReagent().getName()); counter++; } mzTabExport.getAnalyticalRunsAssaysRefs().get(mzTabExport.getRuns().get(i)); } } // assay ms run reference for (int i = 0; i < mzTabExport.getRuns().size(); i++) { // label free if (getQuantificationSettings(mzTabExport.getRuns().get(i)).getQuantificationMethod() .getQuantificationMethodHasReagents().isEmpty()) { int assayNumber = mzTabExport.getAnalyticalRunsAssaysRefs().get(mzTabExport.getRuns().get(i))[0]; pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(ASSAY_RUN_REF, assayNumber)).append(COLUMN_DELIMITER) .append(String.format(MS_RUN_REF, i + 1))); assayAnalyticalRunRef.put(String.format(ASSAY, assayNumber), mzTabExport.getRuns().get(i)); } // labeled for (int j = 0; j < getQuantificationSettings(mzTabExport.getRuns().get(i)).getQuantificationMethod() .getQuantificationMethodHasReagents().size(); j++) { int assayNumber = mzTabExport.getAnalyticalRunsAssaysRefs().get(mzTabExport.getRuns().get(i))[j]; pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(ASSAY_RUN_REF, assayNumber)).append(COLUMN_DELIMITER) .append(String.format(MS_RUN_REF, i + 1))); assayAnalyticalRunRef.put(String.format(ASSAY, assayNumber), mzTabExport.getRuns().get(i)); } } // study variable assay references if (type == 1 || type == 2) { counter = 1; for (Map.Entry<String, int[]> studyVariablesAssaysRefs : mzTabExport.getStudyVariablesAssaysRefs() .entrySet()) { String[] assay = new String[studyVariablesAssaysRefs.getValue().length]; for (int i = 0; i < studyVariablesAssaysRefs.getValue().length; i++) { assay[i] = String.format(ASSAY, studyVariablesAssaysRefs.getValue()[i]); } String assays = StringUtils.join(assay, ','); pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(STUDY_VARIABLE_ASSAY_REFS, counter)).append(COLUMN_DELIMITER) .append(assays)); counter++; } } // study variable description counter = 1; for (Map.Entry<String, int[]> studyVariablesAssaysRefs : mzTabExport.getStudyVariablesAssaysRefs() .entrySet()) { pw.println(new StringBuilder().append(METADATA_PREFIX).append(COLUMN_DELIMITER) .append(String.format(STUDY_VARIABLE_DESCRIPTION, counter)).append(COLUMN_DELIMITER) .append(studyVariablesAssaysRefs.getKey())); counter++; } constructProteins(type, pw); constructPSM(type, pw); }
From source file:com.sonicle.webtop.core.app.servlet.ResourceRequest.java
private LookupResult lookupLocaleJs(HttpServletRequest request, URL targetUrl, String serviceId) { String targetPath = targetUrl.getPath(); URL fileUrl = null;// w w w. j a v a 2s . c om try { WebTopApp wta = WebTopApp.get(request); String fileName = FilenameUtils.getName(targetPath); String baseTargetPath = StringUtils.substringBefore(targetPath, fileName); Matcher matcher = PATTERN_LOCALE_FILE.matcher(fileName); if (!matcher.matches()) throw new InternalServerException(); String nameBase = matcher.group(1); String nameLoc = matcher.group(2); String[] tokens = StringUtils.split(nameLoc, "_", 2); // Try to get the properties file that match the requested locale... // If not found, look for the basic english locale (en) String[] suffixes = null; if (tokens.length == 2) { suffixes = new String[] { nameLoc, tokens[0], "en" }; } else { suffixes = new String[] { nameLoc, "en" }; } for (String suffix : suffixes) { fileUrl = getResURL(baseTargetPath + "locale_" + suffix + ".properties"); if (fileUrl != null) break; } if (fileUrl == null) throw new NotFoundException(); // Defines specific params ServiceManager svcm = wta.getServiceManager(); ServiceManifest manifest = svcm.getManifest(serviceId); String clazz = manifest.getJsPackageName() + "." + nameBase; String override = manifest.getPrivateServiceJsClassName(true); //logger.trace("Class: {} - Override: {}", clazz, override); Resource resFile = getFile(wta, fileUrl); return new LocaleJsFile(clazz, override, fileUrl.toString(), ClientCaching.YES, resFile); } catch (ForbiddenException ex) { return new Error(HttpServletResponse.SC_FORBIDDEN, "Forbidden"); } catch (NotFoundException ex) { return new Error(HttpServletResponse.SC_NOT_FOUND, "Not Found"); } catch (InternalServerException ex) { return new Error(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Internal server error"); } catch (ServletException ex) { return new Error(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ex.getMessage()); } }
From source file:com.netflix.spinnaker.clouddriver.ecs.provider.view.EcsServerClusterProvider.java
/** * Gets a Spinnaker server group for a given Spinnaker application, ECS account, and the Spinnaker server group name. *//*from w w w . java2s.com*/ @Override public ServerGroup getServerGroup(String account, String region, String serverGroupName) { if (serverGroupName == null) { throw new Error("Invalid Server Group"); } // TODO - remove the application filter. String application = StringUtils.substringBefore(serverGroupName, "-"); Map<String, Set<EcsServerCluster>> clusterMap = new HashMap<>(); try { AmazonCredentials credentials = getEcsCredentials(account); clusterMap = findClusters(clusterMap, credentials, application); } catch (NoSuchElementException exception) { /* This is ugly, but not sure how else to do it. If we don't have creds due * to not being an ECS account, there's nothing to do here, and we should * just continue on. */ log.info("No ECS credentials were found for the account " + account); } for (Map.Entry<String, Set<EcsServerCluster>> entry : clusterMap.entrySet()) { for (EcsServerCluster ecsServerCluster : entry.getValue()) { for (ServerGroup serverGroup : ecsServerCluster.getServerGroups()) { if (region.equals(serverGroup.getRegion()) && serverGroupName.equals(serverGroup.getName())) { return serverGroup; } } } } // I don't think this should throw an error.. other classes (such as the AmazonClusterProvider return null // if it isn't found..) log.info("No ECS Server Groups were found with the name " + serverGroupName); return null; }
From source file:com.norconex.commons.lang.url.URLNormalizer.java
/** * <p>Removes a URL-based session id. It removes PHP (PHPSESSID), * ASP (ASPSESSIONID), and Java EE (jsessionid) session ids.</p> * <code>http://www.example.com/servlet;jsessionid=1E6FEC0D14D044541DD84D2D013D29ED?a=b * → http://www.example.com/servlet?a=b</code> * <p><b>Please Note:</b> Removing session IDs from URLs is often * a good way to have the URL return an error once invoked.</p> * @return this instance//from ww w . jav a2 s .c o m */ public URLNormalizer removeSessionIds() { if (StringUtils.containsIgnoreCase(url, ";jsessionid=")) { url = url.replaceFirst("(;jsessionid=[0-9a-fA-F]*)", ""); } else { String u = StringUtils.substringBefore(url, "?"); String q = StringUtils.substringAfter(url, "?"); if (StringUtils.containsIgnoreCase(url, "PHPSESSID=")) { q = q.replaceFirst("(&|^)(PHPSESSID=[0-9a-zA-Z]*)", ""); } else if (StringUtils.containsIgnoreCase(url, "ASPSESSIONID")) { q = q.replaceFirst("(&|^)(ASPSESSIONID[a-zA-Z]{8}=[a-zA-Z]*)", ""); } if (!StringUtils.isBlank(q)) { u += "?" + StringUtils.removeStart(q, "&"); } url = u; } return this; }
From source file:com.thinkbiganalytics.feedmgr.sla.DefaultServiceLevelAgreementService.java
/** * In order to Save an SLA if it is related to a Feed(s) the user needs to have EDIT_DETAILS permission on the Feed(s) * * @param serviceLevelAgreement the sla to save * @param feed an option Feed to relate to this SLA. If this is not present the related feeds are also embedded in the SLA policies. The Feed is a pointer access to the current * feed the user is editing if they are creating an SLA from the Feed Details page. If creating an SLA from the main SLA page the feed property will not be populated. *//*w w w . ja va2 s. c o m*/ private ServiceLevelAgreement saveAndScheduleSla(ServiceLevelAgreementGroup serviceLevelAgreement, FeedMetadata feed) { //ensure user has permissions to edit the SLA if (serviceLevelAgreement != null) { ServiceLevelAgreementMetricTransformerHelper transformer = new ServiceLevelAgreementMetricTransformerHelper(); //Read the feeds on the SLA as a Service. Then verify the current user has access to edit these feeds List<String> feedsOnSla = metadataAccess.read(() -> { List<String> feedIds = new ArrayList<>(); //all referencing Feeds List<String> systemCategoryAndFeedNames = transformer.getCategoryFeedNames(serviceLevelAgreement); for (String categoryAndFeed : systemCategoryAndFeedNames) { //fetch and update the reference to the sla String categoryName = StringUtils.trim(StringUtils.substringBefore(categoryAndFeed, ".")); String feedName = StringUtils.trim(StringUtils.substringAfterLast(categoryAndFeed, ".")); Feed feedEntity = feedProvider.findBySystemName(categoryName, feedName); if (feedEntity != null) { feedIds.add(feedEntity.getId().toString()); } } return feedIds; }, MetadataAccess.SERVICE); boolean allowedToEdit = feedsOnSla.isEmpty() ? true : feedsOnSla.stream().allMatch(feedId -> feedManagerFeedService.checkFeedPermission(feedId, FeedAccessControl.EDIT_DETAILS)); if (allowedToEdit) { return metadataAccess.commit(() -> { //Re read back in the Feeds for this session Set<Feed> slaFeeds = new HashSet<Feed>(); Set<Feed.ID> slaFeedIds = new HashSet<Feed.ID>(); feedsOnSla.stream().forEach(feedId -> { Feed feedEntity = feedProvider.findById(feedProvider.resolveId(feedId)); if (feedEntity != null) { slaFeeds.add(feedEntity); slaFeedIds.add(feedEntity.getId()); } }); if (feed != null) { feedManagerFeedService.checkFeedPermission(feed.getId(), FeedAccessControl.EDIT_DETAILS); } if (feed != null) { transformer.applyFeedNameToCurrentFeedProperties(serviceLevelAgreement, feed.getCategory().getSystemName(), feed.getSystemFeedName()); } ServiceLevelAgreement sla = transformer.getServiceLevelAgreement(serviceLevelAgreement); ServiceLevelAgreementBuilder slaBuilder = null; com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement.ID existingId = null; if (StringUtils.isNotBlank(sla.getId())) { existingId = slaProvider.resolve(sla.getId()); } if (existingId != null) { slaBuilder = slaProvider.builder(existingId); } else { slaBuilder = slaProvider.builder(); } slaBuilder.name(sla.getName()).description(sla.getDescription()); for (com.thinkbiganalytics.metadata.rest.model.sla.ObligationGroup group : sla.getGroups()) { ObligationGroupBuilder groupBuilder = slaBuilder .obligationGroupBuilder(ObligationGroup.Condition.valueOf(group.getCondition())); for (Obligation o : group.getObligations()) { groupBuilder.obligationBuilder().metric(o.getMetrics()).description(o.getDescription()) .build(); } groupBuilder.build(); } com.thinkbiganalytics.metadata.sla.api.ServiceLevelAgreement savedSla = slaBuilder.build(); List<ServiceLevelAgreementActionConfiguration> actions = transformer .getActionConfigurations(serviceLevelAgreement); // now assign the sla checks slaProvider.slaCheckBuilder(savedSla.getId()).removeSlaChecks().actionConfigurations(actions) .build(); if (feed != null) { Feed.ID feedId = feedProvider.resolveFeed(feed.getFeedId()); if (!slaFeedIds.contains(feedId)) { Feed feedEntity = feedProvider.getFeed(feedId); slaFeeds.add(feedEntity); } } //relate them Set<Feed.ID> feedIds = new HashSet<>(); FeedServiceLevelAgreementRelationship feedServiceLevelAgreementRelationship = feedSlaProvider .relateFeeds(savedSla, slaFeeds); if (feedServiceLevelAgreementRelationship != null && feedServiceLevelAgreementRelationship.getFeeds() != null) { feedIds = feedServiceLevelAgreementRelationship.getFeeds().stream().map(f -> f.getId()) .collect(Collectors.toSet()); } //Update the JPA mapping in Ops Manager for this SLA and its related Feeds serviceLevelAgreementDescriptionProvider.updateServiceLevelAgreement(savedSla.getId(), savedSla.getName(), savedSla.getDescription(), feedIds); com.thinkbiganalytics.metadata.rest.model.sla.FeedServiceLevelAgreement restModel = serviceLevelAgreementTransform .toModel(savedSla, slaFeeds, true); //schedule it serviceLevelAgreementScheduler.scheduleServiceLevelAgreement(savedSla); return restModel; }); } } return null; }
From source file:it.ldp.pingscheduler.PingSchedulerGUI.java
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.out.println("start"); System.out.println("nameprocess:" + ManagementFactory.getRuntimeMXBean().getName()); String pid = ManagementFactory.getRuntimeMXBean().getName(); pid = StringUtils.substringBefore(pid, "@"); Integer min = new Integer(jComboIntervallo.getSelectedItem().toString()); String nping = jComboPing.getSelectedItem().toString(); String loglevel = jComboLogLevel.getSelectedItem().toString(); String periodo = jComboPeriodo.getSelectedItem().toString(); PingJobScheduler.dowork(min, nping, loglevel, periodo); jLabel2.setText("ping scheduler started pid: " + pid); }
From source file:net.canadensys.dataportal.occurrence.controller.OccurrenceController.java
/** * Handle the received associated sequences string and fill the list in * OccurrenceViewModel if any./* w ww. j a va 2s .com*/ * * @param occModel * @param occViewModel */ private void handleAssociatedSequence(OccurrenceModel occModel, OccurrenceViewModel occViewModel) { if (StringUtils.isEmpty(occModel.getAssociatedsequences())) { return; } String[] sequences = StringUtils.split(occModel.getAssociatedsequences(), ASSOCIATED_SEQUENCES_SEPARATOR); List<String> associatedSequences = Lists.newArrayList(); String seqProvider, seqId, seqProviderUrlFormat; boolean knownFormat = false; for (String currentSequence : sequences) { seqProvider = StringUtils.substringBefore(currentSequence, ASSOCIATED_SEQUENCES_PROVIDER_SEPARATOR) .trim().toLowerCase(); seqId = StringUtils.substringAfter(currentSequence, ASSOCIATED_SEQUENCES_PROVIDER_SEPARATOR).trim(); seqProviderUrlFormat = appConfig.getSequenceProviderUrlFormat(seqProvider); knownFormat = StringUtils.isNotBlank(seqProviderUrlFormat); if (seqProvider != null && seqId != null && knownFormat) { associatedSequences.add(MessageFormat.format(seqProviderUrlFormat, seqId)); } else { associatedSequences.add(currentSequence); } } Collections.sort(associatedSequences); occViewModel.setAssociatedSequences(associatedSequences); }
From source file:com.sonicle.webtop.core.app.servlet.ResourceRequest.java
private LookupResult lookupLAF(HttpServletRequest request, URL targetUrl, String path, String serviceId, String subjectPath) {/*from w w w .jav a2 s .co m*/ URL fileUrl = null; try { String baseTargetPath = StringUtils.substringBefore(targetUrl.getPath(), path); Matcher lafm = PATTERN_LAF_PATH.matcher(path); if (!lafm.matches()) return new Error(HttpServletResponse.SC_BAD_REQUEST, "Bad Request"); String pathLaf = lafm.group(1); String remainingPath = lafm.group(2); // Try to get resource in folder related to the requested look&feel... // If not found, look for the default one (default) String[] lafs = new String[] { pathLaf, "default" }; for (String laf : lafs) { fileUrl = getResURL(baseTargetPath + "laf/" + laf + "/" + remainingPath); if (fileUrl != null) break; } if (fileUrl == null) throw new NotFoundException(); Resource resFile = getFile(WebTopApp.get(request), fileUrl); return new StaticFile(fileUrl.toString(), getMimeType(remainingPath), ClientCaching.YES, resFile); } catch (ForbiddenException ex) { return new Error(HttpServletResponse.SC_FORBIDDEN, "Forbidden"); } catch (NotFoundException ex) { return new Error(HttpServletResponse.SC_NO_CONTENT, "Not Content"); } catch (InternalServerException ex) { return new Error(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Internal server error"); } catch (ServletException ex) { return new Error(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ex.getMessage()); } }