boolean addEntry = false; if (resourceEnv == null) { resourceEnv = new ContextResourceEnvRef(); resourceEnv.setName(ref.referenceName.replaceAll("^comp/env/", "")); addEntry = true; resourceEnv.setType(ref.resourceEnvRefType); if (UserTransaction.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, UserTransactionFactory.class.getName()); } else if (TransactionManager.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, TransactionManager.class.getName()); } else if (TransactionSynchronizationRegistry.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, TransactionSynchronizationRegistry.class.getName()); } else if ("org.omg.CORBA.ORB".equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, ref.resourceEnvRefType); } else if (HandleDelegate.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, HandleDelegate.class.getName()); } else { resourceEnv.setProperty(Constants.FACTORY, ResourceFactory.class.getName()); resourceEnv.setProperty(NamingUtil.NAME, ref.referenceName.replaceAll("^comp/env/", "")); resourceEnv.setProperty(NamingUtil.RESOURCE_ID, ref.resourceID); resourceEnv.setProperty(NamingUtil.JNDI_NAME, ref.location.jndiName); resourceEnv.setProperty(NamingUtil.JNDI_PROVIDER_ID, ref.location.jndiProviderId);
/** * Set the specified resources in the naming context. */ public void addResourceEnvRef(ContextResourceEnvRef resourceEnvRef) { // Create a reference to the resource env. Reference ref = new ResourceEnvRef(resourceEnvRef.getType()); // Adding the additional parameters, if any Iterator<String> params = resourceEnvRef.listProperties(); while (params.hasNext()) { String paramName = params.next(); String paramValue = (String) resourceEnvRef.getProperty(paramName); StringRefAddr refAddr = new StringRefAddr(paramName, paramValue); ref.add(refAddr); } try { if (logger.isDebugEnabled()) log.debug(" Adding resource env ref " + resourceEnvRef.getName()); createSubcontexts(envCtx, resourceEnvRef.getName()); envCtx.bind(resourceEnvRef.getName(), ref); } catch (NamingException e) { logger.error(sm.getString("naming.bindFailed", e)); } }
private boolean isLookupRef(final NamingResourcesImpl naming, final InjectableInfo ref) { if (ref.location == null) { return false; } if (ref.location.jndiName == null) { return false; } if (!ref.location.jndiName.startsWith("java:")) { return false; } final ContextResourceEnvRef lookup = new ContextResourceEnvRef(); lookup.setName(ref.referenceName.replaceAll("^comp/env/", "")); lookup.setProperty(Constants.FACTORY, LookupFactory.class.getName()); lookup.setProperty(NamingUtil.JNDI_NAME, ref.location.jndiName); lookup.setType(Object.class.getName()); lookup.setOverride(false); naming.addResourceEnvRef(lookup); return true; }
/** * Add a resource environment reference for this web application. * * @param resource The resource */ public void addResourceEnvRef(ContextResourceEnvRef resource) { if (entries.contains(resource.getName())) { return; } else { if (!checkResourceType(resource)) { throw new IllegalArgumentException(sm.getString( "namingResources.resourceTypeFail", resource.getName(), resource.getType())); } entries.add(resource.getName()); } synchronized (resourceEnvRefs) { resource.setNamingResources(this); resourceEnvRefs.put(resource.getName(), resource); } support.firePropertyChange("resourceEnvRef", null, resource); }
/** * Return a String representation of this object. */ @Override public String toString() { StringBuilder sb = new StringBuilder("ContextResourceEnvRef["); sb.append("name="); sb.append(getName()); if (getType() != null) { sb.append(", type="); sb.append(getType()); } sb.append(", override="); sb.append(override); sb.append("]"); return (sb.toString()); }
ContextResourceEnvRef resource = new ContextResourceEnvRef(); resource.setName(name); resource.setType(type); resource.setProperty("mappedName", annotation.mappedName()); resource.setDescription(annotation.description());
sb.append(" <resource-env-ref>\n"); appendElement(sb, INDENT4, "description", resourceEnvRef.getDescription()); appendElement(sb, INDENT4, "resource-env-ref-name", resourceEnvRef.getName()); appendElement(sb, INDENT4, "resource-env-ref-type", resourceEnvRef.getType()); appendElement(sb, INDENT4, "mapped-name", resourceEnvRef.getProperty("mappedName")); for (InjectionTarget target : resourceEnvRef.getInjectionTargets()) { sb.append(" <injection-target>\n"); appendElement(sb, INDENT6, "injection-target-class", sb.append(" </injection-target>\n"); appendElement(sb, INDENT4, "lookup-name", resourceEnvRef.getLookupName()); sb.append(" </resource-env-ref>\n");
private void registerBeanManager(Context appContext, String jndiObjectFactory, String servletListener) { ContextResource resource = new ContextResource(); resource.setAuth("Container"); resource.setName(BEAN_MANAGER_NAME); resource.setType(BEAN_MANAGER_TYPE); resource.setProperty("factory", jndiObjectFactory); appContext.getNamingResources().addResource(resource); ContextResourceEnvRef resourceRef = new ContextResourceEnvRef(); resourceRef.setName(BEAN_MANAGER_NAME); resourceRef.setType(BEAN_MANAGER_TYPE); appContext.getNamingResources().addResourceEnvRef(resourceRef); appContext.addApplicationListener(servletListener); }
sb.append(" <resource-env-ref>\n"); appendElement(sb, INDENT4, "description", resourceEnvRef.getDescription()); appendElement(sb, INDENT4, "resource-env-ref-name", resourceEnvRef.getName()); appendElement(sb, INDENT4, "resource-env-ref-type", resourceEnvRef.getType()); resourceEnvRef.getInjectionTargets()) { sb.append(" <injection-target>\n"); appendElement(sb, INDENT6, "injection-target-class",
public void addResourceEnvRef(ContextResourceEnvRef resourceEnvRef) { if (resourceEnvRefs.containsKey(resourceEnvRef.getName())) { // resource-env-ref names must be unique within a web(-fragment).xml throw new IllegalArgumentException( sm.getString("webXml.duplicateResourceEnvRef", resourceEnvRef.getName())); } resourceEnvRefs.put(resourceEnvRef.getName(), resourceEnvRef); } public Map<String,ContextResourceEnvRef> getResourceEnvRefs() {
ContextResourceEnvRef resource = new ContextResourceEnvRef(); resource.setName(name); resource.setType(type); resource.setProperty(MAPPED_NAME_PROPERTY, annotation.mappedName()); resource.setDescription(annotation.description()); resource.setLookupName(annotation.lookup());
sb.append(" <resource-env-ref>\n"); appendElement(sb, INDENT4, "description", resourceEnvRef.getDescription()); appendElement(sb, INDENT4, "resource-env-ref-name", resourceEnvRef.getName()); appendElement(sb, INDENT4, "resource-env-ref-type", resourceEnvRef.getType()); appendElement(sb, INDENT4, "mapped-name", resourceEnvRef.getProperty("mappedName")); for (InjectionTarget target : resourceEnvRef.getInjectionTargets()) { sb.append(" <injection-target>\n"); appendElement(sb, INDENT6, "injection-target-class", sb.append(" </injection-target>\n"); appendElement(sb, INDENT4, "lookup-name", resourceEnvRef.getLookupName()); sb.append(" </resource-env-ref>\n");
public void mergeRef(final NamingResourcesImpl naming, final EnvEntryInfo ref) { final ContextResourceEnvRef resourceEnv = new ContextResourceEnvRef(); resourceEnv.setName(ref.referenceName.replaceAll("^comp/env/", "")); resourceEnv.setProperty(Constants.FACTORY, ResourceFactory.class.getName()); resourceEnv.setType(ref.type); resourceEnv.setProperty(NamingUtil.RESOURCE_ID, ref.value); resourceEnv.setOverride(false); naming.addResourceEnvRef(resourceEnv); if (Enum.class.isAssignableFrom(type)) { final ContextResourceEnvRef enumRef = new ContextResourceEnvRef(); enumRef.setName(ref.referenceName.replaceAll("^comp/env/", "")); enumRef.setProperty(Constants.FACTORY, EnumFactory.class.getName()); enumRef.setProperty(EnumFactory.ENUM_VALUE, ref.value); enumRef.setType(ref.type); enumRef.setOverride(false); naming.addResourceEnvRef(enumRef);
/** * Add a resource environment reference for this web application. * * @param resource The resource */ public void addResourceEnvRef(ContextResourceEnvRef resource) { if (entries.contains(resource.getName())) { return; } else { if (!checkResourceType(resource)) { throw new IllegalArgumentException(sm.getString( "namingResources.resourceTypeFail", resource.getName(), resource.getType())); } entries.add(resource.getName()); } synchronized (resourceEnvRefs) { resource.setNamingResources(this); resourceEnvRefs.put(resource.getName(), resource); } support.firePropertyChange("resourceEnvRef", null, resource); }
/** * Return a String representation of this object. */ @Override public String toString() { StringBuilder sb = new StringBuilder("ContextResourceEnvRef["); sb.append("name="); sb.append(getName()); if (getType() != null) { sb.append(", type="); sb.append(getType()); } sb.append(", override="); sb.append(override); sb.append("]"); return sb.toString(); }
public void addResourceEnvRef(ContextResourceEnvRef resourceEnvRef) { if (resourceEnvRefs.containsKey(resourceEnvRef.getName())) { // resource-env-ref names must be unique within a web(-fragment).xml throw new IllegalArgumentException( sm.getString("webXml.duplicateResourceEnvRef", resourceEnvRef.getName())); } resourceEnvRefs.put(resourceEnvRef.getName(), resourceEnvRef); } public Map<String,ContextResourceEnvRef> getResourceEnvRefs() {
ContextResourceEnvRef resource = new ContextResourceEnvRef(); resource.setName(name); resource.setType(type); resource.setProperty(MAPPED_NAME_PROPERTY, annotation.mappedName()); resource.setDescription(annotation.description()); resource.setLookupName(annotation.lookup());
/** * Set the specified resources in the naming context. * * @param resourceEnvRef the resource reference */ public void addResourceEnvRef(ContextResourceEnvRef resourceEnvRef) { Reference ref = lookForLookupRef(resourceEnvRef); if (ref == null) { // Create a reference to the resource env. ref = new ResourceEnvRef(resourceEnvRef.getType()); // Adding the additional parameters, if any Iterator<String> params = resourceEnvRef.listProperties(); while (params.hasNext()) { String paramName = params.next(); String paramValue = (String) resourceEnvRef.getProperty(paramName); StringRefAddr refAddr = new StringRefAddr(paramName, paramValue); ref.add(refAddr); } } try { if (log.isDebugEnabled()) { log.debug(sm.getString("naming.addResourceEnvRef", resourceEnvRef.getName())); } createSubcontexts(envCtx, resourceEnvRef.getName()); envCtx.bind(resourceEnvRef.getName(), ref); } catch (NamingException e) { log.error(sm.getString("naming.bindFailed", e)); } }
/** * Add a resource environment reference for this web application. * * @param resource The resource */ public void addResourceEnvRef(ContextResourceEnvRef resource) { if (entries.contains(resource.getName())) { return; } else { if (!checkResourceType(resource)) { throw new IllegalArgumentException(sm.getString( "namingResources.resourceTypeFail", resource.getName(), resource.getType())); } entries.add(resource.getName()); } synchronized (resourceEnvRefs) { resource.setNamingResources(this); resourceEnvRefs.put(resource.getName(), resource); } support.firePropertyChange("resourceEnvRef", null, resource); }
/** * Return a String representation of this object. */ @Override public String toString() { StringBuilder sb = new StringBuilder("ContextResourceEnvRef["); sb.append("name="); sb.append(getName()); if (getType() != null) { sb.append(", type="); sb.append(getType()); } sb.append(", override="); sb.append(override); sb.append("]"); return sb.toString(); }