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 2011/11/03 07:47:21 UTC
svn commit: r1196974 - in /cayenne/main/trunk: docs/doc/src/main/resources/
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/
Author: aadamchik
Date: Thu Nov 3 06:47:21 2011
New Revision: 1196974
URL: http://svn.apache.org/viewvc?rev=1196974&view=rev
Log:
CAY-1638 [PATCH] Can't disable validation for CayenneContext
patch by John Huss
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContext.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1196974&r1=1196973&r2=1196974&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Thu Nov 3 06:47:21 2011
@@ -17,6 +17,7 @@ CAY-1603 Improve custom ExtendedType reg
CAY-1608 Implement constructor injection support for DefaultAdhocObjectFactory
CAY-1618 Create database adapters instances with proper injection
CAY-1637 [PATCH] DataContextFactory is cumbersome to customize
+CAY-1638 [PATCH] Can't disable validation for CayenneContext
Bug Fixes Since 3.1M3:
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java?rev=1196974&r1=1196973&r2=1196974&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/BaseContext.java Thu Nov 3 06:47:21 2011
@@ -96,6 +96,8 @@ public abstract class BaseContext implem
protected transient DataChannel channel;
protected transient QueryCache queryCache;
protected transient EntityResolver entityResolver;
+
+ protected boolean validatingObjectsOnCommit = true;
/**
* Graph action that handles property changes
@@ -204,6 +206,26 @@ public abstract class BaseContext implem
}
/**
+ * Returns whether this ObjectContext performs object validation before commit is
+ * executed.
+ *
+ * @since 1.1
+ */
+ public boolean isValidatingObjectsOnCommit() {
+ return validatingObjectsOnCommit;
+ }
+
+ /**
+ * Sets the property defining whether this ObjectContext should perform object
+ * validation before commit is executed.
+ *
+ * @since 1.1
+ */
+ public void setValidatingObjectsOnCommit(boolean flag) {
+ this.validatingObjectsOnCommit = flag;
+ }
+
+ /**
* @since 3.1
*/
public <T> T localObject(T objectFromAnotherContext) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContext.java?rev=1196974&r1=1196973&r2=1196974&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContext.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContext.java Thu Nov 3 06:47:21 2011
@@ -132,7 +132,7 @@ public class CayenneContext extends Base
CayenneContextGraphManager internalGraphManager() {
return graphManager;
}
-
+
/**
* Commits changes to uncommitted objects. First checks if there are changes in this
* context and if any changes are detected, sends a commit message to remote Cayenne
@@ -155,28 +155,30 @@ public class CayenneContext extends Base
if (graphManager.hasChanges()) {
- ValidationResult result = new ValidationResult();
- Iterator<?> it = graphManager.dirtyNodes().iterator();
- while (it.hasNext()) {
- Persistent p = (Persistent) it.next();
- if (p instanceof Validating) {
- switch (p.getPersistenceState()) {
- case PersistenceState.NEW:
- ((Validating) p).validateForInsert(result);
- break;
- case PersistenceState.MODIFIED:
- ((Validating) p).validateForUpdate(result);
- break;
- case PersistenceState.DELETED:
- ((Validating) p).validateForDelete(result);
- break;
+ if (isValidatingObjectsOnCommit()) {
+ ValidationResult result = new ValidationResult();
+ Iterator<?> it = graphManager.dirtyNodes().iterator();
+ while (it.hasNext()) {
+ Persistent p = (Persistent) it.next();
+ if (p instanceof Validating) {
+ switch (p.getPersistenceState()) {
+ case PersistenceState.NEW:
+ ((Validating) p).validateForInsert(result);
+ break;
+ case PersistenceState.MODIFIED:
+ ((Validating) p).validateForUpdate(result);
+ break;
+ case PersistenceState.DELETED:
+ ((Validating) p).validateForDelete(result);
+ break;
+ }
}
}
- }
-
- if (result.hasFailures()) {
- throw new ValidationException(result);
- }
+
+ if (result.hasFailures()) {
+ throw new ValidationException(result);
+ }
+ }
graphManager.graphCommitStarted();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java?rev=1196974&r1=1196973&r2=1196974&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataContext.java Thu Nov 3 06:47:21 2011
@@ -76,7 +76,6 @@ public class DataContext extends BaseCon
private DataContextDelegate delegate;
protected boolean usingSharedSnaphsotCache;
- protected boolean validatingObjectsOnCommit;
protected ObjectStore objectStore;
protected transient DataContextMergeHandler mergeHandler;
@@ -1076,26 +1075,6 @@ public class DataContext extends BaseCon
this.usingSharedSnaphsotCache = flag;
}
- /**
- * Returns whether this DataContext performs object validation before commit is
- * executed.
- *
- * @since 1.1
- */
- public boolean isValidatingObjectsOnCommit() {
- return validatingObjectsOnCommit;
- }
-
- /**
- * Sets the property defining whether this DataContext should perform object
- * validation before commit is executed.
- *
- * @since 1.1
- */
- public void setValidatingObjectsOnCommit(boolean flag) {
- this.validatingObjectsOnCommit = flag;
- }
-
// ---------------------------------------------
// Serialization Support
// ---------------------------------------------