@XmlTransient public String getName() { return getResRefName(); }
@XmlTransient public String getType() { return getResType(); }
public void setType(final String type) { setResType(type); }
private static void addResource(final JndiConsumer consumer, final ResourceRef resourceRef) { final ResourceRef existing = consumer.getResourceRefMap().get(resourceRef.getKey()); if (existing != null) { existing.setMappedName(resourceRef.getMappedName()); } else { consumer.getResourceRef().add(resourceRef); } }
resourceRef = new ResourceRef(); resourceRef.setName(refName); consumer.getResourceRef().add(resourceRef); if (resourceRef.getResAuth() == null) { if (resource.authenticationType() == Resource.AuthenticationType.APPLICATION) { resourceRef.setResAuth(ResAuth.APPLICATION); } else { resourceRef.setResAuth(ResAuth.CONTAINER); if (resourceRef.getResType() == null || ("").equals(resourceRef.getResType())) { if (resource.type() != java.lang.Object.class) { resourceRef.setResType(resource.type().getName()); } else { resourceRef.setResType(member.getType().getName()); if (resourceRef.getResSharingScope() == null) { if (resource.shareable()) { resourceRef.setResSharingScope(ResSharingScope.SHAREABLE); } else { resourceRef.setResSharingScope(ResSharingScope.UNSHAREABLE);
final ResourceRef resourceRef = new ResourceRef(); resourceRef.setResType(chooseType(module.getClassLoader(), resourceInfo, resource.getType())); resourceRef.setResRefName(dataSourceLookupName(resource)); } else { resourceRef.setResRefName(OPENEJB_RESOURCE_JNDI_PREFIX + resourceInfo.id); resourceRef.setMappedName(resourceInfo.id); final ResourceRef strictRef = new ResourceRef(OPENEJB_RESOURCE_JNDI_PREFIX + originalId, resourceRef.getResType(), resourceRef.getResAuth(), resourceRef.getResSharingScope()); strictRef.setMappedName(resourceInfo.id);
resourceRef = new ResourceRef(); resourceRef.setResRefName(resourceName); resourceRef.setResType(resourceType); resourceRef.setDescriptions(new Text[]{new Text(null, descriptionAnnotation)}); resourceRef.setResAuth(ResAuth.CONTAINER); } else if (annotation.authenticationType() == Resource.AuthenticationType.APPLICATION) { resourceRef.setResAuth(ResAuth.APPLICATION); resourceRef.setResSharingScope(annotation.shareable() ? ResSharingScope.SHAREABLE : ResSharingScope.UNSHAREABLE); resourceRef.setMappedName(mappdedNameAnnotation); resourceRef.setLookupName(lookup); Set<InjectionTarget> targets = resourceRef.getInjectionTarget(); if (!hasTarget(method, field, targets)) { resourceRef.getInjectionTarget().add(configureInjectionTarget(method, field));
private List<ResourceReferenceInfo> buildResourceRefInfos(JndiConsumer item) { List<ResourceReferenceInfo> infos = new ArrayList<ResourceReferenceInfo>(); for (ResourceRef res : item.getResourceRef()) { ResourceReferenceInfo info = new ResourceReferenceInfo(); if (res.getResAuth() != null) { info.referenceAuth = res.getResAuth().toString(); } else { info.referenceAuth = ResAuth.CONTAINER.toString(); } info.referenceName = res.getResRefName(); info.referenceType = res.getResType(); info.resourceID = res.getMappedName(); info.location = buildLocationInfo(res); info.targets.addAll(buildInjectionInfos(res)); infos.add(info); } return infos; }
if (ref.getLookupName() != null) { return; final String mappedName = ref.getMappedName() == null ? "" : ref.getMappedName(); if (mappedName.startsWith("jndi:")) { return; final String refName = ref.getName(); final String refType = getType(ref, ejbModule.getClassLoader()); final ResourceInfo resourceInfo = configFactory.getResourceInfo(refName.replace("java:", "").replace("comp/env/", "")); if (resourceInfo != null) { ref.setMappedName("jndi:" + (resourceInfo.id.startsWith("java:") ? resourceInfo.id : "openejb:Resource/" + resourceInfo.id)); ResourceLink link = ejbDeployment.getResourceLink(refName); if (link == null) { String id = mappedName.length() == 0 ? ref.getName() : mappedName; if (id.startsWith("java:")) { id = id.substring("java:".length()); throw new OpenEJBException("Can't find resource for " + ref.getOrigin() + ". (" + e.getMessage() + ")", e.getCause());
@Override public void setResourceEnvironment(ResourceEnvironmentBuilder builder, Collection<ResourceRef> resourceRefList, GerResourceRefType[] gerResourceRefs) throws DeploymentException { Map refMap = mapResourceRefs(gerResourceRefs); Set<AbstractNameQuery> unshareableResources = new HashSet<AbstractNameQuery>(); Set<AbstractNameQuery> applicationManagedSecurityResources = new HashSet<AbstractNameQuery>(); for (ResourceRef resourceRef : resourceRefList) { String type = resourceRef.getResType(); if(type == null){ continue; }else { type = type.trim(); } if (!URL.class.getName().equals(type) && !"javax.mail.Session".equals(type) && !JAXR_CONNECTION_FACTORY_CLASS.equals(type)) { GerResourceRefType gerResourceRef = (GerResourceRefType) refMap.get(resourceRef.getResRefName()); AbstractNameQuery containerId = getResourceContainerId(getStringValue(resourceRef.getResRefName()), NameFactory.JCA_MANAGED_CONNECTION_FACTORY, null, gerResourceRef); if (ResSharingScope.UNSHAREABLE.equals(resourceRef.getResSharingScope())) { unshareableResources.add(containerId); } if (ResAuth.APPLICATION.equals(resourceRef.getResAuth())) { applicationManagedSecurityResources.add(containerId); } } } builder.setUnshareableResources(unshareableResources); builder.setApplicationManagedSecurityResources(applicationManagedSecurityResources); }
private void pruneRefs(final JndiConsumer bean, final EjbDeployment ejbDeployment) { for (final ResourceRef ref : copy(bean.getResourceRef())) { if (ref.getResType().startsWith("javax.jms.")) { final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); ejbDeployment.getResourceLink().remove(resourceLink); bean.getResourceRef().remove(ref); } } for (final ResourceEnvRef ref : bean.getResourceEnvRef()) { final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); ejbDeployment.getResourceLink().remove(resourceLink); } bean.getResourceEnvRef().clear(); for (final MessageDestinationRef ref : bean.getMessageDestinationRef()) { final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); ejbDeployment.getResourceLink().remove(resourceLink); } bean.getMessageDestinationRef().clear(); bean.getPersistenceContextRef().clear(); bean.getPersistenceUnitRef().clear(); }
final String refName = ref.getResRefName(); ref.setMappedName(MAPPED_NAME_PREFIX + refName);
String refName = resourceRef.getResRefName(); String refType = resourceRef.getResType(); if ("javax.sql.DataSource".equalsIgnoreCase(refType)) { jdbcPoolRefs.add(new ReferenceData(refName));
@Override public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException { for (ResourceRef resourceRef : webApp.getResourceRef()) { String resourceRefName = resourceRef.getResRefName(); mergeContext.setAttribute(createResourceRefKey(resourceRefName), new MergeItem(resourceRef, null, ElementSource.WEB_XML)); //Create an attribute tag to indicate whether injectTarget is configured in web.xml file if (!resourceRef.getInjectionTarget().isEmpty()) { mergeContext.setAttribute(createResourceRefInjectTargetConfiguredInWebXMLKey(resourceRefName), Boolean.TRUE); } for (InjectionTarget injectionTarget : resourceRef.getInjectionTarget()) { mergeContext.setAttribute(createResourceRefInjectTargetKey(resourceRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName() ), Boolean.TRUE); } } }
addInjections(normalize(name), ReferenceType.RESOURCE, resourceRef.getInjectionTarget(), NamingBuilder.INJECTION_KEY.get(sharedContext)); String type = getStringValue(resourceRef.getResType()); type = inferAndCheckType(module, bundle, resourceRef.getInjectionTarget(), name, type); GerResourceRefType gerResourceRef = refMap.get(name); if (log.isDebugEnabled()) { String lookupName = getStringValue(resourceRef.getLookupName()); if (lookupName != null) { if (lookupName.equals(getJndiName(name))) { unresolvedRefs.add(name); } else { put(name, value, ReferenceType.RESOURCE, module.getJndiContext(), resourceRef.getInjectionTarget(), sharedContext);
final ResourceLink resourceLink = ejbDeployment.getResourceLink(ref.getName()); if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) { ref.setMappedName(resourceLink.getResId());
if (ignoredReferenceTypes.contains(ref.getType())) { continue; String mappedName = ref.getMappedName(); if (mappedName == null) mappedName = ""; if (mappedName.startsWith("jndi:")){ String destinationId = (mappedName.length() == 0) ? ref.getName() : mappedName; destinationId = getResourceId(moduleId, destinationId, ref.getType(), appResources); ref.setMappedName(destinationId);
private void processResourceRef(ResourceRef ref, EjbDeployment ejbDeployment, AppResources appResources) throws OpenEJBException { // skip destinations with a global jndi name String mappedName = ref.getMappedName(); if (mappedName == null) mappedName = ""; if ((mappedName).startsWith("jndi:")){ return; } String refName = ref.getName(); String refType = ref.getType(); // skip references such as URLs which are automatically handled by the server if (ignoredReferenceTypes.contains(refType)) { return; } ResourceLink link = ejbDeployment.getResourceLink(refName); if (link == null) { String id = (mappedName.length() == 0) ? ref.getName() : mappedName; id = getResourceId(ejbDeployment.getDeploymentId(), id, refType, appResources); logger.info("Auto-linking resource-ref '" + refName + "' in bean " + ejbDeployment.getDeploymentId() + " to Resource(id=" + id + ")"); link = new ResourceLink(); link.setResId(id); link.setResRefName(refName); ejbDeployment.addResourceLink(link); } else { String id = getResourceId(ejbDeployment.getDeploymentId(), link.getResId(), refType, appResources); link.setResId(id); link.setResRefName(refName); } }
ref.setMappedName(null); ref.getInjectionTarget().clear();
public String getKey() { return getName(); }