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

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

Introduction

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

Prototype

public static String substringBetween(String str, String open, String close) 

Source Link

Document

Gets the String that is nested in between two Strings.

Usage

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;
    }

}