KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > tools > processors > wsdl2 > validators > WSDL11Validator


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 JavaDoc schemaDir = getSchemaDir();
26         if (!StringUtils.isEmpty(schemaDir)) {
27
28             String JavaDoc[] schemas = (String JavaDoc[])env.get(ToolConstants.CFG_SCHEMA_URL);
29             
30             SchemaWSDLValidator schemaValidator = new SchemaWSDLValidator(schemaDir, (String JavaDoc)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 JavaDoc getSchemaDir() {
63         String JavaDoc dir = "";
64         if (env.get(ToolConstants.CFG_SCHEMA_DIR) == null) {
65             dir = System.getProperty(ToolConstants.CELTIX_SCHEMA_DIR);
66         } else {
67             dir = (String JavaDoc)env.get(ToolConstants.CFG_SCHEMA_DIR);
68         }
69         return dir;
70     }
71 }
72
Popular Tags