boolean addEntry = false; if (resourceEnv == null) { resourceEnv = new ContextResourceEnvRef(); resourceEnv.setName(ref.resourceEnvRefName); addEntry = true; resourceEnv.setProperty(Constants.FACTORY, UserTransactionFactory.class.getName()); resourceEnv.setType(ref.resourceEnvRefType); } else { resourceEnv.setProperty(Constants.FACTORY, ResourceFactory.class.getName()); resourceEnv.setProperty(NAME, ref.resourceEnvRefName); resourceEnv.setType(ref.resourceEnvRefType); resourceEnv.setProperty(RESOURCE_ID, ref.resourceID); resourceEnv.setProperty(JNDI_NAME, ref.location.jndiName); resourceEnv.setProperty(JNDI_PROVIDER_ID, ref.location.jndiProviderId); if (!addEntry) namingContextListener.removeResourceEnvRef(resourceEnv.getName()); namingContextListener.addResourceEnvRef(resourceEnv); ContextAccessController.setReadOnly(namingContextListener.getName());
/** * 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 params = resourceEnvRef.listProperties(); while (params.hasNext()) { String paramName = (String) 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)); } }
/** * Add a resource environment reference for this web application. * * @param resource The resource */ public void addResourceEnvRef(ContextResourceEnvRef resource) { if (entries.containsKey(resource.getName())) { return; } else { entries.put(resource.getName(), resource.getType()); } synchronized (resourceEnvRefs) { resource.setNamingResources(this); resourceEnvRefs.put(resource.getName(), resource); } support.firePropertyChange("resourceEnvRef", null, resource); }
private boolean isLookupRef(NamingResources naming, 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(JNDI_NAME, ref.location.jndiName); lookup.setType(Object.class.getName()); lookup.setOverride(false); naming.addResourceEnvRef(lookup); return true; }
public void addResourceEnvRef(ContextResourceEnvRef resourceEnvRef) { try { Context globalNamingContext = standardServer.getGlobalNamingContext(); Object value = globalNamingContext.lookup(resourceEnvRef.getName()); String type = resourceEnvRef.getType(); bindResource(resourceEnvRef.getName(), value, type); } catch (NamingException e) { logger.error("Unable to lookup Global Tomcat resource " + resourceEnvRef.getName(), e); } }
ContextResourceEnvRef resource = new ContextResourceEnvRef(); resource.setName(annotation.name()); resource.setType(annotation.type().getCanonicalName()); 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()); resourceEnvRef.getInjectionTargets()) { sb.append(" <injection-target>\n"); appendElement(sb, INDENT6, "injection-target-class",
private void addWeldBeanManager(StandardContext appContext) { ContextResource resource = new ContextResource(); resource.setAuth("Container"); resource.setName(BEAN_MANAGER_NAME); resource.setType(BEAN_MANAGER_TYPE); resource.setProperty("factory", WELD_MANAGER_FACTORY); appContext.getNamingResources().addResource(resource); ContextResourceEnvRef resourceRef = new ContextResourceEnvRef(); resourceRef.setName(BEAN_MANAGER_NAME); resourceRef.setType(BEAN_MANAGER_TYPE); appContext.getNamingResources().addResourceEnvRef(resourceRef); appContext.addApplicationListener(WELD_SERVLET_LISTENER); }
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() {
/** * Remove any resource environment reference with the specified name. * * @param name Name of the resource environment reference to remove */ public void removeResourceEnvRef(String name) { entries.remove(name); ContextResourceEnvRef resourceEnvRef = null; synchronized (resourceEnvRefs) { resourceEnvRef = resourceEnvRefs.remove(name); } if (resourceEnvRef != null) { support.firePropertyChange("resourceEnvRef", resourceEnvRef, null); resourceEnvRef.setNamingResources(null); } }
ContextResourceEnvRef resource = new ContextResourceEnvRef(); resource.setName(annotation.name()); resource.setType(annotation.type().getCanonicalName()); 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()); resourceEnvRef.getInjectionTargets()) { sb.append(" <injection-target>\n"); appendElement(sb, INDENT6, "injection-target-class",
public void mergeRef(NamingResources naming, EnvEntryInfo ref) { ContextResourceEnvRef resourceEnv = new ContextResourceEnvRef(); resourceEnv.setName(ref.referenceName.replaceAll("^comp/env/", "")); resourceEnv.setProperty(Constants.FACTORY, ResourceFactory.class.getName()); resourceEnv.setType(ref.type); resourceEnv.setProperty(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(ENUM_VALUE, ref.value); enumRef.setType(ref.type); enumRef.setOverride(false); naming.addResourceEnvRef(enumRef);
/** * 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() {
/** * Remove any resource environment reference with the specified name. * * @param name Name of the resource environment reference to remove */ public void removeResourceEnvRef(String name) { entries.remove(name); ContextResourceEnvRef resourceEnvRef = null; synchronized (resourceEnvRefs) { resourceEnvRef = resourceEnvRefs.remove(name); } if (resourceEnvRef != null) { support.firePropertyChange("resourceEnvRef", resourceEnvRef, null); resourceEnvRef.setNamingResources(null); } }
ContextResourceEnvRef resource = new ContextResourceEnvRef(); resource.setName(name); resource.setType(type); resource.setProperty("mappedName", annotation.mappedName()); resource.setDescription(annotation.description());
/** * 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)); } }
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",
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(COMPONENT_TYPE, TransactionManager.class.getName()); } else if (TransactionSynchronizationRegistry.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(COMPONENT_TYPE, TransactionSynchronizationRegistry.class.getName()); } else if (ORB.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(COMPONENT_TYPE, ORB.class.getName()); } else if (HandleDelegate.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(COMPONENT_TYPE, HandleDelegate.class.getName()); } else { resourceEnv.setProperty(Constants.FACTORY, ResourceFactory.class.getName()); resourceEnv.setProperty(NAME, ref.referenceName.replaceAll("^comp/env/", "")); resourceEnv.setProperty(RESOURCE_ID, ref.resourceID); resourceEnv.setProperty(JNDI_NAME, ref.location.jndiName); resourceEnv.setProperty(JNDI_PROVIDER_ID, ref.location.jndiProviderId);