Example usage for org.apache.commons.validator.routines DateValidator getInstance

List of usage examples for org.apache.commons.validator.routines DateValidator getInstance

Introduction

In this page you can find the example usage for org.apache.commons.validator.routines DateValidator getInstance.

Prototype

public static DateValidator getInstance() 

Source Link

Document

Return a singleton instance of this validator.

Usage

From source file:com.jd.survey.web.pdf.SurveyPdf.java

@Override
protected void buildPdfDocument(Map model, Document document, PdfWriter writer, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    Paragraph titleParagraph;/*  ww w.j  a v a2 s .c  o m*/

    SurveyEntry surveyEntry = (SurveyEntry) model.get("surveyEntry");
    List<SurveyPage> surveyPages = (List<SurveyPage>) model.get("surveyPages");

    String falseMessage = (String) model.get("falseMessage");
    String trueMessage = (String) model.get("trueMessage");
    String dateFormat = (String) model.get("dateFormat");

    Map<String, String> surveyEntryLabels = (Map<String, String>) model.get("surveyEntryLabels");
    //display Survey Entry Information
    writeTitle(document, surveyEntryLabels.get("surveyEntryLabel"));
    writeAnswer(document, surveyEntryLabels.get("surveyIdLabel"), surveyEntry.getSurveyId().toString());
    writeAnswer(document, surveyEntryLabels.get("surveyNameLabel"), surveyEntry.getSurveyName());
    writeAnswer(document, surveyEntryLabels.get("createdByLabel"), surveyEntry.getCreatedByFullName());
    writeAnswer(document, surveyEntryLabels.get("creationDateLabel"), surveyEntry.getCreationDate() == null ? ""
            : DateValidator.getInstance().format(surveyEntry.getCreationDate(), dateFormat));
    writeAnswer(document, surveyEntryLabels.get("lastUpdateDateLabel"),
            surveyEntry.getLastUpdateDate() == null ? ""
                    : DateValidator.getInstance().format(surveyEntry.getLastUpdateDate(), dateFormat));
    writeAnswer(document, surveyEntryLabels.get("submissionDateLabel"),
            surveyEntry.getSubmissionDate() == null ? ""
                    : DateValidator.getInstance().format(surveyEntry.getSubmissionDate(), dateFormat));

    for (SurveyPage surveyPage : surveyPages) {
        //display page title
        writeTitle(document, surveyPage.getTitle());

        for (QuestionAnswer questionAnswer : surveyPage.getQuestionAnswers()) {

            Policy policy = Policy.getInstance(this.getClass().getResource(POLICY_FILE_LOCATION));
            AntiSamy as = new AntiSamy();
            CleanResults cr = as.scan(questionAnswer.getQuestion().getQuestionText(), policy);
            questionAnswer.getQuestion().setQuestionText(cr.getCleanHTML());

            switch (questionAnswer.getQuestion().getType()) {
            case YES_NO_DROPDOWN:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getBooleanAnswerValue(), falseMessage, trueMessage);
                break;
            case SHORT_TEXT_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;
            case LONG_TEXT_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;
            case HUGE_TEXT_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;
            case INTEGER_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;
            case CURRENCY_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;
            case DECIMAL_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;
            case DATE_INPUT:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getStringAnswerValue());
                break;

            case SINGLE_CHOICE_DROP_DOWN:
                //verify that the value exists in the options
                for (QuestionOption option : questionAnswer.getQuestion().getOptions()) {
                    if (option.getValue().equalsIgnoreCase(questionAnswer.getStringAnswerValue())) {
                        writeAnswer(document, questionAnswer.getQuestion().getQuestionText(), option.getText());
                        break;
                    }
                }
                break;
            case MULTIPLE_CHOICE_CHECKBOXES:
                String answers = "";
                for (int i = 0; i < questionAnswer.getIntegerAnswerValuesArray().length; i++) {
                    int j = 0;
                    for (QuestionOption option : questionAnswer.getQuestion().getOptions()) {
                        if ((i == j) && questionAnswer.getIntegerAnswerValuesArray()[i] != null) {
                            answers = answers + option.getText() + ", ";
                        }
                        j++;
                    }
                }
                if (!answers.isEmpty()) {
                    answers = answers.substring(0, answers.length() - 2);
                } //remove the last comma
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(), answers);
                break;
            case DATASET_DROP_DOWN:
                for (DataSetItem dataSetItem : questionAnswer.getQuestion().getDataSetItems()) {
                    if (dataSetItem.getValue().equalsIgnoreCase(questionAnswer.getStringAnswerValue())) {
                        writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                                dataSetItem.getText());
                        break;
                    }
                }
                break;
            case SINGLE_CHOICE_RADIO_BUTTONS:
                //verify that the value exists in the options
                for (QuestionOption option : questionAnswer.getQuestion().getOptions()) {
                    if (option.getValue().equalsIgnoreCase(questionAnswer.getStringAnswerValue())) {
                        writeAnswer(document, questionAnswer.getQuestion().getQuestionText(), option.getText());
                        break;
                    }
                }
                break;
            case YES_NO_DROPDOWN_MATRIX:
                writeAnswersMatrix(document, questionAnswer.getQuestion(),
                        questionAnswer.getBooleanAnswerValuesMatrix(), falseMessage, trueMessage);
                break;
            case SHORT_TEXT_INPUT_MATRIX:
                writeAnswersMatrix(document, questionAnswer.getQuestion(),
                        questionAnswer.getStringAnswerValuesMatrix());
                break;
            case INTEGER_INPUT_MATRIX:
                writeAnswersMatrix(document, questionAnswer.getQuestion(),
                        questionAnswer.getStringAnswerValuesMatrix());
                break;
            case CURRENCY_INPUT_MATRIX:
                writeAnswersMatrix(document, questionAnswer.getQuestion(),
                        questionAnswer.getStringAnswerValuesMatrix());
                break;
            case DECIMAL_INPUT_MATRIX:
                writeAnswersMatrix(document, questionAnswer.getQuestion(),
                        questionAnswer.getStringAnswerValuesMatrix());
                break;
            case DATE_INPUT_MATRIX:
                writeAnswersMatrix(document, questionAnswer.getQuestion(),
                        questionAnswer.getStringAnswerValuesMatrix());
                break;

            case IMAGE_DISPLAY:
                break;
            case VIDEO_DISPLAY:
                break;
            case FILE_UPLOAD:
                writeAnswer(document, questionAnswer.getQuestion().getQuestionText(),
                        questionAnswer.getSurveyDocument() != null
                                ? questionAnswer.getSurveyDocument().getFileName()
                                : "");

                break;

            case STAR_RATING:
                //verify that the value exists in the options
                for (QuestionOption option : questionAnswer.getQuestion().getOptions()) {
                    if (option.getValue().equalsIgnoreCase(questionAnswer.getStringAnswerValue())) {
                        writeAnswer(document, questionAnswer.getQuestion().getQuestionText(), option.getText());
                        break;
                    }
                }
                break;
            case SMILEY_FACES_RATING:
                //verify that the value exists in the options
                for (QuestionOption option : questionAnswer.getQuestion().getOptions()) {
                    if (option.getValue().equalsIgnoreCase(questionAnswer.getStringAnswerValue())) {
                        writeAnswer(document, questionAnswer.getQuestion().getQuestionText(), option.getText());
                        break;
                    }
                }
                break;
            }

        }

    }

}

From source file:com.github.nakamurakj.validator.Validators.java

/**
 * ?/* w  ww. j a  v  a  2s.  com*/
 *
 * @param string 
 * @param pattern 
 * @return ??<code>true</code>
 */
public static boolean isDateFormat(String string, String pattern) {
    if (string != null && pattern != null) {
        return DateValidator.getInstance().validate(string, pattern) != null;
    }
    return false;
}

From source file:com.btobits.automator.ant.sql.task.SQLCompareTask.java

private void verify() throws Exception {
    final LinkedList<SQLCompareTask.VerifyCell> rows = impl.getVerifySqls();
    for (final SQLCompareTask.VerifyCell sqlRow : rows) {
        sqlRow.validate();//from   ww  w .j  a  va2s .c o m

        switch (getColumnType(sqlRow)) {
        case Types.DOUBLE: {
            final Double val = (Double) getRowValue(sqlRow);

            if (val == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            }

            final DoubleValidator doubleValidator = new DoubleValidator();
            if (doubleValidator.isValid(sqlRow.getValue())) {
                final Double dbValue = doubleValidator.validate(sqlRow.getValue());
                if (!dbValue.equals(val)) {
                    errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                            + "], value [" + sqlRow.getValue() + " != " + val + "]");
                }
            } else {
                errors.add("Error cast field [" + sqlRow.toString() + "] to Double value.");
            }
        }
            break;

        case Types.FLOAT: {
            final Float val = (Float) getRowValue(sqlRow);

            if (val == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            }

            final FloatValidator validator = new FloatValidator();
            if (validator.isValid(sqlRow.getValue())) {
                final Float dbValue = validator.validate(sqlRow.getValue());
                if (!dbValue.equals(val)) {
                    errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                            + "], value [" + sqlRow.getValue() + " != " + val + "]");
                }
            } else {
                errors.add("Error cast field [" + sqlRow.toString() + "] to Float value.");
            }
        }
            break;

        case Types.DECIMAL: {
            final BigDecimal val = (BigDecimal) getRowValue(sqlRow);

            if (val == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            }

            final BigDecimalValidator validator = new BigDecimalValidator();
            if (validator.isValid(sqlRow.getValue())) {
                BigDecimal dbValue = validator.validate(sqlRow.getValue());
                dbValue = dbValue.setScale(val.scale());
                if (!dbValue.equals(val)) {
                    errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                            + "], value [" + sqlRow.getValue() + " != " + val + "]");
                }
            } else {
                errors.add("Error cast field [" + sqlRow.toString() + "] to Decimal value.");
            }
        }
            break;

        case Types.DATE: {
            final Date val = (Date) getDateRowValue(sqlRow);

            if (val == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            }

            final DateValidator validator = DateValidator.getInstance();
            if (validator.isValid(sqlRow.getValue(), "yyyy-MM-dd")) {
                final Date dbValue = validator.validate(sqlRow.getValue(), "yyyy-MM-dd");
                if (!dbValue.equals(val)) {
                    errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                            + "], value [" + sqlRow.getValue() + " != " + val + "]");
                }
            } else {
                errors.add("Error cast field [" + sqlRow.toString() + "] to Date value.");
            }
        }
            break;

        case Types.TIME: {
            final Date val = (Date) getTimeRowValue(sqlRow);
            if (val == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            }

            final TimeValidator validator = TimeValidator.getInstance();
            if (validator.isValid(sqlRow.getValue(), "HH:mm:ss")) {
                final Calendar dbValue = validator.validate(sqlRow.getValue(), "HH:mm:ss");
                final Calendar dbVal = Calendar.getInstance();
                dbVal.setTime(val);

                if (validator.compareHours(dbValue, dbVal) != 0 || validator.compareMinutes(dbValue, dbVal) != 0
                        || validator.compareSeconds(dbValue, dbVal) != 0) {
                    errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                            + "], value [" + sqlRow.getValue() + " != " + val + "]");
                }
            } else {
                errors.add("Error cast field [" + sqlRow.toString() + "] to Time value.");
            }
        }
            break;

        case Types.TIMESTAMP: {
            final Date val = getDateTimeRowValue(sqlRow);
            if (val == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            }

            final CalendarValidator validatorDate = CalendarValidator.getInstance();
            final TimeValidator validatorTime = TimeValidator.getInstance();
            if (validatorDate.isValid(sqlRow.getValue(), "yyyy-MM-dd HH:mm:ss")) {
                final Calendar dbValue = validatorDate.validate(sqlRow.getValue(), "yyyy-MM-dd HH:mm:ss");
                final Calendar dbVal = Calendar.getInstance();
                dbVal.setTimeInMillis(val.getTime());
                if (validatorDate.compareDates(dbVal, dbValue) != 0
                        || validatorTime.compareHours(dbValue, dbVal) != 0
                        || validatorTime.compareMinutes(dbValue, dbVal) != 0
                        || validatorTime.compareSeconds(dbValue, dbVal) != 0) {
                    errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                            + "], value [" + sqlRow.getValue() + " != " + val + "]");
                }
            } else {
                errors.add("Error cast field [" + sqlRow.toString() + "] to Timestamp value.");
            }
        }
            break;

        default: {
            final String dbValue = getStringRowValue(sqlRow);
            if (dbValue == null) {
                errors.add("Error compare row, row not exist [" + sqlRow.toString() + "].");
            } else if (!StringUtils.equals(sqlRow.getValue(), dbValue)) {
                errors.add("Error compare row [" + sqlRow.getRow() + "], field [" + sqlRow.getField()
                        + "], value [" + sqlRow.getValue() + " != " + dbValue + "]");
            }
        }
        }
    }
}

From source file:com.iana.boesc.utility.BOESCUtil.java

/**
 * Validates whether provided string is date field or not
 * /*w  ww . j a va  2 s .  c o  m*/
 * @param date
 * @param format
 *            defaultDate format
 * @return
 */
public static boolean validateDate(String date) {
    if (date == null || date.trim().equals("")) {
        return false;
    }
    String format = "MM/dd/yyyy";
    DateValidator validator = DateValidator.getInstance();
    Date dateVal = validator.validate(date, format);
    if (dateVal == null) {
        return false;
    }
    return true;
}

From source file:com.iana.boesc.utility.BOESCUtil.java

/**
 * Validates whether provided string is date field or not
 * //from w w w .j  a v  a2s.com
 * @param date
 * @param format
 * @return boolean status of whether given data is valid or not
 */
public static boolean validateDate(String date, String format) {
    if (date == null || date.trim().equals("")) {
        return false;
    }
    if (format == null || format.trim().equals("")) {
        return false;
    }
    DateValidator validator = DateValidator.getInstance();

    Date dateVal = validator.validate(date, format);
    if (dateVal == null) {
        return false;
    }
    return true;
}

From source file:com.iana.boesc.utility.BOESCUtil.java

/**
 * Formats the given date as according to given formatter
 * /*w w w .j av  a2s .com*/
 * @param date
 * @param format
 * @return
 */
public static String formatDate(String date, String format) {
    if (date == null || date.trim().equals("")) {
        return null;
    }
    if (format == null || format.trim().equals("")) {
        return null;
    }
    DateValidator validator = DateValidator.getInstance();

    String dateVal = null;
    try {
        dateVal = validator.format(date, format);
    } catch (IllegalArgumentException e) {
        System.out.println("Bad date:" + date + ": cannot be formatted");
    }
    if (dateVal == null) {
        return null;
    }
    return dateVal;
}

From source file:com.jd.survey.web.security.LoginController.java

@SuppressWarnings("unchecked")
@RequestMapping(method = RequestMethod.POST, value = "/", params = "fpass", produces = "text/html")
public String forgotPasswordPost(@RequestParam(value = "login", required = true) String login,
        @RequestParam(value = "dob", required = true) String dob,
        @RequestParam(value = "_proceed", required = false) String proceed, Model uiModel,
        HttpServletRequest httpServletRequest) {
    try {/*from w w w . ja  va 2 s  .c o  m*/
        if (proceed != null) {
            String resetPasswordLink;
            String dateFormat = messageSource.getMessage(DATE_FORMAT, null, LocaleContextHolder.getLocale());

            //Validate date and login entries (sanitize) 
            if (login == null || login.isEmpty() || login.length() > 100 || dob == null || dob.isEmpty()
                    || !GenericValidator.isDate(dob, dateFormat, true)) {
                uiModel.addAttribute("status", "I");
                return "public/fpass";
            }

            //Check if provided DOB and login match
            if (!userService.user_validateDateofBirthAndLogin(login,
                    DateValidator.getInstance().validate(dob))) {
                uiModel.addAttribute("status", "I");
                return "public/fpass";
            }

            User user = userService.user_findByLogin(login);
            if (httpServletRequest.getRequestURI().contains("external")) {
                //resetPasswordLink =messageSource.getMessage(EXTERNAL_SITE_BASE_URL, null, LocaleContextHolder.getLocale());
                resetPasswordLink = externalBaseUrl;
            } else {
                //resetPasswordLink =messageSource.getMessage(INTERNAL_SITE_BASE_URL, null, LocaleContextHolder.getLocale());
                resetPasswordLink = internalBaseUrl;
            }
            if (resetPasswordLink.endsWith("/")) {
                resetPasswordLink = resetPasswordLink + "public/rpass?key=";
            } else {
                resetPasswordLink = resetPasswordLink + "/public/rpass?key=";
            }

            StringWriter sw = new StringWriter();
            Map model = new HashMap();
            model.put(
                    messageSource.getMessage(RESET_PASSWORD_LINK_PARAMETER_NAME, null,
                            LocaleContextHolder.getLocale()).replace("${", "").replace("}", ""),
                    "<a href='" + resetPasswordLink
                            + userService.user_prepareForgotPasswordMessage(user.getId()) + "'>"
                            + messageSource.getMessage(RESET_PASSWORD_LINK_LABEL, null,
                                    LocaleContextHolder.getLocale())
                            + "</a>");
            VelocityContext velocityContext = new VelocityContext(model);
            Velocity.evaluate(velocityContext, sw, "velocity-log", surveySettingsService
                    .velocityTemplate_findById(FORGOT_PASSWORD_VELOCITY_EMAIL_TEMPLATE_ID).getDefinition());

            mailService.sendEmail(user.getEmail(), messageSource.getMessage(FORGOT_PASSWORD_EMAIL_TITLE, null,
                    LocaleContextHolder.getLocale()), sw.toString());
            uiModel.addAttribute("status", "S");
            return "public/fpass";
        } else { //cancel button
            return "public/login";
        }
    } catch (Exception e) {
        log.error(e.getMessage(), e);
        throw (new RuntimeException(e));
    }
}

From source file:com.jd.survey.domain.survey.SurveyPage.java

private String computeMvelExpressionForDateAnswerQuestion(QuestionAnswer questionAnswer,
        LogicalCondition condition, String groupingOperator, String dateFormat) {
    StringBuilder stringBuilder = new StringBuilder();
    if (condition.getDateMin() != null && condition.getDateMax() != null) {
        stringBuilder.append("(");

        stringBuilder.append("page.questionAnswers[" + (questionAnswer.getOrder() - 1) + "].dateAnswerValue >="
                + "org.apache.commons.validator.routines.DateValidator.getInstance().validate('"
                + DateValidator.getInstance().format(condition.getDateMin(), dateFormat) + "','" + dateFormat
                + "')");
        stringBuilder.append(" && ");
        stringBuilder.append("page.questionAnswers[" + (questionAnswer.getOrder() - 1) + "].dateAnswerValue <="
                + "org.apache.commons.validator.routines.DateValidator.getInstance().validate('"
                + DateValidator.getInstance().format(condition.getDateMax(), dateFormat) + "','" + dateFormat
                + "')");
        stringBuilder.append(")");
        stringBuilder.append(groupingOperator);
        return stringBuilder.toString();
    }/*from   w w w. ja  v  a 2 s. c  o  m*/
    if (condition.getDateMin() != null) {
        stringBuilder.append("(");
        stringBuilder.append("page.questionAnswers[" + (questionAnswer.getOrder() - 1) + "].dateAnswerValue >="
                + "org.apache.commons.validator.routines.DateValidator.getInstance().validate('"
                + DateValidator.getInstance().format(condition.getDateMin(), dateFormat) + "','" + dateFormat
                + "')");
        stringBuilder.append(")");
        stringBuilder.append(groupingOperator);
        return stringBuilder.toString();
    }
    if (condition.getDateMax() != null) {
        stringBuilder.append("(");
        stringBuilder.append("page.questionAnswers[" + (questionAnswer.getOrder() - 1) + "].dateAnswerValue <="
                + "org.apache.commons.validator.routines.DateValidator.getInstance().validate('"
                + DateValidator.getInstance().format(condition.getDateMax(), dateFormat) + "','" + dateFormat
                + "')");
        stringBuilder.append(")");
        stringBuilder.append(groupingOperator);
        return stringBuilder.toString();
    }
    return "";
}

From source file:com.jd.survey.web.pdf.StatisticsPdf.java

private void writeEntry(Document document, String label, Date value, String dateFormat) throws Exception {
    Paragraph questionParagraph = new Paragraph();
    questionParagraph.setLeading(14, 0);
    questionParagraph.setIndentationLeft(18);
    questionParagraph.add(new Chunk(label.trim() + ": ", boldedFont));
    questionParagraph.add(new Chunk(DateValidator.getInstance().format(value, dateFormat), normalFont));
    document.add(questionParagraph);//from  www  . j  av  a2s.  com
}

From source file:ddf.security.pdp.realm.xacml.XacmlPdp.java

protected String getXacmlDataType(String curPermValue) {
    if ("false".equalsIgnoreCase(curPermValue) || "true".equalsIgnoreCase(curPermValue)) {
        return BOOLEAN_DATA_TYPE;
    } else if (IntegerValidator.getInstance().validate(curPermValue) != null) {
        return INTEGER_DATA_TYPE;
    } else if (DoubleValidator.getInstance().validate(curPermValue, Locale.getDefault()) != null) {
        return DOUBLE_DATA_TYPE;
    } else if (TimeValidator.getInstance().validate(curPermValue, "H:mm:ss") != null
            || TimeValidator.getInstance().validate(curPermValue, "H:mm:ss.SSS") != null
            || TimeValidator.getInstance().validate(curPermValue, "H:mm:ssXXX") != null
            || TimeValidator.getInstance().validate(curPermValue, "H:mm:ss.SSSXXX") != null) {
        return TIME_DATA_TYPE;
    } else if (DateValidator.getInstance().validate(curPermValue, "yyyy-MM-dd") != null
            || DateValidator.getInstance().validate(curPermValue, "yyyy-MM-ddXXX") != null) {
        return DATE_DATA_TYPE;
    } else if (CalendarValidator.getInstance().validate(curPermValue, "yyyy-MM-dd:ss'T'H:mm") != null
            || CalendarValidator.getInstance().validate(curPermValue, "yyyy-MM-dd'T'H:mm:ssXXX") != null
            || CalendarValidator.getInstance().validate(curPermValue, "yyyy-MM-dd'T'H:mm:ss.SSS") != null
            || CalendarValidator.getInstance().validate(curPermValue, "yyyy-MM-dd'T'H:mm:ss.SSSXXX") != null
            || CalendarValidator.getInstance().validate(curPermValue, "yyyy-MM-dd'T'H:mm:ss") != null) {
        return DATE_TIME_DATA_TYPE;
    } else if (EmailValidator.getInstance().isValid(curPermValue)) {
        return RFC822_NAME_DATA_TYPE;
    } else if (new UrlValidator().isValid(curPermValue)) {
        return URI_DATA_TYPE;
    } else if (InetAddresses.isUriInetAddress(curPermValue)) {
        return IP_ADDRESS_DATA_TYPE;
    } else {/*from  ww  w  .j  a  va2s. c o m*/

        try {
            if (new X500Name(curPermValue).getRDNs().length > 0) {
                return X500_NAME_DATA_TYPE;
            }
        } catch (IllegalArgumentException e) {

        }
    }
    return STRING_DATA_TYPE;
}