Author: rmannibucau Date: Tue Feb 19 07:41:05 2013 New Revision: 1447606 URL: http://svn.apache.org/r1447606 Log: managing overriding even if the resource lost its real id
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1447606&r1=1447605&r2=1447606&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Tue Feb 19 07:41:05 2013 @@ -105,6 +105,7 @@ import static org.apache.openejb.util.Pr public class AutoConfig implements DynamicDeployer, JndiConstants { public static final String ORIGIN_ANNOTATION = "Annotation"; public static final String ORIGIN_FLAG = "Origin"; + public static final String ORIGINAL_ID = "OriginalId"; public static Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP_CONFIG, AutoConfig.class); @@ -886,9 +887,10 @@ public class AutoConfig implements Dynam final String originalId = value(resource.getId()); final String modulePrefix = module.getModuleId() + "/"; - if ("/".equals(modulePrefix)) { + if ("/".equals(modulePrefix) || originalId.startsWith("global") || originalId.startsWith("/global")) { resource.setId(replaceJavaAndSlash(originalId)); } else { + resource.getProperties().setProperty(ORIGINAL_ID, originalId); resource.setId(modulePrefix + replaceJavaAndSlash(originalId)); } resource.setJndi(value(resource.getJndi())); @@ -921,10 +923,6 @@ public class AutoConfig implements Dynam && resource.getProperties().getProperty(ORIGIN_FLAG).equals(ORIGIN_ANNOTATION)) { properties.remove(ORIGIN_FLAG); - if (!(resourceInfo.id.startsWith("global") || resourceInfo.id.startsWith("/global"))) { - resourceInfo.id = module.getModuleId() + "/" + resourceInfo.id; - } - if (properties.get("JdbcUrl") == null) { final String url = getVendorUrl(properties); if (url != null) { Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1447606&r1=1447605&r2=1447606&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Tue Feb 19 07:41:05 2013 @@ -1026,7 +1026,7 @@ public class ConfigurationFactory implem if (service.getId() == null) service.setId(provider.getId()); - final Properties overrides = trim(getSystemProperties(service.getId(), provider.getService())); + final Properties overrides = trim(getSystemProperties(overrideKey(service), provider.getService())); final Properties serviceProperties = service.getProperties(); @@ -1109,6 +1109,14 @@ public class ConfigurationFactory implem } } + private String overrideKey(final org.apache.openejb.config.Service service) { + final String origin = String.class.cast(service.getProperties().remove(AutoConfig.ORIGINAL_ID)); + if (origin != null) { + return origin; + } + return service.getId(); + } + private static String getProviderType(final org.apache.openejb.config.Service service) { Class<?> clazz = service.getClass();