Author: dwoods
Date: Tue Mar  2 15:17:18 2010
New Revision: 918070

URL: http://svn.apache.org/viewvc?rev=918070&view=rev
Log:
OPENJPA-1546 OpenJPA doesn't work as internal JPA inside web applicaion in 
JBoss AS due to PersistenceMetaDataFactory trying to parse directories as 
unparsed XML files.  Original patch contributed by Dmitri Babaev.

Modified:
    
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java
    
openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties

Modified: 
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java?rev=918070&r1=918069&r2=918070&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java
 Tue Mar  2 15:17:18 2010
@@ -322,6 +322,12 @@
                 log.trace(
                     _loc.get("map-persistent-types-skipping-non-url", rsrc));
             return;
+        } else if (rsrc.toString().endsWith("/")) {
+            // OPENJPA-1546 If the rsrc URL is a directory it should not be
+            // added to the list of the unparsed XML files
+            if (log.isTraceEnabled())
+                log.trace(_loc.get("map-persistent-types-skipping-dir", rsrc));
+            return;
         }
 
         if (log.isTraceEnabled())
@@ -331,6 +337,7 @@
         if (_xml == null)
             _xml = new HashMap<URL, Set<String>>();
         _xml.put((URL) rsrc, new HashSet<String>(Arrays.asList(names)));
+
         if (_unparsed == null)
             _unparsed = new HashSet<URL>();
         _unparsed.add((URL) rsrc);

Modified: 
openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties?rev=918070&r1=918069&r2=918070&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
 (original)
+++ 
openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
 Tue Mar  2 15:17:18 2010
@@ -140,6 +140,8 @@
 map-persistent-types-skipping-class: Skipping persistent type location \
     association for location "{0}" since it is a class, and will not \
     need to be re-parsed later.
+map-persistent-types-skipping-dir: Skipping persistent type location \
+    association for location "{0}" since it is a directory.
 no-setter-for-getter: No setter was found for method {0} in type {1} while \
     searching for persistent properties. This method will be ignored. If you \
     intended for this to be persistent, please add a corresponding setter, \


Reply via email to