/** * Find the jndi name in our namespace. * @return True if the jndi name is found in the namespace. False otherwise. */ public boolean find(String jndiName, JndiNameEnvironment env) { if (jndiName == null) return false; if (jndiName.startsWith(ResourceConstants.JAVA_COMP_SCOPE_PREFIX)) { String componentId = DOLUtils.getComponentEnvId(env); List jndiNames = componentNamespaces.get(componentId); return jndiNames != null && jndiNames.contains(jndiName); } else if (jndiName.startsWith(ResourceConstants.JAVA_MODULE_SCOPE_PREFIX)) { String moduleName = getActualModuleName(DOLUtils.getModuleName(env)); List jndiNames = moduleNamespaces.get(moduleName); return jndiNames != null && jndiNames.contains(jndiName); } else if (jndiName.startsWith(ResourceConstants.JAVA_APP_SCOPE_PREFIX)) return appNamespace.contains(jndiName); else if (jndiName.startsWith(ResourceConstants.JAVA_GLOBAL_SCOPE_PREFIX)) return globalNameSpace.contains(jndiName); else return nonPortableJndiNames.contains(jndiName); }
String moduleName = getActualModuleName(DOLUtils.getModuleName(env)); List<String> jndiNames = moduleNamespaces.get(moduleName); if (jndiNames == null) {
private Map getNamespace(String logicalJndiName, JndiNameEnvironment env) { String appName = DOLUtils.getApplicationName(env); Map namespace = null; if (logicalJndiName.startsWith(JAVA_COMP_PREFIX)) { String componentId = DOLUtils.getComponentEnvId(env); namespace = (Map) componentNamespaces.get(componentId); if (namespace == null) { namespace = new HashMap<String, Map>(); componentNamespaces.put(componentId, namespace); } } else if (logicalJndiName.startsWith(JAVA_MODULE_PREFIX)) { String moduleName = DOLUtils.getModuleName(env); AppModuleKey appModuleKey = new AppModuleKey(appName, moduleName); namespace = moduleNamespaces.get(appModuleKey); if (namespace == null) { namespace = new HashMap<AppModuleKey, Map>(); moduleNamespaces.put(appModuleKey, namespace); } } else if (logicalJndiName.startsWith(JAVA_APP_PREFIX)) { namespace = appNamespaces.get(appName); if (namespace == null) { namespace = new HashMap<String, Map>(); appNamespaces.put(appName, namespace); } } else { // java:global namespace = globalNameSpace; } return namespace; }
public void addToComponentNamespace(JndiNameEnvironment origEnv, Collection<EnvironmentProperty> envProps, Collection<ResourceReferenceDescriptor> resRefs) throws NamingException { String compEnvId = getComponentEnvId(origEnv); Collection<JNDIBinding> bindings = new ArrayList<JNDIBinding>(); addEnvironmentProperties(ScopeType.COMPONENT, envProps.iterator(), bindings); addResourceReferences(ScopeType.COMPONENT, resRefs.iterator(), bindings); boolean treatComponentAsModule = DOLUtils.getTreatComponentAsModule(origEnv); // Bind dependencies to the namespace for this component namingManager.bindToComponentNamespace(DOLUtils.getApplicationName(origEnv), DOLUtils.getModuleName(origEnv), compEnvId, treatComponentAsModule, bindings); return; }
private String getResourceId(JndiNameEnvironment env, Descriptor desc){ String resourceId = ""; if(dependencyAppliesToScope(desc, ScopeType.COMPONENT)){ resourceId = DOLUtils.getApplicationName(env) + "/" + DOLUtils.getModuleName(env) + "/" + getComponentEnvId(env) ; } else if(dependencyAppliesToScope(desc, ScopeType.MODULE)){ resourceId = DOLUtils.getApplicationName(env) + "/" + DOLUtils.getModuleName(env) ; } else if(dependencyAppliesToScope(desc, ScopeType.APP)){ resourceId = DOLUtils.getApplicationName(env) ; } return resourceId; }
namingManager.bindToComponentNamespace(DOLUtils.getApplicationName(env), DOLUtils.getModuleName(env), compEnvId, treatComponentAsModule, bindings); compEnvId = getComponentEnvId(env);