diff options
author | Henri Sara <hesara@vaadin.com> | 2011-11-08 11:24:12 +0200 |
---|---|---|
committer | Henri Sara <hesara@vaadin.com> | 2011-11-08 11:24:12 +0200 |
commit | a61302616430cbbfc97cbdbb85fe294842b3409c (patch) | |
tree | dcca942cdad8fc09680effc7269819faea75a6e1 | |
parent | b2f5e652227dd4468622b092a8197afa8ee9b65f (diff) | |
download | vaadin-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.
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())); } |