24 */ |
24 */ |
25 |
25 |
26 package com.sun.xml.internal.ws.server; |
26 package com.sun.xml.internal.ws.server; |
27 |
27 |
28 import com.sun.istack.internal.NotNull; |
28 import com.sun.istack.internal.NotNull; |
|
29 import com.sun.xml.internal.ws.api.SOAPVersion; |
|
30 import com.sun.xml.internal.ws.api.WSBinding; |
|
31 import com.sun.xml.internal.ws.api.message.Packet; |
|
32 import com.sun.xml.internal.ws.api.model.SEIModel; |
|
33 import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort; |
|
34 import com.sun.xml.internal.ws.api.pipe.Codec; |
|
35 import com.sun.xml.internal.ws.api.pipe.FiberContextSwitchInterceptor; |
|
36 import com.sun.xml.internal.ws.api.pipe.ServerTubeAssemblerContext; |
|
37 import com.sun.xml.internal.ws.api.pipe.ThrowableContainerPropertySet; |
|
38 import com.sun.xml.internal.ws.api.server.Container; |
|
39 import com.sun.xml.internal.ws.api.server.ServiceDefinition; |
|
40 import com.sun.xml.internal.ws.api.server.WSEndpoint; |
|
41 import com.sun.xml.internal.ws.policy.PolicyMap; |
|
42 import com.sun.xml.internal.ws.wsdl.OperationDispatcher; |
29 import com.sun.org.glassfish.gmbal.AMXClient; |
43 import com.sun.org.glassfish.gmbal.AMXClient; |
30 import com.sun.org.glassfish.gmbal.GmbalMBean; |
44 import com.sun.org.glassfish.gmbal.GmbalMBean; |
31 import com.sun.org.glassfish.gmbal.ManagedObjectManager; |
45 import com.sun.org.glassfish.gmbal.ManagedObjectManager; |
32 |
46 |
33 import javax.management.MBeanServer; |
47 import javax.management.MBeanServer; |
34 import javax.management.ObjectName; |
48 import javax.management.ObjectName; |
35 import java.io.IOException; |
49 import java.io.IOException; |
36 import java.lang.annotation.Annotation; |
50 import java.lang.annotation.Annotation; |
37 import java.lang.reflect.AnnotatedElement; |
51 import java.lang.reflect.AnnotatedElement; |
|
52 import java.util.List; |
38 import java.util.ResourceBundle; |
53 import java.util.ResourceBundle; |
|
54 import java.util.Set; |
|
55 import java.util.concurrent.Executor; |
|
56 import javax.xml.namespace.QName; |
|
57 import javax.xml.ws.EndpointReference; |
|
58 import org.w3c.dom.Element; |
39 |
59 |
40 /** |
60 /** |
41 * {@link ManagedObjectManager} proxy class for {@link WSEndpointImpl} instances that could be used when Gmbal API calls |
61 * {@link ManagedObjectManager} proxy class for {@link WSEndpointImpl} instances that could be used when Gmbal API calls |
42 * need to be deferred. The proxy tries to defer a need of a real ManagedObjectManager instance to the time when any |
62 * need to be deferred. The proxy tries to defer a need of a real ManagedObjectManager instance to the time when any |
43 * method from {@link ManagedObjectManager} is invoked on it. In this case a real instance of ManagedObjectManager is |
63 * method from {@link ManagedObjectManager} is invoked on it. In this case a real instance of ManagedObjectManager is |
44 * obtained from WSEndpointImpl and the method is rather invoked on this object. |
64 * obtained from WSEndpointImpl and the method is rather invoked on this object. |
45 */ |
65 */ |
46 public class WSEndpointMOMProxy implements ManagedObjectManager { |
66 public class WSEndpointMOMProxy extends WSEndpoint implements ManagedObjectManager { |
47 |
67 |
48 private final @NotNull |
68 private final @NotNull |
49 WSEndpointImpl wsEndpoint; |
69 WSEndpointImpl wsEndpoint; |
50 private ManagedObjectManager managedObjectManager; |
70 private ManagedObjectManager managedObjectManager; |
51 |
71 |
81 |
102 |
82 public WSEndpointImpl getWsEndpoint() { |
103 public WSEndpointImpl getWsEndpoint() { |
83 return wsEndpoint; |
104 return wsEndpoint; |
84 } |
105 } |
85 |
106 |
|
107 @Override |
86 public void suspendJMXRegistration() { |
108 public void suspendJMXRegistration() { |
87 getManagedObjectManager().suspendJMXRegistration(); |
109 getManagedObjectManager().suspendJMXRegistration(); |
88 } |
110 } |
89 |
111 |
|
112 @Override |
90 public void resumeJMXRegistration() { |
113 public void resumeJMXRegistration() { |
91 getManagedObjectManager().resumeJMXRegistration(); |
114 getManagedObjectManager().resumeJMXRegistration(); |
92 } |
115 } |
93 |
116 |
|
117 @Override |
94 public boolean isManagedObject(Object obj) { |
118 public boolean isManagedObject(Object obj) { |
95 return getManagedObjectManager().isManagedObject(obj); |
119 return getManagedObjectManager().isManagedObject(obj); |
96 } |
120 } |
97 |
121 |
|
122 @Override |
98 public GmbalMBean createRoot() { |
123 public GmbalMBean createRoot() { |
99 return getManagedObjectManager().createRoot(); |
124 return getManagedObjectManager().createRoot(); |
100 } |
125 } |
101 |
126 |
|
127 @Override |
102 public GmbalMBean createRoot(Object root) { |
128 public GmbalMBean createRoot(Object root) { |
103 return getManagedObjectManager().createRoot(root); |
129 return getManagedObjectManager().createRoot(root); |
104 } |
130 } |
105 |
131 |
|
132 @Override |
106 public GmbalMBean createRoot(Object root, String name) { |
133 public GmbalMBean createRoot(Object root, String name) { |
107 return getManagedObjectManager().createRoot(root, name); |
134 return getManagedObjectManager().createRoot(root, name); |
108 } |
135 } |
109 |
136 |
|
137 @Override |
110 public Object getRoot() { |
138 public Object getRoot() { |
111 return getManagedObjectManager().getRoot(); |
139 return getManagedObjectManager().getRoot(); |
112 } |
140 } |
113 |
141 |
|
142 @Override |
114 public GmbalMBean register(Object parent, Object obj, String name) { |
143 public GmbalMBean register(Object parent, Object obj, String name) { |
115 return getManagedObjectManager().register(parent, obj, name); |
144 return getManagedObjectManager().register(parent, obj, name); |
116 } |
145 } |
117 |
146 |
|
147 @Override |
118 public GmbalMBean register(Object parent, Object obj) { |
148 public GmbalMBean register(Object parent, Object obj) { |
119 return getManagedObjectManager().register(parent, obj); |
149 return getManagedObjectManager().register(parent, obj); |
120 } |
150 } |
121 |
151 |
|
152 @Override |
122 public GmbalMBean registerAtRoot(Object obj, String name) { |
153 public GmbalMBean registerAtRoot(Object obj, String name) { |
123 return getManagedObjectManager().registerAtRoot(obj, name); |
154 return getManagedObjectManager().registerAtRoot(obj, name); |
124 } |
155 } |
125 |
156 |
|
157 @Override |
126 public GmbalMBean registerAtRoot(Object obj) { |
158 public GmbalMBean registerAtRoot(Object obj) { |
127 return getManagedObjectManager().registerAtRoot(obj); |
159 return getManagedObjectManager().registerAtRoot(obj); |
128 } |
160 } |
129 |
161 |
|
162 @Override |
130 public void unregister(Object obj) { |
163 public void unregister(Object obj) { |
131 getManagedObjectManager().unregister(obj); |
164 getManagedObjectManager().unregister(obj); |
132 } |
165 } |
133 |
166 |
|
167 @Override |
134 public ObjectName getObjectName(Object obj) { |
168 public ObjectName getObjectName(Object obj) { |
135 return getManagedObjectManager().getObjectName(obj); |
169 return getManagedObjectManager().getObjectName(obj); |
136 } |
170 } |
137 |
171 |
|
172 @Override |
138 public AMXClient getAMXClient(Object obj) { |
173 public AMXClient getAMXClient(Object obj) { |
139 return getManagedObjectManager().getAMXClient(obj); |
174 return getManagedObjectManager().getAMXClient(obj); |
140 } |
175 } |
141 |
176 |
|
177 @Override |
142 public Object getObject(ObjectName oname) { |
178 public Object getObject(ObjectName oname) { |
143 return getManagedObjectManager().getObject(oname); |
179 return getManagedObjectManager().getObject(oname); |
144 } |
180 } |
145 |
181 |
|
182 @Override |
146 public void stripPrefix(String... str) { |
183 public void stripPrefix(String... str) { |
147 getManagedObjectManager().stripPrefix(str); |
184 getManagedObjectManager().stripPrefix(str); |
148 } |
185 } |
149 |
186 |
|
187 @Override |
150 public void stripPackagePrefix() { |
188 public void stripPackagePrefix() { |
151 getManagedObjectManager().stripPackagePrefix(); |
189 getManagedObjectManager().stripPackagePrefix(); |
152 } |
190 } |
153 |
191 |
|
192 @Override |
154 public String getDomain() { |
193 public String getDomain() { |
155 return getManagedObjectManager().getDomain(); |
194 return getManagedObjectManager().getDomain(); |
156 } |
195 } |
157 |
196 |
|
197 @Override |
158 public void setMBeanServer(MBeanServer server) { |
198 public void setMBeanServer(MBeanServer server) { |
159 getManagedObjectManager().setMBeanServer(server); |
199 getManagedObjectManager().setMBeanServer(server); |
160 } |
200 } |
161 |
201 |
|
202 @Override |
162 public MBeanServer getMBeanServer() { |
203 public MBeanServer getMBeanServer() { |
163 return getManagedObjectManager().getMBeanServer(); |
204 return getManagedObjectManager().getMBeanServer(); |
164 } |
205 } |
165 |
206 |
|
207 @Override |
166 public void setResourceBundle(ResourceBundle rb) { |
208 public void setResourceBundle(ResourceBundle rb) { |
167 getManagedObjectManager().setResourceBundle(rb); |
209 getManagedObjectManager().setResourceBundle(rb); |
168 } |
210 } |
169 |
211 |
|
212 @Override |
170 public ResourceBundle getResourceBundle() { |
213 public ResourceBundle getResourceBundle() { |
171 return getManagedObjectManager().getResourceBundle(); |
214 return getManagedObjectManager().getResourceBundle(); |
172 } |
215 } |
173 |
216 |
|
217 @Override |
174 public void addAnnotation(AnnotatedElement element, Annotation annotation) { |
218 public void addAnnotation(AnnotatedElement element, Annotation annotation) { |
175 getManagedObjectManager().addAnnotation(element, annotation); |
219 getManagedObjectManager().addAnnotation(element, annotation); |
176 } |
220 } |
177 |
221 |
|
222 @Override |
178 public void setRegistrationDebug(RegistrationDebugLevel level) { |
223 public void setRegistrationDebug(RegistrationDebugLevel level) { |
179 getManagedObjectManager().setRegistrationDebug(level); |
224 getManagedObjectManager().setRegistrationDebug(level); |
180 } |
225 } |
181 |
226 |
|
227 @Override |
182 public void setRuntimeDebug(boolean flag) { |
228 public void setRuntimeDebug(boolean flag) { |
183 getManagedObjectManager().setRuntimeDebug(flag); |
229 getManagedObjectManager().setRuntimeDebug(flag); |
184 } |
230 } |
185 |
231 |
|
232 @Override |
186 public void setTypelibDebug(int level) { |
233 public void setTypelibDebug(int level) { |
187 getManagedObjectManager().setTypelibDebug(level); |
234 getManagedObjectManager().setTypelibDebug(level); |
188 } |
235 } |
189 |
236 |
|
237 @Override |
190 public void setJMXRegistrationDebug(boolean flag) { |
238 public void setJMXRegistrationDebug(boolean flag) { |
191 getManagedObjectManager().setJMXRegistrationDebug(flag); |
239 getManagedObjectManager().setJMXRegistrationDebug(flag); |
192 } |
240 } |
193 |
241 |
|
242 @Override |
194 public String dumpSkeleton(Object obj) { |
243 public String dumpSkeleton(Object obj) { |
195 return getManagedObjectManager().dumpSkeleton(obj); |
244 return getManagedObjectManager().dumpSkeleton(obj); |
196 } |
245 } |
197 |
246 |
|
247 @Override |
198 public void suppressDuplicateRootReport(boolean suppressReport) { |
248 public void suppressDuplicateRootReport(boolean suppressReport) { |
199 getManagedObjectManager().suppressDuplicateRootReport(suppressReport); |
249 getManagedObjectManager().suppressDuplicateRootReport(suppressReport); |
200 } |
250 } |
201 |
251 |
|
252 @Override |
202 public void close() throws IOException { |
253 public void close() throws IOException { |
203 getManagedObjectManager().close(); |
254 getManagedObjectManager().close(); |
204 } |
255 } |
205 |
256 |
|
257 @Override |
|
258 public boolean equalsProxiedInstance(WSEndpoint endpoint) { |
|
259 if (wsEndpoint == null) { |
|
260 return (endpoint == null); |
|
261 } |
|
262 return wsEndpoint.equals(endpoint); |
|
263 } |
|
264 |
|
265 @Override |
|
266 public Codec createCodec() { |
|
267 return this.wsEndpoint.createCodec(); |
|
268 } |
|
269 |
|
270 @Override |
|
271 public QName getServiceName() { |
|
272 return this.wsEndpoint.getServiceName(); |
|
273 } |
|
274 |
|
275 @Override |
|
276 public QName getPortName() { |
|
277 return this.wsEndpoint.getPortName(); |
|
278 } |
|
279 |
|
280 @Override |
|
281 public Class getImplementationClass() { |
|
282 return this.wsEndpoint.getImplementationClass(); |
|
283 } |
|
284 |
|
285 @Override |
|
286 public WSBinding getBinding() { |
|
287 return this.wsEndpoint.getBinding(); |
|
288 } |
|
289 |
|
290 @Override |
|
291 public Container getContainer() { |
|
292 return this.wsEndpoint.getContainer(); |
|
293 } |
|
294 |
|
295 @Override |
|
296 public WSDLPort getPort() { |
|
297 return this.wsEndpoint.getPort(); |
|
298 } |
|
299 |
|
300 @Override |
|
301 public void setExecutor(Executor exec) { |
|
302 this.wsEndpoint.setExecutor(exec); |
|
303 } |
|
304 |
|
305 @Override |
|
306 public void schedule(Packet request, CompletionCallback callback, FiberContextSwitchInterceptor interceptor) { |
|
307 this.wsEndpoint.schedule(request, callback, interceptor); |
|
308 } |
|
309 |
|
310 @Override |
|
311 public PipeHead createPipeHead() { |
|
312 return this.wsEndpoint.createPipeHead(); |
|
313 } |
|
314 |
|
315 @Override |
|
316 public void dispose() { |
|
317 if (this.wsEndpoint != null) { |
|
318 this.wsEndpoint.dispose(); |
|
319 } |
|
320 } |
|
321 |
|
322 @Override |
|
323 public ServiceDefinition getServiceDefinition() { |
|
324 return this.wsEndpoint.getServiceDefinition(); |
|
325 } |
|
326 |
|
327 @Override |
|
328 public Set getComponentRegistry() { |
|
329 return this.wsEndpoint.getComponentRegistry(); |
|
330 } |
|
331 |
|
332 @Override |
|
333 public SEIModel getSEIModel() { |
|
334 return this.wsEndpoint.getSEIModel(); |
|
335 } |
|
336 |
|
337 @Override |
|
338 public PolicyMap getPolicyMap() { |
|
339 return this.wsEndpoint.getPolicyMap(); |
|
340 } |
|
341 |
|
342 @Override |
|
343 public void closeManagedObjectManager() { |
|
344 this.wsEndpoint.closeManagedObjectManager(); |
|
345 } |
|
346 |
|
347 @Override |
|
348 public ServerTubeAssemblerContext getAssemblerContext() { |
|
349 return this.wsEndpoint.getAssemblerContext(); |
|
350 } |
|
351 |
|
352 @Override |
|
353 public EndpointReference getEndpointReference(Class clazz, String address, String wsdlAddress, Element... referenceParameters) { |
|
354 return wsEndpoint.getEndpointReference(clazz, address, wsdlAddress, referenceParameters); |
|
355 } |
|
356 |
|
357 @Override |
|
358 public EndpointReference getEndpointReference(Class clazz, String address, String wsdlAddress, List metadata, List referenceParameters) { |
|
359 return wsEndpoint.getEndpointReference(clazz, address, wsdlAddress, metadata, referenceParameters); |
|
360 } |
|
361 |
|
362 @Override |
|
363 public OperationDispatcher getOperationDispatcher() { |
|
364 return wsEndpoint.getOperationDispatcher(); |
|
365 } |
|
366 |
|
367 @Override |
|
368 public Packet createServiceResponseForException(final ThrowableContainerPropertySet tc, |
|
369 final Packet responsePacket, |
|
370 final SOAPVersion soapVersion, |
|
371 final WSDLPort wsdlPort, |
|
372 final SEIModel seiModel, |
|
373 final WSBinding binding) |
|
374 { |
|
375 return wsEndpoint.createServiceResponseForException(tc, responsePacket, soapVersion, |
|
376 wsdlPort, seiModel, binding); |
|
377 } |
206 } |
378 } |