annotate WebServiceExtensionsV1.1/WebServiceToolWorkflow_REST_SOAP/lib/SAWADLParser/src/edu/uga/cs/lsdis/meteors/wadls/GrammarsImpl.java @ 0:049760c677de default tip

Galaxy WSExtensions added successfully
author uga-galaxy-group
date Tue, 05 Jul 2011 19:34:18 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
1 /*
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
2 * (c) Copyright IBM Corp 2001, 2005
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
3 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
4
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
5 package edu.uga.cs.lsdis.meteors.wadls;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
6
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
7 import java.net.URISyntaxException;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
8 import java.util.ArrayList;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
9 import java.util.Iterator;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
10 import java.util.List;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
11 import java.util.Map;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
12 import java.util.Vector;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
13
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
14 import javax.wadls.Application;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
15 import javax.wadls.ModelReference;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
16 import javax.wadls.Grammars;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
17 import javax.wadls.WADLSException;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
18 import javax.wadls.extensions.schema.Schema;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
19 import javax.wadls.extensions.ExtensibilityElement;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
20 import javax.xml.namespace.QName;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
21
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
22 import org.w3c.dom.Attr;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
23 import org.w3c.dom.Element;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
24
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
25 import edu.uga.cs.lsdis.meteors.wadls.util.SchemaUtils;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
26
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
27 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
28 * This class represents the <types> section of a WSDL document.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
29 *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
30 * @author Zixin Wu (wuzixin@uga.edu)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
31 * @author Matthew J. Duftler (duftler@us.ibm.com)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
32 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
33 public class GrammarsImpl implements Grammars
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
34 {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
35 protected Application app = null; //WADLS Definition
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
36 protected List<ModelReference> modelReferences = null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
37 protected Element docEl = null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
38 protected List extElements = new Vector();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
39 protected Map allSchemas = null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
40
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
41
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
42 public static final long serialVersionUID = 1;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
43
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
44 public GrammarsImpl(Application app){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
45 this.app = app;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
46 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
47
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
48 public List getTopLevelSchemas(){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
49 return SchemaUtils.getSchemas(this.extElements);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
50 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
51
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
52 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
53 * Get the DOM elements of all the schemas in this Types.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
54 * @return A list of DOM elements of all the schemas in this Types.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
55 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
56 public Map getSchemas(){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
57 return this.allSchemas;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
58 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
59
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
60 public void setSchemas(Map allSchemas){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
61 this.allSchemas = allSchemas;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
62 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
63
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
64
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
65 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
66 * Get the DOM element of the first schema in this Types.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
67 * @return The DOM element of the first schema in this Types.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
68 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
69 public Schema getFirstSchema(){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
70 return SchemaUtils.getFirstSchema(this.extElements);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
71 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
72 public ModelReference getModelReference(){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
73 if(modelReferences == null)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
74 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
75 return modelReferences.get(0);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
76 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
77
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
78 public List<ModelReference> getModelReferences(Element startElement, String path, Application app) throws WADLSException, URISyntaxException {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
79 Element el = getXSDEle(startElement, path);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
80 if (el == null)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
81 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
82 String attrModelReference = el.getAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_MODELREF);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
83 if (attrModelReference.equals(""))
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
84 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
85 List<ModelReference> mrefs = ModelReferenceImpl.getModelReferences(attrModelReference, app);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
86 if(mrefs.size() == 0)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
87 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
88 return mrefs;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
89 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
90 public ModelReference getModelReference(Element startElement, String path, Application app) throws WADLSException, URISyntaxException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
91 List<ModelReference> mrefs = getModelReferences(startElement, path, app);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
92 return mrefs.get(0);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
93 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
94
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
95
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
96 private Element getXSDEle(Element startElement, String path) throws WADLSException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
97 if (path == null || path == "")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
98 return startElement;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
99 String eleName = startElement.getLocalName();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
100 if (eleName.equals("element")){ //search the target from <element ...
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
101 return SchemaUtils.findXSDEleOnEle(startElement, path, this);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
102 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
103 else if (eleName.equals("complexType")){ //search the target from <complexType ...
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
104 return SchemaUtils.findXSDEleOnComplexType(startElement, path, this);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
105 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
106 else{ //error
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
107 WADLSException wsdlsExc = new WADLSException(WADLSException.PATH_ERROR,
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
108 "simpleType cannot has path");
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
109 throw wsdlsExc;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
110 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
111 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
112
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
113
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
114
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
115 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
116 * Get all the extensibility elements defined here.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
117 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
118
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
119 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
120 * Set the modelReference.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
121 *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
122 * @param modelReference The desired modelReference.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
123 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
124 public void addModelReference(ModelReference modelReference){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
125 if(modelReferences == null)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
126 modelReferences = new ArrayList<ModelReference>();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
127 modelReferences.add(0, modelReference);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
128 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
129
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
130 public List<ModelReference> getModelReferences() {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
131 return modelReferences;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
132 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
133
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
134 public void setModelReferences(List<ModelReference> refs) {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
135 modelReferences = refs;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
136 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
137
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
138 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
139 * Set the documentation element for this document. This dependency
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
140 * on org.w3c.dom.Element should eventually be removed when a more
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
141 * appropriate way of representing this information is employed.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
142 *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
143 * @param docEl the documentation element
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
144 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
145 public void setDocumentationElement(Element docEl)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
146 {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
147 this.docEl = docEl;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
148 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
149
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
150 public void setModelReferences(Element startElement, String path, List<ModelReference> refs) throws WADLSException {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
151 for(ModelReference ref : refs) {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
152 addModelReference(startElement, path, ref);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
153 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
154 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
155
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
156 public void addModelReference(Element startElement, String path, ModelReference modelReference) throws WADLSException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
157 Element el = getXSDEle(startElement, path);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
158
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
159 if (modelReference != null){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
160 String strModelReference = modelReference.value();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
161 Attr attr = el.getAttributeNodeNS(
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
162 Constants.NS_URI_WADLS, Constants.ATTR_MODELREF);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
163 if(attr == null) {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
164 attr = el.getOwnerDocument().createAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_MODELREF);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
165 attr.setPrefix(Constants.PREFIX_WSDLS);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
166 el.setAttributeNodeNS(attr);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
167 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
168 String value = attr.getValue();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
169 if(value != null) {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
170 value += " " + strModelReference;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
171 } else {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
172 value = strModelReference;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
173 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
174 attr.setValue(value);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
175 modelReference.setParent(el);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
176 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
177 else
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
178 el.removeAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_MODELREF);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
179 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
180
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
181
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
182 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
183 * Get the documentation element. This dependency on org.w3c.dom.Element
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
184 * should eventually be removed when a more appropriate way of
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
185 * representing this information is employed.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
186 *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
187 * @return the documentation element
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
188 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
189 public Element getDocumentationElement()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
190 {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
191 return docEl;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
192 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
193
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
194 public void setLoweringSchemaMapping(Element startElement, String path, String schemaMapping) throws WADLSException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
195 Element el = getXSDEle(startElement, path);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
196 if (schemaMapping != null){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
197 Attr attr = el.getOwnerDocument().createAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_LOWERINGSCHEMAMAPPING);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
198 attr.setPrefix(Constants.PREFIX_WSDLS);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
199 attr.setValue(schemaMapping);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
200 el.setAttributeNodeNS(attr);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
201 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
202 else
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
203 el.removeAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_LOWERINGSCHEMAMAPPING);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
204 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
205
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
206 public void setLiftingSchemaMapping(Element startElement, String path, String schemaMapping) throws WADLSException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
207 Element el = getXSDEle(startElement, path);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
208 if (schemaMapping != null){
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
209 Attr attr = el.getOwnerDocument().createAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_LIFTINGSCHEMAMAPPING);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
210 attr.setPrefix(Constants.PREFIX_WSDLS);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
211 attr.setValue(schemaMapping);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
212 el.setAttributeNodeNS(attr);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
213 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
214 else
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
215 el.removeAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_LIFTINGSCHEMAMAPPING);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
216 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
217 public String getLoweringSchemaMapping(Element startElement, String path) throws WADLSException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
218 Element el = getXSDEle(startElement, path);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
219 if (el == null)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
220 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
221 String attrSchemaMapping = el.getAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_LOWERINGSCHEMAMAPPING);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
222 if (attrSchemaMapping == "")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
223 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
224 return attrSchemaMapping;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
225
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
226 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
227
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
228 public String getLiftingSchemaMapping(Element startElement, String path) throws WADLSException{
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
229 Element el = getXSDEle(startElement, path);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
230 if (el == null)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
231 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
232 String attrSchemaMapping = el.getAttributeNS(Constants.NS_URI_WADLS, Constants.ATTR_LIFTINGSCHEMAMAPPING);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
233 if (attrSchemaMapping == "")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
234 return null;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
235 return attrSchemaMapping;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
236
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
237 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
238
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
239
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
240 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
241 * Add an extensibility element.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
242 *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
243 * @param extElement the extensibility element to be added
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
244 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
245
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
246
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
247 /**
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
248 * Get all the extensibility elements defined here.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
249 */
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
250
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
251
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
252 public String toString()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
253 {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
254 StringBuffer strBuf = new StringBuffer();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
255
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
256 strBuf.append("Types:");
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
257
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
258 if (extElements != null)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
259 {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
260 Iterator extIterator = extElements.iterator();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
261
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
262 while (extIterator.hasNext())
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
263 {
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
264 strBuf.append("\n" + extIterator.next());
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
265 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
266 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
267
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
268 return strBuf.toString();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
269 }
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
270
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
271
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
272 }