List of usage examples for org.springframework.util StringUtils hasLength
public static boolean hasLength(@Nullable String str)
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; }