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 2016/11/27 13:42:23 UTC
[4/4] cayenne git commit: CAY-2146 Vertical inheritance: record still
inserted into parent db table when child validation fails
CAY-2146 Vertical inheritance: record still inserted into parent db table when child validation fails
* no changes; minor refactoring for clarity
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0e3a07c1
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0e3a07c1
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0e3a07c1
Branch: refs/heads/master
Commit: 0e3a07c1ec1f97938b7d0d9c67512dbd4a75f86c
Parents: b217313
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Sun Nov 27 16:36:44 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Sun Nov 27 16:36:44 2016 +0300
----------------------------------------------------------------------
.../org/apache/cayenne/CayenneDataObject.java | 29 +++++++++++---------
.../cayenne/access/VerticalInheritanceIT.java | 3 --
2 files changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0e3a07c1/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
index d61b33f..3b7a5be 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
@@ -19,17 +19,6 @@
package org.apache.cayenne;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbJoin;
import org.apache.cayenne.map.DbRelationship;
@@ -43,6 +32,17 @@ import org.apache.cayenne.validation.BeanValidationFailure;
import org.apache.cayenne.validation.ValidationFailure;
import org.apache.cayenne.validation.ValidationResult;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
/**
* A default implementation of DataObject interface. It is normally used as a
* superclass of Cayenne persistent objects.
@@ -663,8 +663,11 @@ public class CayenneDataObject extends PersistentObject implements DataObject, V
// skip db relationships that we can't validate or that can't be invalid here
// can't handle paths longer than two db relationships
// see ObjRelationship.recalculateReadOnlyValue() for more info
- if (dbRels.size() == 1 && relationship.isSourceIndependentFromTargetChange() ||
- dbRels.size() > 1 && (relationship.isToMany() || relationship.isReadOnly())) {
+ if (dbRels.size() == 1 && relationship.isSourceIndependentFromTargetChange()) {
+ continue;
+ }
+
+ if (dbRels.size() > 1 && (relationship.isToMany() || relationship.isReadOnly())) {
continue;
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0e3a07c1/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
index 5a1e957..6abf403 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
@@ -202,9 +202,6 @@ public class VerticalInheritanceIT extends ServerCase {
IvSub3 sub3 = context.newObject(IvSub3.class);
sub3.setName("XyZX");
context.commitChanges();
-
- assertEquals(1, ivRootTable.getRowCount());
- assertEquals(1, ivSub3Table.getRowCount());
}
/**