if (declaredEjbRefs.contains(refName)) {
continue;
}
// skip corba refs
GerEjbRefType ejbRefType = refMap.get(refName);
if (ejbRefType != null) {
if (ejbRefType.getNsCorbaloc() != null) {
continue;
}
}
// create the ejb-ref
EjbRef ref = new EjbRef();
jndiConsumer.getEjbRef().add(ref);
// ejb-ref-name
ref.setEjbRefName(refName);
// ejb-ref-type
String refType = getStringValue(xmlbeansRef.getEjbRefType());
if ("SESSION".equalsIgnoreCase(refType)) {
ref.setEjbRefType(org.apache.openejb.jee.EjbRefType.SESSION);
} else if ("ENTITY".equalsIgnoreCase(refType)) {
ref.setEjbRefType(org.apache.openejb.jee.EjbRefType.ENTITY);
} else {
ref.setRefType(EjbRef.Type.UNKNOWN);
}
// home
ref.setHome(getStringValue(xmlbeansRef.getHome()));
// remote
ref.setRemote(getStringValue(xmlbeansRef.getRemote()));
// ejb-link
ref.setEjbLink(getStringValue(xmlbeansRef.getEjbLink()));
// mapped-name
ref.setMappedName(getStringValue(xmlbeansRef.getMappedName()));
// handle external refs
if (ejbRefType != null) {
if (ejbRefType.getNsCorbaloc() != null) {
// corba refs are simple delegated back to Geronimo
ref.setMappedName("jndi:java:comp/geronimo/env/" + ref.getEjbRefName());
} else if (ejbRefType.getPattern() != null) {
// external ear ref
// set mapped name to the deploymentId of the external ref
GerPatternType pattern = ejbRefType.getPattern();
String module = pattern.getModule();
if (module == null) {
module = pattern.getArtifactId();
}
String ejbName = pattern.getName();