String mejbName = refContext.getMEJBName();
ejbReference = refContext.getEJBRemoteRef(mejbName, isSession, home, remote);
} else {
String ejbLink = null;
GerEjbRefType remoteRef = (GerEjbRefType) ejbRefMap.get(ejbRefName);
if (remoteRef != null && remoteRef.isSetNsCorbaloc()) {
try {
ObjectName cssBean;
if (remoteRef.isSetCssName()) {
cssBean = ObjectName.getInstance(getStringValue(remoteRef.getCssName()));
} else if (remoteRef.isSetCssLink()) {
String cssLink = remoteRef.getCssLink().trim();
//TODO is this correct?
String moduleType = null;
cssBean = refContext.locateComponentName(cssLink, moduleURI, moduleType, NameFactory.CORBA_CSS, earContext.getJ2eeContext(), earContext, "css gbean");
} else {
GerCssType css = remoteRef.getCss();
cssBean = NameFactory.getComponentName(getStringValue(css.getDomain()),
getStringValue(css.getServer()),
getStringValue(css.getApplication()),
getStringValue(css.getModule()),
getStringValue(css.getName()),
getStringValue(NameFactory.CORBA_CSS),
earContext.getJ2eeContext());
}
ejbReference = refContext.getCORBARemoteRef(new URI(getStringValue(remoteRef.getNsCorbaloc())),
getStringValue(remoteRef.getName()),
ObjectName.getInstance(cssBean),
home);
} catch (URISyntaxException e) {
throw new DeploymentException("Could not construct CORBA NameServer URI: " + remoteRef.getNsCorbaloc(), e);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct CSS container name: " + remoteRef.getCssName(), e);
}
} else {
if (remoteRef != null && remoteRef.isSetEjbLink()) {
ejbLink = remoteRef.getEjbLink();
} else if (ejbRef.isSetEjbLink()) {
ejbLink = getStringValue(ejbRef.getEjbLink());
}
if (ejbLink != null) {
ejbReference = refContext.getEJBRemoteRef(moduleURI, ejbLink, isSession, home, remote, ejbContext);
} else if (remoteRef != null) {
if (remoteRef.isSetTargetName()) {
ejbReference = refContext.getEJBRemoteRef(getStringValue(remoteRef.getTargetName()), isSession, home, remote);
} else {
String containerId = null;
try {
containerId = NameFactory.getEjbComponentNameString(getStringValue(remoteRef.getDomain()),
getStringValue(remoteRef.getServer()),
getStringValue(remoteRef.getApplication()),
getStringValue(remoteRef.getModule()),
getStringValue(remoteRef.getName()),
getStringValue(remoteRef.getType()),
j2eeContext);
} catch (MalformedObjectNameException e) {
throw new DeploymentException("Could not construct ejb object name: " + remoteRef.getName(), e);
}
ejbReference = refContext.getEJBRemoteRef(containerId, isSession, home, remote);
}
} else {