1 7 8 package com.sun.corba.se.impl.transport; 9 10 import com.sun.corba.se.pept.broker.Broker; 11 import com.sun.corba.se.pept.encoding.OutputObject; 12 import com.sun.corba.se.pept.protocol.ClientRequestDispatcher; 13 import com.sun.corba.se.pept.protocol.MessageMediator; 14 import com.sun.corba.se.pept.transport.Connection; 15 import com.sun.corba.se.pept.transport.ContactInfo; 16 17 import com.sun.corba.se.spi.orb.ORB; 18 import com.sun.corba.se.spi.ior.IOR; 19 import com.sun.corba.se.spi.ior.iiop.GIOPVersion; 20 import com.sun.corba.se.spi.logging.CORBALogDomains; 21 import com.sun.corba.se.spi.protocol.CorbaMessageMediator; 22 import com.sun.corba.se.spi.transport.CorbaContactInfoList; 23 24 import com.sun.corba.se.impl.encoding.BufferManagerFactory; 25 import com.sun.corba.se.impl.encoding.CDROutputObject; 26 import com.sun.corba.se.impl.encoding.CDROutputStream; 27 import com.sun.corba.se.impl.logging.ORBUtilSystemException; 28 import com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl; 29 import com.sun.corba.se.impl.protocol.SharedCDRClientRequestDispatcherImpl; 30 31 public class SharedCDRContactInfoImpl 32 extends 33 CorbaContactInfoBase 34 { 35 private static int requestId = 0; 39 40 protected ORBUtilSystemException wrapper; 41 42 public SharedCDRContactInfoImpl( 43 ORB orb, 44 CorbaContactInfoList contactInfoList, 45 IOR effectiveTargetIOR, 46 short addressingDisposition) 47 { 48 this.orb = orb; 49 this.contactInfoList = contactInfoList; 50 this.effectiveTargetIOR = effectiveTargetIOR; 51 this.addressingDisposition = addressingDisposition; 52 } 53 54 59 public ClientRequestDispatcher getClientRequestDispatcher() 60 { 61 return new SharedCDRClientRequestDispatcherImpl(); 63 } 64 65 public boolean isConnectionBased() 66 { 67 return false; 68 } 69 70 public boolean shouldCacheConnection() 71 { 72 return false; 73 } 74 75 public String getConnectionCacheType() 76 { 77 throw getWrapper().methodShouldNotBeCalled(); 78 } 79 80 public Connection createConnection() 81 { 82 throw getWrapper().methodShouldNotBeCalled(); 83 } 84 85 public MessageMediator createMessageMediator(Broker broker, 87 ContactInfo contactInfo, 88 Connection connection, 89 String methodName, 90 boolean isOneWay) 91 { 92 if (connection != null) { 93 throw new RuntimeException ("connection is not null"); 95 } 96 97 CorbaMessageMediator messageMediator = 98 new CorbaMessageMediatorImpl( 99 (ORB) broker, 100 contactInfo, 101 null, GIOPVersion.chooseRequestVersion( (ORB)broker, 103 effectiveTargetIOR), 104 effectiveTargetIOR, 105 requestId++, getAddressingDisposition(), 107 methodName, 108 isOneWay); 109 110 return messageMediator; 111 } 112 113 public OutputObject createOutputObject(MessageMediator messageMediator) 114 { 115 CorbaMessageMediator corbaMessageMediator = (CorbaMessageMediator) 116 messageMediator; 117 OutputObject outputObject = 119 new CDROutputObject(orb, messageMediator, 120 corbaMessageMediator.getRequestHeader(), 121 corbaMessageMediator.getStreamFormatVersion(), 122 BufferManagerFactory.GROW); 123 messageMediator.setOutputObject(outputObject); 124 return outputObject; 125 } 126 127 132 public String getMonitoringName() 133 { 134 throw getWrapper().methodShouldNotBeCalled(); 135 } 136 137 142 147 public String toString() 148 { 149 return 150 "SharedCDRContactInfoImpl[" 151 + "]"; 152 } 153 154 159 protected ORBUtilSystemException getWrapper() 160 { 161 if (wrapper == null) { 162 wrapper = ORBUtilSystemException.get( orb, 163 CORBALogDomains.RPC_TRANSPORT ) ; 164 } 165 return wrapper; 166 } 167 } 168 169 | Popular Tags |