Example usage for org.springframework.util StringUtils hasLength

List of usage examples for org.springframework.util StringUtils hasLength

Introduction

In this page you can find the example usage for org.springframework.util StringUtils hasLength.

Prototype

public static boolean hasLength(@Nullable String str) 

Source Link

Document

Check that the given String is neither null nor of length 0.

Usage

From source file:org.springmodules.validation.bean.BeanValidator.java

/**
 * Applies the global validation rules as listed in the given validation configuration on the given object, and
 * registering all global validation errors with the given {@link Errors}.
 *
 * @param configuration The bean validation configuration that holds all the global validation rules.
 * @param obj The validated object.// ww w .j  a  v a2 s  .c om
 * @param errors The {@link Errors} instance where all global validation errors will be registered.
 */
protected void applyGlobalValidationRules(BeanValidationConfiguration configuration, Object obj,
        Errors errors) {
    ValidationRule[] globalRules = configuration.getGlobalRules();
    for (int i = 0; i < globalRules.length; i++) {
        ValidationRule rule = globalRules[i];
        if (rule.isApplicable(obj) && !rule.getCondition().check(obj)) {
            String errorCode = errorCodeConverter.convertGlobalErrorCode(rule.getErrorCode(), obj.getClass());

            // if there is a nested path in errors, the global errors should be registered as field errors
            // for the nested path. Otherwise, they should be registered as global errors. Starting from Spring 2.0-rc2
            // this is actually not required - it's just enough to call rejectValue() with null as the field name,
            // but we keep this implementation for now to support earlier versions.

            if (StringUtils.hasLength(errors.getNestedPath())) {
                String nestedPath = errors.getNestedPath();
                String propertyName = nestedPath.substring(0, nestedPath.length() - 1);
                errors.popNestedPath();
                errors.rejectValue(propertyName, errorCode, rule.getErrorArguments(obj),
                        rule.getDefaultErrorMessage());
                errors.pushNestedPath(propertyName);
            } else {
                errors.reject(errorCode, rule.getErrorArguments(obj), rule.getDefaultErrorMessage());
            }
        }
    }
}

From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java

/**
 * @param element/*from  ww  w  .jav  a2 s.  c o  m*/
 * @return
 */
protected AbstractBeanDefinition prepareResourceMonitor(Element element) {
    BeanDefinitionBuilder builder = null;
    String reloadIntervalStr = element.getAttribute("reload-interval");
    if (StringUtils.hasLength(reloadIntervalStr)) {
        if (watchableAvailable) { // Must have a reload-interval to use watched.
            builder = BeanDefinitionBuilder
                    .genericBeanDefinition("org.brekka.stillingar.spring.snapshot.WatchedResourceMonitor");
            builder.addConstructorArgValue(Integer.valueOf(reloadIntervalStr));
        } else {
            builder = BeanDefinitionBuilder.genericBeanDefinition(PollingResourceMonitor.class);
        }
    } else {
        builder = BeanDefinitionBuilder.genericBeanDefinition(NoopResourceMonitor.class);
    }
    return builder.getBeanDefinition();
}

From source file:org.ff4j.console.controller.FeaturesController.java

/**
 * User action to delete a new Feature.//from   www . jav  a2s.  c o  m
 * 
 * @param req
 *            http request containing operation parameters
 */
private void opDeleteFeature(FeatureStore store, String id) {
    if (StringUtils.hasLength(id)) {
        store.delete(id);
        log.info(id + " has been deleted");
    }
}

From source file:com.inspiresoftware.lib.dto.geda.interceptor.impl.TransferableUtils.java

private static void resolveConfigurationAround(final Map<Occurrence, AdviceConfig> cfg, final String method,
        final Class[] args, final Class retArg, final Transferable ann) {

    if (args.length >= 2) {

        final boolean filtered = StringUtils.hasLength(ann.dtoFilterKey());
        final boolean returnIsVoid = isReturnVoid(retArg);

        if (ann.before() == Direction.DTO_TO_ENTITY && ann.after() == Direction.ENTITY_TO_DTO) {

            if (filtered && args.length >= 2) {
                if (returnIsVoid) {
                    // public void toEntityAndBackToDto(Class<DTO> dtoFilter, DTO source, Entity target, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), ann.dtoFilterKey(),
                            "", "", AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY, 0, NO_INDEX, NO_INDEX,
                            1, ann.context());
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), ann.dtoFilterKey(),
                            "", "", AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER, NO_INDEX, 0, 1,
                            NO_INDEX, ann.context());
                    return;

                } else {
                    // public DTO toEntityAndBackToDto(Class<DTO> dtoFilter, DTO source, Entity target, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), ann.dtoFilterKey(),
                            "", "", AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY, 0, NO_INDEX, NO_INDEX,
                            1, ann.context());
                    assertKey(method, ann.dtoKey(), true);
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), ann.dtoFilterKey(),
                            ann.dtoKey(), "", AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY_BY_FILTER, NO_INDEX,
                            RETURN_INDEX, 1, NO_INDEX, ann.context());
                    return;

                }//from w w w  .jav  a  2 s .  co m

            } else {
                if (returnIsVoid) {
                    // public void toEntityAndBackToDto(DTO source, Entity target, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), "", "", "",
                            AdviceConfig.DTOSupportMode.DTO_TO_ENTITY, 0, NO_INDEX, NO_INDEX, 1, ann.context());
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), "", "", "",
                            AdviceConfig.DTOSupportMode.ENTITY_TO_DTO, NO_INDEX, 0, 1, NO_INDEX, ann.context());
                    return;

                } else {
                    // public DTO toEntityAndBackToDto(DTO source, Entity target, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), "", "", "",
                            AdviceConfig.DTOSupportMode.DTO_TO_ENTITY, 0, NO_INDEX, NO_INDEX, 1, ann.context());
                    assertKey(method, ann.dtoKey(), true);
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), "", ann.dtoKey(), "",
                            AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_KEY, NO_INDEX, RETURN_INDEX, 1, NO_INDEX,
                            ann.context());
                    return;

                }
            }

        } else if (ann.before() == Direction.ENTITY_TO_DTO && ann.after() == Direction.DTO_TO_ENTITY) {

            if (filtered && args.length >= 2) {
                if (returnIsVoid) {
                    // public void toDtoAndBackToEntity(Class<DTO> dtoFilter, DTO target, Entity source, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), ann.dtoFilterKey(),
                            "", "", AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER, NO_INDEX, 0, 1,
                            NO_INDEX, ann.context());
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), ann.dtoFilterKey(),
                            "", "", AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY, 0, NO_INDEX, NO_INDEX,
                            1, ann.context());
                    return;

                } else {
                    // public Entity toDtoAndBackToEntity(Class<DTO> dtoFilter, DTO target, Entity source, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), ann.dtoFilterKey(),
                            "", "", AdviceConfig.DTOSupportMode.ENTITY_TO_DTO_BY_FILTER, NO_INDEX, 0, 1,
                            NO_INDEX, ann.context());
                    assertKey(method, ann.entityKey(), false);
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), ann.dtoFilterKey(),
                            "", ann.entityKey(), AdviceConfig.DTOSupportMode.DTO_BY_FILTER_TO_ENTITY_KEY, 0,
                            NO_INDEX, NO_INDEX, RETURN_INDEX, ann.context());
                    return;

                }
            } else {
                if (returnIsVoid) {
                    // public void toDtoAndBackToEntity(DTO target, Entity source, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), "", "", "",
                            AdviceConfig.DTOSupportMode.ENTITY_TO_DTO, NO_INDEX, 0, 1, NO_INDEX, ann.context());
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), "", "", "",
                            AdviceConfig.DTOSupportMode.DTO_TO_ENTITY, 0, NO_INDEX, NO_INDEX, 1, ann.context());
                    return;

                } else {
                    // public Entity toDtoAndBackToEntity(DTO target, Entity source, ... )
                    addConfiguration(cfg, Occurrence.BEFORE_METHOD_INVOCATION, ann.before(), "", "", "",
                            AdviceConfig.DTOSupportMode.ENTITY_TO_DTO, NO_INDEX, 0, 1, NO_INDEX, ann.context());
                    assertKey(method, ann.entityKey(), false);
                    addConfiguration(cfg, Occurrence.AFTER_METHOD_INVOCATION, ann.after(), "", "",
                            ann.entityKey(), AdviceConfig.DTOSupportMode.DTO_TO_ENTITY_KEY, 0, NO_INDEX,
                            NO_INDEX, RETURN_INDEX, ann.context());
                    return;

                }
            }

        }

    }

    throw new UnsupportedOperationException("Unsupported configuration see @Transferable.");
}

From source file:com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl.java

/**
 * Get the {@link CacheableInterceptor} by name. Returning a default resolver factory if the name is empty or null
 * /*from  w w w .ja v  a  2 s .co m*/
 * @param resolverFactoryName Name of the resolver factory to retrieve
 * @return The named generator or the default generator if the name was empty or null
 */
protected final CacheableInterceptor getCacheInterceptor(String cacheableInteceptorName) {
    if (StringUtils.hasLength(cacheableInteceptorName)) {
        return this.beanFactory.getBean(cacheableInteceptorName, CacheableInterceptor.class);
    }

    return this.defaultCacheableInterceptor;
}

From source file:uk.ac.ebi.ep.controller.BrowseTaxonomyController.java

/**
 * Applies filters taken from the search parameters to the search results.
 *
 * @param searchModel/* www.j  a  v a2 s .c  o m*/
 * @param request
 */
private void applyFiltersAdapted(SearchModel searchModel, HttpServletRequest request) {

    if (searchModel != null) {

        SearchParams searchParameters = searchModel.getSearchparams();
        SearchResults resultSet = searchModel.getSearchresults();

        String compound_autocompleteFilter = request.getParameter("searchparams.compounds");
        String specie_autocompleteFilter = request.getParameter("_ctempList_selected");
        String diseases_autocompleteFilter = request.getParameter("_DtempList_selected");

        // Filter:
        List<String> speciesFilter = searchParameters.getSpecies();
        List<String> compoundsFilter = searchParameters.getCompounds();
        List<String> diseasesFilter = searchParameters.getDiseases();

        //remove empty string in the filter to avoid unsual behavior of the filter facets
        if (speciesFilter.contains("")) {
            speciesFilter.remove("");

        }
        if (compoundsFilter.contains("")) {
            compoundsFilter.remove("");

        }
        if (diseasesFilter.contains("")) {
            diseasesFilter.remove("");
        }

        //to ensure that the seleted item is used in species filter, add the selected to the list. this is a workaround. different JS were used for auto complete and normal filter
        if ((specie_autocompleteFilter != null && StringUtils.hasLength(specie_autocompleteFilter) == true)
                && StringUtils.isEmpty(compound_autocompleteFilter)
                && StringUtils.isEmpty(diseases_autocompleteFilter)) {
            speciesFilter.add(specie_autocompleteFilter);

        }

        if ((diseases_autocompleteFilter != null && StringUtils.hasLength(diseases_autocompleteFilter) == true)
                && StringUtils.isEmpty(compound_autocompleteFilter)
                && StringUtils.isEmpty(specie_autocompleteFilter)) {
            diseasesFilter.add(diseases_autocompleteFilter);

        }

        //both from auto complete and normal selection. selected items are displayed on top the list and returns back to the orignial list when not selected.
        SearchResults searchResults = resultSet;
        List<Species> defaultSpeciesList = searchResults.getSearchfilters().getSpecies();
        resetSelectedSpecies(defaultSpeciesList);

        searchParameters.getSpecies().stream().forEach((selectedItems) -> {
            defaultSpeciesList.stream()
                    .filter((theSpecies) -> (selectedItems.equals(theSpecies.getScientificname())))
                    .forEach((theSpecies) -> {
                        theSpecies.setSelected(true);
                    });
        });

        List<Compound> defaultCompoundList = searchResults.getSearchfilters().getCompounds();
        resetSelectedCompounds(defaultCompoundList);

        searchParameters.getCompounds().stream().forEach((SelectedCompounds) -> {
            defaultCompoundList.stream()
                    .filter((theCompound) -> (SelectedCompounds.equals(theCompound.getName())))
                    .forEach((theCompound) -> {
                        theCompound.setSelected(true);
                    });
        });

        List<Disease> defaultDiseaseList = searchResults.getSearchfilters().getDiseases();
        resetSelectedDisease(defaultDiseaseList);

        searchParameters.getDiseases().stream().forEach((selectedDisease) -> {
            defaultDiseaseList.stream().filter((disease) -> (selectedDisease.equals(disease.getName())))
                    .forEach((disease) -> {
                        disease.setSelected(true);
                    });
        });

    }

}

From source file:com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl.java

/**
 * Get the {@link TriggersRemoveInterceptor} by name. Returning a default resolver factory if the name is empty or null
 * /*from w w  w .  ja va 2  s.  co m*/
 * @param resolverFactoryName Name of the resolver factory to retrieve
 * @return The named generator or the default generator if the name was empty or null
 */
protected final TriggersRemoveInterceptor getTriggersRemoveInterceptor(String triggersRemoveInterceptorName) {
    if (StringUtils.hasLength(triggersRemoveInterceptorName)) {
        return this.beanFactory.getBean(triggersRemoveInterceptorName, TriggersRemoveInterceptor.class);
    }

    return this.defaultTriggersRemoveInterceptor;
}

From source file:edu.uchicago.duo.web.DuoEnrollController.java

/**
 * ************************************************************************
 * Main Method to Handle the actual Device ID Creation and Association
 * between the Device and User/* w  w  w. j  av a  2 s.  c o  m*/
 * *************************************************************************
 */
@RequestMapping(method = RequestMethod.POST, params = "enrollUserNPhone")
public String processEnroll(HttpServletRequest request, @ModelAttribute("DuoPerson") DuoPersonObj duoperson,
        //         @RequestParam(value = "_unknownMobileVerified", required = false, defaultValue = "N") final String unknownMobileVerified,
        BindingResult result, HttpSession session, SessionStatus status, ModelMap model)
        throws UnsupportedEncodingException, Exception {

    String phoneId;
    String tokenId;
    String userId;
    String qrCode;

    /**
     * *******************************************************************************************
     * Enrollment Procedure, first thing first!
     *
     * Check Whether User is a registered DUO User and Register First-Time
     * User into DUO Database
     * ********************************************************************************************
     */
    if (duoperson.getUser_id() == null) {
        userId = duoUsrService.createObjByParam(duoperson.getUsername(), duoperson.getFullName(),
                duoperson.getEmail(), null, null);
        duoperson.setUser_id(userId);

        //Session Attribute "Duo User ID" - ADDED
        session.setAttribute("duoUserId", userId);

        logger.info("2FA Info - " + getIPForLog(request) + " - " + "Duo User Account created for: "
                + duoperson.getUsername() + "|DuoUserID:" + duoperson.getUser_id());
    }

    //Attempts to try to Catpure F5/Browser Refresh during Device Activation, Not letting Users jump out without Activation success
    if (StringUtils.hasLength(duoperson.getPhone_id())) {
        String activeStatus = duoPhoneService.getObjStatusById(duoperson.getPhone_id());
        if (activeStatus.equals("false")) {
            qrCode = duoPhoneService.objActionById(duoperson.getPhone_id(), "qrCode");
            duoperson.setQRcode(qrCode);
            model.put("deviceNotActive", true);
            return "DuoActivationQR";
        } else {
            logger.info("2FA Info - " + getIPForLog(request) + " - " + duoperson.getUsername()
                    + " Successfully Registered: PhoneNumber:" + duoperson.getPhonenumber() + "Tablet Name:"
                    + duoperson.getTabletName());
            return "DuoEnrollSuccess";
        }
    }

    /**
     * ***********************************************************************************
     * Enrollment Procedure for Type == unknown
     *
     * Unknown == Old CellPhone that doesn't support Duo Mobile App, but
     * still support SMS
     * ***********************************************************************************
     */
    if (duoperson.getChoosenDevice().matches("mobile") && duoperson.getDeviceOS().matches("unknown")) {

        phoneId = duoPhoneService.createObjByParam(duoperson.getCompletePhonenumber(),
                duoperson.getChoosenDevice(), duoperson.getDeviceOS(), null, null);
        duoperson.setPhone_id(phoneId);
        duoPhoneService.associateObjs(duoperson.getUser_id(), phoneId);
    }

    /**
     * ********************************************************************
     * Enrollment Procedure for Type == Mobile | Tablet
     *
     * 1st) Create the Phone/Tablet Device first in DUO DB
     *
     * 2nd) Link the newly create Phone/Tablet to the user
     *
     * 3rd) Generate and Display the Activation QR code for DUO Mobile App
     * Registration
     * ********************************************************************
     */
    if (duoperson.getChoosenDevice().matches("mobile|tablet") && !duoperson.getDeviceOS().matches("unknown")) {

        phoneId = duoPhoneService.createObjByParam(duoperson.getCompletePhonenumber(),
                duoperson.getChoosenDevice(), duoperson.getDeviceOS(), duoperson.getTabletName(), null);
        duoperson.setPhone_id(phoneId);

        duoPhoneService.associateObjs(duoperson.getUser_id(), phoneId);

        qrCode = duoPhoneService.objActionById(duoperson.getPhone_id(), "qrCode");
        duoperson.setQRcode(qrCode);

        return "DuoActivationQR";
    }

    /**
     * ******************************************
     * Enrollment Procedure for Type == LandLine
     * ******************************************
     */
    if (duoperson.getChoosenDevice().matches("landline")) {
        phoneId = duoPhoneService.createObjByParam(duoperson.getCompletePhonenumber(),
                duoperson.getChoosenDevice(), null, null, duoperson.getLandLineExtension());
        duoperson.setPhone_id(phoneId);
        duoPhoneService.associateObjs(duoperson.getUser_id(), phoneId);
    }

    /**
     * ****************************************************************
     * Enrollment Procedure for Type == Token
     *
     * 1) Validate against the database to see whether Token has been
     * register by somebody else || Token Existence in DB
     *
     * 2) Then ASSOCIATE the Token with the User
     * ****************************************************************
     */
    if (duoperson.getChoosenDevice().matches("token")) {

        logger.debug("2FA Debug - " + getIPForLog(request) + "|" + duoperson.getUsername()
                + " is registering Token:" + duoperson.getTokenType() + "/" + duoperson.getTokenSerial());

        deviceExistDuoValidator.validate(duoperson, result);
        if (result.hasErrors()) {
            return "DuoEnrollToken";
        }
        tokenId = duoTokenService.getObjByParam(duoperson.getTokenSerial(), duoperson.getTokenType(),
                "tokenId");
        duoperson.setTokenId(tokenId);
        duoTokenService.associateObjs(duoperson.getUser_id(), tokenId);

        String readabletype = null;
        switch (duoperson.getTokenType()) {
        case "d1":
            readabletype = "Duo-D100";
            break;
        case "yk":
            readabletype = "YubiKey AES";
            break;
        case "h6":
            readabletype = "HOTP-6";
            break;
        case "h8":
            readabletype = "HOTP-8";
            break;
        case "t6":
            readabletype = "TOTP-6";
            break;
        case "t8":
            readabletype = "TOTP-8";
            break;
        }
        duoperson.setTokenType(readabletype);
    }

    model.put("deviceActive", "Yes");
    logger.info("2FA Info - " + getIPForLog(request) + " - " + duoperson.getUsername()
            + " Successfully Registered: PhoneNumber:" + duoperson.getPhonenumber() + " Tablet Name:"
            + duoperson.getTabletName() + " Token SN:" + duoperson.getTokenSerial());
    return "DuoEnrollSuccess";
}

From source file:jails.http.MediaType.java

/**
 * Parse the given, comma-seperated string into a list of {@link MediaType} objects.
 * <p>This method can be used to parse an Accept or Content-Type header.
 * @param mediaTypes the string to parse
 * @return the list of media types/*from w  w w  .  ja va 2  s  .  c  o  m*/
 * @throws IllegalArgumentException if the string cannot be parsed
 */
public static List<MediaType> parseMediaTypes(String mediaTypes) {
    if (!StringUtils.hasLength(mediaTypes)) {
        return Collections.emptyList();
    }
    String[] tokens = mediaTypes.split(",\\s*");
    List<MediaType> result = new ArrayList<MediaType>(tokens.length);
    for (String token : tokens) {
        result.add(parseMediaType(token));
    }
    return result;
}