< prev index next >

src/java.xml.ws/share/classes/com/sun/xml/internal/ws/db/DatabindingImpl.java

Print this page




  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 //    }


< prev index next >