aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenri Sara <hesara@vaadin.com>2011-11-08 11:24:12 +0200
committerHenri Sara <hesara@vaadin.com>2011-11-08 11:24:12 +0200
commita61302616430cbbfc97cbdbb85fe294842b3409c (patch)
treedcca942cdad8fc09680effc7269819faea75a6e1
parentb2f5e652227dd4468622b092a8197afa8ee9b65f (diff)
downloadvaadin-framework-a61302616430cbbfc97cbdbb85fe294842b3409c.tar.gz
vaadin-framework-a61302616430cbbfc97cbdbb85fe294842b3409c.zip
Eliminate more cases that used Property.toString().
Remaining possibly problematic cases include Label.compareTo(), TestForPreconfiguredComponents and TestForTrees.
-rw-r--r--src/com/vaadin/data/util/IndexedContainer.java7
-rw-r--r--src/com/vaadin/ui/AbstractField.java8
-rw-r--r--src/com/vaadin/ui/AbstractSelect.java5
-rw-r--r--src/com/vaadin/ui/Label.java14
-rw-r--r--tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java2
-rw-r--r--tests/testbench/com/vaadin/tests/TestForTrees.java2
-rw-r--r--tests/testbench/com/vaadin/tests/components/textfield/TextChangeEventsWithNonImmediateValueChange.java3
-rw-r--r--tests/testbench/com/vaadin/tests/components/tree/TreeFocusGaining.java4
-rw-r--r--tests/testbench/com/vaadin/tests/dd/DDTest2.java19
-rw-r--r--tests/testbench/com/vaadin/tests/tickets/Ticket2053.java1
10 files changed, 36 insertions, 29 deletions
diff --git a/src/com/vaadin/data/util/IndexedContainer.java b/src/com/vaadin/data/util/IndexedContainer.java
index c9499d4aa8..a6e03970cc 100644
--- a/src/com/vaadin/data/util/IndexedContainer.java
+++ b/src/com/vaadin/data/util/IndexedContainer.java
@@ -691,8 +691,8 @@ public class IndexedContainer extends
/**
* Gets the <code>String</code> representation of the contents of the
* Item. The format of the string is a space separated catenation of the
- * <code>String</code> representations of the Properties contained by
- * the Item.
+ * <code>String</code> representations of the values of the Properties
+ * contained by the Item.
*
* @return <code>String</code> representation of the Item contents
*/
@@ -702,8 +702,7 @@ public class IndexedContainer extends
for (final Iterator<?> i = propertyIds.iterator(); i.hasNext();) {
final Object propertyId = i.next();
- // TODO do not use Property.toString()
- retValue += getItemProperty(propertyId).toString();
+ retValue += getItemProperty(propertyId).getValue();
if (i.hasNext()) {
retValue += " ";
}
diff --git a/src/com/vaadin/ui/AbstractField.java b/src/com/vaadin/ui/AbstractField.java
index 007f851a72..7b686fd397 100644
--- a/src/com/vaadin/ui/AbstractField.java
+++ b/src/com/vaadin/ui/AbstractField.java
@@ -299,7 +299,7 @@ public abstract class AbstractField extends AbstractComponent implements Field,
// Discards buffer by overwriting from datasource
newValue = dataSource.getValue();
- if (String.class == getType()) {
+ if (String.class == getType() && newValue != null) {
newValue = newValue.toString();
}
@@ -390,7 +390,7 @@ public abstract class AbstractField extends AbstractComponent implements Field,
readThroughMode = readThrough;
if (!isModified() && readThroughMode && dataSource != null) {
Object newValue = dataSource.getValue();
- if (String.class == getType()) {
+ if (String.class == getType() && newValue != null) {
newValue = newValue.toString();
}
setInternalValue(newValue);
@@ -468,7 +468,7 @@ public abstract class AbstractField extends AbstractComponent implements Field,
}
Object result = dataSource.getValue();
- if (String.class == getType()) {
+ if (String.class == getType() && result != null) {
result = result.toString();
}
return result;
@@ -640,7 +640,7 @@ public abstract class AbstractField extends AbstractComponent implements Field,
try {
if (dataSource != null) {
Object newValue = dataSource.getValue();
- if (String.class == getType()) {
+ if (String.class == getType() && newValue != null) {
newValue = newValue.toString();
}
setInternalValue(newValue);
diff --git a/src/com/vaadin/ui/AbstractSelect.java b/src/com/vaadin/ui/AbstractSelect.java
index 646d898a54..eaac3bb4c5 100644
--- a/src/com/vaadin/ui/AbstractSelect.java
+++ b/src/com/vaadin/ui/AbstractSelect.java
@@ -1080,7 +1080,10 @@ public abstract class AbstractSelect extends AbstractField implements
final Property p = getContainerProperty(itemId,
getItemCaptionPropertyId());
if (p != null) {
- caption = p.toString();
+ Object value = p.getValue();
+ if (value != null) {
+ caption = value.toString();
+ }
}
break;
}
diff --git a/src/com/vaadin/ui/Label.java b/src/com/vaadin/ui/Label.java
index c7504230e3..1249f20a62 100644
--- a/src/com/vaadin/ui/Label.java
+++ b/src/com/vaadin/ui/Label.java
@@ -257,16 +257,22 @@ public class Label extends AbstractComponent implements Property,
}
/**
- * TODO temporary method to help eliminate the use of toString()
+ * Returns the value of the <code>Property</code> in human readable textual
+ * format.
*
- * @return
+ * This method exists to help migration from previous Vaadin versions by
+ * providing a simple replacement for {@link #toString()}. However, it is
+ * normally better to use the value of the label directly.
+ *
+ * @return String representation of the value stored in the Property
+ * @since 7.0
*/
public String getStringValue() {
if (dataSource == null) {
throw new IllegalStateException(DATASOURCE_MUST_BE_SET);
}
- // TODO do not use Property.toString()
- return dataSource.toString();
+ Object value = dataSource.getValue();
+ return (null != value) ? value.toString() : null;
}
/**
diff --git a/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java b/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java
index 1c7a9e6c64..caea457ccd 100644
--- a/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java
+++ b/tests/testbench/com/vaadin/tests/TestForPreconfiguredComponents.java
@@ -160,7 +160,7 @@ public class TestForPreconfiguredComponents extends CustomComponent implements
t.addListener(new Listener() {
public void componentEvent(Event event) {
status.addComponent(new Label(event.getClass().getName()));
- // TODO should not use Property.toString()
+ // TODO should not use Field.toString()
status.addComponent(new Label("selected: "
+ event.getSource().toString()));
}
diff --git a/tests/testbench/com/vaadin/tests/TestForTrees.java b/tests/testbench/com/vaadin/tests/TestForTrees.java
index dc9cb66f0e..c5f66a2b00 100644
--- a/tests/testbench/com/vaadin/tests/TestForTrees.java
+++ b/tests/testbench/com/vaadin/tests/TestForTrees.java
@@ -142,7 +142,7 @@ public class TestForTrees extends CustomComponent implements Handler {
t.addListener(new Listener() {
public void componentEvent(Event event) {
status.addComponent(new Label(event.getClass().getName()));
- // TODO should not use Property.toString()
+ // TODO should not use Field.toString()
status.addComponent(new Label("selected: "
+ event.getSource().toString()));
}
diff --git a/tests/testbench/com/vaadin/tests/components/textfield/TextChangeEventsWithNonImmediateValueChange.java b/tests/testbench/com/vaadin/tests/components/textfield/TextChangeEventsWithNonImmediateValueChange.java
index 051f509885..f44527bc1c 100644
--- a/tests/testbench/com/vaadin/tests/components/textfield/TextChangeEventsWithNonImmediateValueChange.java
+++ b/tests/testbench/com/vaadin/tests/components/textfield/TextChangeEventsWithNonImmediateValueChange.java
@@ -33,8 +33,7 @@ public class TextChangeEventsWithNonImmediateValueChange extends TestBase {
tf.addListener(new ValueChangeListener() {
public void valueChange(ValueChangeEvent event) {
- // TODO should not use Property.toString()
- l.log("Value change:" + event.getProperty().toString());
+ l.log("Value change:" + event.getProperty().getValue());
}
});
diff --git a/tests/testbench/com/vaadin/tests/components/tree/TreeFocusGaining.java b/tests/testbench/com/vaadin/tests/components/tree/TreeFocusGaining.java
index e784009bce..87170214ca 100644
--- a/tests/testbench/com/vaadin/tests/components/tree/TreeFocusGaining.java
+++ b/tests/testbench/com/vaadin/tests/components/tree/TreeFocusGaining.java
@@ -21,7 +21,7 @@ public class TreeFocusGaining extends TestBase {
textField.addListener(new Property.ValueChangeListener() {
public void valueChange(ValueChangeEvent event) {
- log.log("TF value now:" + event.getProperty());
+ log.log("TF value now:" + event.getProperty().getValue());
}
});
@@ -31,7 +31,7 @@ public class TreeFocusGaining extends TestBase {
tree.addListener(new Property.ValueChangeListener() {
public void valueChange(ValueChangeEvent event) {
- log.log("Tree value now:" + event.getProperty());
+ log.log("Tree value now:" + event.getProperty().getValue());
}
});
tree.setImmediate(true);
diff --git a/tests/testbench/com/vaadin/tests/dd/DDTest2.java b/tests/testbench/com/vaadin/tests/dd/DDTest2.java
index 60d4addd24..961a60f776 100644
--- a/tests/testbench/com/vaadin/tests/dd/DDTest2.java
+++ b/tests/testbench/com/vaadin/tests/dd/DDTest2.java
@@ -94,13 +94,13 @@ public class DDTest2 extends TestBase {
if (transferable instanceof TableTransferable) {
TableTransferable tr = (TableTransferable) transferable;
System.out.println("From table row" + tr.getPropertyId());
- // TODO should not use Property.toString()
- data = tr.getSourceContainer().getItem(tr.getItemId())
- .getItemProperty(tr.getPropertyId()).toString();
-
+ Object value = tr.getSourceContainer()
+ .getItem(tr.getItemId())
+ .getItemProperty(tr.getPropertyId()).getValue();
+ data = (null != value) ? value.toString() : null;
}
if (data == null) {
- data = "-no Text data flawor-";
+ data = "-no Text data flavor-";
}
tree3.addItem(data);
AbstractSelect.AbstractSelectTargetDetails dropTargetData = (AbstractSelect.AbstractSelectTargetDetails) dropEvent
@@ -138,7 +138,7 @@ public class DDTest2 extends TestBase {
public void drop(DragAndDropEvent event) {
/*
* We know transferrable is from table, so it is of type
- * DataBindedTransferrable
+ * DataBoundTransferrable
*/
DataBoundTransferable tr = (DataBoundTransferable) event
.getTransferable();
@@ -148,9 +148,10 @@ public class DDTest2 extends TestBase {
// if the source is from table (not from tree1 itself),
// transfer Name property and use it as an identifier in
// tree1
- // TODO should not use Property.toString()
- String name = sourceContainer.getItem(itemId)
- .getItemProperty("Name").toString();
+ Object nameValue = sourceContainer.getItem(itemId)
+ .getItemProperty("Name").getValue();
+ String name = (null != nameValue) ? nameValue.toString()
+ : null;
tree1.addItem(name);
tree1.setChildrenAllowed(name, false);
diff --git a/tests/testbench/com/vaadin/tests/tickets/Ticket2053.java b/tests/testbench/com/vaadin/tests/tickets/Ticket2053.java
index cb1776e06f..5b83c3033b 100644
--- a/tests/testbench/com/vaadin/tests/tickets/Ticket2053.java
+++ b/tests/testbench/com/vaadin/tests/tickets/Ticket2053.java
@@ -41,7 +41,6 @@ public class Ticket2053 extends Application {
c.addComponent(tf);
tf.addListener(new Property.ValueChangeListener() {
public void valueChange(ValueChangeEvent event) {
- // TODO should not use Property.toString()
main.addComponent(new Label(name + " send text:"
+ tf.getStringValue()));
}