67 * @author shih-chang.chen@oracle.com
68 */
69 public final class DatabindingImpl implements Databinding {
70
71 AbstractSEIModelImpl seiModel;
72 Map<Method, StubHandler> stubHandlers;
73 // QNameMap<TieHandler> wsdlOpMap = new QNameMap<TieHandler>();
74 Map<JavaMethodImpl, TieHandler> wsdlOpMap = new HashMap<JavaMethodImpl, TieHandler>();
75 Map<Method, TieHandler> tieHandlers = new HashMap<Method, TieHandler>();
76 OperationDispatcher operationDispatcher;
77 OperationDispatcher operationDispatcherNoWsdl;
78 boolean clientConfig = false;
79 Codec codec;
80 MessageContextFactory packetFactory = null;
81
82 public DatabindingImpl(DatabindingProviderImpl p, DatabindingConfig config) {
83 RuntimeModeler modeler = new RuntimeModeler(config);
84 modeler.setClassLoader(config.getClassLoader());
85 seiModel = modeler.buildRuntimeModel();
86 WSDLPort wsdlport = config.getWsdlPort();
87 packetFactory = new MessageContextFactory(seiModel.getWSBinding().getFeatures());
88 clientConfig = isClientConfig(config);
89 if (clientConfig) {
90 initStubHandlers();
91 }
92 seiModel.setDatabinding(this);
93 if (wsdlport != null) {
94 freeze(wsdlport);
95 }
96 if (operationDispatcher == null) {
97 operationDispatcherNoWsdl = new OperationDispatcher(null, seiModel.getWSBinding(), seiModel);
98 }
99 // if(!clientConfig) {
100 for (JavaMethodImpl jm : seiModel.getJavaMethods()) {
101 if (!jm.isAsync()) {
102 TieHandler th = new TieHandler(jm, seiModel.getWSBinding(), packetFactory);
103 wsdlOpMap.put(jm, th);
104 tieHandlers.put(th.getMethod(), th);
105 }
106 }
107 // }
|
67 * @author shih-chang.chen@oracle.com
68 */
69 public final class DatabindingImpl implements Databinding {
70
71 AbstractSEIModelImpl seiModel;
72 Map<Method, StubHandler> stubHandlers;
73 // QNameMap<TieHandler> wsdlOpMap = new QNameMap<TieHandler>();
74 Map<JavaMethodImpl, TieHandler> wsdlOpMap = new HashMap<JavaMethodImpl, TieHandler>();
75 Map<Method, TieHandler> tieHandlers = new HashMap<Method, TieHandler>();
76 OperationDispatcher operationDispatcher;
77 OperationDispatcher operationDispatcherNoWsdl;
78 boolean clientConfig = false;
79 Codec codec;
80 MessageContextFactory packetFactory = null;
81
82 public DatabindingImpl(DatabindingProviderImpl p, DatabindingConfig config) {
83 RuntimeModeler modeler = new RuntimeModeler(config);
84 modeler.setClassLoader(config.getClassLoader());
85 seiModel = modeler.buildRuntimeModel();
86 WSDLPort wsdlport = config.getWsdlPort();
87 Object facProp = config.properties().get("com.sun.xml.internal.ws.api.message.MessageContextFactory");
88 packetFactory = (facProp != null && facProp instanceof MessageContextFactory)? (MessageContextFactory)facProp :
89 new MessageContextFactory(seiModel.getWSBinding().getFeatures());
90 clientConfig = isClientConfig(config);
91 if (clientConfig) {
92 initStubHandlers();
93 }
94 seiModel.setDatabinding(this);
95 if (wsdlport != null) {
96 freeze(wsdlport);
97 }
98 if (operationDispatcher == null) {
99 operationDispatcherNoWsdl = new OperationDispatcher(null, seiModel.getWSBinding(), seiModel);
100 }
101 // if(!clientConfig) {
102 for (JavaMethodImpl jm : seiModel.getJavaMethods()) {
103 if (!jm.isAsync()) {
104 TieHandler th = new TieHandler(jm, seiModel.getWSBinding(), packetFactory);
105 wsdlOpMap.put(jm, th);
106 tieHandlers.put(th.getMethod(), th);
107 }
108 }
109 // }
|