You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2007/12/24 20:21:58 UTC

svn commit: r606727 - in /cayenne/main/trunk/framework: cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/ cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/

Author: aadamchik
Date: Mon Dec 24 11:21:56 2007
New Revision: 606727

URL: http://svn.apache.org/viewvc?rev=606727&view=rev
Log:
JPA: prevent runtime ObjRelationships, as those would require extra fields to be added via enhancement

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/RuntimeLoadDelegate.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java
    cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/Provider.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/RuntimeLoadDelegate.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/RuntimeLoadDelegate.java?rev=606727&r1=606726&r2=606727&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/RuntimeLoadDelegate.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/RuntimeLoadDelegate.java Mon Dec 24 11:21:56 2007
@@ -457,7 +457,8 @@
 
         // load missing relationships and update configuration object
         for (DataDomain domain : getDomains().values()) {
-            domain.getEntityResolver().updateDefaults();
+            domain.getEntityResolver().applyDBLayerDefaults();
+            domain.getEntityResolver().applyObjectLayerDefaults();
             config.addDomain(domain);
         }
 

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java?rev=606727&r1=606726&r2=606727&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java Mon Dec 24 11:21:56 2007
@@ -109,7 +109,7 @@
      * 
      * @since 3.0
      */
-    public void updateDefaults() {
+    public void applyDBLayerDefaults() {
 
         // connect DB layer
         for (DataMap map : getDataMaps()) {
@@ -137,6 +137,17 @@
                 }
             }
         }
+
+    }
+
+    /**
+     * Updates missing mapping artifacts that can be guessed from other mapping
+     * information. This implementation creates missing reverse relationships, marking
+     * newly created relationships as "runtime".
+     * 
+     * @since 3.0
+     */
+    public void applyObjectLayerDefaults() {
 
         // connect object layer
         for (DataMap map : getDataMaps()) {

Modified: cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/Provider.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/Provider.java?rev=606727&r1=606726&r2=606727&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/Provider.java (original)
+++ cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/Provider.java Mon Dec 24 11:21:56 2007
@@ -274,7 +274,10 @@
             node.addDataMap(cayenneMap);
 
             domain.addNode(node);
-            domain.getEntityResolver().updateDefaults();
+
+            // note that for now we do not apply object layer defaults, as that would
+            // require extra enhancement for runtime relationships...
+            domain.getEntityResolver().applyDBLayerDefaults();
             domain.setUsingExternalTransactions(isJTA);
 
             if ("true".equalsIgnoreCase(unit.getProperties().getProperty(