Author: allee8285
Date: Fri Feb 15 12:47:09 2008
New Revision: 628168
URL: http://svn.apache.org/viewvc?rev=628168&view=rev
Log:
Enable PersisentProviderImpl subclass to override the configuration impl used
by class transformer. The current OpenJPAConfigurationImpl does not recognize
options defined in its sub-class and posted an invalid warning message.
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java?rev=628168&r1=628167&r2=628168&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
Fri Feb 15 12:47:09 2008
@@ -124,7 +124,7 @@
(CLASS_TRANSFORMER_OPTIONS, pui.getProperties());
try {
pui.addTransformer(new ClassTransformerImpl(cp, ctOpts,
- pui.getNewTempClassLoader()));
+ pui.getNewTempClassLoader(), newConfigurationImpl()));
} catch (Exception e) {
// fail gracefully
transformerException = e;
@@ -168,6 +168,16 @@
return BrokerValue.NON_FINALIZING_ALIAS;
}
+ /*
+ * Return a new instance of Configuration subclass used by entity
+ * enhancement in ClassTransformerImpl. If OpenJPAConfigurationImpl
+ * instance is used, configuration options declared in configuration
+ * sub-class will not be recognized and a warning is posted in the log.
+ */
+ protected OpenJPAConfiguration newConfigurationImpl() {
+ return new OpenJPAConfigurationImpl();
+ }
+
/**
* Java EE 5 class transformer.
*/
@@ -177,9 +187,7 @@
private final ClassFileTransformer _trans;
private ClassTransformerImpl(ConfigurationProvider cp, String props,
- final ClassLoader tmpLoader) {
- // create an independent conf for enhancement
- OpenJPAConfiguration conf = new OpenJPAConfigurationImpl();
+ final ClassLoader tmpLoader, OpenJPAConfiguration conf) {
cp.setInto(conf);
// don't allow connections
conf.setConnectionUserName(null);