fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * The contents of this file are subject to the terms
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * of the Common Development and Distribution License
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * (the License). You may not use this file except in
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * compliance with the License.
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * You can obtain a copy of the License at
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * https://opensso.dev.java.net/public/CDDLv1.0.html or
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * See the License for the specific language governing
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * permission and limitations under the License.
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * When distributing Covered Code, include this CDDL
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * Header Notice in each file and include the License file
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * If applicable, add the following below the CDDL Header,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * with the fields enclosed by brackets [] replaced by
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * your own identifying information:
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * "Portions Copyrighted [year] [name of copyright owner]"
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * $Id: StringValidator.java,v 1.2 2008/06/25 05:51:24 qcheng Exp $
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Majorpackage com.sun.identity.install.tools.configurator;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Majorimport com.sun.identity.install.tools.util.Debug;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Majorimport com.sun.identity.install.tools.util.LocalizedMessage;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Majorpublic class StringValidator extends ValidatorBase {
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public StringValidator() throws InstallException {
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public ValidationResult isPositiveInteger(String str, Map props,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major ValidationResultStatus validRes = ValidationResultStatus.STATUS_FAILED;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major if ((str != null) && (str.trim().length() >= 0)) {
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major returnMessage = LocalizedMessage.get(LOC_VA_MSG_NUM_STR,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major validRes = ValidationResultStatus.STATUS_SUCCESS;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major + "Value passed is a negative integer");
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major Debug.log("StringValidator.isPositiveInteger(..) "
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major if (validRes.getIntValue() == ValidationResultStatus.INT_STATUS_FAILED)
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major returnMessage = LocalizedMessage.get(LOC_VA_WRN_NON_NUM_STR,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major Debug.log("StringValidator : Is string : " + str + " valid ? "
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major return new ValidationResult(validRes, null, returnMessage);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public ValidationResult isStringValid(String str, Map props,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major ValidationResultStatus validRes = ValidationResultStatus.STATUS_FAILED;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major if ((str != null) && (str.trim().length() >= 0)) {
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major returnMessage = LocalizedMessage.get(LOC_VA_MSG_VAL_STR,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major validRes = ValidationResultStatus.STATUS_SUCCESS;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major if (validRes.getIntValue() == ValidationResultStatus.INT_STATUS_FAILED)
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major returnMessage = LocalizedMessage.get(LOC_VA_WRN_IN_VAL_STR,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major Debug.log("StringValidator : Is string : " + str + " valid ? "
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major return new ValidationResult(validRes, null, returnMessage);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public ValidationResult isKeyValid(String key, Map props,
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major ValidationResultStatus validRes = ValidationResultStatus.STATUS_FAILED;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major String minSize = (String) props.get(STR_VAL_MIN_DIGITS);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major if ((minSize != null) && (minSize.length() > 0)) {
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major Debug.log("StringValidator : key min length = " + minLen);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major validRes = ValidationResultStatus.STATUS_SUCCESS;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major + "invalid");
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major // User did not enter a min length
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major validRes = ValidationResultStatus.STATUS_SUCCESS;
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major Debug.log("StringValidator : Failed to read key with ex :", ex);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major if (validRes.getIntValue() == ValidationResultStatus.INT_STATUS_FAILED)
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major returnMessage = LocalizedMessage.get(LOC_VA_WRN_IN_VAL_KEY);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major returnMessage = LocalizedMessage.get(LOC_VA_MSG_VAL_KEY);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major return new ValidationResult(validRes, null, returnMessage);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public void initializeValidatorMap() throws InstallException {
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major Class[] paramObjs = { String.class, Map.class, IStateAccess.class };
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major this.getClass().getMethod("isStringValid", paramObjs));
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major this.getClass().getMethod("isPositiveInteger", paramObjs));
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major this.getClass().getMethod("isKeyValid", paramObjs));
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major + "NoSuchMethodException thrown while loading method :",
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major + "SecurityException thrown while loading method :", se);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major + "Exception thrown while loading method :", ex);
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major /** Hashmap of Validator names and integers */
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * Localized messages
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String LOC_VA_WRN_IN_VAL_STR = "VA_WRN_IN_VAL_STR";
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String LOC_VA_MSG_VAL_STR = "VA_MSG_VAL_STR";
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String LOC_VA_MSG_NUM_STR = "VA_MSG_NUM_STR";
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String LOC_VA_WRN_NON_NUM_STR = "VA_WRN_NON_NUM_STR";
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String LOC_VA_MSG_VAL_KEY = "VA_MSG_VAL_KEY";
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String LOC_VA_WRN_IN_VAL_KEY = "VA_WRN_IN_VAL_KEY";
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major * String constants
fb379c70e3fd8a537f311b99be4759ae41e02750Peter Major public static String STR_VAL_MIN_DIGITS = "minLen";