diff options
author | Artur Signell <artur@vaadin.com> | 2016-08-22 22:58:05 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2016-08-24 09:52:03 +0300 |
commit | fa2a40b38e8f06632f9b89c9acea1ed0d40c3410 (patch) | |
tree | 6dc536909086d04f88006be0c21480949047d665 /compatibility-server | |
parent | 33b0e33c86613eab9811da30916d55d4f5f77930 (diff) | |
download | vaadin-framework-fa2a40b38e8f06632f9b89c9acea1ed0d40c3410.tar.gz vaadin-framework-fa2a40b38e8f06632f9b89c9acea1ed0d40c3410.zip |
Move Item to compatibility package
Change-Id: I51ad45a18d2dcfbd582c7e4bdcca99300d20cee0
Diffstat (limited to 'compatibility-server')
11 files changed, 760 insertions, 17 deletions
diff --git a/compatibility-server/src/main/java/com/vaadin/v7/data/Item.java b/compatibility-server/src/main/java/com/vaadin/v7/data/Item.java new file mode 100644 index 0000000000..d90cdca3f7 --- /dev/null +++ b/compatibility-server/src/main/java/com/vaadin/v7/data/Item.java @@ -0,0 +1,206 @@ +/* + * Copyright 2000-2016 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.v7.data; + +import java.io.Serializable; +import java.util.Collection; + +/** + * <p> + * Provides a mechanism for handling a set of Properties, each associated to a + * locally unique non-null identifier. The interface is split into subinterfaces + * to enable a class to implement only the functionalities it needs. + * </p> + * + * @author Vaadin Ltd + * @since 3.0 + */ +public interface Item extends Serializable { + + /** + * Gets the Property corresponding to the given Property ID stored in the + * Item. If the Item does not contain the Property, <code>null</code> is + * returned. + * + * @param id + * identifier of the Property to get + * @return the Property with the given ID or <code>null</code> + */ + public Property getItemProperty(Object id); + + /** + * Gets the collection of IDs of all Properties stored in the Item. + * + * @return unmodifiable collection containing IDs of the Properties stored + * the Item + */ + public Collection<?> getItemPropertyIds(); + + /** + * Tries to add a new Property into the Item. + * + * <p> + * This functionality is optional. + * </p> + * + * @param id + * ID of the new Property + * @param property + * the Property to be added and associated with the id + * @return <code>true</code> if the operation succeeded, <code>false</code> + * if not + * @throws UnsupportedOperationException + * if the operation is not supported. + */ + public boolean addItemProperty(Object id, Property property) + throws UnsupportedOperationException; + + /** + * Removes the Property identified by ID from the Item. + * + * <p> + * This functionality is optional. + * </p> + * + * @param id + * ID of the Property to be removed + * @return <code>true</code> if the operation succeeded + * @throws UnsupportedOperationException + * if the operation is not supported. <code>false</code> if not + */ + public boolean removeItemProperty(Object id) + throws UnsupportedOperationException; + + /** + * Interface implemented by viewer classes capable of using an Item as a + * data source. + */ + public interface Viewer extends Serializable { + + /** + * Sets the Item that serves as the data source of the viewer. + * + * @param newDataSource + * The new data source Item + */ + public void setItemDataSource(Item newDataSource); + + /** + * Gets the Item serving as the data source of the viewer. + * + * @return data source Item + */ + public Item getItemDataSource(); + } + + /** + * Interface implemented by the <code>Editor</code> classes capable of + * editing the Item. Implementing this interface means that the Item serving + * as the data source of the editor can be modified through it. + * <p> + * Note : Not implementing the <code>Item.Editor</code> interface does not + * restrict the class from editing the contents of an internally. + * </p> + */ + public interface Editor extends Item.Viewer, Serializable { + + } + + /* Property set change event */ + + /** + * An <code>Event</code> object specifying the Item whose contents has been + * changed through the <code>Property</code> interface. + * <p> + * Note: The values stored in the Properties may change without triggering + * this event. + * </p> + */ + public interface PropertySetChangeEvent extends Serializable { + + /** + * Retrieves the Item whose contents has been modified. + * + * @return source Item of the event + */ + public Item getItem(); + } + + /** + * The listener interface for receiving <code>PropertySetChangeEvent</code> + * objects. + */ + public interface PropertySetChangeListener extends Serializable { + + /** + * Notifies this listener that the Item's property set has changed. + * + * @param event + * Property set change event object + */ + public void itemPropertySetChange(Item.PropertySetChangeEvent event); + } + + /** + * The interface for adding and removing <code>PropertySetChangeEvent</code> + * listeners. By implementing this interface a class explicitly announces + * that it will generate a <code>PropertySetChangeEvent</code> when its + * Property set is modified. + * <p> + * Note : The general Java convention is not to explicitly declare that a + * class generates events, but to directly define the + * <code>addListener</code> and <code>removeListener</code> methods. That + * way the caller of these methods has no real way of finding out if the + * class really will send the events, or if it just defines the methods to + * be able to implement an interface. + * </p> + */ + public interface PropertySetChangeNotifier extends Serializable { + + /** + * Registers a new property set change listener for this Item. + * + * @param listener + * The new Listener to be registered. + */ + public void addPropertySetChangeListener( + Item.PropertySetChangeListener listener); + + /** + * @deprecated As of 7.0, replaced by + * {@link #addPropertySetChangeListener(PropertySetChangeListener)} + **/ + @Deprecated + public void addListener(Item.PropertySetChangeListener listener); + + /** + * Removes a previously registered property set change listener. + * + * @param listener + * Listener to be removed. + */ + public void removePropertySetChangeListener( + Item.PropertySetChangeListener listener); + + /** + * @deprecated As of 7.0, replaced by + * {@link #removePropertySetChangeListener(PropertySetChangeListener)} + **/ + @Deprecated + public void removeListener(Item.PropertySetChangeListener listener); + } +} diff --git a/compatibility-server/src/main/java/com/vaadin/v7/data/util/PropertysetItem.java b/compatibility-server/src/main/java/com/vaadin/v7/data/util/PropertysetItem.java new file mode 100644 index 0000000000..092cf3f36e --- /dev/null +++ b/compatibility-server/src/main/java/com/vaadin/v7/data/util/PropertysetItem.java @@ -0,0 +1,374 @@ +/* + * Copyright 2000-2016 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.v7.data.util; + +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; + +import com.vaadin.v7.data.Item; +import com.vaadin.v7.data.Property; + +/** + * Class for handling a set of identified Properties. The elements contained in + * a </code>MapItem</code> can be referenced using locally unique identifiers. + * The class supports listeners who are interested in changes to the Property + * set managed by the class. + * + * @author Vaadin Ltd. + * @since 3.0 + */ +@SuppressWarnings("serial") +public class PropertysetItem + implements Item, Item.PropertySetChangeNotifier, Cloneable { + + /* Private representation of the item */ + + /** + * Mapping from property id to property. + */ + private HashMap<Object, Property<?>> map = new HashMap<Object, Property<?>>(); + + /** + * List of all property ids to maintain the order. + */ + private LinkedList<Object> list = new LinkedList<Object>(); + + /** + * List of property set modification listeners. + */ + private LinkedList<Item.PropertySetChangeListener> propertySetChangeListeners = null; + + /* Item methods */ + + /** + * Gets the Property corresponding to the given Property ID stored in the + * Item. If the Item does not contain the Property, <code>null</code> is + * returned. + * + * @param id + * the identifier of the Property to get. + * @return the Property with the given ID or <code>null</code> + */ + @Override + public Property getItemProperty(Object id) { + return map.get(id); + } + + /** + * Gets the collection of IDs of all Properties stored in the Item. + * + * @return unmodifiable collection containing IDs of the Properties stored + * the Item + */ + @Override + public Collection<?> getItemPropertyIds() { + return Collections.unmodifiableCollection(list); + } + + /* Item.Managed methods */ + + /** + * Removes the Property identified by ID from the Item. This functionality + * is optional. If the method is not implemented, the method always returns + * <code>false</code>. + * + * @param id + * the ID of the Property to be removed. + * @return <code>true</code> if the operation succeeded <code>false</code> + * if not + */ + @Override + public boolean removeItemProperty(Object id) { + + // Cant remove missing properties + if (map.remove(id) == null) { + return false; + } + list.remove(id); + + // Send change events + fireItemPropertySetChange(); + + return true; + } + + /** + * Tries to add a new Property into the Item. + * + * @param id + * the ID of the new Property. + * @param property + * the Property to be added and associated with the id. + * @return <code>true</code> if the operation succeeded, <code>false</code> + * if not + */ + @Override + public boolean addItemProperty(Object id, Property property) { + + // Null ids are not accepted + if (id == null) { + throw new NullPointerException("Item property id can not be null"); + } + + // Cant add a property twice + if (map.containsKey(id)) { + return false; + } + + // Put the property to map + map.put(id, property); + list.add(id); + + // Send event + fireItemPropertySetChange(); + + return true; + } + + /** + * 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. + * + * @return <code>String</code> representation of the Item contents + */ + @Override + public String toString() { + String retValue = ""; + + for (final Iterator<?> i = getItemPropertyIds().iterator(); i + .hasNext();) { + final Object propertyId = i.next(); + retValue += getItemProperty(propertyId).getValue(); + if (i.hasNext()) { + retValue += " "; + } + } + + return retValue; + } + + /* Notifiers */ + + /** + * An <code>event</code> object specifying an Item whose Property set has + * changed. + * + * @author Vaadin Ltd. + * @since 3.0 + */ + private static class PropertySetChangeEvent extends EventObject + implements Item.PropertySetChangeEvent { + + private PropertySetChangeEvent(Item source) { + super(source); + } + + /** + * Gets the Item whose Property set has changed. + * + * @return source object of the event as an <code>Item</code> + */ + @Override + public Item getItem() { + return (Item) getSource(); + } + } + + /** + * Registers a new property set change listener for this Item. + * + * @param listener + * the new Listener to be registered. + */ + @Override + public void addPropertySetChangeListener( + Item.PropertySetChangeListener listener) { + if (propertySetChangeListeners == null) { + propertySetChangeListeners = new LinkedList<PropertySetChangeListener>(); + } + propertySetChangeListeners.add(listener); + } + + /** + * @deprecated As of 7.0, replaced by + * {@link #addPropertySetChangeListener(com.vaadin.v7.data.Item.PropertySetChangeListener)} + **/ + @Override + @Deprecated + public void addListener(Item.PropertySetChangeListener listener) { + addPropertySetChangeListener(listener); + } + + /** + * Removes a previously registered property set change listener. + * + * @param listener + * the Listener to be removed. + */ + @Override + public void removePropertySetChangeListener( + Item.PropertySetChangeListener listener) { + if (propertySetChangeListeners != null) { + propertySetChangeListeners.remove(listener); + } + } + + /** + * @deprecated As of 7.0, replaced by + * {@link #removePropertySetChangeListener(com.vaadin.v7.data.Item.PropertySetChangeListener)} + **/ + @Override + @Deprecated + public void removeListener(Item.PropertySetChangeListener listener) { + removePropertySetChangeListener(listener); + } + + /** + * Sends a Property set change event to all interested listeners. + */ + private void fireItemPropertySetChange() { + if (propertySetChangeListeners != null) { + final Object[] l = propertySetChangeListeners.toArray(); + final Item.PropertySetChangeEvent event = new PropertysetItem.PropertySetChangeEvent( + this); + for (int i = 0; i < l.length; i++) { + ((Item.PropertySetChangeListener) l[i]) + .itemPropertySetChange(event); + } + } + } + + public Collection<?> getListeners(Class<?> eventType) { + if (Item.PropertySetChangeEvent.class.isAssignableFrom(eventType)) { + if (propertySetChangeListeners == null) { + return Collections.EMPTY_LIST; + } else { + return Collections + .unmodifiableCollection(propertySetChangeListeners); + } + } + + return Collections.EMPTY_LIST; + } + + /** + * Creates and returns a copy of this object. + * <p> + * The method <code>clone</code> performs a shallow copy of the + * <code>PropertysetItem</code>. + * </p> + * <p> + * Note : All arrays are considered to implement the interface Cloneable. + * Otherwise, this method creates a new instance of the class of this object + * and initializes all its fields with exactly the contents of the + * corresponding fields of this object, as if by assignment, the contents of + * the fields are not themselves cloned. Thus, this method performs a + * "shallow copy" of this object, not a "deep copy" operation. + * </p> + * + * @throws CloneNotSupportedException + * if the object's class does not support the Cloneable + * interface. + * + * @see java.lang.Object#clone() + */ + @Override + public Object clone() throws CloneNotSupportedException { + + final PropertysetItem npsi = new PropertysetItem(); + + npsi.list = list != null ? (LinkedList<Object>) list.clone() : null; + npsi.propertySetChangeListeners = propertySetChangeListeners != null + ? (LinkedList<PropertySetChangeListener>) propertySetChangeListeners + .clone() + : null; + npsi.map = (HashMap<Object, Property<?>>) map.clone(); + + return npsi; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + + if (obj == null || !(obj instanceof PropertysetItem)) { + return false; + } + + final PropertysetItem other = (PropertysetItem) obj; + + if (other.list != list) { + if (other.list == null) { + return false; + } + if (!other.list.equals(list)) { + return false; + } + } + if (other.map != map) { + if (other.map == null) { + return false; + } + if (!other.map.equals(map)) { + return false; + } + } + if (other.propertySetChangeListeners != propertySetChangeListeners) { + boolean thisEmpty = (propertySetChangeListeners == null + || propertySetChangeListeners.isEmpty()); + boolean otherEmpty = (other.propertySetChangeListeners == null + || other.propertySetChangeListeners.isEmpty()); + if (thisEmpty && otherEmpty) { + return true; + } + if (otherEmpty) { + return false; + } + if (!other.propertySetChangeListeners + .equals(propertySetChangeListeners)) { + return false; + } + } + + return true; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + + return (list == null ? 0 : list.hashCode()) + ^ (map == null ? 0 : map.hashCode()) + ^ ((propertySetChangeListeners == null + || propertySetChangeListeners.isEmpty()) ? 0 + : propertySetChangeListeners.hashCode()); + } +} diff --git a/compatibility-server/src/main/java/com/vaadin/event/DataBoundTransferable.java b/compatibility-server/src/main/java/com/vaadin/v7/event/DataBoundTransferable.java index d4b4a5ba6b..1285fdc797 100644 --- a/compatibility-server/src/main/java/com/vaadin/event/DataBoundTransferable.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/event/DataBoundTransferable.java @@ -13,10 +13,12 @@ * License for the specific language governing permissions and limitations under * the License. */ -package com.vaadin.event; +package com.vaadin.v7.event; import java.util.Map; +import com.vaadin.event.Transferable; +import com.vaadin.event.TransferableImpl; import com.vaadin.ui.Component; import com.vaadin.v7.data.Container; diff --git a/compatibility-server/src/main/java/com/vaadin/v7/event/ItemClickEvent.java b/compatibility-server/src/main/java/com/vaadin/v7/event/ItemClickEvent.java new file mode 100644 index 0000000000..e5f45728a9 --- /dev/null +++ b/compatibility-server/src/main/java/com/vaadin/v7/event/ItemClickEvent.java @@ -0,0 +1,147 @@ +/* + * Copyright 2000-2016 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.v7.event; + +import java.io.Serializable; +import java.lang.reflect.Method; + +import com.vaadin.event.MouseEvents.ClickEvent; +import com.vaadin.shared.MouseEventDetails; +import com.vaadin.ui.Component; +import com.vaadin.v7.data.Item; +import com.vaadin.v7.data.Property; + +/** + * + * Click event fired by a {@link Component} implementing + * {@link com.vaadin.v7.data.Container} interface. ItemClickEvents happens on an + * {@link Item} rendered somehow on terminal. Event may also contain a specific + * {@link Property} on which the click event happened. + * + * @since 5.3 + * + */ +@SuppressWarnings("serial") +public class ItemClickEvent extends ClickEvent implements Serializable { + private Item item; + private Object itemId; + private Object propertyId; + + public ItemClickEvent(Component source, Item item, Object itemId, + Object propertyId, MouseEventDetails details) { + super(source, details); + this.item = item; + this.itemId = itemId; + this.propertyId = propertyId; + } + + /** + * Gets the item on which the click event occurred. + * + * @return item which was clicked + */ + public Item getItem() { + return item; + } + + /** + * Gets a possible identifier in source for clicked Item + * + * @return + */ + public Object getItemId() { + return itemId; + } + + /** + * Returns property on which click event occurred. Returns null if source + * cannot be resolved at property level. For example if clicked a cell in + * table, the "column id" is returned. + * + * @return a property id of clicked property or null if click didn't occur + * on any distinct property. + */ + public Object getPropertyId() { + return propertyId; + } + + public static final Method ITEM_CLICK_METHOD; + + static { + try { + ITEM_CLICK_METHOD = ItemClickListener.class.getDeclaredMethod( + "itemClick", new Class[] { ItemClickEvent.class }); + } catch (final java.lang.NoSuchMethodException e) { + // This should never happen + throw new java.lang.RuntimeException(); + } + } + + public interface ItemClickListener extends Serializable { + public void itemClick(ItemClickEvent event); + } + + /** + * The interface for adding and removing <code>ItemClickEvent</code> + * listeners. By implementing this interface a class explicitly announces + * that it will generate an <code>ItemClickEvent</code> when one of its + * items is clicked. + * <p> + * Note: The general Java convention is not to explicitly declare that a + * class generates events, but to directly define the + * <code>addListener</code> and <code>removeListener</code> methods. That + * way the caller of these methods has no real way of finding out if the + * class really will send the events, or if it just defines the methods to + * be able to implement an interface. + * </p> + * + * @since 6.5 + * @see ItemClickListener + * @see ItemClickEvent + */ + public interface ItemClickNotifier extends Serializable { + /** + * Register a listener to handle {@link ItemClickEvent}s. + * + * @param listener + * ItemClickListener to be registered + */ + public void addItemClickListener(ItemClickListener listener); + + /** + * @deprecated As of 7.0, replaced by + * {@link #addItemClickListener(ItemClickListener)} + **/ + @Deprecated + public void addListener(ItemClickListener listener); + + /** + * Removes an ItemClickListener. + * + * @param listener + * ItemClickListener to be removed + */ + public void removeItemClickListener(ItemClickListener listener); + + /** + * @deprecated As of 7.0, replaced by + * {@link #removeItemClickListener(ItemClickListener)} + **/ + @Deprecated + public void removeListener(ItemClickListener listener); + } + +} diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/AbstractSelect.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/AbstractSelect.java index b7b241598b..e184cd0998 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/AbstractSelect.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/AbstractSelect.java @@ -31,7 +31,6 @@ import java.util.Set; import org.jsoup.nodes.Element; -import com.vaadin.event.DataBoundTransferable; import com.vaadin.event.Transferable; import com.vaadin.event.dd.DragAndDropEvent; import com.vaadin.event.dd.DropTarget; @@ -60,6 +59,7 @@ import com.vaadin.v7.data.Validator.InvalidValueException; import com.vaadin.v7.data.util.IndexedContainer; import com.vaadin.v7.data.util.converter.Converter; import com.vaadin.v7.data.util.converter.Converter.ConversionException; +import com.vaadin.v7.event.DataBoundTransferable; import com.vaadin.v7.data.util.converter.ConverterUtil; /** diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java index 0a5e5b40a4..371520d5d5 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java @@ -45,9 +45,6 @@ import org.jsoup.select.Elements; import com.vaadin.data.sort.Sort; import com.vaadin.data.sort.SortOrder; import com.vaadin.event.ContextClickEvent; -import com.vaadin.event.ItemClickEvent; -import com.vaadin.event.ItemClickEvent.ItemClickListener; -import com.vaadin.event.ItemClickEvent.ItemClickNotifier; import com.vaadin.event.SelectionEvent; import com.vaadin.event.SelectionEvent.SelectionListener; import com.vaadin.event.SelectionEvent.SelectionNotifier; @@ -112,6 +109,9 @@ import com.vaadin.v7.data.fieldgroup.FieldGroupFieldFactory; import com.vaadin.v7.data.util.IndexedContainer; import com.vaadin.v7.data.util.converter.Converter; import com.vaadin.v7.data.util.converter.ConverterUtil; +import com.vaadin.v7.event.ItemClickEvent; +import com.vaadin.v7.event.ItemClickEvent.ItemClickListener; +import com.vaadin.v7.event.ItemClickEvent.ItemClickNotifier; import com.vaadin.v7.server.communication.data.DataGenerator; import com.vaadin.v7.server.communication.data.RpcDataProviderExtension; import com.vaadin.v7.ui.renderers.HtmlRenderer; diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java index 760940a482..d47f5479f4 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java @@ -40,10 +40,6 @@ import org.jsoup.select.Elements; import com.vaadin.event.Action; import com.vaadin.event.Action.Handler; import com.vaadin.event.ContextClickEvent; -import com.vaadin.event.DataBoundTransferable; -import com.vaadin.event.ItemClickEvent; -import com.vaadin.event.ItemClickEvent.ItemClickListener; -import com.vaadin.event.ItemClickEvent.ItemClickNotifier; import com.vaadin.event.MouseEvents.ClickEvent; import com.vaadin.event.dd.DragAndDropEvent; import com.vaadin.event.dd.DragSource; @@ -80,6 +76,10 @@ import com.vaadin.v7.data.util.ContainerOrderedWrapper; import com.vaadin.v7.data.util.IndexedContainer; import com.vaadin.v7.data.util.converter.Converter; import com.vaadin.v7.data.util.converter.ConverterUtil; +import com.vaadin.v7.event.DataBoundTransferable; +import com.vaadin.v7.event.ItemClickEvent; +import com.vaadin.v7.event.ItemClickEvent.ItemClickListener; +import com.vaadin.v7.event.ItemClickEvent.ItemClickNotifier; /** * <p> diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/Tree.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/Tree.java index 83f805ffb4..5744879ea6 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/Tree.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/Tree.java @@ -35,10 +35,6 @@ import org.jsoup.nodes.Element; import com.vaadin.event.Action; import com.vaadin.event.Action.Handler; import com.vaadin.event.ContextClickEvent; -import com.vaadin.event.DataBoundTransferable; -import com.vaadin.event.ItemClickEvent; -import com.vaadin.event.ItemClickEvent.ItemClickListener; -import com.vaadin.event.ItemClickEvent.ItemClickNotifier; import com.vaadin.event.Transferable; import com.vaadin.event.dd.DragAndDropEvent; import com.vaadin.event.dd.DragSource; @@ -67,6 +63,10 @@ import com.vaadin.v7.data.Container; import com.vaadin.v7.data.Item; import com.vaadin.v7.data.util.ContainerHierarchicalWrapper; import com.vaadin.v7.data.util.HierarchicalContainer; +import com.vaadin.v7.event.DataBoundTransferable; +import com.vaadin.v7.event.ItemClickEvent; +import com.vaadin.v7.event.ItemClickEvent.ItemClickListener; +import com.vaadin.v7.event.ItemClickEvent.ItemClickNotifier; /** * Tree component. A Tree can be used to select an item (or multiple items) from diff --git a/compatibility-server/src/test/java/com/vaadin/tests/server/PropertysetItemListenersTest.java b/compatibility-server/src/test/java/com/vaadin/tests/server/PropertysetItemListenersTest.java new file mode 100644 index 0000000000..883130db32 --- /dev/null +++ b/compatibility-server/src/test/java/com/vaadin/tests/server/PropertysetItemListenersTest.java @@ -0,0 +1,14 @@ +package com.vaadin.tests.server; + +import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase; +import com.vaadin.v7.data.Item.PropertySetChangeEvent; +import com.vaadin.v7.data.Item.PropertySetChangeListener; +import com.vaadin.v7.data.util.PropertysetItem; + +public class PropertysetItemListenersTest + extends AbstractListenerMethodsTestBase { + public void testPropertySetChangeListenerAddGetRemove() throws Exception { + testListenerAddGetRemove(PropertysetItem.class, + PropertySetChangeEvent.class, PropertySetChangeListener.class); + } +} diff --git a/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/table/TableListenersTest.java b/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/table/TableListenersTest.java index 7f76b1c112..155f60f7ee 100644 --- a/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/table/TableListenersTest.java +++ b/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/table/TableListenersTest.java @@ -2,9 +2,9 @@ package com.vaadin.v7.tests.server.component.table; import org.junit.Test; -import com.vaadin.event.ItemClickEvent; -import com.vaadin.event.ItemClickEvent.ItemClickListener; import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase; +import com.vaadin.v7.event.ItemClickEvent; +import com.vaadin.v7.event.ItemClickEvent.ItemClickListener; import com.vaadin.v7.ui.Table; import com.vaadin.v7.ui.Table.ColumnReorderEvent; import com.vaadin.v7.ui.Table.ColumnReorderListener; diff --git a/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/tree/TreeListenersTest.java b/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/tree/TreeListenersTest.java index a7831dc628..b4b357ff7e 100644 --- a/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/tree/TreeListenersTest.java +++ b/compatibility-server/src/test/java/com/vaadin/v7/tests/server/component/tree/TreeListenersTest.java @@ -2,9 +2,9 @@ package com.vaadin.v7.tests.server.component.tree; import org.junit.Test; -import com.vaadin.event.ItemClickEvent; -import com.vaadin.event.ItemClickEvent.ItemClickListener; import com.vaadin.tests.server.component.AbstractListenerMethodsTestBase; +import com.vaadin.v7.event.ItemClickEvent; +import com.vaadin.v7.event.ItemClickEvent.ItemClickListener; import com.vaadin.v7.ui.Tree; import com.vaadin.v7.ui.Tree.CollapseEvent; import com.vaadin.v7.ui.Tree.CollapseListener; |