List of usage examples for org.apache.commons.lang StringUtils substringBetween
public static String substringBetween(String str, String open, String close)
Gets the String that is nested in between two Strings.
From source file:org.wso2.carbon.identity.provisioning.rules.XACMLBasedRuleHandler.java
private RequestDTO createRequestDTO(String tenantDomainName, ProvisioningEntity provisioningEntity, ServiceProvider serviceProvider, String idPName, String connectorType) { List<RowDTO> rowDTOs = new ArrayList<>(); //Setting up user-info category RowDTO tenatDomainDTO = createRowDTO(tenantDomainName, EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_TENAT_DOMAIN, ProvisioningRuleConstanats.XACML_CATAGORY_USER); RowDTO userDTO = createRowDTO(provisioningEntity.getEntityName(), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_USER, ProvisioningRuleConstanats.XACML_CATAGORY_USER); RowDTO spNameDTO = createRowDTO(serviceProvider.getApplicationName(), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_SP_NAME, ProvisioningRuleConstanats.XACML_CATAGORY_SERVICE_PROVIDER); RowDTO spTenantDomainNameDTO = createRowDTO(serviceProvider.getOwner().getTenantDomain(), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_SP_TENANT_DOMAIN, ProvisioningRuleConstanats.XACML_CATAGORY_SERVICE_PROVIDER); //Setting up IDP category RowDTO idpNameDTO = createRowDTO(idPName, EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_IDP_NAME, ProvisioningRuleConstanats.XACML_CATAGORY_IDENTITY_PROVIDER); RowDTO connectorTypeDTO = createRowDTO(connectorType, EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_CONNECTOR_TYPE, ProvisioningRuleConstanats.XACML_CATAGORY_IDENTITY_PROVIDER); //Setting up Identity Action RowDTO provisioningFlowDTO = createRowDTO(ProvisioningRuleConstanats.IDENTITY_ACTION_PROVISIONING, EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_IDENTITY_ACTION, ProvisioningRuleConstanats.XACML_CATAGORY_IDENTITY_ACTION); if (provisioningEntity.getOperation().equals(ProvisioningOperation.POST)) { RowDTO provisioningClaimGroupDTO = createRowDTO( StringUtils.substringBetween(provisioningEntity.getAttributes() .get(ClaimMapping.build(IdentityProvisioningConstants.GROUP_CLAIM_URI, null, null, false))/*from w ww . ja va2s .c o m*/ .toString(), "[", "]"), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_CLAIM_GROUPS, ProvisioningRuleConstanats.XACML_CATAGORY_PROVISIONING); rowDTOs.add(provisioningClaimGroupDTO); } RowDTO provisioningOperationDTO = createRowDTO(provisioningEntity.getOperation().toString(), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_OPERATION, ProvisioningRuleConstanats.XACML_CATAGORY_PROVISIONING); if (provisioningEntity.getInboundAttributes() != null) { Iterator<Map.Entry<String, String>> claimIterator = provisioningEntity.getInboundAttributes().entrySet() .iterator(); while (claimIterator.hasNext()) { Map.Entry<String, String> claim = claimIterator.next(); String claimUri = claim.getKey(); String claimValue = claim.getValue(); RowDTO claimRowDTO = createRowDTO(claimValue, EntitlementPolicyConstants.STRING_DATA_TYPE, claimUri, ProvisioningRuleConstanats.XACML_CATAGORY_USER); rowDTOs.add(claimRowDTO); } } RowDTO environmentTypeDTO = createRowDTO(tenantDomainName, EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_ENVIRONMENT, ProvisioningRuleConstanats.XACML_CATAGORY_ENVIRONMENT); RowDTO dateDTO = createRowDTO(getCurrentDateTime(ProvisioningRuleConstanats.DATE_FORMAT), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_DATE, ProvisioningRuleConstanats.XACML_CATAGORY_ENVIRONMENT); RowDTO timeDTO = createRowDTO(getCurrentDateTime(ProvisioningRuleConstanats.TIME_FORMAT), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_TIME, ProvisioningRuleConstanats.XACML_CATAGORY_ENVIRONMENT); RowDTO dateTimeDTO = createRowDTO(getCurrentDateTime(ProvisioningRuleConstanats.DATE_TIME_FORMAT), EntitlementPolicyConstants.STRING_DATA_TYPE, ProvisioningRuleConstanats.XACML_ATTRIBUTE_DATE_TIME, ProvisioningRuleConstanats.XACML_CATAGORY_ENVIRONMENT); rowDTOs.add(tenatDomainDTO); rowDTOs.add(userDTO); rowDTOs.add(spNameDTO); rowDTOs.add(spTenantDomainNameDTO); rowDTOs.add(idpNameDTO); rowDTOs.add(provisioningFlowDTO); rowDTOs.add(connectorTypeDTO); rowDTOs.add(environmentTypeDTO); rowDTOs.add(dateDTO); rowDTOs.add(timeDTO); rowDTOs.add(dateTimeDTO); rowDTOs.add(provisioningOperationDTO); RequestDTO requestDTO = new RequestDTO(); requestDTO.setRowDTOs(rowDTOs); return requestDTO; }
From source file:play.modules.thymeleaf.ThymeleafPlugin.java
/** * Loads template from thymeleaf TemplateEngine if the file is in the prefix path. *///from ww w . j a v a 2 s.c o m @Override public Template loadTemplate(VirtualFile file) { String relativePath = file.relativePath(); if (Logger.isDebugEnabled()) Logger.debug("relative path = %s", relativePath); String templatePath = null; if (StringUtils.startsWith(relativePath, this.prefix)) { templatePath = StringUtils.removeStart(relativePath, this.prefix); } else if (!this.thymeleafModules.isEmpty() && relativePath.startsWith("{module:")) { String moduleName = StringUtils.substringBetween(relativePath, "{module:", "}" + this.prefix); if (this.thymeleafModules.contains(moduleName)) { if (Logger.isDebugEnabled()) Logger.debug("module %s is thymeleaf enabled.", moduleName); templatePath = StringUtils.substringAfter(relativePath, "}" + this.prefix); } } if (templatePath == null) { if (Logger.isDebugEnabled()) Logger.debug("%s is not in thymeleaf path", relativePath); return null; } if (Logger.isDebugEnabled()) Logger.debug("loading %s from thymeleaf path %s", templatePath, this.prefix); Template template = new ThymeleafTemplate(templateEngine, file); template.name = templatePath; return template; }
From source file:se.inera.axel.shs.processor.ShsMessageMarshaller.java
/** * Reads the beginning of the stream to parse the label. * * @param inputStream a stream that must either support mark or be a StreamCache so that it can be reset. * * @return the label parsed from the stream * * @throws IllegalMessageStructureException if the label cannot be parsed or if the stream cannot be * reset after the label has been parsed. *//*from ww w. j a v a 2s. co m*/ public ShsLabel parseLabel(InputStream inputStream) throws IllegalMessageStructureException { try { // Mark might not be supported inputStream.mark(4096); byte[] buffer = new byte[4096]; IOUtils.read(inputStream, buffer, 0, 4096); // Will throw IOException if the InputStream mark has been invalidated // or if the stream does not support mark and is not a StreamCache inputStream.reset(); String xml = StringUtils.substringBetween(new String(buffer, Charset.forName("ISO-8859-1")), "<shs.label ", "</shs.label>"); if (xml == null) { throw new IllegalMessageStructureException("shs label not found in: " + new String(buffer)); } ShsLabel label = shsLabelMarshaller.unmarshal("<shs.label " + xml + "</shs.label>"); return label; } catch (IOException e) { throw new IllegalMessageStructureException("Error parsing label xml", e); } }
From source file:se.nrm.dina.data.jpa.DinaDaoImpl.java
/** * Build a namedQuery with parameters/*from www .ja v a 2 s. c o m*/ * * @param clazz * @param strJPQL * @param parameters * @return Query */ private Query createQuery(Class clazz, String strJPQL, Map<String, String> parameters) { query = entityManager.createQuery(strJPQL); if (parameters != null) { parameters.entrySet().stream().forEach((entry) -> { String fieldName = entry.getKey(); if (Util.getInstance().isIntField(clazz, fieldName)) { query.setParameter(entry.getKey(), Integer.parseInt(entry.getValue())); } else if (Util.getInstance().isEntity(clazz, fieldName)) { query.setParameter(entry.getKey(), Integer.parseInt(entry.getValue())); } else if (Util.getInstance().isBigDecimal(clazz, fieldName)) { String value = entry.getValue(); if (value.toLowerCase().startsWith(BETWEEN)) { query.setParameter(entry.getKey() + "min", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ","))); query.setParameter(entry.getKey() + "max", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, ",", ")"))); } else if (value.toLowerCase().startsWith(GREAT_THAN)) { query.setParameter(entry.getKey() + "v1", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ")"))); } else if (value.toLowerCase().startsWith(LESS_THAN)) { query.setParameter(entry.getKey() + "v2", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ")"))); } else { logger.info("bigDecimal"); query.setParameter((String) entry.getKey(), HelpClass.getInstance().convertStringToBigDecimal(entry.getValue())); } } else if (Util.getInstance().isDate(clazz, fieldName)) { String value = entry.getValue(); if (value.toLowerCase().startsWith(BETWEEN)) { query.setParameter(entry.getKey() + "min", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, "(", ","))); query.setParameter(entry.getKey() + "max", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, ",", ")"))); } else if (value.toLowerCase().startsWith(GREAT_THAN)) { query.setParameter(entry.getKey() + "v1", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, "(", ")"))); } else if (value.toLowerCase().startsWith(LESS_THAN)) { query.setParameter(entry.getKey() + "v2", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, "(", ")"))); } else { query.setParameter((String) entry.getKey(), HelpClass.getInstance().convertStringToDate(entry.getValue())); } } else { query.setParameter((String) entry.getKey(), entry.getValue()); } }); } return query; }
From source file:se.nrm.dina.data.jpa.DinaDaoImpl.java
/** * Build a namedQuery with parameters//from w ww. jav a2 s . c om * * @param clazz * @param strJPQL * @param parameters * @return Query */ private Query createQueryFuzzSearch(Class clazz, String strJPQL, Map<String, String> parameters) { query = entityManager.createQuery(strJPQL); if (parameters != null) { parameters.entrySet().stream().forEach((entry) -> { String fieldName = entry.getKey(); if (Util.getInstance().isIntField(clazz, fieldName)) { query.setParameter(entry.getKey(), Integer.parseInt(entry.getValue())); } else if (Util.getInstance().isEntity(clazz, fieldName)) { query.setParameter(entry.getKey(), Integer.parseInt(entry.getValue())); } else if (Util.getInstance().isBigDecimal(clazz, fieldName)) { String value = entry.getValue(); if (value.toLowerCase().startsWith(BETWEEN)) { query.setParameter(entry.getKey() + "min", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ","))); query.setParameter(entry.getKey() + "max", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, ",", ")"))); } else if (value.toLowerCase().startsWith(GREAT_THAN)) { query.setParameter(entry.getKey() + "v1", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ")"))); } else if (value.toLowerCase().startsWith(LESS_THAN)) { query.setParameter(entry.getKey() + "v2", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ")"))); } else { query.setParameter((String) entry.getKey(), HelpClass.getInstance().convertStringToBigDecimal(entry.getValue())); } } else if (Util.getInstance().isDate(clazz, fieldName)) { String value = entry.getValue(); if (value.toLowerCase().startsWith(BETWEEN)) { query.setParameter(entry.getKey() + "min", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, "(", ","))); query.setParameter(entry.getKey() + "max", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, ",", ")"))); } else if (value.toLowerCase().startsWith(GREAT_THAN)) { query.setParameter(entry.getKey() + "v1", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, "(", ")"))); } else if (value.toLowerCase().startsWith(LESS_THAN)) { query.setParameter(entry.getKey() + "v2", HelpClass.getInstance() .convertStringToDate(StringUtils.substringBetween(value, "(", ")"))); } else { query.setParameter((String) entry.getKey(), entry.getValue()); } } else { query.setParameter(entry.getKey(), "%" + entry.getValue() + "%"); } }); } return query; }
From source file:se.nrm.dina.data.jpa.impl.QueryBuilder.java
private void setBigDecimal(String fieldName, String value, Query query) { if (value.toLowerCase().startsWith(BETWEEN)) { query.setParameter(fieldName + MIN, HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ","))); query.setParameter(fieldName + MAX, HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, ",", ")"))); } else if (value.toLowerCase().startsWith(GREAT_THAN)) { query.setParameter(fieldName + "v1", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ")"))); } else if (value.toLowerCase().startsWith(LESS_THAN)) { query.setParameter(fieldName + "v2", HelpClass.getInstance() .convertStringToBigDecimal(StringUtils.substringBetween(value, "(", ")"))); } else {//from w w w.j av a2 s . com query.setParameter(fieldName, HelpClass.getInstance().convertStringToBigDecimal(value)); } }
From source file:se.nrm.dina.data.jpa.impl.QueryBuilder.java
private void setDate(String fieldName, String value, Query query) { if (value.toLowerCase().startsWith(BETWEEN)) { query.setParameter(fieldName + MIN, HelpClass.getInstance().convertStringToDate(StringUtils.substringBetween(value, "(", ","))); query.setParameter(fieldName + MAX, HelpClass.getInstance().convertStringToDate(StringUtils.substringBetween(value, ",", ")"))); } else if (value.toLowerCase().startsWith(GREAT_THAN)) { query.setParameter(fieldName + "v1", HelpClass.getInstance().convertStringToDate(StringUtils.substringBetween(value, "(", ")"))); } else if (value.toLowerCase().startsWith(LESS_THAN)) { query.setParameter(fieldName + "v2", HelpClass.getInstance().convertStringToDate(StringUtils.substringBetween(value, "(", ")"))); } else {/*from w ww .j a v a 2 s. c o m*/ query.setParameter(fieldName, HelpClass.getInstance().convertStringToDate(value)); } }
From source file:se.nrm.dina.data.service.metadata.Metadata.java
private void buildBaseUri(HttpServletRequest req, String entity) { String uri = req.getRequestURI(); version = StringUtils.substringBetween(uri, req.getContextPath() + "/v", "/" + entity); sb = new StringBuilder(); sb.append(PROTOCAL);/* ww w . j av a 2 s. co m*/ sb.append(HOST_NAME); sb.append(uri); callEndpoint = sb.toString(); }
From source file:se.nrm.dina.keycloak.admin.AdminClient.java
private void readValueFromRow(String[] row) { agentId = "0"; if (row[0] != null) { agentId = row[0];/*from w w w . j a v a2s . co m*/ } specifyUserId = row[1]; email = StringUtils.substringBetween(row[2], "\"", "\""); username = StringUtils.substringBetween(row[3].trim(), "\"", "\""); password = StringUtils.substringBetween(row[5].trim(), "\"", "\""); }
From source file:se.nrm.dina.logic.DinaDataLogic.java
public List<T> findEntitiesByids(String entityName, String ids) { logger.info("findEntitiesByids : {} --{}", entityName, ids); // String idList = StringUtils.substringBetween(ids, "(", ")"); if (StringUtils.isEmpty(ids)) { return null; }/* ww w . ja v a2 s. c o m*/ if (ids.contains("(")) { ids = StringUtils.substringBetween(ids, "(", ")"); } try { Class clazz = JpaReflectionHelper.getInstance().convertClassNameToClass(entityName); boolean isVersioned = JpaReflectionHelper.getInstance().isVersioned(clazz); List<T> beans = new ArrayList(); Arrays.asList(ids.split(",")).stream().forEach(strId -> { int id = HelpClass.getInstance().strToInt(strId); T t = (T) dao.findById(id, clazz, isVersioned); if (t != null) { beans.add(t); } }); return beans; } catch (DinaException e) { throw e; } }