Author: ppoddar
Date: Wed Sep 27 16:19:17 2006
New Revision: 450632

URL: http://svn.apache.org/viewvc?view=rev&rev=450632
Log:
Fixing http://issues.apache.org/jira/browse/OPENJPA-60
Specifying the wrong persistence implementation in persistence.xml leads to 
misleading error message
 

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=450632&r1=450631&r2=450632
==============================================================================
--- 
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 16:19:17 2006
@@ -241,15 +241,17 @@
         ConfigurationParser parser = new ConfigurationParser(m);
         PersistenceUnitInfoImpl pinfo = parseResources(parser, urls, name, 
             loader);
-        if (pinfo == null || !isOpenJPAPersistenceProvider(pinfo, loader)) {
+        if (pinfo == null) {
             if (!explicit)
                 return Boolean.FALSE;
-            String msg = (pinfo == null) ? "missing-xml-config"
-                : "cantload-xml-config";
-            throw new MissingResourceException(_loc.get(msg, rsrc,
-                String.valueOf(name)).getMessage(), getClass().getName(), 
rsrc);
+            throw new MissingResourceException(_loc.get("missing-xml-config", 
+                rsrc, String.valueOf(name)).getMessage(), 
getClass().getName(), 
+                rsrc);
+        } else if (!isOpenJPAPersistenceProvider(pinfo, loader)) {
+            throw new MissingResourceException(_loc.get("unknown-provider", 
+                rsrc, name, pinfo.getPersistenceProviderClassName()).
+                getMessage(), getClass().getName(), rsrc);
         }
-
         cp.addProperties(pinfo.toOpenJPAProperties());
         cp.setSource(pinfo.getPersistenceXmlFileUrl().toString());
         return Boolean.TRUE;

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=450632&r1=450631&r2=450632
==============================================================================
--- 
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 16:19:17 2006
@@ -60,6 +60,8 @@
        "{1}" can''t be found in your class path.
 cantload-xml-config: The specified XML resource "{0}" for persistence unit \
        "{1}" can''t be parsed.
+unknown-provider: Persistence Provider "{2}" specified in persistence unit \
+       "{1}" in "{0}" is not a recognized provider.
 illegal-index: The parameter index {0} is invalid. Parameters must be \
        integers starting at 1.
 conf-load: Setting the following properties from "{0}" into configuration: {1}


Reply via email to