summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/data
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2014-02-12 15:49:31 +0200
committerLeif Åstrand <leif@vaadin.com>2014-02-12 15:49:49 +0200
commit42f2387165471d08bbd24d4c3ae4a271d2cda4c5 (patch)
tree4418a7610edf326d308f65ee0d79d4d09c341a93 /server/src/com/vaadin/data
parent50381a619458017d69b044435a22fae457a5d4c1 (diff)
parent40e07d0172532ebf5750b8c2aab5ec892e42cdab (diff)
downloadvaadin-framework-42f2387165471d08bbd24d4c3ae4a271d2cda4c5.tar.gz
vaadin-framework-42f2387165471d08bbd24d4c3ae4a271d2cda4c5.zip
Merge remote-tracking branch 'origin/master' into grid
Change-Id: I8f1f412eeb450688bba58b715eba6db9e4ae43ae
Diffstat (limited to 'server/src/com/vaadin/data')
-rw-r--r--server/src/com/vaadin/data/Buffered.java58
-rw-r--r--server/src/com/vaadin/data/fieldgroup/FieldGroup.java6
-rw-r--r--server/src/com/vaadin/data/util/filter/Between.java4
-rw-r--r--server/src/com/vaadin/data/util/filter/Compare.java3
-rw-r--r--server/src/com/vaadin/data/util/filter/IsNull.java4
-rw-r--r--server/src/com/vaadin/data/util/filter/Like.java4
-rw-r--r--server/src/com/vaadin/data/util/filter/SimpleStringFilter.java3
7 files changed, 36 insertions, 46 deletions
diff --git a/server/src/com/vaadin/data/Buffered.java b/server/src/com/vaadin/data/Buffered.java
index 0d6722f71f..c4c79ae13f 100644
--- a/server/src/com/vaadin/data/Buffered.java
+++ b/server/src/com/vaadin/data/Buffered.java
@@ -23,29 +23,20 @@ import com.vaadin.data.Validator.InvalidValueException;
/**
* <p>
* Defines the interface to commit and discard changes to an object, supporting
- * read-through and write-through modes.
- * </p>
+ * buffering.
*
* <p>
- * <i>Read-through mode</i> means that the value read from the buffered object
- * is constantly up to date with the data source. <i>Write-through</i> mode
- * means that all changes to the object are immediately updated to the data
- * source.
- * </p>
+ * In <i>buffered</i> mode the initial value is read from the data source and
+ * then buffered. Any subsequential writes or reads will be done on the buffered
+ * value. Calling {@link #commit()} will write the buffered value to the data
+ * source while calling {@link #discard()} while discard the buffered value and
+ * re-read the value from the data source.
*
* <p>
- * Since these modes are independent, their combinations may result in some
- * behaviour that may sound surprising.
- * </p>
- *
- * <p>
- * For example, if a <code>Buffered</code> object is in read-through mode but
- * not in write-through mode, the result is an object whose value is updated
- * directly from the data source only if it's not locally modified. If the value
- * is locally modified, retrieving the value from the object would result in a
- * value that is different than the one stored in the data source, even though
- * the object is in read-through mode.
- * </p>
+ * In <i>non-buffered</i> mode the value is always read directly from the data
+ * source. Any write is done directly to the data source with no buffering in
+ * between. Reads are also done directly from the data source. Calling
+ * {@link #commit()} or {@link #discard()} in this mode is efficiently a no-op.
*
* @author Vaadin Ltd.
* @since 3.0
@@ -77,25 +68,15 @@ public interface Buffered extends Serializable {
public void discard() throws SourceException;
/**
- * Sets the object's buffered mode to the specified status.
+ * Sets the buffered mode to the specified status.
* <p>
- * When the object is in buffered mode, an internal buffer will be used to
- * store changes until {@link #commit()} is called. Calling
- * {@link #discard()} will revert the internal buffer to the value of the
- * data source.
- * </p>
+ * When in buffered mode, an internal buffer will be used to store changes
+ * until {@link #commit()} is called. Calling {@link #discard()} will revert
+ * the internal buffer to the value of the data source.
* <p>
- * This is an easier way to use {@link #setReadThrough(boolean)} and
- * {@link #setWriteThrough(boolean)} and not as error prone. Changing
- * buffered mode will change both the read through and write through state
- * of the object.
- * </p>
- * <p>
- * Mixing calls to {@link #setBuffered(boolean)}/{@link #isBuffered()} and
- * {@link #setReadThrough(boolean)}/{@link #isReadThrough()} or
- * {@link #setWriteThrough(boolean)}/{@link #isWriteThrough()} is generally
- * a bad idea.
- * </p>
+ * When in non-buffered mode both read and write operations will be done
+ * directly on the data source. In this mode the {@link #commit()} and
+ * {@link #discard()} methods serve no purpose.
*
* @param buffered
* true if buffered mode should be turned on, false otherwise
@@ -104,10 +85,7 @@ public interface Buffered extends Serializable {
public void setBuffered(boolean buffered);
/**
- * Checks the buffered mode of this Object.
- * <p>
- * This method only returns true if both read and write buffering is used.
- * </p>
+ * Checks the buffered mode
*
* @return true if buffered mode is on, false otherwise
* @since 7.0
diff --git a/server/src/com/vaadin/data/fieldgroup/FieldGroup.java b/server/src/com/vaadin/data/fieldgroup/FieldGroup.java
index 23f2da53ce..7edcc9719c 100644
--- a/server/src/com/vaadin/data/fieldgroup/FieldGroup.java
+++ b/server/src/com/vaadin/data/fieldgroup/FieldGroup.java
@@ -23,7 +23,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
-import java.util.logging.Logger;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
@@ -55,9 +54,6 @@ import com.vaadin.util.ReflectTools;
*/
public class FieldGroup implements Serializable {
- private static final Logger logger = Logger.getLogger(FieldGroup.class
- .getName());
-
private Item itemDataSource;
private boolean buffered = true;
@@ -1013,9 +1009,7 @@ public class FieldGroup implements Serializable {
*/
public Field<?> buildAndBind(String caption, Object propertyId)
throws BindException {
- Class<?> type = getPropertyType(propertyId);
return buildAndBind(caption, propertyId, Field.class);
-
}
/**
diff --git a/server/src/com/vaadin/data/util/filter/Between.java b/server/src/com/vaadin/data/util/filter/Between.java
index 8209f7b0a2..a76821981a 100644
--- a/server/src/com/vaadin/data/util/filter/Between.java
+++ b/server/src/com/vaadin/data/util/filter/Between.java
@@ -67,6 +67,10 @@ public class Between implements Filter {
@Override
public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+
// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
return false;
diff --git a/server/src/com/vaadin/data/util/filter/Compare.java b/server/src/com/vaadin/data/util/filter/Compare.java
index f9f19c6602..ac167673bd 100644
--- a/server/src/com/vaadin/data/util/filter/Compare.java
+++ b/server/src/com/vaadin/data/util/filter/Compare.java
@@ -307,6 +307,9 @@ public abstract class Compare implements Filter {
@Override
public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
diff --git a/server/src/com/vaadin/data/util/filter/IsNull.java b/server/src/com/vaadin/data/util/filter/IsNull.java
index 5c5bdfc0b1..6907a016a1 100644
--- a/server/src/com/vaadin/data/util/filter/IsNull.java
+++ b/server/src/com/vaadin/data/util/filter/IsNull.java
@@ -62,6 +62,10 @@ public final class IsNull implements Filter {
@Override
public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+
// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
return false;
diff --git a/server/src/com/vaadin/data/util/filter/Like.java b/server/src/com/vaadin/data/util/filter/Like.java
index 4c15564105..dc2e18363a 100644
--- a/server/src/com/vaadin/data/util/filter/Like.java
+++ b/server/src/com/vaadin/data/util/filter/Like.java
@@ -84,6 +84,10 @@ public class Like implements Filter {
@Override
public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+
// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
return false;
diff --git a/server/src/com/vaadin/data/util/filter/SimpleStringFilter.java b/server/src/com/vaadin/data/util/filter/SimpleStringFilter.java
index bc58999445..a214e69846 100644
--- a/server/src/com/vaadin/data/util/filter/SimpleStringFilter.java
+++ b/server/src/com/vaadin/data/util/filter/SimpleStringFilter.java
@@ -82,6 +82,9 @@ public final class SimpleStringFilter implements Filter {
@Override
public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
// Only ones of the objects of the same class can be equal
if (!(obj instanceof SimpleStringFilter)) {