1 19 20 package com.sslexplorer.input.validators; 21 22 import java.util.Properties ; 23 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 27 import com.sslexplorer.boot.CodedException; 28 import com.sslexplorer.boot.PropertyDefinition; 29 import com.sslexplorer.boot.PropertyList; 30 import com.sslexplorer.boot.PropertyValidator; 31 import com.sslexplorer.core.CoreException; 32 33 public class ListValidator implements PropertyValidator { 34 35 final static Log log = LogFactory.getLog(ListValidator.class); 36 37 public void validate(PropertyDefinition definition, String value, Properties properties) throws CodedException { 38 PropertyList pl = new PropertyList(value); 39 String className = properties.getProperty("className"); 40 Properties p = new Properties (properties); 41 p.remove("className"); 42 try { 43 Class clazz = getClass().forName(className); 44 PropertyValidator pv = (PropertyValidator)clazz.newInstance(); 45 for(String item : pl) { 46 pv.validate(definition, item, p); 47 } 48 } 49 catch(CoreException ce) { 50 throw ce; 51 } 52 catch(Exception e) { 53 log.error("Invalid or missing class name", e); 54 throw new CoreException(ErrorConstants.ERR_INTERNAL_ERROR, ErrorConstants.CATEGORY_NAME, ErrorConstants.BUNDLE_NAME, null, value); 55 } 56 } 57 58 } 59 | Popular Tags |