/** * 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); }
if (resourceEnvRef.getRefType() != null && resourceEnvRef.getRefType().equals( "javax.transaction.UserTransaction")) { resourceEnvRef.setJndiName("java:comp/UserTransaction"); else if (resourceEnvRef.getRefType() != null && resourceEnvRef.getRefType().equals("javax.transaction.TransactionSynchronizationRegistry")) { resourceEnvRef.setJndiName( "java:comp/TransactionSynchronizationRegistry"); else if (resourceEnvRef.getJndiName() == null || resourceEnvRef.getJndiName().length() == 0) { if (resourceEnvRef.getRefType() != null) { if (resourceEnvRef.getRefType().equals("javax.enterprise.concurrent.ManagedExecutorService")) { resourceEnvRef.setLookupName("java:comp/DefaultManagedExecutorService"); } else if (resourceEnvRef.getRefType().equals("javax.enterprise.concurrent.ManagedScheduledExecutorService")) { resourceEnvRef.setLookupName("java:comp/DefaultManagedScheduledExecutorService"); } else if (resourceEnvRef.getRefType().equals("javax.enterprise.concurrent.ManagedThreadFactory")) { resourceEnvRef.setLookupName("java:comp/DefaultManagedThreadFactory"); } else if (resourceEnvRef.getRefType().equals("javax.enterprise.concurrent.ContextService")) { resourceEnvRef.setLookupName("java:comp/DefaultContextService"); } else { resourceEnvRef.setJndiName(getDefaultResourceJndiName(resourceEnvRef.getName())); resourceEnvRef.setJndiName(getDefaultResourceJndiName(resourceEnvRef.getName()));
@Override public ResourceEnvReferenceDescriptor getDescriptor() { if (descriptor == null) { descriptor = new ResourceEnvReferenceDescriptor(); } return descriptor; }
private CompEnvBinding getCompEnvBinding(final ResourceEnvReferenceDescriptor next) { final String name = descriptorToLogicalJndiName(next); Object value = null; if (next.isEJBContext()) { value = new EjbContextProxy(next.getRefType()); } else if( next.isValidator() ) { value = new ValidatorProxy(_logger); } else if( next.isValidatorFactory() ) { value = new ValidatorFactoryProxy(_logger); } else if( next.isCDIBeanManager() ) { value = namingUtils.createLazyNamingObjectFactory(name, "java:comp/BeanManager", false); } else if( next.isManagedBean() ) { ManagedBeanDescriptor managedBeanDesc = next.getManagedBeanDescriptor(); if( processEnv.getProcessType().isServer() ) { value = namingUtils.createLazyNamingObjectFactory(name, next.getJndiName(), false); } else { value = namingUtils.createLazyNamingObjectFactory(name, managedBeanDesc.getAppJndiName(), false); NamingObjectFactory delegate = namingUtils.createLazyNamingObjectFactory(name, next.getJndiName(), false); public boolean isCreateResultCacheable() { return false;
@Override public Node writeDescriptor(Node parent, String nodeName, ResourceEnvReferenceDescriptor descriptor) { Node ejbResNode = appendChild(parent, nodeName); writeLocalizedDescriptions(ejbResNode,descriptor); appendTextChild(ejbResNode, TagNames.RESOURCE_ENV_REFERENCE_NAME, descriptor.getName()); appendTextChild(ejbResNode, TagNames.RESOURCE_ENV_REFERENCE_TYPE, descriptor.getRefType()); appendTextChild(ejbResNode, TagNames.MAPPED_NAME, descriptor.getMappedName()); if( descriptor.isInjectable() ) { InjectionTargetNode ijNode = new InjectionTargetNode(); for (InjectionTarget target : descriptor.getInjectionTargets()) { ijNode.writeDescriptor(ejbResNode, TagNames.INJECTION_TARGET, target); } } appendTextChild(ejbResNode, TagNames.LOOKUP_NAME, descriptor.getLookupName()); return ejbResNode; } }
@Override protected void accept(ResourceEnvReferenceDescriptor resourceEnvRef) { if (resourceEnvRef.getJndiName() == null || resourceEnvRef.getJndiName().length() == 0) { Map<String, ManagedBeanDescriptor> managedBeanMap = getManagedBeanMap(); String refType = resourceEnvRef.getRefType(); if( managedBeanMap.containsKey(refType) ) { ManagedBeanDescriptor desc = managedBeanMap.get(refType); // In app-client, keep lookup local to JVM so it doesn't need to access // server's global JNDI namespace for managed bean. String jndiName = ( bundleDescriptor.getModuleType() == DOLUtils.carType() ) ? desc.getAppJndiName() : desc.getGlobalJndiName(); resourceEnvRef.setJndiName(jndiName); resourceEnvRef.setIsManagedBean(true); resourceEnvRef.setManagedBeanDescriptor(desc); } } computeRuntimeDefault(resourceEnvRef); }
@Override public final void addResourceEnvReferenceDescriptor( ResourceEnvReferenceDescriptor resourceEnvReference) { try { ResourceEnvReferenceDescriptor existing = getResourceEnvReferenceByName(resourceEnvReference.getName()); for (InjectionTarget next : resourceEnvReference.getInjectionTargets()) { existing.addInjectionTarget(next); } } catch(IllegalArgumentException e) { if (env != null) env.addResourceEnvReferenceDescriptor(resourceEnvReference); else resourceEnvReferences.add(resourceEnvReference); } }
public int hashCode() { int result = NULL_HASH_CODE; String name = getName(); if (name != null) { result += name.hashCode(); } return result; } /**
@Override public Node writeDescriptor(Node parent, String nodeName, ResourceEnvReferenceDescriptor ejbRef) { Node resRefNode = super.writeDescriptor(parent, nodeName, ejbRef); appendTextChild(resRefNode, TagNames.RESOURCE_ENV_REFERENCE_NAME, ejbRef.getName()); appendTextChild(resRefNode, RuntimeTagNames.JNDI_NAME, ejbRef.getJndiName()); return resRefNode; }
ResourceEnvReferenceDescriptor preRef = (ResourceEnvReferenceDescriptor) preObject; ResourceEnvReferenceDescriptor curRef = (ResourceEnvReferenceDescriptor) curEntry; if (areConflicting(preRef.getType(), curRef.getType()) || areConflicting(preRef.getRefType(), curRef.getRefType()) || areConflicting(preRef.getMappedName(), curRef.getMappedName()) || areConflicting(preRef.getLookupName(), curRef.getLookupName())) { throwConflictException(name, namespace.toString());
public boolean isConflict(ResourceReferenceDescriptor other) { return (getName().equals(other.getName())) && (!DOLUtils.equals(getType(), other.getType()) || isConflictResourceGroup(other)); }
public String getInjectResourceType() { return getRefType(); }
continue; next.checkType(); jndiBindings.add(getCompEnvBinding(next));
public boolean equals(Object object) { if (object instanceof ResourceEnvReference) { ResourceEnvReference destReference = (ResourceEnvReference) object; return destReference.getName().equals(this.getName()); } return false; }
/** * write the descriptor class to a DOM tree and return it * * @param parent node for the DOM tree * @param nodeName node name * @param descriptor the descriptor to write * @return the DOM tree top node */ @Override public Node writeDescriptor(Node parent, String nodeName, ResourceEnvReferenceDescriptor descriptor) { Node refNode = appendChild(parent, nodeName); appendTextChild(refNode, TagNames.RESOURCE_ENV_REFERENCE_NAME, descriptor.getName()); appendTextChild(refNode, RuntimeTagNames.JNDI_NAME, descriptor.getJndiName()); return refNode; }
public boolean isEJBContext() { return (getRefType().equals(SESSION_CTX_TYPE) || getRefType().equals(MDB_CTX_TYPE) || getRefType().equals(EJB_CTX_TYPE) || getRefType().equals(EJB_TIMER_SERVICE_TYPE)); }
private void validateResEnvRefs(JndiNameEnvironment env, Set<ResourceEnvReferenceDescriptor> resEnvRefs) { for (ResourceEnvReferenceDescriptor resEnvRef : resEnvRefs) { validateEnvEntry(env, resEnvRef, resEnvRef.getName()); } }
public boolean isValidator() { return (getRefType().equals(VALIDATION_VALIDATOR)); }
@Override public ResourceEnvReferenceDescriptor getDescriptor() { if (descriptor == null) descriptor = new ResourceEnvReferenceDescriptor(); return descriptor; }
/** * Return a reference to another ejb by the same name or throw an IllegalArgumentException. */ @Override public ResourceEnvReferenceDescriptor getResourceEnvReferenceByName(String name) { for (Iterator itr = getResourceEnvReferenceDescriptors().iterator(); itr.hasNext();) { ResourceEnvReferenceDescriptor jdr = (ResourceEnvReferenceDescriptor) itr.next(); if (jdr.getName().equals(name)) { return jdr; } } throw new IllegalArgumentException("No resource env ref of name " + name); }