}
public void mergeRef(final NamingResourcesImpl naming, final EnvEntryInfo ref) {
// if (!ref.referenceName.startsWith("comp/")) return;
if ("java.lang.Class".equals(ref.type)) {
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);
return;
}
try {
final ClassLoader loader = this.standardContext.getLoader().getClassLoader();
final Class<?> type = loader.loadClass(ref.type);
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);
return;
}
} catch (final Throwable e) {