summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorHenri Sara <hesara@vaadin.com>2016-08-09 15:11:02 +0300
committerHenri Sara <hesara@vaadin.com>2016-08-11 15:45:59 +0300
commit5c852b41ff22409e9f69d634f2de5df69b7815c0 (patch)
tree3359f91fe33d3d7cecfb35a9cf29e6d92b663188 /server
parentc726ae1b276049282286db3b0934e90ac8d8a2ce (diff)
downloadvaadin-framework-5c852b41ff22409e9f69d634f2de5df69b7815c0.tar.gz
vaadin-framework-5c852b41ff22409e9f69d634f2de5df69b7815c0.zip
Convert CheckBox from legacy to AbstractField
Add LegacyCheckBox for old field factories, Grid editor etc. Change-Id: Ic40790049421268c6de3d26730d1955d56aa86c4
Diffstat (limited to 'server')
-rw-r--r--server/src/main/java/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java8
-rw-r--r--server/src/main/java/com/vaadin/legacy/ui/LegacyCheckBox.java268
-rw-r--r--server/src/main/java/com/vaadin/ui/CheckBox.java134
-rw-r--r--server/src/main/java/com/vaadin/ui/DefaultFieldFactory.java3
-rw-r--r--server/src/main/java/com/vaadin/ui/Grid.java3
-rw-r--r--server/src/test/java/com/vaadin/tests/server/component/AbstractListenerMethodsTestBase.java36
-rw-r--r--server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbsFieldValueConversionsTest.java63
-rw-r--r--server/src/test/java/com/vaadin/tests/server/component/abstractfield/LegacyAbstractFieldListenersTest.java (renamed from server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbstractFieldListenersTest.java)8
-rw-r--r--server/src/test/java/com/vaadin/ui/CheckBoxTest.java35
9 files changed, 352 insertions, 206 deletions
diff --git a/server/src/main/java/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java b/server/src/main/java/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java
index 27f4628bae..a82da7ef51 100644
--- a/server/src/main/java/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java
+++ b/server/src/main/java/com/vaadin/data/fieldgroup/DefaultFieldGroupFieldFactory.java
@@ -20,11 +20,11 @@ import java.util.EnumSet;
import com.vaadin.data.Item;
import com.vaadin.data.fieldgroup.FieldGroup.BindException;
-import com.vaadin.legacy.ui.LegacyField;
import com.vaadin.legacy.ui.LegacyAbstractField;
+import com.vaadin.legacy.ui.LegacyCheckBox;
+import com.vaadin.legacy.ui.LegacyField;
import com.vaadin.ui.AbstractSelect;
import com.vaadin.ui.AbstractTextField;
-import com.vaadin.ui.CheckBox;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.DateField;
import com.vaadin.ui.InlineDateField;
@@ -174,8 +174,8 @@ public class DefaultFieldGroupFieldFactory implements FieldGroupFieldFactory {
}
protected <T extends LegacyField> T createBooleanField(Class<T> fieldType) {
- if (fieldType.isAssignableFrom(CheckBox.class)) {
- CheckBox cb = new CheckBox(null);
+ if (fieldType.isAssignableFrom(LegacyCheckBox.class)) {
+ LegacyCheckBox cb = new LegacyCheckBox(null);
cb.setImmediate(true);
return (T) cb;
} else if (AbstractTextField.class.isAssignableFrom(fieldType)) {
diff --git a/server/src/main/java/com/vaadin/legacy/ui/LegacyCheckBox.java b/server/src/main/java/com/vaadin/legacy/ui/LegacyCheckBox.java
new file mode 100644
index 0000000000..baa98a4c19
--- /dev/null
+++ b/server/src/main/java/com/vaadin/legacy/ui/LegacyCheckBox.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.vaadin.legacy.ui;
+
+import java.util.Collection;
+
+import org.jsoup.nodes.Attributes;
+import org.jsoup.nodes.Element;
+
+import com.vaadin.data.Property;
+import com.vaadin.event.FieldEvents.BlurEvent;
+import com.vaadin.event.FieldEvents.BlurListener;
+import com.vaadin.event.FieldEvents.FocusAndBlurServerRpcImpl;
+import com.vaadin.event.FieldEvents.FocusEvent;
+import com.vaadin.event.FieldEvents.FocusListener;
+import com.vaadin.shared.MouseEventDetails;
+import com.vaadin.shared.ui.checkbox.CheckBoxServerRpc;
+import com.vaadin.shared.ui.checkbox.CheckBoxState;
+import com.vaadin.ui.declarative.DesignAttributeHandler;
+import com.vaadin.ui.declarative.DesignContext;
+
+public class LegacyCheckBox extends LegacyAbstractField<Boolean> {
+
+ private CheckBoxServerRpc rpc = new CheckBoxServerRpc() {
+
+ @Override
+ public void setChecked(boolean checked,
+ MouseEventDetails mouseEventDetails) {
+ if (isReadOnly()) {
+ return;
+ }
+
+ /*
+ * Client side updates the state before sending the event so we need
+ * to make sure the cached state is updated to match the client. If
+ * we do not do this, a reverting setValue() call in a listener will
+ * not cause the new state to be sent to the client.
+ *
+ * See #11028, #10030.
+ */
+ getUI().getConnectorTracker().getDiffState(LegacyCheckBox.this)
+ .put("checked", checked);
+
+ final Boolean oldValue = getValue();
+ final Boolean newValue = checked;
+
+ if (!newValue.equals(oldValue)) {
+ // The event is only sent if the switch state is changed
+ setValue(newValue);
+ }
+
+ }
+ };
+
+ FocusAndBlurServerRpcImpl focusBlurRpc = new FocusAndBlurServerRpcImpl(this) {
+ @Override
+ protected void fireEvent(Event event) {
+ LegacyCheckBox.this.fireEvent(event);
+ }
+ };
+
+ /**
+ * Creates a new checkbox.
+ */
+ public LegacyCheckBox() {
+ registerRpc(rpc);
+ registerRpc(focusBlurRpc);
+ setValue(Boolean.FALSE);
+ }
+
+ /**
+ * Creates a new checkbox with a set caption.
+ *
+ * @param caption
+ * the Checkbox caption.
+ */
+ public LegacyCheckBox(String caption) {
+ this();
+ setCaption(caption);
+ }
+
+ /**
+ * Creates a new checkbox with a caption and a set initial state.
+ *
+ * @param caption
+ * the caption of the checkbox
+ * @param initialState
+ * the initial state of the checkbox
+ */
+ public LegacyCheckBox(String caption, boolean initialState) {
+ this(caption);
+ setValue(initialState);
+ }
+
+ /**
+ * Creates a new checkbox that is connected to a boolean property.
+ *
+ * @param state
+ * the Initial state of the switch-button.
+ * @param dataSource
+ */
+ public LegacyCheckBox(String caption, Property<?> dataSource) {
+ this(caption);
+ setPropertyDataSource(dataSource);
+ }
+
+ @Override
+ public Class<Boolean> getType() {
+ return Boolean.class;
+ }
+
+ @Override
+ protected CheckBoxState getState() {
+ return (CheckBoxState) super.getState();
+ }
+
+ /*
+ * Overridden to keep the shared state in sync with the LegacyAbstractField
+ * internal value. Should be removed once LegacyAbstractField is refactored to use
+ * shared state.
+ *
+ * See tickets #10921 and #11064.
+ */
+ @Override
+ protected void setInternalValue(Boolean newValue) {
+ super.setInternalValue(newValue);
+ if (newValue == null) {
+ newValue = false;
+ }
+ getState().checked = newValue;
+ }
+
+ public void addBlurListener(BlurListener listener) {
+ addListener(BlurEvent.EVENT_ID, BlurEvent.class, listener,
+ BlurListener.blurMethod);
+ }
+
+ /**
+ * @deprecated As of 7.0, replaced by {@link #addBlurListener(BlurListener)}
+ **/
+ @Deprecated
+ public void addListener(BlurListener listener) {
+ addBlurListener(listener);
+ }
+
+ public void removeBlurListener(BlurListener listener) {
+ removeListener(BlurEvent.EVENT_ID, BlurEvent.class, listener);
+ }
+
+ /**
+ * @deprecated As of 7.0, replaced by
+ * {@link #removeBlurListener(BlurListener)}
+ **/
+ @Deprecated
+ public void removeListener(BlurListener listener) {
+ removeBlurListener(listener);
+ }
+
+ public void addFocusListener(FocusListener listener) {
+ addListener(FocusEvent.EVENT_ID, FocusEvent.class, listener,
+ FocusListener.focusMethod);
+ }
+
+ /**
+ * @deprecated As of 7.0, replaced by
+ * {@link #addFocusListener(FocusListener)}
+ **/
+ @Deprecated
+ public void addListener(FocusListener listener) {
+ addFocusListener(listener);
+ }
+
+ public void removeFocusListener(FocusListener listener) {
+ removeListener(FocusEvent.EVENT_ID, FocusEvent.class, listener);
+ }
+
+ /**
+ * @deprecated As of 7.0, replaced by
+ * {@link #removeFocusListener(FocusListener)}
+ **/
+ @Deprecated
+ public void removeListener(FocusListener listener) {
+ removeFocusListener(listener);
+ }
+
+ /**
+ * Get the boolean value of the button state.
+ *
+ * @return True iff the button is pressed down or checked.
+ *
+ * @deprecated As of 7.0, use {@link #getValue()} instead and, if needed,
+ * handle null values.
+ */
+ @Deprecated
+ public boolean booleanValue() {
+ Boolean value = getValue();
+ return (null == value) ? false : value.booleanValue();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.AbstractField#readDesign(org.jsoup.nodes.Element,
+ * com.vaadin.ui.declarative.DesignContext)
+ */
+ @Override
+ public void readDesign(Element design, DesignContext designContext) {
+ super.readDesign(design, designContext);
+ if (design.hasAttr("checked")) {
+ this.setValue(
+ DesignAttributeHandler.readAttribute("checked",
+ design.attributes(), Boolean.class), false, true);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.AbstractField#getCustomAttributes()
+ */
+ @Override
+ protected Collection<String> getCustomAttributes() {
+ Collection<String> attributes = super.getCustomAttributes();
+ attributes.add("checked");
+ return attributes;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.AbstractField#writeDesign(org.jsoup.nodes.Element,
+ * com.vaadin.ui.declarative.DesignContext)
+ */
+ @Override
+ public void writeDesign(Element design, DesignContext designContext) {
+ super.writeDesign(design, designContext);
+ LegacyCheckBox def = (LegacyCheckBox) designContext.getDefaultInstance(this);
+ Attributes attr = design.attributes();
+ DesignAttributeHandler.writeAttribute("checked", attr, getValue(),
+ def.getValue(), Boolean.class);
+ }
+
+ @Override
+ public void clear() {
+ setValue(Boolean.FALSE);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return getValue() == null || getValue().equals(Boolean.FALSE);
+
+ }
+
+}
diff --git a/server/src/main/java/com/vaadin/ui/CheckBox.java b/server/src/main/java/com/vaadin/ui/CheckBox.java
index e9e9b0d4b9..1519c64955 100644
--- a/server/src/main/java/com/vaadin/ui/CheckBox.java
+++ b/server/src/main/java/com/vaadin/ui/CheckBox.java
@@ -1,12 +1,12 @@
/*
* Copyright 2000-2014 Vaadin Ltd.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -21,20 +21,18 @@ import java.util.Collection;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Element;
-import com.vaadin.data.Property;
import com.vaadin.event.FieldEvents.BlurEvent;
import com.vaadin.event.FieldEvents.BlurListener;
import com.vaadin.event.FieldEvents.FocusAndBlurServerRpcImpl;
import com.vaadin.event.FieldEvents.FocusEvent;
import com.vaadin.event.FieldEvents.FocusListener;
-import com.vaadin.legacy.ui.LegacyAbstractField;
import com.vaadin.shared.MouseEventDetails;
import com.vaadin.shared.ui.checkbox.CheckBoxServerRpc;
import com.vaadin.shared.ui.checkbox.CheckBoxState;
import com.vaadin.ui.declarative.DesignAttributeHandler;
import com.vaadin.ui.declarative.DesignContext;
-public class CheckBox extends LegacyAbstractField<Boolean> {
+public class CheckBox extends AbstractField<Boolean> {
private CheckBoxServerRpc rpc = new CheckBoxServerRpc() {
@@ -50,7 +48,7 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
* to make sure the cached state is updated to match the client. If
* we do not do this, a reverting setValue() call in a listener will
* not cause the new state to be sent to the client.
- *
+ *
* See #11028, #10030.
*/
getUI().getConnectorTracker().getDiffState(CheckBox.this)
@@ -85,7 +83,7 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
/**
* Creates a new checkbox with a set caption.
- *
+ *
* @param caption
* the Checkbox caption.
*/
@@ -96,7 +94,7 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
/**
* Creates a new checkbox with a caption and a set initial state.
- *
+ *
* @param caption
* the caption of the checkbox
* @param initialState
@@ -107,21 +105,27 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
setValue(initialState);
}
- /**
- * Creates a new checkbox that is connected to a boolean property.
- *
- * @param state
- * the Initial state of the switch-button.
- * @param dataSource
- */
- public CheckBox(String caption, Property<?> dataSource) {
- this(caption);
- setPropertyDataSource(dataSource);
+ @Override
+ public Boolean getValue() {
+ return getState(false).checked;
}
+ /**
+ * Sets the value of this ComboBox. If the new value is not equal to
+ * {@code getValue()}, fires a value change event. Throws
+ * {@code IllegalArgumentException} if the value is null.
+ *
+ * @param value
+ * the new value
+ * @throws IllegalArgumentException
+ * if the value is null
+ */
@Override
- public Class<Boolean> getType() {
- return Boolean.class;
+ public void setValue(Boolean value) {
+ if (value == null) {
+ throw new IllegalArgumentException("CheckBox value must not be null");
+ }
+ super.setValue(value);
}
@Override
@@ -129,20 +133,14 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
return (CheckBoxState) super.getState();
}
- /*
- * Overridden to keep the shared state in sync with the LegacyAbstractField
- * internal value. Should be removed once LegacyAbstractField is refactored to use
- * shared state.
- *
- * See tickets #10921 and #11064.
- */
@Override
- protected void setInternalValue(Boolean newValue) {
- super.setInternalValue(newValue);
- if (newValue == null) {
- newValue = false;
- }
- getState().checked = newValue;
+ protected CheckBoxState getState(boolean markAsDirty) {
+ return (CheckBoxState) super.getState(markAsDirty);
+ }
+
+ @Override
+ protected void doSetValue(Boolean value) {
+ getState().checked = value;
}
public void addBlurListener(BlurListener listener) {
@@ -150,71 +148,22 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
BlurListener.blurMethod);
}
- /**
- * @deprecated As of 7.0, replaced by {@link #addBlurListener(BlurListener)}
- **/
- @Deprecated
- public void addListener(BlurListener listener) {
- addBlurListener(listener);
- }
-
public void removeBlurListener(BlurListener listener) {
removeListener(BlurEvent.EVENT_ID, BlurEvent.class, listener);
}
- /**
- * @deprecated As of 7.0, replaced by
- * {@link #removeBlurListener(BlurListener)}
- **/
- @Deprecated
- public void removeListener(BlurListener listener) {
- removeBlurListener(listener);
- }
-
public void addFocusListener(FocusListener listener) {
addListener(FocusEvent.EVENT_ID, FocusEvent.class, listener,
FocusListener.focusMethod);
}
- /**
- * @deprecated As of 7.0, replaced by
- * {@link #addFocusListener(FocusListener)}
- **/
- @Deprecated
- public void addListener(FocusListener listener) {
- addFocusListener(listener);
- }
-
public void removeFocusListener(FocusListener listener) {
removeListener(FocusEvent.EVENT_ID, FocusEvent.class, listener);
}
- /**
- * @deprecated As of 7.0, replaced by
- * {@link #removeFocusListener(FocusListener)}
- **/
- @Deprecated
- public void removeListener(FocusListener listener) {
- removeFocusListener(listener);
- }
-
- /**
- * Get the boolean value of the button state.
- *
- * @return True iff the button is pressed down or checked.
- *
- * @deprecated As of 7.0, use {@link #getValue()} instead and, if needed,
- * handle null values.
- */
- @Deprecated
- public boolean booleanValue() {
- Boolean value = getValue();
- return (null == value) ? false : value.booleanValue();
- }
-
/*
* (non-Javadoc)
- *
+ *
* @see com.vaadin.ui.AbstractField#readDesign(org.jsoup.nodes.Element,
* com.vaadin.ui.declarative.DesignContext)
*/
@@ -224,13 +173,13 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
if (design.hasAttr("checked")) {
this.setValue(
DesignAttributeHandler.readAttribute("checked",
- design.attributes(), Boolean.class), false, true);
+ design.attributes(), Boolean.class), false);
}
}
/*
* (non-Javadoc)
- *
+ *
* @see com.vaadin.ui.AbstractField#getCustomAttributes()
*/
@Override
@@ -242,7 +191,7 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
/*
* (non-Javadoc)
- *
+ *
* @see com.vaadin.ui.AbstractField#writeDesign(org.jsoup.nodes.Element,
* com.vaadin.ui.declarative.DesignContext)
*/
@@ -255,15 +204,4 @@ public class CheckBox extends LegacyAbstractField<Boolean> {
def.getValue(), Boolean.class);
}
- @Override
- public void clear() {
- setValue(Boolean.FALSE);
- }
-
- @Override
- public boolean isEmpty() {
- return getValue() == null || getValue().equals(Boolean.FALSE);
-
- }
-
}
diff --git a/server/src/main/java/com/vaadin/ui/DefaultFieldFactory.java b/server/src/main/java/com/vaadin/ui/DefaultFieldFactory.java
index 85ad1743ea..3e44a901fc 100644
--- a/server/src/main/java/com/vaadin/ui/DefaultFieldFactory.java
+++ b/server/src/main/java/com/vaadin/ui/DefaultFieldFactory.java
@@ -20,6 +20,7 @@ import java.util.Date;
import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.data.Property;
+import com.vaadin.legacy.ui.LegacyCheckBox;
import com.vaadin.legacy.ui.LegacyField;
import com.vaadin.shared.util.SharedUtil;
@@ -116,7 +117,7 @@ public class DefaultFieldFactory implements FormFieldFactory, TableFieldFactory
// Boolean field
if (Boolean.class.isAssignableFrom(type)) {
- return new CheckBox();
+ return new LegacyCheckBox();
}
return new TextField();
diff --git a/server/src/main/java/com/vaadin/ui/Grid.java b/server/src/main/java/com/vaadin/ui/Grid.java
index 1319f868c7..c9887c1db3 100644
--- a/server/src/main/java/com/vaadin/ui/Grid.java
+++ b/server/src/main/java/com/vaadin/ui/Grid.java
@@ -73,6 +73,7 @@ import com.vaadin.event.SortEvent.SortNotifier;
import com.vaadin.legacy.data.Validator.InvalidValueException;
import com.vaadin.legacy.data.util.converter.LegacyConverter;
import com.vaadin.legacy.data.util.converter.LegacyConverterUtil;
+import com.vaadin.legacy.ui.LegacyCheckBox;
import com.vaadin.legacy.ui.LegacyField;
import com.vaadin.server.AbstractClientConnector;
import com.vaadin.server.AbstractExtension;
@@ -545,7 +546,7 @@ public class Grid extends AbstractFocusable implements SelectionNotifier,
Class<?> dataType,
Class<T> fieldType) throws BindException {
T field = super.build(caption, dataType, fieldType);
- if (field instanceof CheckBox) {
+ if (field instanceof LegacyCheckBox) {
field.setCaption(null);
}
return field;
diff --git a/server/src/test/java/com/vaadin/tests/server/component/AbstractListenerMethodsTestBase.java b/server/src/test/java/com/vaadin/tests/server/component/AbstractListenerMethodsTestBase.java
index 24201ce51d..b3a2842656 100644
--- a/server/src/test/java/com/vaadin/tests/server/component/AbstractListenerMethodsTestBase.java
+++ b/server/src/test/java/com/vaadin/tests/server/component/AbstractListenerMethodsTestBase.java
@@ -30,7 +30,10 @@ public abstract class AbstractListenerMethodsTestBase {
for (Class<?> c : classes) {
boolean found = false;
for (Method m : c.getDeclaredMethods()) {
- if (m.getName().equals("addListener")) {
+ String methodName = m.getName();
+ if (methodName.startsWith("add")
+ && methodName.endsWith("Listener")
+ && !"addListener".equals(methodName)) {
if (m.getParameterTypes().length != 1) {
continue;
}
@@ -47,19 +50,22 @@ public abstract class AbstractListenerMethodsTestBase {
System.out.println("import "
+ AbstractListenerMethodsTestBase.class
- .getName() + ";");
+ .getName()
+ + ";");
System.out.println("import " + c.getName() + ";");
- System.out.println("public class "
- + c.getSimpleName()
- + "Listeners extends "
- + AbstractListenerMethodsTestBase.class
- .getSimpleName() + " {");
+ System.out
+ .println(
+ "public class " + c.getSimpleName()
+ + "Listeners extends "
+ + AbstractListenerMethodsTestBase.class
+ .getSimpleName()
+ + " {");
}
String listenerClassName = m.getParameterTypes()[0]
.getSimpleName();
- String eventClassName = listenerClassName.replaceFirst(
- "Listener$", "Event");
+ String eventClassName = listenerClassName
+ .replaceFirst("Listener$", "Event");
System.out.println("public void test" + listenerClassName
+ "() throws Exception {");
System.out.println(" testListener(" + c.getSimpleName()
@@ -127,14 +133,16 @@ public abstract class AbstractListenerMethodsTestBase {
private void addListener(Object c, Object listener1, Class<?> listenerClass)
throws IllegalArgumentException, IllegalAccessException,
- InvocationTargetException, SecurityException, NoSuchMethodException {
+ InvocationTargetException, SecurityException,
+ NoSuchMethodException {
Method method = getAddListenerMethod(c.getClass(), listenerClass);
method.invoke(c, listener1);
}
private Collection<?> getListeners(Object c, Class<?> eventType)
throws IllegalArgumentException, IllegalAccessException,
- InvocationTargetException, SecurityException, NoSuchMethodException {
+ InvocationTargetException, SecurityException,
+ NoSuchMethodException {
Method method = getGetListenersMethod(c.getClass());
return (Collection<?>) method.invoke(c, eventType);
}
@@ -146,13 +154,15 @@ public abstract class AbstractListenerMethodsTestBase {
private Method getAddListenerMethod(Class<?> cls, Class<?> listenerClass)
throws SecurityException, NoSuchMethodException {
- return cls.getMethod("addListener", listenerClass);
+ return cls.getMethod("add" + listenerClass.getSimpleName(),
+ listenerClass);
}
private Method getRemoveListenerMethod(Class<?> cls, Class<?> listenerClass)
throws SecurityException, NoSuchMethodException {
- return cls.getMethod("removeListener", listenerClass);
+ return cls.getMethod("remove" + listenerClass.getSimpleName(),
+ listenerClass);
}
diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbsFieldValueConversionsTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbsFieldValueConversionsTest.java
index cc06a2466e..03fb91679b 100644
--- a/server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbsFieldValueConversionsTest.java
+++ b/server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbsFieldValueConversionsTest.java
@@ -1,7 +1,6 @@
package com.vaadin.tests.server.component.abstractfield;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.Locale;
@@ -12,15 +11,14 @@ import org.junit.Test;
import com.vaadin.data.util.MethodProperty;
import com.vaadin.data.util.ObjectProperty;
import com.vaadin.legacy.data.util.converter.LegacyConverter;
-import com.vaadin.legacy.data.util.converter.LegacyStringToIntegerConverter;
import com.vaadin.legacy.data.util.converter.LegacyConverter.ConversionException;
+import com.vaadin.legacy.data.util.converter.LegacyStringToIntegerConverter;
import com.vaadin.server.VaadinSession;
import com.vaadin.tests.data.bean.Address;
import com.vaadin.tests.data.bean.Country;
import com.vaadin.tests.data.bean.Person;
import com.vaadin.tests.data.bean.Sex;
import com.vaadin.tests.util.AlwaysLockedVaadinSession;
-import com.vaadin.ui.CheckBox;
import com.vaadin.ui.TextField;
public class AbsFieldValueConversionsTest {
@@ -155,65 +153,6 @@ public class AbsFieldValueConversionsTest {
tf.getValue());
}
- @Test
- public void testBooleanNullConversion() {
- CheckBox cb = new CheckBox();
- cb.setConverter(new LegacyConverter<Boolean, Boolean>() {
-
- @Override
- public Boolean convertToModel(Boolean value,
- Class<? extends Boolean> targetType, Locale locale) {
- // value from a CheckBox should never be null as long as it is
- // not set to null (handled by conversion below).
- assertNotNull(value);
- return value;
- }
-
- @Override
- public Boolean convertToPresentation(Boolean value,
- Class<? extends Boolean> targetType, Locale locale) {
- // Datamodel -> field
- if (value == null) {
- return false;
- }
-
- return value;
- }
-
- @Override
- public Class<Boolean> getModelType() {
- return Boolean.class;
- }
-
- @Override
- public Class<Boolean> getPresentationType() {
- return Boolean.class;
- }
-
- });
- MethodProperty<Boolean> property = new MethodProperty<Boolean>(
- paulaBean, "deceased");
- cb.setPropertyDataSource(property);
- assertEquals(Boolean.FALSE, property.getValue());
- assertEquals(Boolean.FALSE, cb.getValue());
- Boolean newDmValue = cb.getConverter().convertToPresentation(
- cb.getValue(), Boolean.class, new Locale("fi", "FI"));
- assertEquals(Boolean.FALSE, newDmValue);
-
- // FIXME: Should be able to set to false here to cause datamodel to be
- // set to false but the change will not be propagated to the Property
- // (field value is already false)
-
- cb.setValue(true);
- assertEquals(Boolean.TRUE, cb.getValue());
- assertEquals(Boolean.TRUE, property.getValue());
-
- cb.setValue(false);
- assertEquals(Boolean.FALSE, cb.getValue());
- assertEquals(Boolean.FALSE, property.getValue());
-
- }
-
// Now specific to Integer because StringToNumberConverter has been removed
public static class NumberBean {
private Integer number;
diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbstractFieldListenersTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractfield/LegacyAbstractFieldListenersTest.java
index d23d63e3e9..e341a4cf02 100644
--- a/server/src/test/java/com/vaadin/tests/server/component/abstractfield/AbstractFieldListenersTest.java
+++ b/server/src/test/java/com/vaadin/tests/server/component/abstractfield/LegacyAbstractFieldListenersTest.java
@@ -7,20 +7,20 @@ import com.vaadin.data.Property.ReadOnlyStatusChangeListener;
import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase;
-import com.vaadin.ui.CheckBox;
+import com.vaadin.ui.Table;
-public class AbstractFieldListenersTest extends AbstractListenerMethodsTestBase {
+public class LegacyAbstractFieldListenersTest extends AbstractListenerMethodsTestBase {
@Test
public void testReadOnlyStatusChangeListenerAddGetRemove() throws Exception {
- testListenerAddGetRemove(CheckBox.class,
+ testListenerAddGetRemove(Table.class,
ReadOnlyStatusChangeEvent.class,
ReadOnlyStatusChangeListener.class);
}
@Test
public void testValueChangeListenerAddGetRemove() throws Exception {
- testListenerAddGetRemove(CheckBox.class, ValueChangeEvent.class,
+ testListenerAddGetRemove(Table.class, ValueChangeEvent.class,
ValueChangeListener.class);
}
}
diff --git a/server/src/test/java/com/vaadin/ui/CheckBoxTest.java b/server/src/test/java/com/vaadin/ui/CheckBoxTest.java
index 7d699998de..59e2423c89 100644
--- a/server/src/test/java/com/vaadin/ui/CheckBoxTest.java
+++ b/server/src/test/java/com/vaadin/ui/CheckBoxTest.java
@@ -1,12 +1,12 @@
/*
* Copyright 2000-2014 Vaadin Ltd.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -18,31 +18,20 @@ package com.vaadin.ui;
import org.junit.Assert;
import org.junit.Test;
-import com.vaadin.data.util.ObjectProperty;
-
public class CheckBoxTest {
@Test
- public void initiallyEmpty() {
- CheckBox tf = new CheckBox();
- Assert.assertTrue(tf.isEmpty());
- }
-
- @Test
- public void emptyAfterClearUsingPDS() {
- CheckBox tf = new CheckBox();
- tf.setPropertyDataSource(new ObjectProperty<Boolean>(Boolean.TRUE));
- Assert.assertFalse(tf.isEmpty());
- tf.clear();
- Assert.assertTrue(tf.isEmpty());
+ public void initiallyFalse() {
+ CheckBox cb = new CheckBox();
+ Assert.assertFalse(cb.getValue());
}
@Test
- public void emptyAfterClear() {
- CheckBox tf = new CheckBox();
- tf.setValue(true);
- Assert.assertFalse(tf.isEmpty());
- tf.clear();
- Assert.assertTrue(tf.isEmpty());
+ public void testSetValue() {
+ CheckBox cb = new CheckBox();
+ cb.setValue(true);
+ Assert.assertTrue(cb.getValue());
+ cb.setValue(false);
+ Assert.assertFalse(cb.getValue());
}
}