1 package org.objectweb.celtix.tools.processors.wsdl2.validators; 2 3 import java.util.*; 4 import javax.wsdl.Definition; 5 6 import org.objectweb.celtix.common.util.StringUtils; 7 import org.objectweb.celtix.tools.common.ProcessorEnvironment; 8 import org.objectweb.celtix.tools.common.ToolConstants; 9 import org.objectweb.celtix.tools.common.ToolException; 10 11 public class WSDL11Validator extends AbstractValidator { 12 13 private final List<AbstractValidator> validators = new ArrayList<AbstractValidator>(); 14 15 public WSDL11Validator(Definition definition) { 16 super(definition); 17 } 18 19 public WSDL11Validator(Definition definition, ProcessorEnvironment pe) { 20 super(definition, pe); 21 } 22 23 public boolean isValid() throws ToolException { 24 boolean isValid = true; 25 String schemaDir = getSchemaDir(); 26 if (!StringUtils.isEmpty(schemaDir)) { 27 28 String [] schemas = (String [])env.get(ToolConstants.CFG_SCHEMA_URL); 29 30 SchemaWSDLValidator schemaValidator = new SchemaWSDLValidator(schemaDir, (String )env 31 .get(ToolConstants.CFG_WSDLURL), schemas, false); 32 33 if (!schemaValidator.isValid()) { 34 this.addErrorMessage(schemaValidator.getErrorMessage()); 35 isValid = false; 36 throw new ToolException(this.getErrorMessage()); 37 38 } else { 39 this.def = schemaValidator.def; 40 } 41 } else { 42 throw new ToolException("Schema dir should be defined before validate wsdl"); 43 } 44 45 46 validators.add(new UniqueBodyPartsValidator(this.def)); 47 validators.add(new WSIBPValidator(this.def)); 48 validators.add(new MIMEBindingValidator(this.def)); 49 validators.add(new XMLFormatValidator(this.def)); 50 51 for (AbstractValidator validator : validators) { 52 if (!validator.isValid()) { 53 addErrorMessage(validator.getErrorMessage()); 54 isValid = false; 55 throw new ToolException(this.getErrorMessage()); 56 } 57 } 58 59 return isValid; 60 } 61 62 public String getSchemaDir() { 63 String dir = ""; 64 if (env.get(ToolConstants.CFG_SCHEMA_DIR) == null) { 65 dir = System.getProperty(ToolConstants.CELTIX_SCHEMA_DIR); 66 } else { 67 dir = (String )env.get(ToolConstants.CFG_SCHEMA_DIR); 68 } 69 return dir; 70 } 71 } 72 | Popular Tags |