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;
+    }
+    
+    
 }


Reply via email to