You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2006/11/16 20:33:07 UTC

svn commit: r475891 - in /incubator/openjpa/trunk: openjpa-kernel/src/main/java/org/apache/openjpa/meta/ openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/ openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/

Author: pcl
Date: Thu Nov 16 11:33:06 2006
New Revision: 475891

URL: http://svn.apache.org/viewvc?view=rev&rev=475891
Log:
improved error messages; made NonPersistentMetaData serializable

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NonPersistentMetaData.java
    incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java
    incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NonPersistentMetaData.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NonPersistentMetaData.java?view=diff&rev=475891&r1=475890&r2=475891
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NonPersistentMetaData.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NonPersistentMetaData.java Thu Nov 16 11:33:06 2006
@@ -16,6 +16,7 @@
 package org.apache.openjpa.meta;
 
 import java.io.File;
+import java.io.Serializable;
 
 import org.apache.openjpa.lib.meta.SourceTracker;
 import org.apache.openjpa.lib.xml.Commentable;
@@ -26,7 +27,8 @@
  * @author Pinaki Poddar
  */
 public class NonPersistentMetaData 
-	implements Comparable, SourceTracker, Commentable, MetaDataContext {
+	implements Comparable, SourceTracker, Commentable, MetaDataContext,
+        Serializable {
     public static final int TYPE_PERSISTENCE_AWARE = 1;
     public static final int TYPE_NON_MAPPED_INTERFACE = 2;
 

Modified: incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java?view=diff&rev=475891&r1=475890&r2=475891
==============================================================================
--- incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java (original)
+++ incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/conf/Configurations.java Thu Nov 16 11:33:06 2006
@@ -334,7 +334,7 @@
 				first.indexOf('.') == -1) {
 				// if there's just one misspelling and this is not a
 				// path traversal, check for near misses.
-				Collection options = Options.findOptionsFor(obj.getClass());
+				Collection options = findOptionsFor(obj.getClass());
 				String close = StringDistance.getClosestLevenshteinDistance
 					(first, options, 0.75f);
 				if (close != null)
@@ -347,12 +347,25 @@
                 msg = _loc.get("invalid-config-params", new String[]{
                     configurationName, obj.getClass().getName(),
                     invalidEntries.keySet().toString(),
-                    Options.findOptionsFor(obj.getClass()).toString(), });
+                    findOptionsFor(obj.getClass()).toString(), });
             }
             throw new ParseException(msg);
         }
         if (configurable != null)
             configurable.endConfiguration();
+    }
+
+    private static Collection findOptionsFor(Class cls) {
+        Collection c = Options.findOptionsFor(cls);
+        
+        // remove Configurable.setConfiguration() and 
+        // GenericConfigurable.setInto() from the set, if applicable.
+        if (Configurable.class.isAssignableFrom(cls))
+            c.remove("Configuration");
+        if (GenericConfigurable.class.isAssignableFrom(cls))
+            c.remove("Into");
+        
+        return c;
     }
 
     /**

Modified: incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java?view=diff&rev=475891&r1=475890&r2=475891
==============================================================================
--- incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java (original)
+++ incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/XMLMetaDataParser.java Thu Nov 16 11:33:06 2006
@@ -667,7 +667,9 @@
         if (cause != null && _log != null && _log.isTraceEnabled())
             _log.trace(_loc.get("sax-exception",
                 getSourceName(), _location.getLocation()), cause);
-        return new SAXException(getSourceName() + currentLocation() +
+        SAXException e = new SAXException(getSourceName() + currentLocation() +
             ": " + msg + " [" + cause + "]");
+        e.initCause(cause);
+        return e;
     }
 }