src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java

changeset 408
b0610cd08440
parent 384
8f2986ff0235
child 637
9c07ef4934dd
equal deleted inserted replaced
405:cc682329886b 408:b0610cd08440
24 */ 24 */
25 25
26 package com.sun.xml.internal.ws.model.wsdl; 26 package com.sun.xml.internal.ws.model.wsdl;
27 27
28 import com.sun.istack.internal.NotNull; 28 import com.sun.istack.internal.NotNull;
29 import com.sun.xml.internal.ws.api.model.wsdl.WSDLFault;
30 import com.sun.xml.internal.ws.api.model.wsdl.WSDLOperation; 29 import com.sun.xml.internal.ws.api.model.wsdl.WSDLOperation;
31 import com.sun.xml.internal.ws.api.model.wsdl.WSDLPortType; 30 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLFault;
31 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLInput;
32 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLMessage;
33 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLModel;
34 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLOperation;
35 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLOutput;
36 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLPart;
37 import com.sun.xml.internal.ws.api.model.wsdl.editable.EditableWSDLPortType;
32 import com.sun.xml.internal.ws.util.QNameMap; 38 import com.sun.xml.internal.ws.util.QNameMap;
33 39
34 import javax.xml.namespace.QName; 40 import javax.xml.namespace.QName;
35 import javax.xml.stream.XMLStreamReader; 41 import javax.xml.stream.XMLStreamReader;
42
36 import java.util.ArrayList; 43 import java.util.ArrayList;
37 import java.util.List; 44 import java.util.List;
38 45
39 /** 46 /**
40 * Implementaiton of {@link WSDLOperation} 47 * Implementaiton of {@link WSDLOperation}
41 * 48 *
42 * @author Vivek Pandey 49 * @author Vivek Pandey
43 */ 50 */
44 public final class WSDLOperationImpl extends AbstractExtensibleImpl implements WSDLOperation { 51 public final class WSDLOperationImpl extends AbstractExtensibleImpl implements EditableWSDLOperation {
45 private final QName name; 52 private final QName name;
46 private String parameterOrder; 53 private String parameterOrder;
47 private WSDLInputImpl input; 54 private EditableWSDLInput input;
48 private WSDLOutputImpl output; 55 private EditableWSDLOutput output;
49 private final List<WSDLFaultImpl> faults; 56 private final List<EditableWSDLFault> faults;
50 private final QNameMap<WSDLFaultImpl> faultMap; 57 private final QNameMap<EditableWSDLFault> faultMap;
51 protected Iterable<WSDLMessageImpl> messages; 58 protected Iterable<EditableWSDLMessage> messages;
52 private final WSDLPortType owner; 59 private final EditableWSDLPortType owner;
53 60
54 public WSDLOperationImpl(XMLStreamReader xsr,WSDLPortTypeImpl owner, QName name) { 61 public WSDLOperationImpl(XMLStreamReader xsr, EditableWSDLPortType owner, QName name) {
55 super(xsr); 62 super(xsr);
56 this.name = name; 63 this.name = name;
57 this.faults = new ArrayList<WSDLFaultImpl>(); 64 this.faults = new ArrayList<EditableWSDLFault>();
58 this.faultMap = new QNameMap<WSDLFaultImpl>(); 65 this.faultMap = new QNameMap<EditableWSDLFault>();
59 this.owner = owner; 66 this.owner = owner;
60 } 67 }
61 68
62 public QName getName() { 69 public QName getName() {
63 return name; 70 return name;
69 76
70 public void setParameterOrder(String parameterOrder) { 77 public void setParameterOrder(String parameterOrder) {
71 this.parameterOrder = parameterOrder; 78 this.parameterOrder = parameterOrder;
72 } 79 }
73 80
74 public WSDLInputImpl getInput() { 81 public EditableWSDLInput getInput() {
75 return input; 82 return input;
76 } 83 }
77 84
78 public void setInput(WSDLInputImpl input) { 85 public void setInput(EditableWSDLInput input) {
79 this.input = input; 86 this.input = input;
80 } 87 }
81 88
82 public WSDLOutputImpl getOutput() { 89 public EditableWSDLOutput getOutput() {
83 return output; 90 return output;
84 } 91 }
85 92
86 public boolean isOneWay() { 93 public boolean isOneWay() {
87 return output == null; 94 return output == null;
88 } 95 }
89 96
90 public void setOutput(WSDLOutputImpl output) { 97 public void setOutput(EditableWSDLOutput output) {
91 this.output = output; 98 this.output = output;
92 } 99 }
93 100
94 public Iterable<WSDLFaultImpl> getFaults() { 101 public Iterable<EditableWSDLFault> getFaults() {
95 return faults; 102 return faults;
96 } 103 }
97 104
98 public WSDLFault getFault(QName faultDetailName) { 105 public EditableWSDLFault getFault(QName faultDetailName) {
99 WSDLFaultImpl fault = faultMap.get(faultDetailName); 106 EditableWSDLFault fault = faultMap.get(faultDetailName);
100 if(fault != null) 107 if(fault != null)
101 return fault; 108 return fault;
102 109
103 for(WSDLFaultImpl fi:faults){ 110 for(EditableWSDLFault fi : faults){
104 assert fi.getMessage().parts().iterator().hasNext(); 111 assert fi.getMessage().parts().iterator().hasNext();
105 WSDLPartImpl part = fi.getMessage().parts().iterator().next(); 112 EditableWSDLPart part = fi.getMessage().parts().iterator().next();
106 if(part.getDescriptor().name().equals(faultDetailName)){ 113 if(part.getDescriptor().name().equals(faultDetailName)){
107 faultMap.put(faultDetailName, fi); 114 faultMap.put(faultDetailName, fi);
108 return fi; 115 return fi;
109 } 116 }
110 } 117 }
111 return null; 118 return null;
112 } 119 }
113 120
114 WSDLPortType getOwner() {
115 return owner;
116 }
117
118 @NotNull 121 @NotNull
119 public QName getPortTypeName() { 122 public QName getPortTypeName() {
120 return owner.getName(); 123 return owner.getName();
121 } 124 }
122 125
123 public void addFault(WSDLFaultImpl fault) { 126 public void addFault(EditableWSDLFault fault) {
124 faults.add(fault); 127 faults.add(fault);
125 } 128 }
126 129
127 public void freez(WSDLModelImpl root) { 130 public void freeze(EditableWSDLModel root) {
128 assert input != null; 131 assert input != null;
129 input.freeze(root); 132 input.freeze(root);
130 if(output != null) 133 if(output != null)
131 output.freeze(root); 134 output.freeze(root);
132 for(WSDLFaultImpl fault : faults){ 135 for(EditableWSDLFault fault : faults){
133 fault.freeze(root); 136 fault.freeze(root);
134 } 137 }
135 } 138 }
136 } 139 }

mercurial