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