1 45 package org.openejb.server.ejbd; 46 47 import java.net.URI ; 48 49 import org.openejb.DeploymentInfo; 50 import org.openejb.ProxyInfo; 51 import org.openejb.client.ClientMetaData; 52 import org.openejb.client.EJBHomeHandle; 53 import org.openejb.client.EJBHomeHandler; 54 import org.openejb.client.EJBMetaDataImpl; 55 import org.openejb.client.EJBObjectHandle; 56 import org.openejb.client.EJBObjectHandler; 57 import org.openejb.client.ServerMetaData; 58 59 60 66 class ClientObjectFactory implements org.openejb.spi.ApplicationServer { 67 private final EjbDaemon daemon; 68 69 protected ServerMetaData sMetaData; 70 71 public ClientObjectFactory(EjbDaemon daemon) { 72 73 try { 74 this.sMetaData = new ServerMetaData(new URI ("foo://"+"127.0.0.1" +":"+4201)); 75 } catch (Exception e) { 76 77 e.printStackTrace(); 78 } 79 this.daemon = daemon; 80 } 81 82 public javax.ejb.EJBMetaData getEJBMetaData(ProxyInfo info) { 83 CallContext call = CallContext.getCallContext(); 84 return _getEJBMetaData(call, info); 85 } 86 87 95 public javax.ejb.Handle getHandle(ProxyInfo info) { 96 CallContext call = CallContext.getCallContext(); 97 return _getHandle(call, info); 98 } 99 100 108 public javax.ejb.HomeHandle getHomeHandle(ProxyInfo info) { 109 CallContext call = CallContext.getCallContext(); 110 return _getHomeHandle(call, info); 111 } 112 113 121 public javax.ejb.EJBObject getEJBObject(ProxyInfo info) { 122 CallContext call = CallContext.getCallContext(); 123 return _getEJBObject(call, info); 124 } 125 126 134 public javax.ejb.EJBHome getEJBHome(ProxyInfo info) { 135 CallContext call = CallContext.getCallContext(); 136 return _getEJBHome(call, info); 137 } 138 139 149 protected javax.ejb.EJBMetaData _getEJBMetaData(CallContext call, ProxyInfo info) { 150 151 DeploymentInfo deployment = info.getDeploymentInfo(); 152 int idCode = this.daemon.deploymentIndex.getDeploymentIndex(deployment); 153 154 EJBMetaDataImpl metaData = new EJBMetaDataImpl(deployment.getHomeInterface(), 155 deployment.getRemoteInterface(), 156 deployment.getPrimaryKeyClass(), 157 deployment.getComponentType(), 158 deployment.getDeploymentID().toString(), 159 idCode); 160 return metaData; 161 } 162 163 173 protected javax.ejb.Handle _getHandle(CallContext call, ProxyInfo info) { 174 DeploymentInfo deployment = info.getDeploymentInfo(); 175 176 int idCode = this.daemon.deploymentIndex.getDeploymentIndex(deployment); 177 178 Object securityIdentity = null; 179 try { 180 securityIdentity = call.getEJBRequest().getClientIdentity(); 181 } catch (Exception e) { 182 } 184 ClientMetaData cMetaData = new ClientMetaData(securityIdentity); 185 EJBMetaDataImpl eMetaData = new EJBMetaDataImpl(deployment.getHomeInterface(), 186 deployment.getRemoteInterface(), 187 deployment.getPrimaryKeyClass(), 188 deployment.getComponentType(), 189 deployment.getDeploymentID().toString(), 190 idCode); 191 Object primKey = info.getPrimaryKey(); 192 193 EJBObjectHandler hanlder = EJBObjectHandler.createEJBObjectHandler(eMetaData,sMetaData,cMetaData,primKey); 194 195 return new EJBObjectHandle( hanlder.createEJBObjectProxy() ); 196 } 197 198 208 protected javax.ejb.HomeHandle _getHomeHandle(CallContext call, ProxyInfo info) { 209 DeploymentInfo deployment = info.getDeploymentInfo(); 210 211 int idCode = this.daemon.deploymentIndex.getDeploymentIndex(deployment); 212 213 Object securityIdentity = null; 214 try { 215 securityIdentity = call.getEJBRequest().getClientIdentity(); 216 } catch (Exception e) { 217 e.printStackTrace(); 218 } 219 ClientMetaData cMetaData = new ClientMetaData(securityIdentity); 220 EJBMetaDataImpl eMetaData = new EJBMetaDataImpl(deployment.getHomeInterface(), 221 deployment.getRemoteInterface(), 222 deployment.getPrimaryKeyClass(), 223 deployment.getComponentType(), 224 deployment.getDeploymentID().toString(), 225 idCode); 226 227 EJBHomeHandler hanlder = EJBHomeHandler.createEJBHomeHandler(eMetaData,sMetaData,cMetaData); 228 229 return new EJBHomeHandle( hanlder.createEJBHomeProxy() ); 230 } 231 232 242 protected javax.ejb.EJBObject _getEJBObject(CallContext call, ProxyInfo info) { 243 DeploymentInfo deployment = info.getDeploymentInfo(); 244 245 int idCode = this.daemon.deploymentIndex.getDeploymentIndex(deployment); 246 247 Object securityIdentity = null; 248 try { 249 securityIdentity = call.getEJBRequest().getClientIdentity(); 250 } catch (Exception e) { 251 e.printStackTrace(); 252 } 253 ClientMetaData cMetaData = new ClientMetaData(securityIdentity); 254 EJBMetaDataImpl eMetaData = new EJBMetaDataImpl(deployment.getHomeInterface(), 255 deployment.getRemoteInterface(), 256 deployment.getPrimaryKeyClass(), 257 deployment.getComponentType(), 258 deployment.getDeploymentID().toString(), 259 idCode); 260 Object primKey = info.getPrimaryKey(); 261 262 EJBObjectHandler hanlder = EJBObjectHandler.createEJBObjectHandler(eMetaData,sMetaData,cMetaData,primKey); 263 264 return hanlder.createEJBObjectProxy(); 265 } 266 267 277 protected javax.ejb.EJBHome _getEJBHome(CallContext call, ProxyInfo info) { 278 DeploymentInfo deployment = info.getDeploymentInfo(); 279 280 int idCode = this.daemon.deploymentIndex.getDeploymentIndex(deployment); 281 282 Object securityIdentity = null; 283 try { 284 securityIdentity = call.getEJBRequest().getClientIdentity(); 285 } catch (Exception e) { 286 e.printStackTrace(); 287 } 288 ClientMetaData cMetaData = new ClientMetaData(securityIdentity); 289 EJBMetaDataImpl eMetaData = new EJBMetaDataImpl(deployment.getHomeInterface(), 290 deployment.getRemoteInterface(), 291 deployment.getPrimaryKeyClass(), 292 deployment.getComponentType(), 293 deployment.getDeploymentID().toString(), 294 idCode); 295 296 EJBHomeHandler hanlder = EJBHomeHandler.createEJBHomeHandler(eMetaData,sMetaData,cMetaData); 297 298 300 return hanlder.createEJBHomeProxy(); 301 } 302 } | Popular Tags |