List of usage examples for org.apache.commons.validator GenericValidator isDouble
public static boolean isDouble(String value)
Checks if the value can safely be converted to a double primitive.
From source file:com.surveypanel.form.validation.NumericValidator.java
@Override public void validate(QuestionImpl question, FormData formData, Locale locale, Map<String, String> config, ValidationResult validationResult) throws Exception { String errorMsg = config.containsKey("errorKey") ? config.get("errorKey") : "form.error.numeric"; Integer maximum = 0;/*w w w.j a v a2 s . com*/ Integer minimum = 0; String numericType = config.containsKey("type") ? config.get("type") : "int"; String error_range = config.containsKey("error_range") ? config.get("error_range") : "form.error.range"; String min = config.get("min"); String max = config.get("max"); if (max != null) maximum = Integer.parseInt(max); if (min != null) minimum = Integer.parseInt(min); if (!question.isMulti()) { Object value = formData.getValue(); if (value instanceof String) { boolean isRightType = false; boolean isInRange = false; boolean checkRange = maximum > 0 || minimum > 0; if (numericType.equals(INT)) { isRightType = GenericValidator.isInt((String) value); if (isRightType) { isInRange = checkRange ? GenericValidator.isInRange((Integer) value, minimum, maximum) : true; } } else if (numericType.equals(FLOAT)) { isRightType = GenericValidator.isFloat((String) value); if (isRightType) { isInRange = checkRange ? GenericValidator.isInRange((Float) value, minimum, maximum) : true; } } else if (numericType.equals(DOUBLE)) { isRightType = GenericValidator.isDouble((String) value); if (isRightType) { isInRange = checkRange ? GenericValidator.isInRange((Double) value, minimum, maximum) : true; } } if (!isRightType) { validationResult .addError(qDefinition.getText(errorMsg, new Object[] { question.getName() }, locale)); } else if (!isInRange) { validationResult.addError(qDefinition.getText(error_range, new Object[] { question.getName(), minimum, maximum }, locale)); } } } }
From source file:com.primeleaf.krystal.web.action.cpanel.NewClassIndexAction.java
public WebView execute(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); User loggedInUser = (User) session.getAttribute(HTTPConstants.SESSION_KRYSTAL); if (request.getMethod().equalsIgnoreCase("POST")) { try {//from ww w . ja v a2s. c o m int documentClassId = 0; try { documentClassId = Integer.parseInt( request.getParameter("classid") != null ? request.getParameter("classid") : "0"); } catch (Exception e) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Invalid input"); return (new ManageDocumentClassesAction().execute(request, response)); } DocumentClass documentClass = DocumentClassDAO.getInstance().readDocumentClassById(documentClassId); if (documentClass == null) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Invalid document class"); return (new ManageDocumentClassesAction().execute(request, response)); } String indexName = request.getParameter("txtIndexName") != null ? request.getParameter("txtIndexName") : ""; String indexDisplayName = request.getParameter("txtIndexDisplayName") != null ? request.getParameter("txtIndexDisplayName") : ""; String indexType = request.getParameter("cmbIndexType") != null ? request.getParameter("cmbIndexType") : IndexDefinition.INDEXTYPE_STRING; String indexLength = request.getParameter("txtIndexLength") != null ? request.getParameter("txtIndexLength") : "100"; String mandatory = request.getParameter("radMandatory") != null ? request.getParameter("radMandatory") : ""; String defaultValue = request.getParameter("txtDefaultValue") != null ? request.getParameter("txtDefaultValue") : ""; int maximumIndexLength = Integer.parseInt(indexLength); if (!GenericValidator.maxLength(indexName, 50)) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Value too large for Index Name"); return (new ClassIndexesAction().execute(request, response)); } boolean isIndexDefinition = IndexDefinitionDAO.getInstance() .validateIndexDefinition(documentClass.getIndexId(), indexName); if (isIndexDefinition) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Index " + indexName + " already exist"); return (new ClassIndexesAction().execute(request, response)); } if (defaultValue.trim().length() > 0) { if (IndexDefinition.INDEXTYPE_NUMBER.equalsIgnoreCase(indexType)) { if (!GenericValidator.isDouble(defaultValue)) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Invalid input for Default Value : " + defaultValue); return (new ClassIndexesAction().execute(request, response)); } } if (IndexDefinition.INDEXTYPE_DATE.equalsIgnoreCase(indexType)) { if (!GenericValidator.isDate(defaultValue, "yyyy-MM-dd", true)) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Invalid input for Default Value : " + defaultValue); return (new ClassIndexesAction().execute(request, response)); } } } if (!GenericValidator.maxLength(defaultValue, maximumIndexLength)) { request.setAttribute(HTTPConstants.REQUEST_ERROR, "Value too large for Default Value : " + defaultValue); return (new ClassIndexesAction().execute(request, response)); } int i = documentClass.getIndexDefinitions().size(); indexName = indexName.replace(' ', '_'); IndexDefinition indexDefinition = new IndexDefinition(); indexDefinition.setIndexColumnName(indexName); indexDefinition.setIndexDisplayName(indexDisplayName); indexDefinition.setDefaultValue(defaultValue); indexDefinition.setIndexMaxLength(maximumIndexLength); indexDefinition.setIndexType(indexType); indexDefinition.setDefaultFilter(""); indexDefinition.setMandatory("Y".equalsIgnoreCase(mandatory)); indexDefinition.setSequence((byte) (++i)); int indexCount = documentClass.getIndexCount(); if (indexCount == 0 && documentClass.getIndexId() == -1) { int indexId = IndexDefinitionDAO.getInstance().getNextIndexId(); while (DocumentClassDAO.getInstance().readDocumentClasses(" INDEXID = " + indexId).size() > 0) { indexId++; } documentClass.setIndexId(indexId); } indexDefinition.setIndexId(documentClass.getIndexId()); IndexDefinitionDAO.getInstance().addIndexDefinition(indexDefinition); TableManager tableManager = new TableManager(); tableManager.alterIndexTable(documentClass, indexDefinition); indexCount++; documentClass.setIndexCount(indexCount); DocumentClassDAO.getInstance().updateDocumentClass(documentClass); AuditLogManager.log(new AuditLogRecord(documentClass.getClassId(), AuditLogRecord.OBJECT_DOCUMENTCLASS, AuditLogRecord.ACTION_EDITED, loggedInUser.getUserName(), request.getRemoteAddr(), AuditLogRecord.LEVEL_INFO, "Name : " + documentClass.getClassName(), "Index " + indexName + " added")); request.setAttribute(HTTPConstants.REQUEST_MESSAGE, "Index " + indexDefinition.getIndexDisplayName() + " added successfully"); return (new ClassIndexesAction().execute(request, response)); } catch (Exception ex) { ex.printStackTrace(); } } return (new ClassIndexesAction().execute(request, response)); }
From source file:com.core.validators.CommonValidator.java
/** * Checks if the field can be successfully converted to a <code>double</code>. * * @param value The value validation is being performed on. * @return boolean If the field can be successfully converted * to a <code>double</code> <code>true</code> is returned. * Otherwise <code>false</code>. */// w w w.j a v a 2 s .co m public static boolean validateDouble(Object bean, Field field) { String value = ValidatorUtils.getValueAsString(bean, field.getProperty()); return GenericValidator.isDouble(value); }
From source file:it.eng.spagobi.sdk.datasets.impl.DataSetsSDKServiceImpl.java
private void checkParameterValues(String[] values, DataSetParameterItem dataSetParameterItem) throws InvalidParameterValue { logger.debug("IN"); try {//www . java2 s .c o m String parameterType = dataSetParameterItem.getType(); if (parameterType.equalsIgnoreCase("Number")) { for (int i = 0; i < values.length; i++) { String value = values[i]; if (GenericValidator.isBlankOrNull(value) || (!(GenericValidator.isInt(value) || GenericValidator.isFloat(value) || GenericValidator.isDouble(value) || GenericValidator.isShort(value) || GenericValidator.isLong(value)))) { InvalidParameterValue error = new InvalidParameterValue(); error.setParameterName(dataSetParameterItem.getName()); error.setParameterType(parameterType); error.setWrongParameterValue(value); error.setParameterFormat(""); throw error; } } } } finally { logger.debug("OUT"); } }
From source file:it.eng.spagobi.behaviouralmodel.lov.bo.QueryDetail.java
private void validateNumber(String value) { if (!(GenericValidator.isInt(value) || GenericValidator.isFloat(value) || GenericValidator.isDouble(value) || GenericValidator.isShort(value) || GenericValidator.isLong(value))) { throw new SecurityException("Input value " + value + " is not a valid number"); }/* w w w . ja v a 2 s. com*/ }
From source file:it.eng.spagobi.commons.validation.SpagoBIValidationImpl.java
public static EMFValidationError validateField(String fieldName, String fieldLabel, String value, String validatorName, String arg0, String arg1, String arg2) throws Exception { List params = null;//www .j a v a 2 s .c o m if (validatorName.equalsIgnoreCase("MANDATORY")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MANDATORY VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (GenericValidator.isBlankOrNull(value)) { params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_MANDATORY, params); } } else if (validatorName.equalsIgnoreCase("URL")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the URL VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); UrlValidator urlValidator = new SpagoURLValidator(); if (!GenericValidator.isBlankOrNull(value) && !urlValidator.isValid(value)) { params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_URL, params); } } else if (validatorName.equalsIgnoreCase("LETTERSTRING")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the LETTERSTRING VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, LETTER_STRING_REGEXP)) { params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_LETTERSTRING, params); } } else if (validatorName.equalsIgnoreCase("ALFANUMERIC")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the ALFANUMERIC VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, ALPHANUMERIC_STRING_REGEXP)) { params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_ALFANUMERIC, params); } } else if (validatorName.equalsIgnoreCase("NUMERIC")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the NUMERIC VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && (!(GenericValidator.isInt(value) || GenericValidator.isFloat(value) || GenericValidator.isDouble(value) || GenericValidator.isShort(value) || GenericValidator.isLong(value)))) { // The string is not a integer, not a float, not double, not short, not long // so is not a number params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_NUMERIC, params); } } else if (validatorName.equalsIgnoreCase("EMAIL")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the EMAIL VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.isEmail(value)) { // Generate errors params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_EMAIL, params); } } else if (validatorName.equalsIgnoreCase("BOOLEAN")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MANDATORY VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !value.equalsIgnoreCase("true") && !value.equalsIgnoreCase("false")) { params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_BOOLEAN, params); } } else if (validatorName.equalsIgnoreCase("FISCALCODE")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the FISCALCODE VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, FISCAL_CODE_REGEXP)) { // Generate errors params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_FISCALCODE, params); } } else if (validatorName.equalsIgnoreCase("DECIMALS")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the DECIMALS VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); int maxNumberOfDecimalDigit = Integer.valueOf(arg0).intValue(); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Max Numbers of decimals is [" + maxNumberOfDecimalDigit + "]"); String decimalSeparator = arg1; if (GenericValidator.isBlankOrNull(decimalSeparator)) { decimalSeparator = "."; } int pos = value.indexOf(decimalSeparator); String decimalCharacters = ""; if (pos != -1) decimalCharacters = value.substring(pos + 1); if (decimalCharacters.length() > maxNumberOfDecimalDigit) { // Generate errors params = new ArrayList(); params.add(fieldLabel); params.add(String.valueOf(maxNumberOfDecimalDigit)); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_DECIMALS, params); } } } else if (validatorName.equalsIgnoreCase("NUMERICRANGE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the NUMERICRANGE VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); String firstValueStr = arg0; String secondValueStr = arg1; SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Range is [" + firstValueStr + "< x <" + secondValueStr + "]"); boolean syntaxCorrect = true; if (!GenericValidator.isDouble(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE NUMERICRANGE VALIDATOR value [" + value + "] is not a Number"); syntaxCorrect = false; } if (!GenericValidator.isDouble(firstValueStr)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE NUMERICRANGE VALIDATOR first value of range [" + firstValueStr + "] is not a Number"); syntaxCorrect = false; } if (!GenericValidator.isDouble(secondValueStr)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE NUMERICRANGE VALIDATOR second value of range [" + secondValueStr + "] is not a Number"); syntaxCorrect = false; } if (syntaxCorrect) { double firstValue = Double.valueOf(firstValueStr).doubleValue(); double secondValue = Double.valueOf(secondValueStr).doubleValue(); double valueToCheckDouble = Double.valueOf(value).doubleValue(); if (!(GenericValidator.isInRange(valueToCheckDouble, firstValue, secondValue))) { params = new ArrayList(); params.add(fieldLabel); params.add(firstValueStr); params.add(secondValueStr); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_RANGE, params); } } else { return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_GENERIC); } } } else if (validatorName.equalsIgnoreCase("DATERANGE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the DATERANGE VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); String firstValueStr = arg0; String secondValueStr = arg1; String dateFormat = arg2; SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Range is [" + firstValueStr + "< x <" + secondValueStr + "]"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Date Format is [" + dateFormat + "]"); // //boolean syntaxCorrect = false; boolean syntaxCorrect = true; //if (!GenericValidator.isDate(value,dateFormat,true)){ if (!GenericValidator.isDate(value, dateFormat, true)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE DATERANGE VALIDATOR value [" + value + "] is not a is not valid Date according to [" + dateFormat + "]"); syntaxCorrect = false; } //if (!GenericValidator.isDate(firstValueStr,dateFormat,true)){ if (!GenericValidator.isDate(firstValueStr, dateFormat, true)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE DATERANGE VALIDATOR first value of range [" + firstValueStr + "] is not valid Date according to [" + dateFormat + "]"); syntaxCorrect = false; } //if (!GenericValidator.isDate(secondValueStr,dateFormat, true)){ if (!GenericValidator.isDate(secondValueStr, dateFormat, true)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE DATERANGE VALIDATOR second value of range [" + secondValueStr + "] is not a valid Date according to [" + dateFormat + "]"); syntaxCorrect = false; } if (syntaxCorrect) { DateFormat df = new SimpleDateFormat(dateFormat); Date firstValueDate = df.parse(firstValueStr); Date secondValueDate = df.parse(secondValueStr); Date theValueDate = df.parse(value); if ((theValueDate.getTime() < firstValueDate.getTime()) || (theValueDate.getTime() > secondValueDate.getTime())) { params = new ArrayList(); params.add(fieldLabel); params.add(firstValueStr); params.add(secondValueStr); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_RANGE, params); } } else { return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_GENERIC); } } } else if (validatorName.equalsIgnoreCase("STRINGRANGE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the STRINGRANGE VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); String firstValueStr = arg0; String secondValueStr = arg1; SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Range is [" + firstValueStr + "< x <" + secondValueStr + "]"); //if (firstValueStr.compareTo(secondValueStr) > 0){ if ((value.compareTo(firstValueStr) < 0) || (value.compareTo(secondValueStr) > 0)) { params = new ArrayList(); params.add(fieldLabel); params.add(firstValueStr); params.add(secondValueStr); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_RANGE, params); } } } else if (validatorName.equalsIgnoreCase("MAXLENGTH")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MAXLENGTH VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); int maxLength = Integer.valueOf(arg0).intValue(); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "maxLength is [" + maxLength + "]"); if (!GenericValidator.maxLength(value, maxLength)) { params = new ArrayList(); params.add(fieldLabel); params.add(String.valueOf(maxLength)); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_MAXLENGTH, params); } } } else if (validatorName.equalsIgnoreCase("MINLENGTH")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MINLENGTH VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); int minLength = Integer.valueOf(arg0).intValue(); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "minLength is [" + minLength + "]"); if (!GenericValidator.minLength(value, minLength)) { // Generate Errors params = new ArrayList(); params.add(fieldLabel); params.add(String.valueOf(minLength)); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_MINLENGTH, params); } } } else if (validatorName.equalsIgnoreCase("REGEXP")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the REGEXP VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); String regexp = arg0; SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "regexp is [" + regexp + "]"); if (!(GenericValidator.matchRegexp(value, regexp))) { // Generate Errors params = new ArrayList(); params.add(fieldLabel); params.add(regexp); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_REGEXP, params); } } } else if (validatorName.equalsIgnoreCase("XSS")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the XSS VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); String toVerify = value.toUpperCase(); if (toVerify.contains("<A") || toVerify.contains("<LINK") || toVerify.contains("<IMG") || toVerify.contains("<SCRIPT") || toVerify.contains("<A") || toVerify.contains("<LINK") || toVerify.contains("<IMG") || toVerify.contains("<SCRIPT")) { // Generate Errors params = new ArrayList(); params.add(fieldLabel); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_XSS, params); } } } else if (validatorName.equalsIgnoreCase("DATE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the DATE VALIDATOR to field [" + fieldName + "] with value [" + value + "]"); String dateFormat = arg0; SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "dateFormat is [" + dateFormat + "]"); //if (!GenericValidator.isDate(value, dateFormat, true)){ if (!GenericValidator.isDate(value, dateFormat, true)) { //Generate Errors params = new ArrayList(); params.add(fieldLabel); params.add(dateFormat); return new EMFValidationError(EMFErrorSeverity.ERROR, fieldName, ERROR_DATE, params); } } } // all checks had positive result (no errors) return null; }
From source file:it.eng.spagobi.commons.utilities.BIObjectValidator.java
/** * For each input field type (Numeric, URL, extc:), this method applies validation. * Every time a validation fails, an error is added to the <code>errorHandler</code> * errors stack./*from w ww . j a v a 2s. co m*/ * The field label to be displayed is defined in file validation.xml for each * validation: if it is not defined it is set with the field name; if it starts with * "#" it is interpreted as a key and the message is recovered by * PortletUtilities.getMessage(key, "messages") method, else it remains unchanged. * * @param serviceRequest The request Source Bean * @param errorHandler The errors Stack * @throws Exception If any exception occurs. */ private void automaticValidation(SourceBean serviceRequest, EMFErrorHandler errorHandler) throws Exception { // Reperisco l'elenco di tutti gli attributi che mi aspetto di trovare // nella richiesta List fields = _validationStructure.getAttributeAsList("FIELDS.FIELD"); for (Iterator iter = fields.iterator(); iter.hasNext();) { String value = null; List validators = null; SourceBean currentValidator = null; String validatorName = null; Iterator itValidators = null; try { SourceBean field = (SourceBean) iter.next(); String fieldName = (String) field.getAttribute("name"); value = (String) serviceRequest.getAttribute(fieldName); //******************************************** String fieldLabel = (String) field.getAttribute("label"); if (fieldLabel != null && fieldLabel.startsWith("#")) { String key = fieldLabel.substring(1); String fieldDescription = PortletUtilities.getMessage(key, "messages"); if (fieldDescription != null && !fieldDescription.trim().equals("")) fieldLabel = fieldDescription; } if (fieldLabel == null || fieldLabel.trim().equals("")) fieldLabel = fieldName; //******************************************** validators = field.getAttributeAsList("VALIDATOR"); itValidators = validators.iterator(); Vector params = new Vector(); while (itValidators.hasNext()) { currentValidator = (SourceBean) itValidators.next(); validatorName = (String) currentValidator.getAttribute("validatorName"); if (validatorName.equalsIgnoreCase("MANDATORY")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MANDATORY VALIDATOR to field [" + field + "] with value [" + value + "]"); if (GenericValidator.isBlankOrNull(value)) { params = new Vector(); params.add(fieldLabel); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_MANDATORY, params)); } } else if (validatorName.equalsIgnoreCase("URL")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the URL VALIDATOR to field [" + field + "] with value [" + value + "]"); UrlValidator urlValidator = new SpagoURLValidator(); if (!GenericValidator.isBlankOrNull(value) && !urlValidator.isValid(value)) { params = new Vector(); params.add(fieldLabel); errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_URL, params)); } } else if (validatorName.equalsIgnoreCase("LETTERSTRING")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the LETTERSTRING VALIDATOR to field [" + field + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, LETTER_STRING_REGEXP)) { params = new Vector(); params.add(fieldLabel); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_LETTERSTRING, params)); } } else if (validatorName.equalsIgnoreCase("ALFANUMERIC")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the ALFANUMERIC VALIDATOR to field [" + field + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, ALPHANUMERIC_STRING_REGEXP)) { params = new Vector(); params.add(fieldLabel); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_ALFANUMERIC, params)); } } else if (validatorName.equalsIgnoreCase("NUMERIC")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the NUMERIC VALIDATOR to field [" + field + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && (!(GenericValidator.isInt(value) || GenericValidator.isFloat(value) || GenericValidator.isDouble(value) || GenericValidator.isShort(value) || GenericValidator.isLong(value)))) { // The string is not a integer, not a float, not double, not short, not long // so is not a number params = new Vector(); params.add(fieldLabel); errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_NUMERIC, params)); } } else if (validatorName.equalsIgnoreCase("EMAIL")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the EMAIL VALIDATOR to field [" + field + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.isEmail(value)) { // Generate errors params = new Vector(); params.add(fieldLabel); errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_EMAIL, params)); } } else if (validatorName.equalsIgnoreCase("FISCALCODE")) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the FISCALCODE VALIDATOR to field [" + field + "] with value [" + value + "]"); if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, FISCAL_CODE_REGEXP)) { // Generate errors params = new Vector(); params.add(fieldLabel); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_FISCALCODE, params)); } } else if (validatorName.equalsIgnoreCase("DECIMALS")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the DECIMALS VALIDATOR to field [" + field + "] with value [" + value + "]"); int maxNumberOfDecimalDigit = Integer .valueOf((String) currentValidator.getAttribute("arg0")).intValue(); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Max Numbers of decimals is [" + maxNumberOfDecimalDigit + "]"); String decimalSeparator = (String) currentValidator.getAttribute("arg1"); if (GenericValidator.isBlankOrNull(decimalSeparator)) { decimalSeparator = "."; } int pos = value.indexOf(decimalSeparator); String decimalCharacters = ""; if (pos != -1) decimalCharacters = value.substring(pos + 1); if (decimalCharacters.length() > maxNumberOfDecimalDigit) { // Generate errors params = new Vector(); params.add(fieldLabel); params.add(String.valueOf(maxNumberOfDecimalDigit)); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_DECIMALS, params)); } } } else if (validatorName.equalsIgnoreCase("NUMERICRANGE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the NUMERICRANGE VALIDATOR to field [" + field + "] with value [" + value + "]"); String firstValueStr = (String) currentValidator.getAttribute("arg0"); String secondValueStr = (String) currentValidator.getAttribute("arg1"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Range is [" + firstValueStr + "< x <" + secondValueStr + "]"); boolean syntaxCorrect = true; if (!GenericValidator.isDouble(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE NUMERICRANGE VALIDATOR value [" + value + "] is not a Number"); syntaxCorrect = false; } if (!GenericValidator.isDouble(firstValueStr)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE NUMERICRANGE VALIDATOR first value of range [" + firstValueStr + "] is not a Number"); syntaxCorrect = false; } if (!GenericValidator.isDouble(secondValueStr)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE NUMERICRANGE VALIDATOR second value of range [" + secondValueStr + "] is not a Number"); syntaxCorrect = false; } if (syntaxCorrect) { double firstValue = Double.valueOf(firstValueStr).doubleValue(); double secondValue = Double.valueOf(secondValueStr).doubleValue(); double valueToCheckDouble = Double.valueOf(value).doubleValue(); if (!(GenericValidator.isInRange(valueToCheckDouble, firstValue, secondValue))) { params = new Vector(); params.add(fieldLabel); params.add(firstValueStr); params.add(secondValueStr); errorHandler.addError( new EMFUserError(EMFErrorSeverity.ERROR, ERROR_RANGE, params)); } } else { errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_GENERIC)); } } } else if (validatorName.equalsIgnoreCase("DATERANGE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the DATERANGE VALIDATOR to field [" + field + "] with value [" + value + "]"); String firstValueStr = (String) currentValidator.getAttribute("arg0"); String secondValueStr = (String) currentValidator.getAttribute("arg1"); String dateFormat = (String) currentValidator.getAttribute("arg2"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Range is [" + firstValueStr + "< x <" + secondValueStr + "]"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Date Format is [" + dateFormat + "]"); boolean syntaxCorrect = false; if (!GenericValidator.isDate(value, dateFormat, true)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE DATERANGE VALIDATOR value [" + value + "] is not a is not valid Date according to [" + dateFormat + "]"); syntaxCorrect = false; } if (!GenericValidator.isDate(firstValueStr, dateFormat, true)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE DATERANGE VALIDATOR first value of range [" + firstValueStr + "] is not valid Date according to [" + dateFormat + "]"); syntaxCorrect = false; } if (!GenericValidator.isDate(secondValueStr, dateFormat, true)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", " CANNOT APPLY THE DATERANGE VALIDATOR second value of range [" + secondValueStr + "] is not a valid Date according to [" + dateFormat + "]"); syntaxCorrect = false; } if (syntaxCorrect) { DateFormat df = new SimpleDateFormat(dateFormat); Date firstValueDate = df.parse(firstValueStr); Date secondValueDate = df.parse(secondValueStr); Date theValueDate = df.parse(value); if ((theValueDate.getTime() < firstValueDate.getTime()) || (theValueDate.getTime() > secondValueDate.getTime())) { params = new Vector(); params.add(fieldLabel); params.add(firstValueStr); params.add(secondValueStr); errorHandler.addError( new EMFUserError(EMFErrorSeverity.ERROR, ERROR_RANGE, params)); } } else { errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_GENERIC)); } } } else if (validatorName.equalsIgnoreCase("STRINGRANGE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the STRINGRANGE VALIDATOR to field [" + field + "] with value [" + value + "]"); String firstValueStr = (String) currentValidator.getAttribute("arg0"); String secondValueStr = (String) currentValidator.getAttribute("arg1"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Range is [" + firstValueStr + "< x <" + secondValueStr + "]"); if (firstValueStr.compareTo(secondValueStr) > 0) { params = new Vector(); params.add(fieldLabel); params.add(firstValueStr); params.add(secondValueStr); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_RANGE, params)); } } } else if (validatorName.equalsIgnoreCase("MAXLENGTH")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MAXLENGTH VALIDATOR to field [" + field + "] with value [" + value + "]"); int maxLength = Integer.valueOf((String) currentValidator.getAttribute("arg0")) .intValue(); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "maxLength is [" + maxLength + "]"); if (!GenericValidator.maxLength(value, maxLength)) { params = new Vector(); params.add(fieldLabel); params.add(String.valueOf(maxLength)); errorHandler.addError( new EMFUserError(EMFErrorSeverity.ERROR, ERROR_MAXLENGTH, params)); } } } else if (validatorName.equalsIgnoreCase("MINLENGTH")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the MINLENGTH VALIDATOR to field [" + field + "] with value [" + value + "]"); int minLength = Integer.valueOf((String) currentValidator.getAttribute("arg0")) .intValue(); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "minLength is [" + minLength + "]"); if (!GenericValidator.minLength(value, minLength)) { // Generate Errors params = new Vector(); params.add(fieldLabel); params.add(String.valueOf(minLength)); errorHandler.addError( new EMFUserError(EMFErrorSeverity.ERROR, ERROR_MINLENGTH, params)); } } } else if (validatorName.equalsIgnoreCase("REGEXP")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the REGEXP VALIDATOR to field [" + field + "] with value [" + value + "]"); String regexp = (String) currentValidator.getAttribute("arg0"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "regexp is [" + regexp + "]"); if (!(GenericValidator.matchRegexp(value, regexp))) { // Generate Errors params = new Vector(); params.add(fieldLabel); params.add(regexp); errorHandler .addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_REGEXP, params)); } } } else if (validatorName.equalsIgnoreCase("DATE")) { if (!GenericValidator.isBlankOrNull(value)) { SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "Apply the DATE VALIDATOR to field [" + field + "] with value [" + value + "]"); String dateFormat = (String) currentValidator.getAttribute("arg0"); SpagoBITracer.info("SpagoBI", "Validator", "automaticValidator", "dateFormat is [" + dateFormat + "]"); if (!GenericValidator.isDate(value, dateFormat, true)) { //Generate Errors params = new Vector(); params.add(fieldLabel); params.add(dateFormat); errorHandler.addError(new EMFUserError(EMFErrorSeverity.ERROR, ERROR_DATE, params)); } } } } //while (itValidators.hasNext()) } catch (Exception ex) { TracerSingleton.log(Constants.NOME_MODULO, TracerSingleton.INFORMATION, "ValidationModule::automaticValidation", ex); } } }
From source file:gov.nih.nci.ispy.service.clinical.ClinicalFileBasedQueryService.java
private Set<String> getPatientsDIDsForRCBIndexSize(Double size, Operator operator) { Double pdSize = null;/*w ww . j av a 2s . c o m*/ Set<String> patientDIDs = new HashSet<String>(); for (PatientData pd : patientDataMap.values()) { if (GenericValidator.isDouble(pd.getRcbIndexSize())) { pdSize = Double.valueOf(pd.getRcbIndexSize()); System.out.println("pdSize:" + pdSize); if (pdSize != null) { if ((operator == Operator.GE) && (pdSize >= size)) { patientDIDs.add(pd.getISPY_ID()); } else if ((operator == Operator.LE) && (pdSize <= size)) { patientDIDs.add(pd.getISPY_ID()); } } } } return patientDIDs; }
From source file:org.agnitas.service.csv.validator.FieldsValidator.java
/** * Checks if the field can be successfully converted to a <code>double</code>. * * @param value The value validation is being performed on. * @return boolean If the field can be successfully converted * to a <code>double</code> <code>true</code> is returned. * Otherwise <code>false</code>. *///from w w w. j a v a 2 s . c om public static boolean validateDouble(Object bean, Field field, Validator validator) { String value = getValueAsString(bean, field); final ImportProfile profile = (ImportProfile) validator .getParameterValue("org.agnitas.beans.ImportProfile"); final ColumnMapping currentColumn = getColumnMappingForCurentField(field, profile); if (currentColumn != null && currentColumn.getMandatory()) { return !GenericValidator.isBlankOrNull(value) && GenericValidator.isDouble(value); } else { return currentColumn == null || GenericValidator.isDouble(value); } }
From source file:oscar.oscarEncounter.oscarMeasurements.pageUtil.EctValidation.java
public boolean isInRange(double dMax, double dMin, String inputValue) { boolean validation = true; org.apache.commons.validator.GenericValidator gValidator = new org.apache.commons.validator.GenericValidator(); if ((dMax != 0) || (dMin != 0)) { if (GenericValidator.isDouble(inputValue)) { double dValue = Double.parseDouble(inputValue); if (!GenericValidator.isInRange(dValue, dMin, dMax)) { validation = false;/*w ww. j av a2 s. c o m*/ } } else if (!GenericValidator.isBlankOrNull(inputValue)) { validation = false; } } return validation; }