tim@101: /** tim@101: * tim@101: */ tim@101: package de.intevation.gnv.utils; tim@101: tim@101: import org.apache.log4j.Logger; tim@101: tim@101: import de.intevation.gnv.geobackend.util.DateUtils; tim@101: sascha@115: import org.apache.commons.validator.GenericValidator; sascha@115: tim@101: /** tim@101: * @author Tim Englich tim@101: * tim@101: */ tim@101: public class InputValidator { tim@101: /** tim@101: * the logger, used to log exceptions and additonaly information tim@101: */ tim@101: private static Logger log = Logger.getLogger(InputValidator.class); tim@101: tim@101: /** tim@101: * Constructor tim@101: */ tim@101: public InputValidator() { tim@101: super(); tim@101: } tim@101: tim@101: public boolean isInputValid(String input, String type){ tim@101: log.debug("InputValidator.isInputValid " + input+ " "+type); tim@101: boolean returnValue = false; tim@101: String[] values = input.split(","); tim@101: for (int i = 0; i < values.length; i++){ tim@101: boolean valid; tim@101: if ("Integer".equalsIgnoreCase(type)){ sascha@115: valid = GenericValidator.isInt(values[i].trim()); tim@113: }else if ("Double".equalsIgnoreCase(type)){ sascha@115: valid = GenericValidator.isDouble(values[i].trim()); tim@101: }else if ("String".equalsIgnoreCase(type)){ sascha@115: valid = GenericValidator.matchRegexp(values[i], "[a-zA-Z0-9]"); // TODO: FIXME: VALIDATE REGEXP tim@101: }else if ("Date".equalsIgnoreCase(type)){ sascha@115: valid = GenericValidator.isDate(values[i].trim(), DateUtils.DATE_PATTERN, true); tim@111: }else if ("Point".equalsIgnoreCase(type)){ sascha@115: valid = GenericValidator.matchRegexp(values[i], "[0-9]"); // TODO: FIXME: VALIDATE REGEXP tim@101: }else{ tim@101: valid = false; tim@101: } tim@101: if (!valid){ tim@101: returnValue = false; tim@101: break; tim@101: }else{ tim@101: returnValue = true; tim@101: } tim@101: } tim@101: log.debug("Is valid? "+returnValue); tim@101: return returnValue; tim@101: } tim@101: tim@101: }