public ResourceEnvRef injectionTarget(final String className, final String property) { getInjectionTarget().add(new InjectionTarget(className, property)); if (this.resourceEnvRefName == null) { this.resourceEnvRefName = "java:comp/env/" + className + "/" + property; } return this; }
@XmlTransient public String getName() { return getResourceEnvRefName(); }
@XmlTransient public String getType() { return getResourceEnvRefType(); }
private void addResourceEnvRef(JndiConsumer annotatedApp, String resourceName, String resourceType, Method method, Field field, Resource annotation) { ResourceEnvRef resourceEnvRef = new ResourceEnvRef(); resourceEnvRef.setResourceEnvRefName(resourceName); resourceEnvRef.setResourceEnvRefType(resourceType); resourceEnvRef.getInjectionTarget().add(configureInjectionTarget(method, field)); resourceEnvRef.setDescriptions(new Text[] {new Text(null, descriptionAnnotation) } ); resourceEnvRef.setMappedName(mappdedNameAnnotation); resourceEnvRef.setLookupName(lookup);
resourceEnvRef = new ResourceEnvRef(); resourceEnvRef.setName(refName); consumer.getResourceEnvRef().add(resourceEnvRef); if (resourceEnvRef.getResourceEnvRefType() == null || ("").equals(resourceEnvRef.getResourceEnvRefType())) { if (resource.type() != java.lang.Object.class) { resourceEnvRef.setResourceEnvRefType(resource.type().getName()); } else { resourceEnvRef.setResourceEnvRefType(member.getType().getName());
private List<ResourceEnvReferenceInfo> buildResourceEnvRefInfos(JndiConsumer item) { List<ResourceEnvReferenceInfo> infos = new ArrayList<ResourceEnvReferenceInfo>(); for (ResourceEnvRef res : item.getResourceEnvRef()) { ResourceEnvReferenceInfo info = new ResourceEnvReferenceInfo(); info.resourceEnvRefName = res.getResourceEnvRefName(); info.resourceEnvRefType = res.getResourceEnvRefType(); info.resourceID = res.getMappedName(); info.location = buildLocationInfo(res); info.targets.addAll(buildInjectionInfos(res)); infos.add(info); } for (MessageDestinationRef res : item.getMessageDestinationRef()) { ResourceEnvReferenceInfo info = new ResourceEnvReferenceInfo(); info.resourceEnvRefName = res.getMessageDestinationRefName(); info.resourceEnvRefType = res.getMessageDestinationType(); info.resourceID = res.getMappedName(); info.location = buildLocationInfo(res); info.targets.addAll(buildInjectionInfos(res)); infos.add(info); } return infos; }
@Override public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException { for (ResourceEnvRef resourceEnvRef : webApp.getResourceEnvRef()) { String resourceEnvRefName = resourceEnvRef.getResourceEnvRefName(); mergeContext.setAttribute(createResourceEnvRefKey(resourceEnvRefName), new MergeItem(resourceEnvRef, null, ElementSource.WEB_XML)); //Create an attribute tag to indicate whether injectTarget is configured in web.xml file if (!resourceEnvRef.getInjectionTarget().isEmpty()) { mergeContext.setAttribute(createResourceEnvRefInjectTargetConfiguredInWebXMLKey(resourceEnvRefName), Boolean.TRUE); } for (InjectionTarget injectionTarget : resourceEnvRef.getInjectionTarget()) { mergeContext.setAttribute(createResourceEnvRefInjectTargetKey(resourceEnvRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName() ), Boolean.TRUE); } } }
public void validate(final EjbModule ejbModule) { for (final EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) { if (bean.getTransactionType() == CONTAINER) { final Collection<ResourceEnvRef> resRefs = bean.getResourceEnvRef(); for (final ResourceEnvRef resRef : resRefs) { if ("javax.transaction.UserTransaction".equals(resRef.getResourceEnvRefType())) { fail(bean, "userTransactionRef.forbiddenForCmtdBeans", resRef.getName()); } } } } } }
final String refName = ref.getResourceEnvRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName);
final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) { ref.setMappedName(resourceLink.getResId());
if (ref.getType().equals(EntityContext.class.getName())) { iterator.remove(); } else if (ref.getType().equals(TimerService.class.getName())) { iterator.remove(); } else if (ref.getType().equals(WebServiceContext.class.getName())) { iterator.remove(); } else { ref.setMappedName(null); ref.getInjectionTarget().clear();
String type = getStringValue(resourceEnvRef.getResourceEnvRefType()); type = inferAndCheckType(module, bundle, resourceEnvRef.getInjectionTarget(), name, type); GerResourceEnvRefType gerResourceEnvRef = refMap.remove(name); String lookupName = getStringValue(resourceEnvRef.getLookupName()); if (lookupName != null) { if (lookupName.equals(getJndiName(name))) { unresolvedRefs.add(name); } else { put(name, value, ReferenceType.RESOURCE_ENV, module.getJndiContext(), resourceEnvRef.getInjectionTarget(), sharedContext);
final ResourceEnvRef ref = new ResourceEnvRef("javax.ejb.SessionBean/sessionContext", SessionContext.class); final InjectionTarget target = new InjectionTarget(); target.setInjectionTargetClass(clazz); target.setInjectionTargetName("sessionContext"); ref.getInjectionTarget().add(target); final ResourceEnvRef ref = new ResourceEnvRef("javax.ejb.MessageDrivenBean/messageDrivenContext", MessageDrivenContext.class); final InjectionTarget target = new InjectionTarget(); target.setInjectionTargetClass(clazz); target.setInjectionTargetName("messageDrivenContext"); ref.getInjectionTarget().add(target);
public String getKey() { return getName(); }
private void add(final JndiConsumer jndi, final DeploymentModule module, final DeploymentModule app) { // Standard names add(jndi.getEnvEntryMap(), new EnvEntry().name("java:module/ModuleName").value(module.getModuleId()).type(String.class)); add(jndi.getEnvEntryMap(), new EnvEntry().name("java:app/AppName").value(app.getModuleId()).type(String.class)); // Standard References to built-in objects add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/BeanManager").type(BeanManager.class)); add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/Validator").type(Validator.class)); add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/ValidatorFactory").type(ValidatorFactory.class)); add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/TransactionManager").type(TransactionManager.class)); add(jndi.getResourceEnvRefMap(), new ResourceEnvRef().name("java:comp/TransactionSynchronizationRegistry").type(TransactionSynchronizationRegistry.class)); // OpenEJB specific feature add(jndi.getEnvEntryMap(), new EnvEntry().name("java:comp/ComponentName").value(jndi.getJndiConsumerName()).type(String.class)); }
if (!unusableTypes.contains(ref.getType())) continue; for (InjectionTarget target : ref.getInjectionTarget()) { try { Class<?> targetClass = classLoader.loadClass(target.getInjectionTargetClass()); for (Class remoteClient : remoteClients) { if (targetClass.isAssignableFrom(remoteClient)) { fail(remoteClient.getName(), "remoteClient.resourceEnvRef", target.getInjectionTargetClass(), target.getInjectionTargetName(), ref.getType());
public void setType(final String type) { setResourceEnvRefType(type); }
public void setName(final String name) { setResourceEnvRefName(name); }
public ResourceEnvRef type(final Class<?> resourceEnvRefType) { return type(resourceEnvRefType.getName()); }
resourceEnvRef = new ResourceEnvRef(); resourceEnvRef.setName(refName); consumer.getResourceEnvRef().add(resourceEnvRef); if (resourceEnvRef.getResourceEnvRefType() == null || "".equals(resourceEnvRef.getResourceEnvRefType())) { resourceEnvRef.setResourceEnvRefType(type.getName());