Author: ppoddar
Date: Wed Sep 27 20:00:31 2006
New Revision: 450674
URL: http://svn.apache.org/viewvc?view=rev&rev=450674
Log:
Adding informative messages when non-default Persistence Provider is configured.
Modified:
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java
incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
Modified:
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java?view=diff&rev=450674&r1=450673&r2=450674
==============================================================================
---
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java
(original)
+++
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProductDerivation.java
Wed Sep 27 20:00:31 2006
@@ -248,6 +248,8 @@
rsrc, String.valueOf(name)).getMessage(),
getClass().getName(),
rsrc);
} else if (!isOpenJPAPersistenceProvider(pinfo, loader)) {
+ if (!explicit)
+ return Boolean.FALSE;
throw new MissingResourceException(_loc.get("unknown-provider",
rsrc, name, pinfo.getPersistenceProviderClassName()).
getMessage(), getClass().getName(), rsrc);
@@ -307,19 +309,31 @@
*/
private static boolean isOpenJPAPersistenceProvider
(PersistenceUnitInfo pinfo, ClassLoader loader) {
- String name = pinfo.getPersistenceProviderClassName();
- if (StringUtils.isEmpty(name)
- || PersistenceProviderImpl.class.getName().equals(name))
+ String provider = pinfo.getPersistenceProviderClassName();
+ if (StringUtils.isEmpty(provider)
+ || PersistenceProviderImpl.class.getName().equals(provider))
return true;
if (loader == null)
loader = Thread.currentThread().getContextClassLoader();
try {
- return PersistenceProviderImpl.class.isAssignableFrom
- (Class.forName(name, false, loader));
+ if (PersistenceProviderImpl.class.isAssignableFrom
+ (Class.forName(provider, false, loader))) {
+ // log not configured yet
+ warn(_loc.get("extended-provider", provider).getMessage());
+ return true;
+ }
} catch (Throwable t) {
+ warn(_loc.get("unloadable-provider", provider, t).
+ getMessage());
return false;
}
+ warn(_loc.get("unrecognized-provider", provider).getMessage());
+ return false;
+ }
+
+ private static void warn(String msg) {
+ System.err.println(msg);
}
/**
Modified:
incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties?view=diff&rev=450674&r1=450673&r2=450674
==============================================================================
---
incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
(original)
+++
incubator/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
Wed Sep 27 20:00:31 2006
@@ -93,7 +93,12 @@
missing-no-arg-constructor: Entity listener class "{0}" must declare a no-arg \
constructor. "AllowsNoArgConstructorCallback" property of
MetaDataDefaults \
can be set to true to ignore this exception.
-
+extended-provider: WARNING: Configured to use extended Persistence Provider \
+ "{0}".
+unloadable-provider: WARNING: Can not load configured Persistence Provider \
+ "{0}" due to "{1}"
+unrecognized-provider: WARNING: Configured to use non-recognized Persistence \
+ Provider "{0}"
EntityManagerFactory-name: EntityManagerFactory implementation
EntityManagerFactory-desc: Allows extension of standard \
org.apache.openjpa.persistence.EntityManagerFactoryImpl for custom
behavior.