Author: ppoddar
Date: Thu Sep 28 00:24:11 2006
New Revision: 450731
URL: http://svn.apache.org/viewvc?view=rev&rev=450731
Log:
Moved Entity Listener constraints from MetaDataDefaults in kernel to JPA facade
PersistenceMetaDataDefaults
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractMetaDataDefaults.java
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataDefaults.java
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NoneMetaDataFactory.java
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractMetaDataDefaults.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractMetaDataDefaults.java?view=diff&rev=450731&r1=450730&r2=450731
==============================================================================
---
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractMetaDataDefaults.java
(original)
+++
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractMetaDataDefaults.java
Thu Sep 28 00:24:11 2006
@@ -45,8 +45,6 @@
private boolean _interface = true;
private boolean _pcRegistry = true;
private int _callback = CALLBACK_RETHROW;
- private boolean _allowsMultipleMethodsOnSameCallback = true;
- private boolean _allowsMissingCallbackConstructor = true;
/**
* Whether to attempt to use the information from registered classes
@@ -354,22 +352,6 @@
return UnsupportedOperationException.class;
}
- public boolean getAllowsMultipleMethodsOnSameCallback() {
- return _allowsMultipleMethodsOnSameCallback;
- }
-
- public void setAllowsMultipleMethodsOnSameCallback(boolean flag) {
- _allowsMultipleMethodsOnSameCallback = flag;
- }
-
- public boolean getAllowsMissingCallbackConstructor() {
- return _allowsMissingCallbackConstructor;
- }
-
- public void setAllowsMissingCallbackConstructor(boolean flag) {
- _allowsMissingCallbackConstructor = flag;
- }
-
/**
* Helper method; returns true if the given class appears to be
* user-defined.
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataDefaults.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataDefaults.java?view=diff&rev=450731&r1=450730&r2=450731
==============================================================================
---
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataDefaults.java
(original)
+++
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataDefaults.java
Thu Sep 28 00:24:11 2006
@@ -50,18 +50,6 @@
*/
public boolean getCallbacksBeforeListeners(int type);
- /**
- * Flags if multiple methods of the same class can handle the same
- * callback event.
- */
- public boolean getAllowsMultipleMethodsOnSameCallback();
-
- /**
- * Flags if it allowed for the callback listener class not to have a
no-arg
- * constructor.
- */
- public boolean getAllowsMissingCallbackConstructor();
-
/**
* Whether to ignore members which are not persistent by default
* during metadata population. Defaults to true.
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NoneMetaDataFactory.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NoneMetaDataFactory.java?view=diff&rev=450731&r1=450730&r2=450731
==============================================================================
---
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NoneMetaDataFactory.java
(original)
+++
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/NoneMetaDataFactory.java
Thu Sep 28 00:24:11 2006
@@ -122,12 +122,4 @@
public Class getUnimplementedExceptionType() {
return null;
}
-
- public boolean getAllowsMultipleMethodsOnSameCallback() {
- return true;
- }
-
- public boolean getAllowsMissingCallbackConstructor() {
- return true;
- }
}
Modified:
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java?view=diff&rev=450731&r1=450730&r2=450731
==============================================================================
---
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
(original)
+++
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
Thu Sep 28 00:24:11 2006
@@ -843,8 +843,6 @@
boolean result = true;
if (callbacks == null || callbacks.isEmpty())
return true;
- MetaDataDefaults defaults = getRepository().getMetaDataFactory().
- getDefaults();
for (LifecycleCallbacks lc: callbacks) {
if (!(lc instanceof MethodLifecycleCallbacks))
continue;
@@ -854,9 +852,10 @@
Object[] args = new Object[]{method.getDeclaringClass()
.getName(), method.getName(), exists.getName(),
tag.toString()};
- if (defaults.getAllowsMultipleMethodsOnSameCallback()) {
- _log.warn(_loc.get("multiple-methods-on-callback",
- args));
+ PersistenceMetaDataDefaults defaults = getDefaults();
+ if (defaults == null ||
+ defaults.getAllowsMultipleMethodsOnSameCallback()) {
+ _log.warn(_loc.get("multiple-methods-on-callback", args));
} else {
throw new UserException(
_loc.get("multiple-methods-on-callback-error", args));
@@ -867,19 +866,27 @@
}
private boolean verifyHasNoArgConstructor(Class cls) {
- MetaDataDefaults defaults = getRepository().getMetaDataFactory().
- getDefaults();
try {
cls.getConstructor(new Class[]{});
return true;
} catch (Throwable t) {
+ PersistenceMetaDataDefaults defaults = getDefaults();
Message msg = _loc.get("missing-no-arg-constructor",
cls.getName());
- if (defaults.getAllowsMissingCallbackConstructor())
+ if (defaults == null ||
+ defaults.getAllowsMissingCallbackConstructor())
_log.warn(msg);
else
throw new UserException(msg, t);
}
return false;
+ }
+
+ private PersistenceMetaDataDefaults getDefaults() {
+ MetaDataDefaults defaults = getRepository().getMetaDataFactory().
+ getDefaults();
+ if (defaults instanceof PersistenceMetaDataDefaults)
+ return (PersistenceMetaDataDefaults)defaults;
+ return null;
}
/**
Modified:
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java?view=diff&rev=450731&r1=450730&r2=450731
==============================================================================
---
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java
(original)
+++
incubator/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java
Thu Sep 28 00:24:11 2006
@@ -57,10 +57,14 @@
*
* @author Patrick Linskey
* @author Abe White
+ * @nojavadoc
*/
-class PersistenceMetaDataDefaults
+public class PersistenceMetaDataDefaults
extends AbstractMetaDataDefaults {
+ private boolean _allowsMultipleMethodsOnSameCallback;
+ private boolean _allowsMissingCallbackConstructor;
+
private static Localizer _loc = Localizer.forPackage
(PersistenceMetaDataDefaults.class);
@@ -93,6 +97,8 @@
public PersistenceMetaDataDefaults() {
setCallbackMode(CALLBACK_RETHROW | CALLBACK_ROLLBACK |
CALLBACK_FAIL_FAST);
+ _allowsMultipleMethodsOnSameCallback = true;
+ _allowsMissingCallbackConstructor = true;
}
/**
@@ -265,4 +271,31 @@
return false;
return true;
}
+
+ /**
+ * Flags if multiple methods of the same class can handle the same
+ * callback event.
+ */
+ public boolean getAllowsMultipleMethodsOnSameCallback() {
+ return _allowsMultipleMethodsOnSameCallback;
+ }
+
+ public void setAllowsMultipleMethodsOnSameCallback(boolean flag) {
+ _allowsMultipleMethodsOnSameCallback = flag;
+ }
+
+ /**
+ * Flags if it allowed for the callback listener class not to have a
no-arg
+ * constructor.
+ */
+
+ public boolean getAllowsMissingCallbackConstructor() {
+ return _allowsMissingCallbackConstructor;
+ }
+
+ public void setAllowsMissingCallbackConstructor(boolean flag) {
+ _allowsMissingCallbackConstructor = flag;
+ }
+
+
}