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(