private String getRemoteEjbJndiName(boolean businessView, String interfaceName, String jndiName) { String returnValue = jndiName; String portableFullyQualifiedPortion = "!" + interfaceName; String glassfishFullyQualifiedPortion = "#" + interfaceName; if(businessView) { if(!jndiName.startsWith("corbaname:") ) { if(jndiName.startsWith(ResourceConstants.JAVA_GLOBAL_SCOPE_PREFIX)) { returnValue = checkFullyQualifiedJndiName(jndiName, portableFullyQualifiedPortion); } else { returnValue = checkFullyQualifiedJndiName(jndiName, glassfishFullyQualifiedPortion); } } } else { // Only in the portable global case, convert to a fully-qualified name if( jndiName.startsWith(ResourceConstants.JAVA_GLOBAL_SCOPE_PREFIX)) { returnValue = checkFullyQualifiedJndiName(jndiName, portableFullyQualifiedPortion); } } return returnValue; }
private void storeInNamespace(String name, JndiNameEnvironment env, AppResources appResources) { String logicalJNDIName = getLogicalJNDIName(name, env); appResources.storeInNamespace(logicalJNDIName, env); }
/** * @param rawName to be converted * @return The logical JNDI name which has a java: prefix */ private String getLogicalJNDIName(String rawName, JndiNameEnvironment env) { String logicalJndiName = rawNameToLogicalJndiName(rawName); boolean treatComponentAsModule = DOLUtils.getTreatComponentAsModule(env); if (treatComponentAsModule && logicalJndiName.startsWith(ResourceConstants.JAVA_COMP_SCOPE_PREFIX)) { logicalJndiName = logicalCompJndiNameToModule(logicalJndiName); } return logicalJndiName; }
JndiNameEnvironment env = resource.getEnv(); if (isResourceInDomainXML(jndiName) || isDefaultResource(jndiName)) return; String newName = convertModuleOrAppJNDIName(jndiName, resource.getEnv()); if (namespace.find(newName, env)) return; String convertedJndiName = getLogicalJNDIName(jndiName, env); if (namespace.find(convertedJndiName, env)) return; if(loadOnCurrentInstance()) { InitialContext ctx = new InitialContext(); ctx.lookup(jndiName);
String javaGlobalName = getJavaGlobalJndiNamePrefix(ejb); String remoteJndiName = getRemoteEjbJndiName(true, intf, glassfishSpecificJndiName); appResources.storeInNamespace(remoteJndiName, ejb); appResources.storeInNamespace(javaGlobalName, ejb); parseResources(ejb, appResources);
String name = getLogicalJNDIName(ejbRef.getName(), env); String remoteJndiName = getRemoteEjbJndiName(ejbRef);
raname.equals("__cp_jdbc_ra") || raname.equals("__xa_jdbc_ra") || raname.equals("__dm_jdbc_ra")) return; if(isEmbedded(raname)) return; if(isEmbedded(raname)) return;
private String getRemoteEjbJndiName(EjbReferenceDescriptor refDesc) { String intf = refDesc.isEJB30ClientView() ? refDesc.getEjbInterface() : refDesc.getHomeClassName(); return getRemoteEjbJndiName(refDesc.isEJB30ClientView(), intf, refDesc.getJndiName()); }
private void parseResources(ServiceReferenceDescriptor serviceRef, JndiNameEnvironment env, AppResources appResources) { String name = getLogicalJNDIName(serviceRef.getName(), env); if (serviceRef.hasLookupName()) appResources.store(new AppResource(name, serviceRef.getLookupName(), serviceRef.getType(), env, true)); else appResources.storeInNamespace(name, env); }
/** * Store references to environment entries. * Also validate custom resources of primitive data types. */ private void parseResources(EnvironmentProperty envProp, JndiNameEnvironment env, AppResources appResources) { String name = getLogicalJNDIName(envProp.getName(), env); String jndiName = ""; if (envProp.hasLookupName()) jndiName = envProp.getLookupName(); // error handling for mapped name null case done in getMappedName else if (envProp.getMappedName().length() > 0) jndiName = envProp.getMappedName(); AppResource envPropResource = new AppResource(name, jndiName, envProp.getType(), env, true); // If lookup/mapped name is not present, then we do not need to validate. if (jndiName.length() == 0) envPropResource.noValidation(); appResources.store(envPropResource); // Store EnvProps even if they do not have a valid lookup element appResources.storeInNamespace(name, env); }
/** * Store resources in ResourceRefDescriptor. */ private void parseResources(ResourceReferenceDescriptor resRef, JndiNameEnvironment env, AppResources appResources) { resRef.checkType(); String name = getLogicalJNDIName(resRef.getName(), env); String type = resRef.getType(); String jndiName = resRef.getJndiName(); AppResource resRefResource = new AppResource(name, jndiName, type, env, true); if (resRef.isURLResource()) { if (jndiName != null && !(jndiName.startsWith(ResourceConstants.JAVA_SCOPE_PREFIX))) { try { // for jndi-name like "http://localhost:8080/index.html" new java.net.URL(jndiName); resRefResource.noValidation(); } catch (MalformedURLException e) { // If jndi-name is not an actual url, we might want to lookup the name } } } if (resRef.isWebServiceContext()) resRefResource.noValidation(); appResources.store(resRefResource); }
/** * If the message destination ref is linked to a message destination, fetch the linked destination and validate it. * We might be duplicating our validation efforts since we are already validating message destination separately. */ private void parseResources(MessageDestinationReferenceDescriptor msgDestRef, JndiNameEnvironment env, AppResources appResources) { String name = getLogicalJNDIName(msgDestRef.getName(), env); String jndiName; if (msgDestRef.isLinkedToMessageDestination()) { jndiName = msgDestRef.getMessageDestination().getJndiName(); } else { jndiName = msgDestRef.getJndiName(); } appResources.store(new AppResource(name, jndiName, msgDestRef.getType(), env, true)); }
/** * Store resources in ResourceEnvRefDescriptor. */ private void parseResources(ResourceEnvReferenceDescriptor resEnvRef, JndiNameEnvironment env, AppResources appResources) { resEnvRef.checkType(); String name = getLogicalJNDIName(resEnvRef.getName(), env); String type = resEnvRef.getType(); String jndiName = resEnvRef.getJndiName(); AppResource resEnvRefResource = new AppResource(name, jndiName, type, env, true); if (resEnvRef.isEJBContext() || resEnvRef.isValidator() || resEnvRef.isValidatorFactory() || resEnvRef.isCDIBeanManager()) resEnvRefResource.noValidation(); appResources.store(resEnvRefResource); }