Minor logging / exception handling improvements

git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/1.0.0@569253 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
index 4213372..be89157 100644
--- a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
+++ b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
@@ -467,7 +467,8 @@
         } catch (OpenJPAException ke) {
             throw ke;
         } catch (Exception e) {
-            throw new GeneralException(e);
+            throw new GeneralException(_loc.get("enhance-error",
+                _managedType.getType().getName(), e.getMessage()), e);
         }
     }
 
@@ -2736,7 +2737,10 @@
             } catch (Throwable t) {
                 // last-chance catch for bug #283 (which can happen
                 // in a variety of ClassLoading environments)
-                _log.warn(_loc.get("enhance-uid-access", _meta), t);
+                if (_log.isTraceEnabled())
+                    _log.warn(_loc.get("enhance-uid-access", _meta), t);
+                else
+                    _log.warn(_loc.get("enhance-uid-access", _meta));
             }
 
             // if we couldn't access the serialVersionUID, we will have to
@@ -3672,10 +3676,13 @@
      * attribute name for the backing field <code>name</code>.
      */
     private String fromBackingFieldName(String name) {
-        if (_meta.getAccessType() == ClassMetaData.ACCESS_PROPERTY
+        // meta is null when doing persistence-aware enhancement
+        if (_meta != null
+            && _meta.getAccessType() == ClassMetaData.ACCESS_PROPERTY
             && _fieldsToAttrs.containsKey(name))
-            name = (String) _fieldsToAttrs.get(name);
-        return name;
+            return (String) _fieldsToAttrs.get(name);
+        else
+            return name;
     }
 
     /**
diff --git a/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties b/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
index 29c1406..39f2e35 100644
--- a/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
+++ b/openjpa-kernel/src/main/resources/org/apache/openjpa/enhance/localizer.properties
@@ -197,4 +197,5 @@
 no-accessor: Could not find method called {0} in type {1}.
 unspecified-unenhanced-types: One or more of the types in {0} have relations \
     to other unenhanced types that were not specified. These unspecified types \
-    are: {1}
\ No newline at end of file
+    are: {1}
+enhance-error: An error occurred while enhancing {0}. Exception message: {1}
\ No newline at end of file