diff options
author | Joonas Lehtinen <joonas.lehtinen@itmill.com> | 2009-04-12 00:07:09 +0000 |
---|---|---|
committer | Joonas Lehtinen <joonas.lehtinen@itmill.com> | 2009-04-12 00:07:09 +0000 |
commit | 204a857eb54f1840f27969faa9855c38390d2751 (patch) | |
tree | 5beda66dabd194abe84219349472ba05be73b667 | |
parent | 8c21a6f36ea05bfa48b34d6162bc5a2fe3fa488b (diff) | |
download | vaadin-framework-204a857eb54f1840f27969faa9855c38390d2751.tar.gz vaadin-framework-204a857eb54f1840f27969faa9855c38390d2751.zip |
Implementation serialization support for Toolkit. Fixes #695
svn changeset:7387/svn branch:6.0
150 files changed, 939 insertions, 743 deletions
diff --git a/src/com/itmill/toolkit/Application.java b/src/com/itmill/toolkit/Application.java index 60045ac702..049969f9ec 100644 --- a/src/com/itmill/toolkit/Application.java +++ b/src/com/itmill/toolkit/Application.java @@ -4,6 +4,7 @@ package com.itmill.toolkit; +import java.io.Serializable; import java.net.SocketException; import java.net.URL; import java.util.Collection; @@ -84,7 +85,9 @@ import com.itmill.toolkit.ui.Window; * @VERSION@ * @since 3.0 */ -public abstract class Application implements URIHandler, Terminal.ErrorListener { +@SuppressWarnings("serial") +public abstract class Application implements URIHandler, + Terminal.ErrorListener, Serializable { /** * Random window name generator. @@ -758,11 +761,6 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener public class UserChangeEvent extends java.util.EventObject { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3544951069307188281L; - - /** * New user of the application. */ private final Object newUser; @@ -826,7 +824,7 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener * @VERSION@ * @since 3.0 */ - public interface UserChangeListener extends EventListener { + public interface UserChangeListener extends EventListener, Serializable { /** * The <code>applicationUserChanged</code> method Invoked when the @@ -872,11 +870,6 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener */ public class WindowDetachEvent extends EventObject { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3544669568644691769L; - private final Window window; /** @@ -914,11 +907,6 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener */ public class WindowAttachEvent extends EventObject { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3977578104367822392L; - private final Window window; /** @@ -954,7 +942,7 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener /** * Window attach listener interface. */ - public interface WindowAttachListener { + public interface WindowAttachListener extends Serializable { /** * Window attached @@ -968,7 +956,7 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener /** * Window detach listener interface. */ - public interface WindowDetachListener { + public interface WindowDetachListener extends Serializable { /** * Window detached. @@ -1186,7 +1174,7 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener * </p> * */ - public static class SystemMessages { + public static class SystemMessages implements Serializable { protected String sessionExpiredURL = null; protected boolean sessionExpiredNotificationEnabled = true; protected String sessionExpiredCaption = "Session Expired"; @@ -1369,7 +1357,8 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener * </p> */ - public static class CustomizedSystemMessages extends SystemMessages { + public static class CustomizedSystemMessages extends SystemMessages + implements Serializable { /** * Sets the URL to go to when the session has expired. @@ -1557,7 +1546,6 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener } public class ApplicationError implements Terminal.ErrorEvent { - private final Throwable throwable; public ApplicationError(Throwable throwable) { @@ -1569,5 +1557,4 @@ public abstract class Application implements URIHandler, Terminal.ErrorListener } } - }
\ No newline at end of file diff --git a/src/com/itmill/toolkit/automatedtests/ComponentsInTable.java b/src/com/itmill/toolkit/automatedtests/ComponentsInTable.java index 1aabdfea71..48a71213e7 100644 --- a/src/com/itmill/toolkit/automatedtests/ComponentsInTable.java +++ b/src/com/itmill/toolkit/automatedtests/ComponentsInTable.java @@ -16,6 +16,8 @@ import com.itmill.toolkit.ui.Button.ClickEvent; public class ComponentsInTable extends CustomComponent {
+ private static final long serialVersionUID = 7179313717613510935L;
+
public ComponentsInTable(int cols, int rows) {
final OrderedLayout main = new OrderedLayout();
setCompositionRoot(main);
diff --git a/src/com/itmill/toolkit/automatedtests/SimplestApplication.java b/src/com/itmill/toolkit/automatedtests/SimplestApplication.java index 01f3990bd2..b21c1cd7b8 100644 --- a/src/com/itmill/toolkit/automatedtests/SimplestApplication.java +++ b/src/com/itmill/toolkit/automatedtests/SimplestApplication.java @@ -8,6 +8,7 @@ import com.itmill.toolkit.ui.Label; import com.itmill.toolkit.ui.Window; public class SimplestApplication extends com.itmill.toolkit.Application { + private static final long serialVersionUID = 1401107566407830534L; @Override public void init() { diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/AccordionExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/AccordionExample.java index f5e81ba9d5..e7609d9713 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/AccordionExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/AccordionExample.java @@ -11,6 +11,8 @@ import com.itmill.toolkit.ui.VerticalLayout; * the tab contents between the vertical tabs. */ public class AccordionExample extends CustomComponent { + private static final long serialVersionUID = 7172404542359409349L; + public AccordionExample() { // Create a new accordion final Accordion accordion = new Accordion(); diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/ButtonExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/ButtonExample.java index bf61a443c6..ba7296fd13 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/ButtonExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/ButtonExample.java @@ -24,6 +24,8 @@ import com.itmill.toolkit.ui.Button.ClickEvent; public class ButtonExample extends CustomComponent implements
Button.ClickListener {
+ private static final long serialVersionUID = -3934416497726624080L;
+
public ButtonExample() {
final VerticalLayout main = new VerticalLayout();
diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/ClientCachingExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/ClientCachingExample.java index 6cddcd29dc..b43770d45f 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/ClientCachingExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/ClientCachingExample.java @@ -23,6 +23,7 @@ import com.itmill.toolkit.ui.VerticalLayout; */
public class ClientCachingExample extends CustomComponent {
+ private static final long serialVersionUID = -1033520074262036031L;
private static final String msg = "This example is a (simple) demonstration of client-side caching."
+ " The content in one tab is intentionally made very slow to"
+ " 'produce' server-side. When you changes to this tab for the"
@@ -52,6 +53,8 @@ public class ClientCachingExample extends CustomComponent { layout = new VerticalLayout();
layout.setMargin(true);
l = new Label("Slow label - until cached client side.") {
+ private static final long serialVersionUID = -2741194381200799815L;
+
@Override
public void paintContent(PaintTarget target) throws PaintException {
try {
diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/ComboBoxExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/ComboBoxExample.java index 03271a98e3..312c7b27d2 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/ComboBoxExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/ComboBoxExample.java @@ -16,6 +16,8 @@ import com.itmill.toolkit.ui.AbstractSelect.Filtering; */ public class ComboBoxExample extends CustomComponent { + private static final long serialVersionUID = 1580175413996261572L; + private static final String[] firstnames = new String[] { "John", "Mary", "Joe", "Sarah", "Jeff", "Jane", "Peter", "Marc", "Robert", "Paula", "Lenny", "Kenny", "Nathan", "Nicole", "Laura", "Jos", "Josie", diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/EmbeddedBrowserExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/EmbeddedBrowserExample.java index 22f7d103f4..cd60dbd2bd 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/EmbeddedBrowserExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/EmbeddedBrowserExample.java @@ -24,6 +24,8 @@ import com.itmill.toolkit.ui.Window.Notification; public class EmbeddedBrowserExample extends VerticalLayout implements Select.ValueChangeListener { + private static final long serialVersionUID = -6209869808788169597L; + // Default URL to open. private static final String DEFAULT_URL = "http://www.itmill.com/index_itmill_toolkit.htm"; diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/FeatureBrowser.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/FeatureBrowser.java index 5edbca6ea2..2c22926e2f 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/FeatureBrowser.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/FeatureBrowser.java @@ -39,7 +39,9 @@ import com.itmill.toolkit.ui.Button.ClickEvent; public class FeatureBrowser extends com.itmill.toolkit.Application implements Select.ValueChangeListener { + private static final long serialVersionUID = -4653905515159295197L; // Property IDs + private static final Object PROPERTY_ID_CATEGORY = "Category"; private static final Object PROPERTY_ID_NAME = "Name"; private static final Object PROPERTY_ID_DESC = "Description"; @@ -167,7 +169,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements tree.addListener(this); tree.setImmediate(true); tree.expandItemsRecursively(rootId); - for (Iterator i = container.getItemIds().iterator(); i.hasNext();) { + for (Iterator<?> i = container.getItemIds().iterator(); i.hasNext();) { Object id = i.next(); if (container.getChildren(id) == null) { tree.setChildrenAllowed(id, false); @@ -207,6 +209,8 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements final HorizontalLayout wbLayout = new HorizontalLayout(); Button b = new Button("Open in sub-window", new Button.ClickListener() { + private static final long serialVersionUID = -9168589977880405848L; + public void buttonClick(ClickEvent event) { Component component = (Component) ts.getComponentIterator() .next(); @@ -231,6 +235,9 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements b.setStyleName(Button.STYLE_LINK); wbLayout.addComponent(b); b = new Button("Open in native window", new Button.ClickListener() { + + private static final long serialVersionUID = 3847765713639897223L; + public void buttonClick(ClickEvent event) { Component component = (Component) ts.getComponentIterator() .next(); @@ -348,8 +355,8 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements tree.setValue(table.getValue()); table.addListener(this); final Item item = table.getItem(table.getValue()); - final Class c = (Class) item.getItemProperty(PROPERTY_ID_CLASS) - .getValue(); + final Class<?> c = (Class<?>) item.getItemProperty( + PROPERTY_ID_CLASS).getValue(); final Component component = getComponent(c); if (component != null) { final String caption = (String) item.getItemProperty( @@ -369,7 +376,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements } - private Component getComponent(Class componentClass) { + private Component getComponent(Class<?> componentClass) { if (!exampleInstances.containsKey(componentClass)) { try { final Component c = (Component) componentClass.newInstance(); diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/FormExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/FormExample.java index 90ce0237c7..290a2ca1bf 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/FormExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/FormExample.java @@ -1,5 +1,7 @@ package com.itmill.toolkit.automatedtests.featurebrowser; +import java.io.Serializable; + import com.itmill.toolkit.data.Item; import com.itmill.toolkit.data.Validator; import com.itmill.toolkit.data.util.BeanItem; @@ -25,6 +27,7 @@ import com.itmill.toolkit.ui.Button.ClickEvent; */ public class FormExample extends CustomComponent { + private static final long serialVersionUID = -5382205369084031674L; static final String cities[] = { "Amsterdam", "Berlin", "Helsinki", "Hong Kong", "London", "Luxemburg", "New York", "Oslo", "Paris", "Rome", "Stockholm", "Tokyo", "Turku" }; @@ -36,6 +39,7 @@ public class FormExample extends CustomComponent { final Address dataModel = new Address(); Button peekDataModelState = new Button("Show the data model state", new Button.ClickListener() { + private static final long serialVersionUID = -9128707564903086213L; public void buttonClick(ClickEvent event) { getWindow().showNotification( @@ -61,6 +65,9 @@ public class FormExample extends CustomComponent { } public static class AddressForm extends Form { + + private static final long serialVersionUID = -1356475197391501301L; + public AddressForm(String caption) { setCaption(caption); @@ -114,7 +121,10 @@ public class FormExample extends CustomComponent { * This is example on how to customize field creation. Any kind of field * components could be created on the fly. */ - static class MyFieldFactory extends BaseFieldFactory { + static class MyFieldFactory extends BaseFieldFactory implements + Serializable { + + private static final long serialVersionUID = 4993348078809959988L; @Override public Field createField(Item item, Object propertyId, @@ -138,6 +148,8 @@ public class FormExample extends CustomComponent { */ static class PostalCodeValidator implements Validator { + private static final long serialVersionUID = -7635596091609806427L; + public boolean isValid(Object value) { if (value == null || !(value instanceof String)) { return false; @@ -159,7 +171,9 @@ public class FormExample extends CustomComponent { * it would be a good idea to implement Item -interface for the datamodel to * make it directly bindable to form (without BeanItem wrapper) */ - public static class Address { + public static class Address implements Serializable { + + private static final long serialVersionUID = 6238878890199428556L; String name = ""; String streetAddress = ""; String postalCode = ""; diff --git a/src/com/itmill/toolkit/automatedtests/featurebrowser/GeneratedColumnExample.java b/src/com/itmill/toolkit/automatedtests/featurebrowser/GeneratedColumnExample.java index 6052d96642..4872a670fb 100644 --- a/src/com/itmill/toolkit/automatedtests/featurebrowser/GeneratedColumnExample.java +++ b/src/com/itmill/toolkit/automatedtests/featurebrowser/GeneratedColumnExample.java @@ -37,6 +37,7 @@ import com.itmill.toolkit.ui.Button.ClickListener; * @author magi */ public class GeneratedColumnExample extends CustomComponent { + /** * The business model: fill-up at a gas station. */ @@ -116,12 +117,13 @@ public class GeneratedColumnExample extends CustomComponent { * implementations, as they are not needed in this example. */ public class MySimpleIndexedContainer implements Container, Indexed { - Vector items; + + Vector<BeanItem> items; Object itemtemplate; public MySimpleIndexedContainer(Object itemtemplate) { this.itemtemplate = itemtemplate; - items = new Vector(); // Yeah this is just a test + items = new Vector<BeanItem>(); // Yeah this is just a test } public boolean addContainerProperty(Object propertyId, Class type, @@ -164,7 +166,7 @@ public class GeneratedColumnExample extends CustomComponent { if (itemId instanceof Integer) { int pos = ((Integer) itemId).intValue(); if (pos >= 0 && pos < items.size()) { - Item item = (Item) items.get(pos); + Item item = items.get(pos); // The BeanItem provides the property objects for the items. return item.getItemProperty(propertyId); @@ -185,7 +187,7 @@ public class GeneratedColumnExample extends CustomComponent { if (itemId instanceof Integer) { int pos = ((Integer) itemId).intValue(); if (pos >= 0 && pos < items.size()) { - return (Item) items.get(pos); + return items.get(pos); } } return null; @@ -365,6 +367,9 @@ public class GeneratedColumnExample extends CustomComponent { /** Table column generator for calculating consumption column. */ class ConsumptionColumnGenerator implements Table.ColumnGenerator { + + private static final long serialVersionUID = -1077081052659001251L; + /** * Generates a cell containing value calculated from the item. */ @@ -408,6 +413,7 @@ public class GeneratedColumnExample extends CustomComponent { /** Table column generator for calculating daily cost column. */ class DailyCostColumnGenerator extends ConsumptionColumnGenerator { + @Override public Component generateCell(FillUp fillup, FillUp prev) { double dailycost = fillup.dailyCost(prev); diff --git a/src/com/itmill/toolkit/automatedtests/util/DebugId.java b/src/com/itmill/toolkit/automatedtests/util/DebugId.java index 03dc6cedec..bcf9453109 100644 --- a/src/com/itmill/toolkit/automatedtests/util/DebugId.java +++ b/src/com/itmill/toolkit/automatedtests/util/DebugId.java @@ -4,11 +4,12 @@ package com.itmill.toolkit.automatedtests.util; +import java.io.Serializable; import java.util.HashMap; import com.itmill.toolkit.ui.Component; -public class DebugId { +public class DebugId implements Serializable { private static HashMap debugIds = new HashMap(); diff --git a/src/com/itmill/toolkit/automatedtests/util/Log.java b/src/com/itmill/toolkit/automatedtests/util/Log.java index 8d113e0fe5..d7f98540d1 100644 --- a/src/com/itmill/toolkit/automatedtests/util/Log.java +++ b/src/com/itmill/toolkit/automatedtests/util/Log.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.automatedtests.util; +import java.io.Serializable; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -17,7 +18,7 @@ import java.util.Iterator; * figure out what went wrong. * */ -public class Log { +public class Log implements Serializable { // 3 (errors only) // 2 (+ warnings) diff --git a/src/com/itmill/toolkit/automatedtests/util/RandomComponents.java b/src/com/itmill/toolkit/automatedtests/util/RandomComponents.java index af2c44a40b..03b045e4a4 100644 --- a/src/com/itmill/toolkit/automatedtests/util/RandomComponents.java +++ b/src/com/itmill/toolkit/automatedtests/util/RandomComponents.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.automatedtests.util; +import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.Random; @@ -41,7 +42,7 @@ import com.itmill.toolkit.ui.Select; import com.itmill.toolkit.ui.TabSheet; import com.itmill.toolkit.ui.TextField; -public class RandomComponents { +public class RandomComponents implements Serializable { private Random rand = null; diff --git a/src/com/itmill/toolkit/data/Buffered.java b/src/com/itmill/toolkit/data/Buffered.java index 4aba27376d..0550c49146 100644 --- a/src/com/itmill/toolkit/data/Buffered.java +++ b/src/com/itmill/toolkit/data/Buffered.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.data; +import java.io.Serializable; + import com.itmill.toolkit.data.Validator.InvalidValueException; import com.itmill.toolkit.terminal.ErrorMessage; import com.itmill.toolkit.terminal.PaintException; @@ -42,7 +44,7 @@ import com.itmill.toolkit.terminal.SystemError; * @VERSION@ * @since 3.0 */ -public interface Buffered { +public interface Buffered extends Serializable { /** * Updates all changes since the previous commit to the data source. The @@ -147,13 +149,9 @@ public interface Buffered { * @VERSION@ * @since 3.0 */ + @SuppressWarnings("serial") public class SourceException extends RuntimeException implements - ErrorMessage { - - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3256720671781630518L; + ErrorMessage, Serializable { /** Source class implementing the buffered interface */ private final Buffered source; diff --git a/src/com/itmill/toolkit/data/BufferedValidatable.java b/src/com/itmill/toolkit/data/BufferedValidatable.java index 756936710a..24fd689122 100644 --- a/src/com/itmill/toolkit/data/BufferedValidatable.java +++ b/src/com/itmill/toolkit/data/BufferedValidatable.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.data; +import java.io.Serializable; + /** * <p> * This interface defines the combination of <code>Validatable</code> and @@ -16,7 +18,8 @@ package com.itmill.toolkit.data; * @VERSION@ * @since 3.0 */ -public interface BufferedValidatable extends Buffered, Validatable { +public interface BufferedValidatable extends Buffered, Validatable, + Serializable { /** * Tests if the invalid data is committed to datasource. The default is diff --git a/src/com/itmill/toolkit/data/Container.java b/src/com/itmill/toolkit/data/Container.java index 5df1b34f91..7b9bb31971 100644 --- a/src/com/itmill/toolkit/data/Container.java +++ b/src/com/itmill/toolkit/data/Container.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.data; +import java.io.Serializable; import java.util.Collection; /** @@ -51,7 +52,7 @@ import java.util.Collection; * @VERSION@ * @since 3.0 */ -public interface Container { +public interface Container extends Serializable { /** * Gets the Item with the given Item ID from the Container. If the Container @@ -70,7 +71,7 @@ public interface Container { * * @return unmodifiable collection of Property IDs */ - public Collection getContainerPropertyIds(); + public Collection<?> getContainerPropertyIds(); /** * Gets the ID's of all Items stored in the Container. The ID's are returned @@ -78,7 +79,7 @@ public interface Container { * * @return unmodifiable collection of Item IDs */ - public Collection getItemIds(); + public Collection<?> getItemIds(); /** * Gets the Property identified by the given itemId and propertyId from the @@ -100,7 +101,7 @@ public interface Container { * ID identifying the Properties * @return data type of the Properties */ - public Class getType(Object propertyId); + public Class<?> getType(Object propertyId); /** * Gets the number of Items in the Container. @@ -181,7 +182,7 @@ public interface Container { * @return <code>true</code> if the operation succeeded, <code>false</code> * if not */ - public boolean addContainerProperty(Object propertyId, Class type, + public boolean addContainerProperty(Object propertyId, Class<?> type, Object defaultValue) throws UnsupportedOperationException; /** @@ -334,7 +335,7 @@ public interface Container { * * @return The sortable field ids. */ - Collection getSortableContainerPropertyIds(); + Collection<?> getSortableContainerPropertyIds(); } @@ -418,7 +419,7 @@ public interface Container { * containing the IDs of all other Items that are children in * the container hierarchy */ - public Collection getChildren(Object itemId); + public Collection<?> getChildren(Object itemId); /** * Gets the ID of the parent Item of the specified Item. @@ -438,7 +439,7 @@ public interface Container { * @return An unmodifiable {@link java.util.Collection collection} * containing IDs of all root elements of the container */ - public Collection rootItemIds(); + public Collection<?> rootItemIds(); /** * <p> @@ -568,7 +569,7 @@ public interface Container { * * @since 5.0 */ - public interface Filterable extends Container { + public interface Filterable extends Container, Serializable { /** * Add a filter for given property. @@ -600,7 +601,7 @@ public interface Container { * Interface implemented by viewer classes capable of using a Container as a * data source. */ - public interface Viewer { + public interface Viewer extends Serializable { /** * Sets the Container that serves as the data source of the viewer. @@ -631,7 +632,7 @@ public interface Container { * internally. * </p> */ - public interface Editor extends Container.Viewer { + public interface Editor extends Container.Viewer, Serializable { } @@ -641,7 +642,7 @@ public interface Container { * An <code>Event</code> object specifying the Container whose Item set has * changed. */ - public interface ItemSetChangeEvent { + public interface ItemSetChangeEvent extends Serializable { /** * Gets the Property where the event occurred. @@ -652,7 +653,7 @@ public interface Container { } /** Container Item set change listener interface. */ - public interface ItemSetChangeListener { + public interface ItemSetChangeListener extends Serializable { /** * Lets the listener know a Containers Item set has changed. @@ -677,7 +678,7 @@ public interface Container { * be able to implement an interface. * </p> */ - public interface ItemSetChangeNotifier { + public interface ItemSetChangeNotifier extends Serializable { /** * Adds an Item set change listener for the object. @@ -702,7 +703,7 @@ public interface Container { * An <code>Event</code> object specifying the Container whose Property set * has changed. */ - public interface PropertySetChangeEvent { + public interface PropertySetChangeEvent extends Serializable { /** * Retrieves the Container whose contents have been modified. @@ -716,7 +717,7 @@ public interface Container { * The listener interface for receiving <code>PropertySetChangeEvent</code> * objects. */ - public interface PropertySetChangeListener { + public interface PropertySetChangeListener extends Serializable { /** * Notifies this listener that the Containers contents has changed. @@ -744,7 +745,7 @@ public interface Container { * be able to implement an interface. * </p> */ - public interface PropertySetChangeNotifier { + public interface PropertySetChangeNotifier extends Serializable { /** * Registers a new Property set change listener for this Container. diff --git a/src/com/itmill/toolkit/data/Item.java b/src/com/itmill/toolkit/data/Item.java index a8ffc3d7c2..1259d9cbda 100644 --- a/src/com/itmill/toolkit/data/Item.java +++ b/src/com/itmill/toolkit/data/Item.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.data; +import java.io.Serializable; import java.util.Collection; /** @@ -18,7 +19,7 @@ import java.util.Collection; * @VERSION@ * @since 3.0 */ -public interface Item { +public interface Item extends Serializable { /** * Gets the Property corresponding to the given Property ID stored in the @@ -37,7 +38,7 @@ public interface Item { * @return unmodifiable collection containing IDs of the Properties stored * the Item */ - public Collection getItemPropertyIds(); + public Collection<?> getItemPropertyIds(); /** * Tries to add a new Property into the Item. @@ -78,7 +79,7 @@ public interface Item { * Interface implemented by viewer classes capable of using an Item as a * data source. */ - public interface Viewer { + public interface Viewer extends Serializable { /** * Sets the Item that serves as the data source of the viewer. @@ -105,7 +106,7 @@ public interface Item { * restrict the class from editing the contents of an internally. * </p> */ - public interface Editor extends Item.Viewer { + public interface Editor extends Item.Viewer, Serializable { } @@ -119,7 +120,7 @@ public interface Item { * this event. * </p> */ - public interface PropertySetChangeEvent { + public interface PropertySetChangeEvent extends Serializable { /** * Retrieves the Item whose contents has been modified. @@ -133,7 +134,7 @@ public interface Item { * The listener interface for receiving <code>PropertySetChangeEvent</code> * objects. */ - public interface PropertySetChangeListener { + public interface PropertySetChangeListener extends Serializable { /** * Notifies this listener that the Item's property set has changed. @@ -158,7 +159,7 @@ public interface Item { * be able to implement an interface. * </p> */ - public interface PropertySetChangeNotifier { + public interface PropertySetChangeNotifier extends Serializable { /** * Registers a new property set change listener for this Item. diff --git a/src/com/itmill/toolkit/data/Property.java b/src/com/itmill/toolkit/data/Property.java index 42e438025c..b3277fdde2 100644 --- a/src/com/itmill/toolkit/data/Property.java +++ b/src/com/itmill/toolkit/data/Property.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.data; +import java.io.Serializable; + /** * <p> * The <code>Property</code> is a simple data object that contains one typed @@ -33,7 +35,7 @@ package com.itmill.toolkit.data; * @VERSION@ * @since 3.0 */ -public interface Property { +public interface Property extends Serializable { /** * Gets the value stored in the Property. The returned object is compatible @@ -91,7 +93,7 @@ public interface Property { * * @return type of the Property */ - public Class getType(); + public Class<?> getType(); /** * Tests if the Property is in read-only mode. In read-only mode calls to @@ -124,14 +126,10 @@ public interface Property { * @VERSION@ * @since 3.0 */ + @SuppressWarnings("serial") public class ReadOnlyException extends RuntimeException { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257571702287119410L; - - /** * Constructs a new <code>ReadOnlyException</code> without a detail * message. */ @@ -160,14 +158,10 @@ public interface Property { * @VERSION@ * @since 3.0 */ + @SuppressWarnings("serial") public class ConversionException extends RuntimeException { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257571706666366008L; - - /** * Constructs a new <code>ConversionException</code> without a detail * message. */ @@ -206,7 +200,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface Viewer { + public interface Viewer extends Serializable { /** * Sets the Property that serves as the data source of the viewer. @@ -240,7 +234,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface Editor extends Property.Viewer { + public interface Editor extends Property.Viewer, Serializable { } @@ -255,7 +249,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface ValueChangeEvent { + public interface ValueChangeEvent extends Serializable { /** * Retrieves the Property that has been modified. @@ -274,7 +268,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface ValueChangeListener { + public interface ValueChangeListener extends Serializable { /** * Notifies this listener that the Property's value has changed. @@ -304,7 +298,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface ValueChangeNotifier { + public interface ValueChangeNotifier extends Serializable { /** * Registers a new value change listener for this Property. @@ -334,7 +328,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface ReadOnlyStatusChangeEvent { + public interface ReadOnlyStatusChangeEvent extends Serializable { /** * Property whose read-only state has changed. @@ -353,7 +347,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface ReadOnlyStatusChangeListener { + public interface ReadOnlyStatusChangeListener extends Serializable { /** * Notifies this listener that a Property's read-only status has @@ -385,7 +379,7 @@ public interface Property { * @VERSION@ * @since 3.0 */ - public interface ReadOnlyStatusChangeNotifier { + public interface ReadOnlyStatusChangeNotifier extends Serializable { /** * Registers a new read-only status change listener for this Property. diff --git a/src/com/itmill/toolkit/data/Validatable.java b/src/com/itmill/toolkit/data/Validatable.java index c8f5afb918..e5c074726b 100644 --- a/src/com/itmill/toolkit/data/Validatable.java +++ b/src/com/itmill/toolkit/data/Validatable.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.data; +import java.io.Serializable; import java.util.Collection; /** @@ -19,7 +20,7 @@ import java.util.Collection; * @since 3.0 * @see com.itmill.toolkit.data.Validator */ -public interface Validatable { +public interface Validatable extends Serializable { /** * <p> @@ -54,7 +55,7 @@ public interface Validatable { * * @return collection of validators or <code>null</code> */ - public Collection getValidators(); + public Collection<?> getValidators(); /** * <p> diff --git a/src/com/itmill/toolkit/data/Validator.java b/src/com/itmill/toolkit/data/Validator.java index d0094914ed..15fea5de34 100644 --- a/src/com/itmill/toolkit/data/Validator.java +++ b/src/com/itmill/toolkit/data/Validator.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.data; +import java.io.Serializable; + import com.itmill.toolkit.terminal.ErrorMessage; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; @@ -25,7 +27,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ -public interface Validator { +public interface Validator extends Serializable { /** * Checks the given value against this validator. If the value is valid this diff --git a/src/com/itmill/toolkit/data/util/BeanItem.java b/src/com/itmill/toolkit/data/util/BeanItem.java index 65bc57a1b3..0df0ea39e8 100644 --- a/src/com/itmill/toolkit/data/util/BeanItem.java +++ b/src/com/itmill/toolkit/data/util/BeanItem.java @@ -22,6 +22,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class BeanItem extends PropertysetItem { /** @@ -97,7 +98,7 @@ public class BeanItem extends PropertysetItem { * @param propertyIds * id of the property. */ - public BeanItem(Object bean, Collection propertyIds) { + public BeanItem(Object bean, Collection<?> propertyIds) { this.bean = bean; diff --git a/src/com/itmill/toolkit/data/util/BeanItemContainer.java b/src/com/itmill/toolkit/data/util/BeanItemContainer.java index 5ba44568ad..b2eb55d2cc 100644 --- a/src/com/itmill/toolkit/data/util/BeanItemContainer.java +++ b/src/com/itmill/toolkit/data/util/BeanItemContainer.java @@ -1,6 +1,7 @@ package com.itmill.toolkit.data.util; import java.beans.PropertyDescriptor; +import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -36,6 +37,7 @@ import com.itmill.toolkit.data.Property.ValueChangeNotifier; * * @since 5.4 */ +@SuppressWarnings("serial") public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable, ItemSetChangeNotifier, ValueChangeListener { // filtered and unfiltered item IDs @@ -45,12 +47,19 @@ public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable, // internal data model to obtain property IDs etc. private final Class<BT> type; - private final LinkedHashMap<String, PropertyDescriptor> model; + private transient LinkedHashMap<String, PropertyDescriptor> model; private List<ItemSetChangeListener> itemSetChangeListeners; private Set<Filter> filters = new HashSet<Filter>(); + /* Special serialization to handle method references */ + private void readObject(java.io.ObjectInputStream in) throws IOException, + ClassNotFoundException { + in.defaultReadObject(); + model = BeanItem.getPropertyDescriptors(type); + } + public BeanItemContainer(Class<BT> type) throws InstantiationException, IllegalAccessException { this.type = type; @@ -65,7 +74,6 @@ public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable, * @throws IllegalAccessException * @throws InstantiationException */ - @SuppressWarnings("unchecked") public BeanItemContainer(Collection<BT> list) throws InstantiationException, IllegalAccessException { type = (Class<BT>) list.iterator().next().getClass(); @@ -106,7 +114,6 @@ public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable, * Id of the new item to be added. * @return Returns new item or null if the operation fails. */ - @SuppressWarnings("unchecked") private Item addItemAtInternalIndex(int index, Object newItemId) { // Make sure that the Item has not been created yet if (allItems.contains(newItemId)) { @@ -364,7 +371,6 @@ public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable, } } - @SuppressWarnings("unchecked") public void addContainerFilter(Object propertyId, String filterString, boolean ignoreCase, boolean onlyMatchPrefix) { if (filters.isEmpty()) { @@ -386,7 +392,6 @@ public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable, * items, and send a notification if the set of visible items changed in any * way. */ - @SuppressWarnings("unchecked") protected void filterAll() { // avoid notification if the filtering had no effect List<BT> originalItems = list; diff --git a/src/com/itmill/toolkit/data/util/ContainerHierarchicalWrapper.java b/src/com/itmill/toolkit/data/util/ContainerHierarchicalWrapper.java index 91dd00fc46..2c88c2ab61 100644 --- a/src/com/itmill/toolkit/data/util/ContainerHierarchicalWrapper.java +++ b/src/com/itmill/toolkit/data/util/ContainerHierarchicalWrapper.java @@ -34,6 +34,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class ContainerHierarchicalWrapper implements Container.Hierarchical, Container.ItemSetChangeNotifier, Container.PropertySetChangeNotifier { diff --git a/src/com/itmill/toolkit/data/util/ContainerOrderedWrapper.java b/src/com/itmill/toolkit/data/util/ContainerOrderedWrapper.java index c9e5736b9a..a57fbb1719 100644 --- a/src/com/itmill/toolkit/data/util/ContainerOrderedWrapper.java +++ b/src/com/itmill/toolkit/data/util/ContainerOrderedWrapper.java @@ -31,6 +31,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class ContainerOrderedWrapper implements Container.Ordered, Container.ItemSetChangeNotifier, Container.PropertySetChangeNotifier { diff --git a/src/com/itmill/toolkit/data/util/FilesystemContainer.java b/src/com/itmill/toolkit/data/util/FilesystemContainer.java index f1d5273003..03451ad411 100644 --- a/src/com/itmill/toolkit/data/util/FilesystemContainer.java +++ b/src/com/itmill/toolkit/data/util/FilesystemContainer.java @@ -7,6 +7,7 @@ package com.itmill.toolkit.data.util; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; @@ -35,6 +36,7 @@ import com.itmill.toolkit.terminal.Resource; * @author mattitahvonen * */ +@SuppressWarnings("serial") public class FilesystemContainer implements Container.Hierarchical { /** @@ -62,13 +64,13 @@ public class FilesystemContainer implements Container.Hierarchical { */ public static Collection FILE_PROPERTIES; - private static Method FILEITEM_LASTMODIFIED; + private final static Method FILEITEM_LASTMODIFIED; - private static Method FILEITEM_NAME; + private final static Method FILEITEM_NAME; - private static Method FILEITEM_ICON; + private final static Method FILEITEM_ICON; - private static Method FILEITEM_SIZE; + private final static Method FILEITEM_SIZE; static { @@ -741,7 +743,7 @@ public class FilesystemContainer implements Container.Hierarchical { * @VERSION@ * @since 3.0 */ - public class FileExtensionFilter implements FilenameFilter { + public class FileExtensionFilter implements FilenameFilter, Serializable { private final String filter; diff --git a/src/com/itmill/toolkit/data/util/Filter.java b/src/com/itmill/toolkit/data/util/Filter.java index cbb1efae0d..cd31a57b9d 100644 --- a/src/com/itmill/toolkit/data/util/Filter.java +++ b/src/com/itmill/toolkit/data/util/Filter.java @@ -1,5 +1,7 @@ package com.itmill.toolkit.data.util;
+import java.io.Serializable;
+
import com.itmill.toolkit.data.Item;
import com.itmill.toolkit.data.Property;
@@ -9,7 +11,8 @@ import com.itmill.toolkit.data.Property; *
* @since 5.4
*/
-public class Filter {
+@SuppressWarnings("serial")
+public class Filter implements Serializable {
final Object propertyId;
final String filterString;
final boolean ignoreCase;
diff --git a/src/com/itmill/toolkit/data/util/HierarchicalContainer.java b/src/com/itmill/toolkit/data/util/HierarchicalContainer.java index ce46da362a..75ade41e26 100644 --- a/src/com/itmill/toolkit/data/util/HierarchicalContainer.java +++ b/src/com/itmill/toolkit/data/util/HierarchicalContainer.java @@ -22,6 +22,7 @@ import com.itmill.toolkit.data.Item; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class HierarchicalContainer extends IndexedContainer implements Container.Hierarchical { diff --git a/src/com/itmill/toolkit/data/util/IndexedContainer.java b/src/com/itmill/toolkit/data/util/IndexedContainer.java index 0dbe44fc46..e649cace8e 100644 --- a/src/com/itmill/toolkit/data/util/IndexedContainer.java +++ b/src/com/itmill/toolkit/data/util/IndexedContainer.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.data.util; +import java.io.Serializable; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Collection; @@ -45,6 +46,7 @@ import com.itmill.toolkit.data.Property; * @since 3.0 */ +@SuppressWarnings("serial") public class IndexedContainer implements Container.Indexed, Container.ItemSetChangeNotifier, Container.PropertySetChangeNotifier, Property.ValueChangeNotifier, Container.Sortable, Comparator, @@ -726,12 +728,7 @@ public class IndexedContainer implements Container.Indexed, * @since 3.0 */ private class PropertySetChangeEvent extends EventObject implements - Container.PropertySetChangeEvent { - - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257002172528079926L; + Container.PropertySetChangeEvent, Serializable { private PropertySetChangeEvent(IndexedContainer source) { super(source); @@ -759,12 +756,8 @@ public class IndexedContainer implements Container.Indexed, * @since 3.0 */ public class ItemSetChangeEvent extends EventObject implements - Container.ItemSetChangeEvent { + Container.ItemSetChangeEvent, Serializable { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3832616279386372147L; private final int addedItemIndex; private ItemSetChangeEvent(IndexedContainer source, int addedItemIndex) { @@ -804,12 +797,7 @@ public class IndexedContainer implements Container.Indexed, * @since 3.0 */ private class PropertyValueChangeEvent extends EventObject implements - Property.ValueChangeEvent { - - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3833749884498359857L; + Property.ValueChangeEvent, Serializable { private PropertyValueChangeEvent(Property source) { super(source); diff --git a/src/com/itmill/toolkit/data/util/MethodProperty.java b/src/com/itmill/toolkit/data/util/MethodProperty.java index 165d54c902..9d74175b2c 100644 --- a/src/com/itmill/toolkit/data/util/MethodProperty.java +++ b/src/com/itmill/toolkit/data/util/MethodProperty.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.data.util; +import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -43,18 +44,19 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class MethodProperty implements Property, Property.ValueChangeNotifier, Property.ReadOnlyStatusChangeNotifier { /** * The object that includes the property the MethodProperty is bound to. */ - private final Object instance; + private transient Object instance; /** * Argument arrays for the getter and setter methods. */ - private Object[] setArgs, getArgs; + private transient Object[] setArgs, getArgs; /** * Is the MethodProperty read-only? @@ -64,7 +66,7 @@ public class MethodProperty implements Property, Property.ValueChangeNotifier, /** * The getter and setter methods. */ - private Method setMethod, getMethod; + private transient Method setMethod, getMethod; /** * Index of the new value in the argument list for the setter method. If the @@ -90,6 +92,41 @@ public class MethodProperty implements Property, Property.ValueChangeNotifier, */ private LinkedList valueChangeListeners = null; + /* Special serialization to handle method references */ + private void writeObject(java.io.ObjectOutputStream out) throws IOException { + out.defaultWriteObject(); + out.writeObject(instance); + out.writeObject(setArgs); + out.writeObject(getArgs); + out.writeObject(setMethod.getName()); + out.writeObject(setMethod.getParameterTypes()); + out.writeObject(getMethod.getName()); + out.writeObject(getMethod.getParameterTypes()); + }; + + /* Special serialization to handle method references */ + private void readObject(java.io.ObjectInputStream in) throws IOException, + ClassNotFoundException { + in.defaultReadObject(); + try { + instance = in.readObject(); + setArgs = (Object[]) in.readObject(); + getArgs = (Object[]) in.readObject(); + String name = (String) in.readObject(); + Class<?>[] paramTypes = (Class<?>[]) in.readObject(); + setMethod = instance.getClass().getMethod(name, paramTypes); + name = (String) in.readObject(); + paramTypes = (Class<?>[]) in.readObject(); + getMethod = instance.getClass().getMethod(name, paramTypes); + } catch (SecurityException e) { + System.err.println("Internal deserialization error"); + e.printStackTrace(); + } catch (NoSuchMethodException e) { + System.err.println("Internal deserialization error"); + e.printStackTrace(); + } + }; + /** * <p> * Creates a new instance of <code>MethodProperty</code> from a named bean @@ -702,11 +739,6 @@ public class MethodProperty implements Property, Property.ValueChangeNotifier, public class MethodException extends RuntimeException { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3690473623827855153L; - - /** * Cause of the method exception */ private Throwable cause; @@ -763,11 +795,6 @@ public class MethodProperty implements Property, Property.ValueChangeNotifier, implements Property.ReadOnlyStatusChangeEvent { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3258129163305955896L; - - /** * Constructs a new read-only status change event for this object. * * @param source diff --git a/src/com/itmill/toolkit/data/util/ObjectProperty.java b/src/com/itmill/toolkit/data/util/ObjectProperty.java index 1821a815ed..dd31c89606 100644 --- a/src/com/itmill/toolkit/data/util/ObjectProperty.java +++ b/src/com/itmill/toolkit/data/util/ObjectProperty.java @@ -19,6 +19,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class ObjectProperty implements Property, Property.ValueChangeNotifier, Property.ReadOnlyStatusChangeNotifier { @@ -216,11 +217,6 @@ public class ObjectProperty implements Property, Property.ValueChangeNotifier, Property.ValueChangeEvent { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3256718468479725873L; - - /** * Constructs a new value change event for this object. * * @param source @@ -253,11 +249,6 @@ public class ObjectProperty implements Property, Property.ValueChangeNotifier, implements Property.ReadOnlyStatusChangeEvent { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3907208273529616696L; - - /** * Constructs a new read-only status change event for this object. * * @param source diff --git a/src/com/itmill/toolkit/data/util/PropertyFormatter.java b/src/com/itmill/toolkit/data/util/PropertyFormatter.java index c6454a7f47..0b407bdd52 100644 --- a/src/com/itmill/toolkit/data/util/PropertyFormatter.java +++ b/src/com/itmill/toolkit/data/util/PropertyFormatter.java @@ -31,6 +31,7 @@ import com.itmill.toolkit.data.Property; * @author IT Mill Ltd. * @since 5.3.0 */ +@SuppressWarnings("serial") public abstract class PropertyFormatter implements Property, Property.ValueChangeNotifier, Property.ValueChangeListener, Property.ReadOnlyStatusChangeListener, @@ -229,11 +230,6 @@ public abstract class PropertyFormatter implements Property, Property.ValueChangeEvent { /** - * - */ - private static final long serialVersionUID = -489631310964258710L; - - /** * Constructs a new value change event for this object. * * @param source @@ -264,11 +260,6 @@ public abstract class PropertyFormatter implements Property, implements Property.ReadOnlyStatusChangeEvent { /** - * - */ - private static final long serialVersionUID = 8329395774911454548L; - - /** * Constructs a new read-only status change event for this object. * * @param source diff --git a/src/com/itmill/toolkit/data/util/PropertysetItem.java b/src/com/itmill/toolkit/data/util/PropertysetItem.java index c6c01743e2..d2d2946d4e 100644 --- a/src/com/itmill/toolkit/data/util/PropertysetItem.java +++ b/src/com/itmill/toolkit/data/util/PropertysetItem.java @@ -25,6 +25,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class PropertysetItem implements Item, Item.PropertySetChangeNotifier, Cloneable { @@ -165,11 +166,6 @@ public class PropertysetItem implements Item, Item.PropertySetChangeNotifier, private class PropertySetChangeEvent extends EventObject implements Item.PropertySetChangeEvent { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257562910590055991L; - private PropertySetChangeEvent(Item source) { super(source); } diff --git a/src/com/itmill/toolkit/data/util/QueryContainer.java b/src/com/itmill/toolkit/data/util/QueryContainer.java index 2c76e58702..2139318e0c 100644 --- a/src/com/itmill/toolkit/data/util/QueryContainer.java +++ b/src/com/itmill/toolkit/data/util/QueryContainer.java @@ -46,6 +46,7 @@ import com.itmill.toolkit.data.Property; * @since 4.0 */ +@SuppressWarnings("serial") public class QueryContainer implements Container, Container.Ordered, Container.Indexed { diff --git a/src/com/itmill/toolkit/data/validator/AbstractStringValidator.java b/src/com/itmill/toolkit/data/validator/AbstractStringValidator.java index 7f26a87861..cecc63a637 100644 --- a/src/com/itmill/toolkit/data/validator/AbstractStringValidator.java +++ b/src/com/itmill/toolkit/data/validator/AbstractStringValidator.java @@ -15,6 +15,7 @@ package com.itmill.toolkit.data.validator; * @VERSION@
* @since 5.4
*/
+@SuppressWarnings("serial")
public abstract class AbstractStringValidator extends AbstractValidator {
/**
diff --git a/src/com/itmill/toolkit/data/validator/AbstractValidator.java b/src/com/itmill/toolkit/data/validator/AbstractValidator.java index 93d6ae41fa..c12ea0d848 100644 --- a/src/com/itmill/toolkit/data/validator/AbstractValidator.java +++ b/src/com/itmill/toolkit/data/validator/AbstractValidator.java @@ -15,6 +15,7 @@ import com.itmill.toolkit.data.Validator; * @VERSION@
* @since 5.4
*/
+@SuppressWarnings("serial")
public abstract class AbstractValidator implements Validator {
/**
diff --git a/src/com/itmill/toolkit/data/validator/CompositeValidator.java b/src/com/itmill/toolkit/data/validator/CompositeValidator.java index 6aa9d07b99..13266d4ca8 100644 --- a/src/com/itmill/toolkit/data/validator/CompositeValidator.java +++ b/src/com/itmill/toolkit/data/validator/CompositeValidator.java @@ -23,6 +23,7 @@ import com.itmill.toolkit.data.Validator; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class CompositeValidator extends AbstractValidator { /** diff --git a/src/com/itmill/toolkit/data/validator/DoubleValidator.java b/src/com/itmill/toolkit/data/validator/DoubleValidator.java index 56f537f5e4..9ee4fec65e 100644 --- a/src/com/itmill/toolkit/data/validator/DoubleValidator.java +++ b/src/com/itmill/toolkit/data/validator/DoubleValidator.java @@ -10,6 +10,7 @@ package com.itmill.toolkit.data.validator; * @VERSION@
* @since 5.4
*/
+@SuppressWarnings("serial")
public class DoubleValidator extends AbstractStringValidator {
/**
diff --git a/src/com/itmill/toolkit/data/validator/EmailValidator.java b/src/com/itmill/toolkit/data/validator/EmailValidator.java index b5abb4d712..f833d5ca77 100644 --- a/src/com/itmill/toolkit/data/validator/EmailValidator.java +++ b/src/com/itmill/toolkit/data/validator/EmailValidator.java @@ -13,6 +13,7 @@ package com.itmill.toolkit.data.validator; * @VERSION@
* @since 5.4
*/
+@SuppressWarnings("serial")
public class EmailValidator extends RegexpValidator {
/**
diff --git a/src/com/itmill/toolkit/data/validator/IntegerValidator.java b/src/com/itmill/toolkit/data/validator/IntegerValidator.java index f48e85943e..48afacf8c8 100644 --- a/src/com/itmill/toolkit/data/validator/IntegerValidator.java +++ b/src/com/itmill/toolkit/data/validator/IntegerValidator.java @@ -10,6 +10,7 @@ package com.itmill.toolkit.data.validator; * @VERSION@
* @since 5.4
*/
+@SuppressWarnings("serial")
public class IntegerValidator extends AbstractStringValidator {
/**
diff --git a/src/com/itmill/toolkit/data/validator/NullValidator.java b/src/com/itmill/toolkit/data/validator/NullValidator.java index e2038d9017..be2b041bb2 100644 --- a/src/com/itmill/toolkit/data/validator/NullValidator.java +++ b/src/com/itmill/toolkit/data/validator/NullValidator.java @@ -15,6 +15,7 @@ import com.itmill.toolkit.data.Validator; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class NullValidator implements Validator { private boolean onlyNullAllowed; diff --git a/src/com/itmill/toolkit/data/validator/RegexpValidator.java b/src/com/itmill/toolkit/data/validator/RegexpValidator.java index 56316bea84..eb42a2668a 100644 --- a/src/com/itmill/toolkit/data/validator/RegexpValidator.java +++ b/src/com/itmill/toolkit/data/validator/RegexpValidator.java @@ -21,6 +21,7 @@ import java.util.regex.Pattern; * @VERSION@
* @since 5.4
*/
+@SuppressWarnings("serial")
public class RegexpValidator extends AbstractStringValidator {
private Pattern pattern;
diff --git a/src/com/itmill/toolkit/data/validator/StringLengthValidator.java b/src/com/itmill/toolkit/data/validator/StringLengthValidator.java index e4c28041a7..6105b0e746 100644 --- a/src/com/itmill/toolkit/data/validator/StringLengthValidator.java +++ b/src/com/itmill/toolkit/data/validator/StringLengthValidator.java @@ -13,6 +13,7 @@ package com.itmill.toolkit.data.validator; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class StringLengthValidator extends AbstractValidator { private int minLength = -1; diff --git a/src/com/itmill/toolkit/demo/HelloWorld.java b/src/com/itmill/toolkit/demo/HelloWorld.java index d77ce235f2..817d7ce647 100644 --- a/src/com/itmill/toolkit/demo/HelloWorld.java +++ b/src/com/itmill/toolkit/demo/HelloWorld.java @@ -6,17 +6,17 @@ import com.itmill.toolkit.ui.Window; public class HelloWorld extends com.itmill.toolkit.Application { /** - * Init is invoked on application load (when a user accesses the application - * for the first time). + * Init is invoked on application load (when a user accesses the application + * for the first time). */ @Override public void init() { - // Main window is the primary browser window + // Main window is the primary browser window final Window main = new Window("Hello window"); setMainWindow(main); - // "Hello world" text is added to window as a Label component + // "Hello world" text is added to window as a Label component main.addComponent(new Label("Hello World!")); } } diff --git a/src/com/itmill/toolkit/demo/ToolkitTunesLayout.java b/src/com/itmill/toolkit/demo/ToolkitTunesLayout.java index fc0036d448..6d81263b39 100644 --- a/src/com/itmill/toolkit/demo/ToolkitTunesLayout.java +++ b/src/com/itmill/toolkit/demo/ToolkitTunesLayout.java @@ -23,6 +23,7 @@ import com.itmill.toolkit.ui.Window.Notification; * @author IT Mill Ltd. * */ +@SuppressWarnings("serial") public class ToolkitTunesLayout extends Application { @Override diff --git a/src/com/itmill/toolkit/demo/sampler/ActiveLink.java b/src/com/itmill/toolkit/demo/sampler/ActiveLink.java index 5432e96fc1..51cb8afe6c 100644 --- a/src/com/itmill/toolkit/demo/sampler/ActiveLink.java +++ b/src/com/itmill/toolkit/demo/sampler/ActiveLink.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.demo.sampler; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.HashSet; import java.util.Map; @@ -149,7 +150,7 @@ public class ActiveLink extends Link { /** * ActiveLink click listener */ - public interface LinkActivatedListener { + public interface LinkActivatedListener extends Serializable { /** * ActiveLink has been activated. diff --git a/src/com/itmill/toolkit/demo/sampler/Feature.java b/src/com/itmill/toolkit/demo/sampler/Feature.java index a63902aad4..10cc7e747d 100644 --- a/src/com/itmill/toolkit/demo/sampler/Feature.java +++ b/src/com/itmill/toolkit/demo/sampler/Feature.java @@ -3,6 +3,7 @@ package com.itmill.toolkit.demo.sampler; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.Serializable; import com.itmill.toolkit.ui.Component; @@ -13,7 +14,7 @@ import com.itmill.toolkit.ui.Component; * </p> * */ -abstract public class Feature { +abstract public class Feature implements Serializable { public static final Object PROPERTY_ICON = "Icon"; public static final Object PROPERTY_NAME = "Name"; @@ -54,8 +55,8 @@ abstract public class Feature { * May return null, if the example has no related resources. * </p> * <p> - * The name of the NamedExternalResource will be shown in the UI. <br/> Note - * that Javadoc should be referenced via {@link #getRelatedAPI()}. + * The name of the NamedExternalResource will be shown in the UI. <br/> + * Note that Javadoc should be referenced via {@link #getRelatedAPI()}. * </p> * * @see #getThemeBase() diff --git a/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java b/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java index 6b24a8bf4f..926cfc5310 100644 --- a/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java +++ b/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java @@ -21,7 +21,6 @@ import com.itmill.toolkit.terminal.ExternalResource; import com.itmill.toolkit.terminal.Resource; import com.itmill.toolkit.terminal.ThemeResource; import com.itmill.toolkit.terminal.URIHandler; -import com.itmill.toolkit.terminal.gwt.server.WebApplicationContext; import com.itmill.toolkit.ui.Alignment; import com.itmill.toolkit.ui.Button; import com.itmill.toolkit.ui.ComboBox; @@ -45,6 +44,7 @@ import com.itmill.toolkit.ui.PopupView.PopupVisibilityEvent; import com.itmill.toolkit.ui.UriFragmentUtility.FragmentChangedEvent; import com.itmill.toolkit.ui.UriFragmentUtility.FragmentChangedListener; +@SuppressWarnings("serial") public class SamplerApplication extends Application { // All features in one container diff --git a/src/com/itmill/toolkit/demo/tutorial/addressbook/data/Person.java b/src/com/itmill/toolkit/demo/tutorial/addressbook/data/Person.java index 02f670f4f4..80ed848205 100644 --- a/src/com/itmill/toolkit/demo/tutorial/addressbook/data/Person.java +++ b/src/com/itmill/toolkit/demo/tutorial/addressbook/data/Person.java @@ -1,117 +1,119 @@ package com.itmill.toolkit.demo.tutorial.addressbook.data; -public class Person { - private String firstName = ""; - private String lastName = ""; - private String email = ""; - private String phoneNumber = ""; - private String streetAddress = ""; - private Integer postalCode = null; - private String city = ""; - - /** - * @return the firstName - */ - public String getFirstName() { - return firstName; - } - - /** - * @param firstName - * the firstName to set - */ - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - /** - * @return the lastName - */ - public String getLastName() { - return lastName; - } - - /** - * @param lastName - * the lastName to set - */ - public void setLastName(String lastName) { - this.lastName = lastName; - } - - /** - * @return the email - */ - public String getEmail() { - return email; - } - - /** - * @param email - * the email to set - */ - public void setEmail(String email) { - this.email = email; - } - - /** - * @return the phoneNumber - */ - public String getPhoneNumber() { - return phoneNumber; - } - - /** - * @param phoneNumber - * the phoneNumber to set - */ - public void setPhoneNumber(String phoneNumber) { - this.phoneNumber = phoneNumber; - } - - /** - * @return the streetAddress - */ - public String getStreetAddress() { - return streetAddress; - } - - /** - * @param streetAddress - * the streetAddress to set - */ - public void setStreetAddress(String streetAddress) { - this.streetAddress = streetAddress; - } - - /** - * @return the postalCode - */ - public Integer getPostalCode() { - return postalCode; - } - - /** - * @param postalCode - * the postalCode to set - */ - public void setPostalCode(Integer postalCode) { - this.postalCode = postalCode; - } - - /** - * @return the city - */ - public String getCity() { - return city; - } - - /** - * @param city - * the city to set - */ - public void setCity(String city) { - this.city = city; - } +import java.io.Serializable; + +public class Person implements Serializable { + private String firstName = ""; + private String lastName = ""; + private String email = ""; + private String phoneNumber = ""; + private String streetAddress = ""; + private Integer postalCode = null; + private String city = ""; + + /** + * @return the firstName + */ + public String getFirstName() { + return firstName; + } + + /** + * @param firstName + * the firstName to set + */ + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + /** + * @return the lastName + */ + public String getLastName() { + return lastName; + } + + /** + * @param lastName + * the lastName to set + */ + public void setLastName(String lastName) { + this.lastName = lastName; + } + + /** + * @return the email + */ + public String getEmail() { + return email; + } + + /** + * @param email + * the email to set + */ + public void setEmail(String email) { + this.email = email; + } + + /** + * @return the phoneNumber + */ + public String getPhoneNumber() { + return phoneNumber; + } + + /** + * @param phoneNumber + * the phoneNumber to set + */ + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + /** + * @return the streetAddress + */ + public String getStreetAddress() { + return streetAddress; + } + + /** + * @param streetAddress + * the streetAddress to set + */ + public void setStreetAddress(String streetAddress) { + this.streetAddress = streetAddress; + } + + /** + * @return the postalCode + */ + public Integer getPostalCode() { + return postalCode; + } + + /** + * @param postalCode + * the postalCode to set + */ + public void setPostalCode(Integer postalCode) { + this.postalCode = postalCode; + } + + /** + * @return the city + */ + public String getCity() { + return city; + } + + /** + * @param city + * the city to set + */ + public void setCity(String city) { + this.city = city; + } }
\ No newline at end of file diff --git a/src/com/itmill/toolkit/demo/tutorial/addressbook/data/PersonContainer.java b/src/com/itmill/toolkit/demo/tutorial/addressbook/data/PersonContainer.java index b627f7e039..3c84ac4764 100644 --- a/src/com/itmill/toolkit/demo/tutorial/addressbook/data/PersonContainer.java +++ b/src/com/itmill/toolkit/demo/tutorial/addressbook/data/PersonContainer.java @@ -1,91 +1,93 @@ package com.itmill.toolkit.demo.tutorial.addressbook.data; +import java.io.Serializable; import java.util.Random; import com.itmill.toolkit.data.util.BeanItemContainer; -public class PersonContainer extends BeanItemContainer<Person> { +public class PersonContainer extends BeanItemContainer<Person> implements + Serializable { - /** - * Natural property order for Person bean. Used in tables and forms. - */ - public static final Object[] NATURAL_COL_ORDER = new Object[] { - "firstName", "lastName", "email", "phoneNumber", "streetAddress", - "postalCode", "city" }; + /** + * Natural property order for Person bean. Used in tables and forms. + */ + public static final Object[] NATURAL_COL_ORDER = new Object[] { + "firstName", "lastName", "email", "phoneNumber", "streetAddress", + "postalCode", "city" }; - /** - * "Human readable" captions for properties in same order as in - * NATURAL_COL_ORDER. - */ - public static final String[] COL_HEADERS_ENGLISH = new String[] { - "First name", "Last name", "Email", "Phone number", - "Street Address", "Postal Code", "City" }; + /** + * "Human readable" captions for properties in same order as in + * NATURAL_COL_ORDER. + */ + public static final String[] COL_HEADERS_ENGLISH = new String[] { + "First name", "Last name", "Email", "Phone number", + "Street Address", "Postal Code", "City" }; - public PersonContainer() throws InstantiationException, - IllegalAccessException { - super(Person.class); - } + public PersonContainer() throws InstantiationException, + IllegalAccessException { + super(Person.class); + } - public static PersonContainer createWithTestData() { - final String[] fnames = { "Peter", "Alice", "Joshua", "Mike", "Olivia", - "Nina", "Alex", "Rita", "Dan", "Umberto", "Henrik", "Rene", - "Lisa", "Marge" }; - final String[] lnames = { "Smith", "Gordon", "Simpson", "Brown", - "Clavel", "Simons", "Verne", "Scott", "Allison", "Gates", - "Rowling", "Barks", "Ross", "Schneider", "Tate" }; - final String cities[] = { "Amsterdam", "Berlin", "Helsinki", - "Hong Kong", "London", "Luxemburg", "New York", "Oslo", - "Paris", "Rome", "Stockholm", "Tokyo", "Turku" }; - final String streets[] = { "4215 Blandit Av.", "452-8121 Sem Ave", - "279-4475 Tellus Road", "4062 Libero. Av.", "7081 Pede. Ave", - "6800 Aliquet St.", "P.O. Box 298, 9401 Mauris St.", - "161-7279 Augue Ave", "P.O. Box 496, 1390 Sagittis. Rd.", - "448-8295 Mi Avenue", "6419 Non Av.", - "659-2538 Elementum Street", "2205 Quis St.", - "252-5213 Tincidunt St.", "P.O. Box 175, 4049 Adipiscing Rd.", - "3217 Nam Ave", "P.O. Box 859, 7661 Auctor St.", - "2873 Nonummy Av.", "7342 Mi, Avenue", - "539-3914 Dignissim. Rd.", "539-3675 Magna Avenue", - "Ap #357-5640 Pharetra Avenue", "416-2983 Posuere Rd.", - "141-1287 Adipiscing Avenue", "Ap #781-3145 Gravida St.", - "6897 Suscipit Rd.", "8336 Purus Avenue", "2603 Bibendum. Av.", - "2870 Vestibulum St.", "Ap #722 Aenean Avenue", - "446-968 Augue Ave", "1141 Ultricies Street", - "Ap #992-5769 Nunc Street", "6690 Porttitor Avenue", - "Ap #105-1700 Risus Street", - "P.O. Box 532, 3225 Lacus. Avenue", "736 Metus Street", - "414-1417 Fringilla Street", "Ap #183-928 Scelerisque Road", - "561-9262 Iaculis Avenue" }; - PersonContainer c = null; - Random r = new Random(0); - try { - c = new PersonContainer(); - for (int i = 0; i < 100; i++) { - Person p = new Person(); - p.setFirstName(fnames[r.nextInt(fnames.length)]); - p.setLastName(lnames[r.nextInt(lnames.length)]); - p.setCity(cities[r.nextInt(cities.length)]); - p.setEmail(p.getFirstName().toLowerCase() + "." - + p.getLastName().toLowerCase() + "@itmill.com"); - p.setPhoneNumber("+358 02 555 " + r.nextInt(10) + r.nextInt(10) - + r.nextInt(10) + r.nextInt(10)); - int n = r.nextInt(100000); - if (n < 10000) { - n += 10000; - } - p.setPostalCode(n); - p.setStreetAddress(streets[r.nextInt(streets.length)]); - c.addItem(p); - } - } catch (InstantiationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + public static PersonContainer createWithTestData() { + final String[] fnames = { "Peter", "Alice", "Joshua", "Mike", "Olivia", + "Nina", "Alex", "Rita", "Dan", "Umberto", "Henrik", "Rene", + "Lisa", "Marge" }; + final String[] lnames = { "Smith", "Gordon", "Simpson", "Brown", + "Clavel", "Simons", "Verne", "Scott", "Allison", "Gates", + "Rowling", "Barks", "Ross", "Schneider", "Tate" }; + final String cities[] = { "Amsterdam", "Berlin", "Helsinki", + "Hong Kong", "London", "Luxemburg", "New York", "Oslo", + "Paris", "Rome", "Stockholm", "Tokyo", "Turku" }; + final String streets[] = { "4215 Blandit Av.", "452-8121 Sem Ave", + "279-4475 Tellus Road", "4062 Libero. Av.", "7081 Pede. Ave", + "6800 Aliquet St.", "P.O. Box 298, 9401 Mauris St.", + "161-7279 Augue Ave", "P.O. Box 496, 1390 Sagittis. Rd.", + "448-8295 Mi Avenue", "6419 Non Av.", + "659-2538 Elementum Street", "2205 Quis St.", + "252-5213 Tincidunt St.", "P.O. Box 175, 4049 Adipiscing Rd.", + "3217 Nam Ave", "P.O. Box 859, 7661 Auctor St.", + "2873 Nonummy Av.", "7342 Mi, Avenue", + "539-3914 Dignissim. Rd.", "539-3675 Magna Avenue", + "Ap #357-5640 Pharetra Avenue", "416-2983 Posuere Rd.", + "141-1287 Adipiscing Avenue", "Ap #781-3145 Gravida St.", + "6897 Suscipit Rd.", "8336 Purus Avenue", "2603 Bibendum. Av.", + "2870 Vestibulum St.", "Ap #722 Aenean Avenue", + "446-968 Augue Ave", "1141 Ultricies Street", + "Ap #992-5769 Nunc Street", "6690 Porttitor Avenue", + "Ap #105-1700 Risus Street", + "P.O. Box 532, 3225 Lacus. Avenue", "736 Metus Street", + "414-1417 Fringilla Street", "Ap #183-928 Scelerisque Road", + "561-9262 Iaculis Avenue" }; + PersonContainer c = null; + Random r = new Random(0); + try { + c = new PersonContainer(); + for (int i = 0; i < 100; i++) { + Person p = new Person(); + p.setFirstName(fnames[r.nextInt(fnames.length)]); + p.setLastName(lnames[r.nextInt(lnames.length)]); + p.setCity(cities[r.nextInt(cities.length)]); + p.setEmail(p.getFirstName().toLowerCase() + "." + + p.getLastName().toLowerCase() + "@itmill.com"); + p.setPhoneNumber("+358 02 555 " + r.nextInt(10) + r.nextInt(10) + + r.nextInt(10) + r.nextInt(10)); + int n = r.nextInt(100000); + if (n < 10000) { + n += 10000; + } + p.setPostalCode(n); + p.setStreetAddress(streets[r.nextInt(streets.length)]); + c.addItem(p); + } + } catch (InstantiationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } - return c; - } + return c; + } } diff --git a/src/com/itmill/toolkit/demo/tutorial/addressbook/data/SearchFilter.java b/src/com/itmill/toolkit/demo/tutorial/addressbook/data/SearchFilter.java index 137917a341..1ebd9fa372 100644 --- a/src/com/itmill/toolkit/demo/tutorial/addressbook/data/SearchFilter.java +++ b/src/com/itmill/toolkit/demo/tutorial/addressbook/data/SearchFilter.java @@ -1,41 +1,43 @@ package com.itmill.toolkit.demo.tutorial.addressbook.data; -public class SearchFilter { - - private final String term; - private final Object propertyId; - private String searchName; - - public SearchFilter(Object propertyId, String searchTerm, String name) { - this.propertyId = propertyId; - this.term = searchTerm; - this.searchName = name; - } - - /** - * @return the term - */ - public String getTerm() { - return term; - } - - /** - * @return the propertyId - */ - public Object getPropertyId() { - return propertyId; - } - - /** - * @return the name of the search - */ - public String getSearchName() { - return searchName; - } - - @Override - public String toString() { - return getSearchName(); - } +import java.io.Serializable; + +public class SearchFilter implements Serializable { + + private final String term; + private final Object propertyId; + private String searchName; + + public SearchFilter(Object propertyId, String searchTerm, String name) { + this.propertyId = propertyId; + term = searchTerm; + searchName = name; + } + + /** + * @return the term + */ + public String getTerm() { + return term; + } + + /** + * @return the propertyId + */ + public Object getPropertyId() { + return propertyId; + } + + /** + * @return the name of the search + */ + public String getSearchName() { + return searchName; + } + + @Override + public String toString() { + return getSearchName(); + } } diff --git a/src/com/itmill/toolkit/event/Action.java b/src/com/itmill/toolkit/event/Action.java index 3657a95c28..3c9074bc94 100644 --- a/src/com/itmill/toolkit/event/Action.java +++ b/src/com/itmill/toolkit/event/Action.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.event; +import java.io.Serializable; + import com.itmill.toolkit.terminal.Resource; /** @@ -16,7 +18,8 @@ import com.itmill.toolkit.terminal.Resource; * @VERSION@ * @since 3.0 */ -public class Action { +@SuppressWarnings("serial") +public class Action implements Serializable { /** * Action title. @@ -77,7 +80,7 @@ public class Action { * @VERSION@ * @since 3.0 */ - public interface Handler { + public interface Handler extends Serializable { /** * Gets the list of actions applicable to this handler. @@ -120,7 +123,7 @@ public class Action { * @VERSION@ * @since 3.0 */ - public interface Container { + public interface Container extends Serializable { /** * Registers a new action handler for this container diff --git a/src/com/itmill/toolkit/event/EventRouter.java b/src/com/itmill/toolkit/event/EventRouter.java index 8ccd9b47d0..6d802a6fdc 100644 --- a/src/com/itmill/toolkit/event/EventRouter.java +++ b/src/com/itmill/toolkit/event/EventRouter.java @@ -20,6 +20,7 @@ import java.util.Set; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class EventRouter implements MethodEventSource { /** diff --git a/src/com/itmill/toolkit/event/ItemClickEvent.java b/src/com/itmill/toolkit/event/ItemClickEvent.java index 62d109b583..c68bc98788 100644 --- a/src/com/itmill/toolkit/event/ItemClickEvent.java +++ b/src/com/itmill/toolkit/event/ItemClickEvent.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.event; +import java.io.Serializable; import java.lang.reflect.Method; import com.itmill.toolkit.data.Container; @@ -26,7 +27,8 @@ import com.itmill.toolkit.ui.Component.Event; * TODO extract generic super class/interfaces if we implement some other * click events. */ -public class ItemClickEvent extends Event { +@SuppressWarnings("serial") +public class ItemClickEvent extends Event implements Serializable { public static final int BUTTON_LEFT = MouseEventDetails.BUTTON_LEFT; public static final int BUTTON_MIDDLE = MouseEventDetails.BUTTON_MIDDLE; public static final int BUTTON_RIGHT = MouseEventDetails.BUTTON_RIGHT; @@ -107,11 +109,6 @@ public class ItemClickEvent extends Event { return details.isShiftKey(); } - /** - * Serial generated by eclipse - */ - private static final long serialVersionUID = 3576399524236787971L; - public static final Method ITEM_CLICK_METHOD; static { @@ -124,7 +121,7 @@ public class ItemClickEvent extends Event { } } - public interface ItemClickListener { + public interface ItemClickListener extends Serializable { public void itemClick(ItemClickEvent event); } @@ -134,7 +131,7 @@ public class ItemClickEvent extends Event { * @link {@link Container} interface may support emitting * {@link ItemClickEvent}s. */ - public interface ItemClickSource { + public interface ItemClickSource extends Serializable { /** * Register listener to handle ItemClickEvents. * diff --git a/src/com/itmill/toolkit/event/ListenerMethod.java b/src/com/itmill/toolkit/event/ListenerMethod.java index 1984dd8380..b0732398c7 100644 --- a/src/com/itmill/toolkit/event/ListenerMethod.java +++ b/src/com/itmill/toolkit/event/ListenerMethod.java @@ -4,6 +4,9 @@ package com.itmill.toolkit.event; +import java.io.IOException; +import java.io.NotSerializableException; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Arrays; import java.util.EventListener; @@ -35,24 +38,25 @@ import java.util.EventObject; * @VERSION@ * @since 3.0 */ -public class ListenerMethod implements EventListener { +@SuppressWarnings("serial") +public class ListenerMethod implements EventListener, Serializable { /** * Type of the event that should trigger this listener. Also the subclasses * of this class are accepted to trigger the listener. */ - private final Class eventType; + private final Class<?> eventType; /** * The object containing the trigger method. */ - private final Object object; + private Object object; /** * The trigger method to call when an event passing the given criteria * fires. */ - private final Method method; + private transient Method method; /** * Optional argument set to pass to the trigger method. @@ -66,6 +70,67 @@ public class ListenerMethod implements EventListener { */ private int eventArgumentIndex; + /* Special serialization to handle method references */ + private void writeObject(java.io.ObjectOutputStream out) throws IOException { + try { + out.defaultWriteObject(); + String name = method.getName(); + Class<?>[] paramTypes = method.getParameterTypes(); + out.writeObject(name); + out.writeObject(paramTypes); + } catch (NotSerializableException e) { + System.err + .println("Fatal error in serialization of the application: Class " + + object.getClass().getName() + + " must implement serialization."); + throw e; + } + + }; + + /* Special serialization to handle method references */ + private void readObject(java.io.ObjectInputStream in) throws IOException, + ClassNotFoundException { + in.defaultReadObject(); + try { + String name = (String) in.readObject(); + Class<?>[] paramTypes = (Class<?>[]) in.readObject(); + // We can not use getMethod directly as we want to support anonymous + // inner classes + method = findHighestMethod(object.getClass(), name, paramTypes); + } catch (SecurityException e) { + System.err.println("Internal deserialization error"); + e.printStackTrace(); + } + }; + + private static Method findHighestMethod(Class<?> cls, String method, + Class<?>[] paramTypes) { + Class<?>[] ifaces = cls.getInterfaces(); + for (int i = 0; i < ifaces.length; i++) { + Method ifaceMethod = findHighestMethod(ifaces[i], method, + paramTypes); + if (ifaceMethod != null) { + return ifaceMethod; + } + } + if (cls.getSuperclass() != null) { + Method parentMethod = findHighestMethod(cls.getSuperclass(), + method, paramTypes); + if (parentMethod != null) { + return parentMethod; + } + } + Method[] methods = cls.getMethods(); + for (int i = 0; i < methods.length; i++) { + // we ignore parameter types for now - you need to add this + if (methods[i].getName().equals(method)) { + return methods[i]; + } + } + return null; + } + /** * <p> * Constructs a new event listener from a trigger method, it's arguments and @@ -98,7 +163,7 @@ public class ListenerMethod implements EventListener { * if <code>method</code> is not a member of <code>object</code> * . */ - public ListenerMethod(Class eventType, Object object, Method method, + public ListenerMethod(Class<?> eventType, Object object, Method method, Object[] arguments, int eventArgumentIndex) throws java.lang.IllegalArgumentException { @@ -157,7 +222,7 @@ public class ListenerMethod implements EventListener { * unless exactly one match <code>methodName</code> is found in * <code>object</code>. */ - public ListenerMethod(Class eventType, Object object, String methodName, + public ListenerMethod(Class<?> eventType, Object object, String methodName, Object[] arguments, int eventArgumentIndex) throws java.lang.IllegalArgumentException { @@ -218,7 +283,7 @@ public class ListenerMethod implements EventListener { * if <code>method</code> is not a member of <code>object</code> * . */ - public ListenerMethod(Class eventType, Object object, Method method, + public ListenerMethod(Class<?> eventType, Object object, Method method, Object[] arguments) throws java.lang.IllegalArgumentException { // Check that the object is of correct type @@ -262,7 +327,7 @@ public class ListenerMethod implements EventListener { * unless exactly one match <code>methodName</code> is found in * <code>object</code>. */ - public ListenerMethod(Class eventType, Object object, String methodName, + public ListenerMethod(Class<?> eventType, Object object, String methodName, Object[] arguments) throws java.lang.IllegalArgumentException { // Find the correct method @@ -307,7 +372,7 @@ public class ListenerMethod implements EventListener { * if <code>method</code> is not a member of <code>object</code> * . */ - public ListenerMethod(Class eventType, Object object, Method method) + public ListenerMethod(Class<?> eventType, Object object, Method method) throws java.lang.IllegalArgumentException { // Checks that the object is of correct type @@ -320,7 +385,7 @@ public class ListenerMethod implements EventListener { this.method = method; eventArgumentIndex = -1; - final Class[] params = method.getParameterTypes(); + final Class<?>[] params = method.getParameterTypes(); if (params.length == 0) { arguments = new Object[0]; @@ -358,7 +423,7 @@ public class ListenerMethod implements EventListener { * unless exactly one match <code>methodName</code> is found in * <code>object</code>. */ - public ListenerMethod(Class eventType, Object object, String methodName) + public ListenerMethod(Class<?> eventType, Object object, String methodName) throws java.lang.IllegalArgumentException { // Finds the correct method @@ -378,7 +443,7 @@ public class ListenerMethod implements EventListener { this.method = method; eventArgumentIndex = -1; - final Class[] params = method.getParameterTypes(); + final Class<?>[] params = method.getParameterTypes(); if (params.length == 0) { arguments = new Object[0]; @@ -447,7 +512,7 @@ public class ListenerMethod implements EventListener { * the one stored in this object and <code>eventType</code> equals * the event type stored in this object. * */ - public boolean matches(Class eventType, Object target) { + public boolean matches(Class<?> eventType, Object target) { return (target == object) && (eventType.equals(this.eventType)); } @@ -469,7 +534,7 @@ public class ListenerMethod implements EventListener { * the event type stored in this object and <code>method</code> * equals with the method stored in this object */ - public boolean matches(Class eventType, Object target, Method method) { + public boolean matches(Class<?> eventType, Object target, Method method) { return (target == object) && (eventType.equals(this.eventType) && method .equals(this.method)); @@ -524,12 +589,8 @@ public class ListenerMethod implements EventListener { * @VERSION@ * @since 3.0 */ - public class MethodException extends RuntimeException { - - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257005445242894135L; + public class MethodException extends RuntimeException implements + Serializable { private final Throwable cause; diff --git a/src/com/itmill/toolkit/event/MethodEventSource.java b/src/com/itmill/toolkit/event/MethodEventSource.java index 8b5d9d797f..16aca65208 100644 --- a/src/com/itmill/toolkit/event/MethodEventSource.java +++ b/src/com/itmill/toolkit/event/MethodEventSource.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.event; +import java.io.Serializable; import java.lang.reflect.Method; /** @@ -22,7 +23,7 @@ import java.lang.reflect.Method; * @VERSION@ * @since 3.0 */ -public interface MethodEventSource { +public interface MethodEventSource extends Serializable { /** * <p> diff --git a/src/com/itmill/toolkit/event/ShortcutAction.java b/src/com/itmill/toolkit/event/ShortcutAction.java index 4b4cca83b5..665add30b3 100644 --- a/src/com/itmill/toolkit/event/ShortcutAction.java +++ b/src/com/itmill/toolkit/event/ShortcutAction.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.event; +import java.io.Serializable; + import com.itmill.toolkit.terminal.Resource; /** @@ -13,6 +15,7 @@ import com.itmill.toolkit.terminal.Resource; * @version * @since 4.0.1 */ +@SuppressWarnings("serial") public class ShortcutAction extends Action { private final int keyCode; @@ -43,7 +46,7 @@ public class ShortcutAction extends Action { * Key codes that can be used for shortcuts * */ - public interface KeyCode { + public interface KeyCode extends Serializable { public static final int ENTER = 13; public static final int ESCAPE = 27; @@ -173,7 +176,7 @@ public class ShortcutAction extends Action { * Modifier key constants * */ - public interface ModifierKey { + public interface ModifierKey extends Serializable { public static final int SHIFT = 16; public static final int CTRL = 17; diff --git a/src/com/itmill/toolkit/service/ApplicationContext.java b/src/com/itmill/toolkit/service/ApplicationContext.java index 0fc76c13cd..3bc0a29822 100644 --- a/src/com/itmill/toolkit/service/ApplicationContext.java +++ b/src/com/itmill/toolkit/service/ApplicationContext.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.service; import java.io.File; +import java.io.Serializable; import java.util.Collection; import com.itmill.toolkit.Application; @@ -19,7 +20,7 @@ import com.itmill.toolkit.Application; * @VERSION@ * @since 3.1 */ -public interface ApplicationContext { +public interface ApplicationContext extends Serializable { /** * Returns application context base directory. @@ -68,7 +69,7 @@ public interface ApplicationContext { * between the client and the application. * */ - public interface TransactionListener { + public interface TransactionListener extends Serializable { /** * Invoked at the beginning of every transaction. diff --git a/src/com/itmill/toolkit/service/FileTypeResolver.java b/src/com/itmill/toolkit/service/FileTypeResolver.java index 7c57fece6f..97cd161681 100644 --- a/src/com/itmill/toolkit/service/FileTypeResolver.java +++ b/src/com/itmill/toolkit/service/FileTypeResolver.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.service; import java.io.File; +import java.io.Serializable; import java.util.Collections; import java.util.Hashtable; import java.util.Map; @@ -25,7 +26,8 @@ import com.itmill.toolkit.terminal.ThemeResource; * @VERSION@ * @since 3.0 */ -public class FileTypeResolver { +@SuppressWarnings("serial") +public class FileTypeResolver implements Serializable { /** * Default icon given if no icon is specified for a mime-type. diff --git a/src/com/itmill/toolkit/terminal/ApplicationResource.java b/src/com/itmill/toolkit/terminal/ApplicationResource.java index 94f3a21a2e..c67de1a7a4 100644 --- a/src/com/itmill/toolkit/terminal/ApplicationResource.java +++ b/src/com/itmill/toolkit/terminal/ApplicationResource.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + import com.itmill.toolkit.Application; /** @@ -21,7 +23,7 @@ import com.itmill.toolkit.Application; * @VERSION@ * @since 3.0 */ -public interface ApplicationResource extends Resource { +public interface ApplicationResource extends Resource, Serializable { /** * Default cache time. diff --git a/src/com/itmill/toolkit/terminal/ClassResource.java b/src/com/itmill/toolkit/terminal/ClassResource.java index 60ac7e311f..a8062940bb 100644 --- a/src/com/itmill/toolkit/terminal/ClassResource.java +++ b/src/com/itmill/toolkit/terminal/ClassResource.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + import com.itmill.toolkit.Application; import com.itmill.toolkit.service.FileTypeResolver; @@ -20,7 +22,8 @@ import com.itmill.toolkit.service.FileTypeResolver; * @VERSION@ * @since 3.0 */ -public class ClassResource implements ApplicationResource { +@SuppressWarnings("serial") +public class ClassResource implements ApplicationResource, Serializable { /** * Default buffer size for this stream resource. diff --git a/src/com/itmill/toolkit/terminal/CompositeErrorMessage.java b/src/com/itmill/toolkit/terminal/CompositeErrorMessage.java index 47a50b1e26..7af3ac4628 100644 --- a/src/com/itmill/toolkit/terminal/CompositeErrorMessage.java +++ b/src/com/itmill/toolkit/terminal/CompositeErrorMessage.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; @@ -17,7 +18,8 @@ import java.util.List; * @VERSION@ * @since 3.0 */ -public class CompositeErrorMessage implements ErrorMessage { +@SuppressWarnings("serial") +public class CompositeErrorMessage implements ErrorMessage, Serializable { /** * Array of all the errors. diff --git a/src/com/itmill/toolkit/terminal/DownloadStream.java b/src/com/itmill/toolkit/terminal/DownloadStream.java index 1703dc2b92..8b91e15bb1 100644 --- a/src/com/itmill/toolkit/terminal/DownloadStream.java +++ b/src/com/itmill/toolkit/terminal/DownloadStream.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.terminal; import java.io.InputStream; +import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -17,7 +18,8 @@ import java.util.Map; * @VERSION@ * @since 3.0 */ -public class DownloadStream { +@SuppressWarnings("serial") +public class DownloadStream implements Serializable { /** * Maximum cache time. diff --git a/src/com/itmill/toolkit/terminal/ErrorMessage.java b/src/com/itmill/toolkit/terminal/ErrorMessage.java index d3cf40ba6d..5b07dcc4f7 100644 --- a/src/com/itmill/toolkit/terminal/ErrorMessage.java +++ b/src/com/itmill/toolkit/terminal/ErrorMessage.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + /** * Interface for rendering error messages to terminal. All the visible errors * shown to user must implement this interface. @@ -13,7 +15,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ -public interface ErrorMessage extends Paintable { +public interface ErrorMessage extends Paintable, Serializable { /** * Error code for system errors and bugs. diff --git a/src/com/itmill/toolkit/terminal/ExternalResource.java b/src/com/itmill/toolkit/terminal/ExternalResource.java index 1a210a059e..80feae3d00 100644 --- a/src/com/itmill/toolkit/terminal/ExternalResource.java +++ b/src/com/itmill/toolkit/terminal/ExternalResource.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.net.URL; import com.itmill.toolkit.service.FileTypeResolver; @@ -18,7 +19,7 @@ import com.itmill.toolkit.service.FileTypeResolver; * @VERSION@ * @since 3.0 */ -public class ExternalResource implements Resource { +public class ExternalResource implements Resource, Serializable { /** * Url of the download. diff --git a/src/com/itmill/toolkit/terminal/FileResource.java b/src/com/itmill/toolkit/terminal/FileResource.java index 571d22ecfb..6fa26405e4 100644 --- a/src/com/itmill/toolkit/terminal/FileResource.java +++ b/src/com/itmill/toolkit/terminal/FileResource.java @@ -22,6 +22,7 @@ import com.itmill.toolkit.service.FileTypeResolver; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class FileResource implements ApplicationResource { /** diff --git a/src/com/itmill/toolkit/terminal/KeyMapper.java b/src/com/itmill/toolkit/terminal/KeyMapper.java index de6fbd27ba..4747cd4e98 100644 --- a/src/com/itmill/toolkit/terminal/KeyMapper.java +++ b/src/com/itmill/toolkit/terminal/KeyMapper.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.util.Hashtable; /** @@ -15,7 +16,8 @@ import java.util.Hashtable; * @VERSION@ * @since 3.0 */ -public class KeyMapper { +@SuppressWarnings("serial") +public class KeyMapper implements Serializable { private int lastKey = 0; diff --git a/src/com/itmill/toolkit/terminal/PaintException.java b/src/com/itmill/toolkit/terminal/PaintException.java index c421edf94a..8464a418bf 100644 --- a/src/com/itmill/toolkit/terminal/PaintException.java +++ b/src/com/itmill/toolkit/terminal/PaintException.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.terminal; import java.io.IOException; +import java.io.Serializable; /** * <code>PaintExcepection</code> is thrown if painting of a component fails. @@ -14,12 +15,8 @@ import java.io.IOException; * @VERSION@ * @since 3.0 */ -public class PaintException extends IOException { - - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3762535607221891897L; +@SuppressWarnings("serial") +public class PaintException extends IOException implements Serializable { /** * Constructs an instance of <code>PaintExeception</code> with the specified diff --git a/src/com/itmill/toolkit/terminal/PaintTarget.java b/src/com/itmill/toolkit/terminal/PaintTarget.java index 43f134bfd8..b232325831 100644 --- a/src/com/itmill/toolkit/terminal/PaintTarget.java +++ b/src/com/itmill/toolkit/terminal/PaintTarget.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + /** * This interface defines the methods for painting XML to the UIDL stream. * @@ -12,7 +14,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ -public interface PaintTarget { +public interface PaintTarget extends Serializable{ /** * Prints single XMLsection. diff --git a/src/com/itmill/toolkit/terminal/Paintable.java b/src/com/itmill/toolkit/terminal/Paintable.java index 61dbc27fc5..be09df281a 100644 --- a/src/com/itmill/toolkit/terminal/Paintable.java +++ b/src/com/itmill/toolkit/terminal/Paintable.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.util.EventObject; /** @@ -16,7 +17,7 @@ import java.util.EventObject; * @VERSION@ * @since 3.0 */ -public interface Paintable extends java.util.EventListener { +public interface Paintable extends java.util.EventListener, Serializable { /** * <p> @@ -65,14 +66,10 @@ public interface Paintable extends java.util.EventListener { * This is typically done when the <code>paint</code> method would return * dissimilar UIDL from the previous call of the method. */ + @SuppressWarnings("serial") public class RepaintRequestEvent extends EventObject { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3256725095530442805L; - - /** * Constructs a new event. * * @param source @@ -99,7 +96,7 @@ public interface Paintable extends java.util.EventListener { * when the <code>paint</code> method would return dissimilar UIDL from the * previous call of the method. */ - public interface RepaintRequestListener { + public interface RepaintRequestListener extends Serializable { /** * Receives repaint request events. diff --git a/src/com/itmill/toolkit/terminal/ParameterHandler.java b/src/com/itmill/toolkit/terminal/ParameterHandler.java index 640292bc97..88ba0ae1c2 100644 --- a/src/com/itmill/toolkit/terminal/ParameterHandler.java +++ b/src/com/itmill/toolkit/terminal/ParameterHandler.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.util.Map; /** @@ -24,7 +25,7 @@ import java.util.Map; * @VERSION@ * @since 3.0 */ -public interface ParameterHandler { +public interface ParameterHandler extends Serializable{ /** * <p> diff --git a/src/com/itmill/toolkit/terminal/Resource.java b/src/com/itmill/toolkit/terminal/Resource.java index 5cf07729aa..7e29ae250a 100644 --- a/src/com/itmill/toolkit/terminal/Resource.java +++ b/src/com/itmill/toolkit/terminal/Resource.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + /** * <code>Resource</code> provided to the client terminal. Support for actually * displaying the resource type is left to the terminal. @@ -13,7 +15,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ -public interface Resource { +public interface Resource extends Serializable{ /** * Gets the MIME type of the resource. diff --git a/src/com/itmill/toolkit/terminal/Scrollable.java b/src/com/itmill/toolkit/terminal/Scrollable.java index 4b9260c70d..3ab1a5df5c 100644 --- a/src/com/itmill/toolkit/terminal/Scrollable.java +++ b/src/com/itmill/toolkit/terminal/Scrollable.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + /** * <p> * This interface is implemented by all visual objects that can be scrolled. The @@ -15,7 +17,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ -public interface Scrollable { +public interface Scrollable extends Serializable { /** * Gets scroll left offset. diff --git a/src/com/itmill/toolkit/terminal/Sizeable.java b/src/com/itmill/toolkit/terminal/Sizeable.java index e4030be7bc..8b83012157 100644 --- a/src/com/itmill/toolkit/terminal/Sizeable.java +++ b/src/com/itmill/toolkit/terminal/Sizeable.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + /** * Interface to be implemented by components wishing to display some object that * may be dynamically resized during runtime. @@ -13,7 +15,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ -public interface Sizeable { +public interface Sizeable extends Serializable{ /** * Unit code representing pixels. diff --git a/src/com/itmill/toolkit/terminal/StreamResource.java b/src/com/itmill/toolkit/terminal/StreamResource.java index b1ad8f9c15..49bcc81d6f 100644 --- a/src/com/itmill/toolkit/terminal/StreamResource.java +++ b/src/com/itmill/toolkit/terminal/StreamResource.java @@ -20,6 +20,7 @@ import com.itmill.toolkit.service.FileTypeResolver; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class StreamResource implements ApplicationResource { /** diff --git a/src/com/itmill/toolkit/terminal/SystemError.java b/src/com/itmill/toolkit/terminal/SystemError.java index b5d2fae5d0..8f7f19a5a6 100644 --- a/src/com/itmill/toolkit/terminal/SystemError.java +++ b/src/com/itmill/toolkit/terminal/SystemError.java @@ -18,14 +18,10 @@ import java.io.StringWriter; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class SystemError extends RuntimeException implements ErrorMessage { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3256445789512675891L; - - /** * The cause of the system error. The cause is stored separately as JDK 1.3 * does not support causes natively. */ diff --git a/src/com/itmill/toolkit/terminal/Terminal.java b/src/com/itmill/toolkit/terminal/Terminal.java index e7a61b6457..5f136679d9 100644 --- a/src/com/itmill/toolkit/terminal/Terminal.java +++ b/src/com/itmill/toolkit/terminal/Terminal.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; + /** * Interface for different terminal types. * @@ -12,7 +14,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ -public interface Terminal { +public interface Terminal extends Serializable { /** * Gets the name of the default theme. @@ -38,7 +40,7 @@ public interface Terminal { /** * Terminal error event. */ - public interface ErrorEvent { + public interface ErrorEvent extends Serializable{ /** * Gets the contained throwable. @@ -50,7 +52,7 @@ public interface Terminal { /** * Terminal error listener interface. */ - public interface ErrorListener { + public interface ErrorListener extends Serializable{ /** * Invoked when terminal error occurs. diff --git a/src/com/itmill/toolkit/terminal/ThemeResource.java b/src/com/itmill/toolkit/terminal/ThemeResource.java index 809f5a2bc8..1fcf0dd5f3 100644 --- a/src/com/itmill/toolkit/terminal/ThemeResource.java +++ b/src/com/itmill/toolkit/terminal/ThemeResource.java @@ -17,6 +17,7 @@ import com.itmill.toolkit.service.FileTypeResolver; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class ThemeResource implements Resource { /** diff --git a/src/com/itmill/toolkit/terminal/URIHandler.java b/src/com/itmill/toolkit/terminal/URIHandler.java index fc72c0c204..46fb322b0d 100644 --- a/src/com/itmill/toolkit/terminal/URIHandler.java +++ b/src/com/itmill/toolkit/terminal/URIHandler.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.net.URL; /** @@ -19,7 +20,7 @@ import java.net.URL; * @VERSION@ * @since 3.0 */ -public interface URIHandler { +public interface URIHandler extends Serializable { /** * Handles a given relative URI. If the URI handling wants to emit a diff --git a/src/com/itmill/toolkit/terminal/UploadStream.java b/src/com/itmill/toolkit/terminal/UploadStream.java index b15bb1db15..225740ed43 100644 --- a/src/com/itmill/toolkit/terminal/UploadStream.java +++ b/src/com/itmill/toolkit/terminal/UploadStream.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.terminal; import java.io.InputStream; +import java.io.Serializable; /** * Defines a variable type, that is used for passing uploaded files from @@ -16,7 +17,7 @@ import java.io.InputStream; * @VERSION@ * @since 3.0 */ -public interface UploadStream { +public interface UploadStream extends Serializable { /** * Gets the name of the stream. diff --git a/src/com/itmill/toolkit/terminal/UserError.java b/src/com/itmill/toolkit/terminal/UserError.java index 92b33e4f8b..e7c2df9004 100644 --- a/src/com/itmill/toolkit/terminal/UserError.java +++ b/src/com/itmill/toolkit/terminal/UserError.java @@ -13,6 +13,7 @@ package com.itmill.toolkit.terminal; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class UserError implements ErrorMessage { /** diff --git a/src/com/itmill/toolkit/terminal/VariableOwner.java b/src/com/itmill/toolkit/terminal/VariableOwner.java index c97497aede..fc1fe2ba16 100644 --- a/src/com/itmill/toolkit/terminal/VariableOwner.java +++ b/src/com/itmill/toolkit/terminal/VariableOwner.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.terminal; +import java.io.Serializable; import java.util.Map; /** @@ -20,7 +21,7 @@ import java.util.Map; * @VERSION@ * @since 3.0 */ -public interface VariableOwner { +public interface VariableOwner extends Serializable { /** * Called when one or more variables handled by the implementing class are diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IMarginInfo.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IMarginInfo.java index 725659c916..62ef12a9bd 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IMarginInfo.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IMarginInfo.java @@ -4,7 +4,10 @@ package com.itmill.toolkit.terminal.gwt.client.ui; -public class IMarginInfo { +import java.io.Serializable; + +@SuppressWarnings("serial") +public class IMarginInfo implements Serializable { private static final int TOP = 1; private static final int RIGHT = 2; diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java index 894eba519b..eff1fe3a66 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java @@ -2,6 +2,7 @@ package com.itmill.toolkit.terminal.gwt.server; import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Serializable;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
@@ -15,7 +16,8 @@ import javax.portlet.RenderResponse; import com.itmill.toolkit.Application;
-public class ApplicationPortlet implements Portlet {
+@SuppressWarnings("serial")
+public class ApplicationPortlet implements Portlet, Serializable {
// The application to show
protected String app = null;
// some applications might require forced height (and, more seldom, width)
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java index b9c8d58ff5..6fd6bfaa8c 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java @@ -10,6 +10,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.io.Serializable; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -19,7 +20,6 @@ import java.security.GeneralSecurityException; import java.util.Collection; import java.util.Date; import java.util.Enumeration; -import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Properties; @@ -55,10 +55,9 @@ import com.itmill.toolkit.ui.Window; * @since 5.0 */ +@SuppressWarnings("serial") public class ApplicationServlet extends HttpServlet { - private static final long serialVersionUID = -4937882979845826574L; - /** * Version number of this release. For example "5.0.0". */ @@ -127,10 +126,6 @@ public class ApplicationServlet extends HttpServlet { private static final int MAX_BUFFER_SIZE = 64 * 1024; - // TODO This is session specific not servlet wide data. No need to store - // this here, move it to Session from where it can be queried when required - protected static HashMap<Application, CommunicationManager> applicationToAjaxAppMgrMap = new HashMap<Application, CommunicationManager>(); - private static final String RESOURCE_URI = "/RES/"; private static final String AJAX_UIDL_URI = "/UIDL"; @@ -162,8 +157,6 @@ public class ApplicationServlet extends HttpServlet { // If servlet is application runner, store request's classname String applicationRunnerClassname = null; - private ClassLoader classLoader; - /** * Called by the servlet container to indicate to a servlet that the servlet * is being placed into service. @@ -229,28 +222,6 @@ public class ApplicationServlet extends HttpServlet { System.err.println(NOT_PRODUCTION_MODE_INFO); } - // Gets custom class loader - final String classLoaderName = getApplicationOrSystemProperty( - "ClassLoader", null); - ClassLoader classLoader; - if (classLoaderName == null) { - classLoader = getClass().getClassLoader(); - } else { - try { - final Class classLoaderClass = getClass().getClassLoader() - .loadClass(classLoaderName); - final Constructor c = classLoaderClass - .getConstructor(new Class[] { ClassLoader.class }); - classLoader = (ClassLoader) c - .newInstance(new Object[] { getClass().getClassLoader() }); - } catch (final Exception e) { - throw new ServletException( - "Could not find specified class loader: " - + classLoaderName, e); - } - } - this.classLoader = classLoader; - // Loads the application class using the same class loader // as the servlet itself if (!isApplicationRunnerServlet) { @@ -262,7 +233,8 @@ public class ApplicationServlet extends HttpServlet { "Application not specified in servlet parameters"); } try { - applicationClass = classLoader.loadClass(applicationClassName); + applicationClass = getClassLoader().loadClass( + applicationClassName); } catch (final ClassNotFoundException e) { throw new ServletException("Failed to load application class: " + applicationClassName); @@ -274,6 +246,30 @@ public class ApplicationServlet extends HttpServlet { } + private ClassLoader getClassLoader() throws ServletException { + // Gets custom class loader + final String classLoaderName = getApplicationOrSystemProperty( + "ClassLoader", null); + ClassLoader classLoader; + if (classLoaderName == null) { + classLoader = getClass().getClassLoader(); + } else { + try { + final Class<?> classLoaderClass = getClass().getClassLoader() + .loadClass(classLoaderName); + final Constructor<?> c = classLoaderClass + .getConstructor(new Class[] { ClassLoader.class }); + classLoader = (ClassLoader) c + .newInstance(new Object[] { getClass().getClassLoader() }); + } catch (final Exception e) { + throw new ServletException( + "Could not find specified class loader: " + + classLoaderName, e); + } + } + return classLoader; + } + /** * Gets an application or system property value. * @@ -371,8 +367,9 @@ public class ApplicationServlet extends HttpServlet { // note: endTransaction is called on finalize below ((WebApplicationContext) application.getContext()) .startTransaction(application, request); - getApplicationManager(application).handleFileUpload(request, - response); + ((WebApplicationContext) application.getContext()) + .getApplicationManager(application, this) + .handleFileUpload(request, response); return; } @@ -417,8 +414,9 @@ public class ApplicationServlet extends HttpServlet { .startTransaction(application, request); // Handle UIDL request - getApplicationManager(application).handleUidlRequest( - request, response, this); + ((WebApplicationContext) application.getContext()) + .getApplicationManager(application, this) + .handleUidlRequest(request, response, this); return; } } @@ -432,7 +430,7 @@ public class ApplicationServlet extends HttpServlet { application.close(); final HttpSession session = request.getSession(false); if (session != null) { - ApplicationServlet.applicationToAjaxAppMgrMap + WebApplicationContext.getApplicationContext(session).applicationToAjaxAppMgrMap .remove(application); WebApplicationContext.getApplicationContext(session) .removeApplication(application); @@ -474,8 +472,9 @@ public class ApplicationServlet extends HttpServlet { DownloadStream download = null; // Handles the URI if the application is still running - download = getApplicationManager(application).handleURI(window, - request, response); + download = ((WebApplicationContext) application.getContext()) + .getApplicationManager(application, this).handleURI(window, + request, response); // If this is not a download request if (download == null) { @@ -623,9 +622,10 @@ public class ApplicationServlet extends HttpServlet { * @param request * @param response * @throws IOException + * @throws ServletException */ private void serveStaticResourcesInITMILL(String filename, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException, ServletException { final ServletContext sc = getServletContext(); InputStream is = sc.getResourceAsStream(filename); @@ -634,7 +634,7 @@ public class ApplicationServlet extends HttpServlet { // strip leading "/" otherwise stream from JAR wont work filename = filename.substring(1); - is = classLoader.getResourceAsStream(filename); + is = getClassLoader().getResourceAsStream(filename); if (is == null) { // cannot serve requested file @@ -1430,10 +1430,12 @@ public class ApplicationServlet extends HttpServlet { * @throws SAXException * @throws IllegalAccessException * @throws InstantiationException + * @throws ServletException */ private Application getNewApplication(HttpServletRequest request, HttpServletResponse response) throws MalformedURLException, - SAXException, IllegalAccessException, InstantiationException { + SAXException, IllegalAccessException, InstantiationException, + ServletException { // Create application final WebApplicationContext context = WebApplicationContext @@ -1446,7 +1448,8 @@ public class ApplicationServlet extends HttpServlet { applicationUrl = new URL(getApplicationUrl(request).toString() + applicationClassname + "/"); try { - applicationClass = classLoader.loadClass(applicationClassname); + applicationClass = getClassLoader().loadClass( + applicationClassname); } catch (final ClassNotFoundException e) { throw new InstantiationException( "Failed to load application class: " @@ -1586,7 +1589,7 @@ public class ApplicationServlet extends HttpServlet { * Implementation of ParameterHandler.ErrorEvent interface. */ public class ParameterHandlerErrorImpl implements - ParameterHandler.ErrorEvent { + ParameterHandler.ErrorEvent, Serializable { private ParameterHandler owner; @@ -1615,7 +1618,8 @@ public class ApplicationServlet extends HttpServlet { /** * Implementation of URIHandler.ErrorEvent interface. */ - public class URIHandlerErrorImpl implements URIHandler.ErrorEvent { + public class URIHandlerErrorImpl implements URIHandler.ErrorEvent, + Serializable { private final URIHandler owner; @@ -1651,25 +1655,6 @@ public class ApplicationServlet extends HttpServlet { } /** - * Gets communication manager for an application. - * - * If this application has not been running before, new manager is created. - * - * @param application - * @return CommunicationManager - */ - private CommunicationManager getApplicationManager(Application application) { - CommunicationManager mgr = applicationToAjaxAppMgrMap.get(application); - - if (mgr == null) { - // Creates new manager - mgr = new CommunicationManager(application, this); - applicationToAjaxAppMgrMap.put(application, mgr); - } - return mgr; - } - - /** * Gets resource path using different implementations. Required to * supporting different servlet container implementations (application * servers). @@ -1697,7 +1682,7 @@ public class ApplicationServlet extends HttpServlet { return resultPath; } - public class RequestError implements Terminal.ErrorEvent { + public class RequestError implements Terminal.ErrorEvent, Serializable { private final Throwable throwable; diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ChangeVariablesErrorEvent.java b/src/com/itmill/toolkit/terminal/gwt/server/ChangeVariablesErrorEvent.java index 76bd1822c0..53523bea5a 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ChangeVariablesErrorEvent.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ChangeVariablesErrorEvent.java @@ -5,6 +5,7 @@ import java.util.Map; import com.itmill.toolkit.ui.Component;
import com.itmill.toolkit.ui.AbstractComponent.ComponentErrorEvent;
+@SuppressWarnings("serial")
public class ChangeVariablesErrorEvent implements ComponentErrorEvent {
private Throwable throwable;
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java index 5cb8405d2a..4905b858c5 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java @@ -12,6 +12,7 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.io.Serializable; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; @@ -70,7 +71,9 @@ import com.itmill.toolkit.ui.Window; * @VERSION@ * @since 5.0 */ -public class CommunicationManager implements Paintable.RepaintRequestListener { +@SuppressWarnings("serial") +public class CommunicationManager implements Paintable.RepaintRequestListener, + Serializable { private static String GET_PARAM_REPAINT_ALL = "repaintAll"; @@ -776,8 +779,7 @@ public class CommunicationManager implements Paintable.RepaintRequestListener { return success; } - public class ErrorHandlerErrorEvent implements ErrorEvent { - + public class ErrorHandlerErrorEvent implements ErrorEvent, Serializable { private final Throwable throwable; public ErrorHandlerErrorEvent(Throwable throwable) { @@ -1207,7 +1209,9 @@ public class CommunicationManager implements Paintable.RepaintRequestListener { p.requestRepaintRequests(); } - private final class SingleValueMap implements Map { + private final class SingleValueMap implements Map<Object, Object>, + Serializable { + private final String name; private final Object value; @@ -1298,7 +1302,8 @@ public class CommunicationManager implements Paintable.RepaintRequestListener { /** * Implementation of URIHandler.ErrorEvent interface. */ - public class URIHandlerErrorImpl implements URIHandler.ErrorEvent { + public class URIHandlerErrorImpl implements URIHandler.ErrorEvent, + Serializable { private final URIHandler owner; @@ -1356,7 +1361,9 @@ public class CommunicationManager implements Paintable.RepaintRequestListener { * FileUpload can determine content length. Used to detect files total size, * uploads progress can be tracked inside upload. */ - private class UploadProgressListener implements ProgressListener { + private class UploadProgressListener implements ProgressListener, + Serializable { + Upload uploadComponent; boolean updated = false; diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ComponentSizeValidator.java b/src/com/itmill/toolkit/terminal/gwt/server/ComponentSizeValidator.java index 7aeee6b10b..afc7f4f554 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ComponentSizeValidator.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ComponentSizeValidator.java @@ -2,6 +2,7 @@ package com.itmill.toolkit.terminal.gwt.server; import java.io.PrintStream; import java.io.PrintWriter; +import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; @@ -26,7 +27,8 @@ import com.itmill.toolkit.ui.VerticalLayout; import com.itmill.toolkit.ui.Window; import com.itmill.toolkit.ui.GridLayout.Area; -public class ComponentSizeValidator { +@SuppressWarnings("serial") +public class ComponentSizeValidator implements Serializable { private final static int LAYERS_SHOWN = 4; @@ -72,12 +74,14 @@ public class ComponentSizeValidator { } } else if (component instanceof Form) { Form form = (Form) component; - if (form.getLayout() != null) + if (form.getLayout() != null) { errors = validateComponentRelativeSizes(form.getLayout(), errors, parent); - if (form.getFooter() != null) + } + if (form.getFooter() != null) { errors = validateComponentRelativeSizes(form.getFooter(), errors, parent); + } } return errors; @@ -148,7 +152,7 @@ public class ComponentSizeValidator { } } - public static class InvalidLayout { + public static class InvalidLayout implements Serializable { private Component component; @@ -265,7 +269,7 @@ public class ComponentSizeValidator { } } - private static class ComponentInfo { + private static class ComponentInfo implements Serializable { Component component; String info; @@ -561,8 +565,9 @@ public class ComponentSizeValidator { || parent instanceof TabSheet || parent instanceof CustomComponent) { // FIXME Could we use com.itmill.toolkit package name here and - // fail for all component containers? - // FIXME Actually this should be moved to containers so it can be implemented for custom containers + // fail for all component containers? + // FIXME Actually this should be moved to containers so it can + // be implemented for custom containers // TODO vertical splitpanel with another non relative component? return false; } else if (parent instanceof Window) { @@ -610,7 +615,7 @@ public class ComponentSizeValidator { private static Map<Object, FileLocation> widthLocations = new HashMap<Object, FileLocation>(); private static Map<Object, FileLocation> heightLocations = new HashMap<Object, FileLocation>(); - public static class FileLocation { + public static class FileLocation implements Serializable { public String method; public String file; public String className; diff --git a/src/com/itmill/toolkit/terminal/gwt/server/HttpUploadStream.java b/src/com/itmill/toolkit/terminal/gwt/server/HttpUploadStream.java index 5d789ac386..8026215088 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/HttpUploadStream.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/HttpUploadStream.java @@ -14,6 +14,7 @@ import java.io.InputStream; * @VERSION@ * @since 5.0 */ +@SuppressWarnings("serial") public class HttpUploadStream implements com.itmill.toolkit.terminal.UploadStream { diff --git a/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java b/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java index 81351daf0c..95818a4e46 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.terminal.gwt.server; import java.io.PrintWriter; +import java.io.Serializable; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; @@ -31,6 +32,7 @@ import com.itmill.toolkit.ui.Component; * @VERSION@ * @since 5.0 */ +@SuppressWarnings("serial") public class JsonPaintTarget implements PaintTarget { /* Document type declarations */ @@ -813,7 +815,7 @@ public class JsonPaintTarget implements PaintTarget { * @author mattitahvonen * */ - class JsonTag { + class JsonTag implements Serializable { boolean firstField = false; Vector variables = new Vector(); @@ -963,14 +965,14 @@ public class JsonPaintTarget implements PaintTarget { } } - abstract class Variable { + abstract class Variable implements Serializable { String name; public abstract String getJsonPresentation(); } - class BooleanVariable extends Variable { + class BooleanVariable extends Variable implements Serializable { boolean value; public BooleanVariable(VariableOwner owner, String name, boolean v) { @@ -985,7 +987,7 @@ public class JsonPaintTarget implements PaintTarget { } - class StringVariable extends Variable { + class StringVariable extends Variable implements Serializable { String value; public StringVariable(VariableOwner owner, String name, String v) { @@ -1000,7 +1002,7 @@ public class JsonPaintTarget implements PaintTarget { } - class IntVariable extends Variable { + class IntVariable extends Variable implements Serializable { int value; public IntVariable(VariableOwner owner, String name, int v) { @@ -1014,7 +1016,7 @@ public class JsonPaintTarget implements PaintTarget { } } - class LongVariable extends Variable { + class LongVariable extends Variable implements Serializable { long value; public LongVariable(VariableOwner owner, String name, long v) { @@ -1028,7 +1030,7 @@ public class JsonPaintTarget implements PaintTarget { } } - class FloatVariable extends Variable { + class FloatVariable extends Variable implements Serializable { float value; public FloatVariable(VariableOwner owner, String name, float v) { @@ -1042,7 +1044,7 @@ public class JsonPaintTarget implements PaintTarget { } } - class DoubleVariable extends Variable { + class DoubleVariable extends Variable implements Serializable { double value; public DoubleVariable(VariableOwner owner, String name, double v) { @@ -1056,7 +1058,7 @@ public class JsonPaintTarget implements PaintTarget { } } - class ArrayVariable extends Variable { + class ArrayVariable extends Variable implements Serializable { String[] value; public ArrayVariable(VariableOwner owner, String name, String[] v) { diff --git a/src/com/itmill/toolkit/terminal/gwt/server/PortletApplicationContext.java b/src/com/itmill/toolkit/terminal/gwt/server/PortletApplicationContext.java index 1ec2d9f93b..20df917afb 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/PortletApplicationContext.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/PortletApplicationContext.java @@ -6,6 +6,7 @@ package com.itmill.toolkit.terminal.gwt.server; import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashSet;
@@ -28,7 +29,9 @@ import com.itmill.toolkit.Application; * @author marc
*
*/
-public class PortletApplicationContext extends WebApplicationContext {
+@SuppressWarnings("serial")
+public class PortletApplicationContext extends WebApplicationContext implements
+ Serializable {
protected PortletSession portletSession;
@@ -182,7 +185,7 @@ public class PortletApplicationContext extends WebApplicationContext { }
}
- public interface PortletListener {
+ public interface PortletListener extends Serializable {
public void handleRenderRequest(RenderRequest request,
RenderResponse response);
@@ -190,7 +193,8 @@ public class PortletApplicationContext extends WebApplicationContext { ActionResponse response);
}
- private class RestrictedRenderResponse implements RenderResponse {
+ private class RestrictedRenderResponse implements RenderResponse,
+ Serializable {
private RenderResponse response;
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/SessionExpired.java b/src/com/itmill/toolkit/terminal/gwt/server/SessionExpired.java index bd085725a3..c6a5238e90 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/SessionExpired.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/SessionExpired.java @@ -1,7 +1,6 @@ package com.itmill.toolkit.terminal.gwt.server; +@SuppressWarnings("serial") public class SessionExpired extends Exception { - private static final long serialVersionUID = -2211425033877155423L; - } diff --git a/src/com/itmill/toolkit/terminal/gwt/server/SystemMessageException.java b/src/com/itmill/toolkit/terminal/gwt/server/SystemMessageException.java index 9ec3b5a2e1..098c728587 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/SystemMessageException.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/SystemMessageException.java @@ -1,13 +1,9 @@ package com.itmill.toolkit.terminal.gwt.server;
+@SuppressWarnings("serial")
public class SystemMessageException extends RuntimeException {
/**
- * Serial generated by eclipse.
- */
- private static final long serialVersionUID = -8249486543123286960L;
-
- /**
* Cause of the method exception
*/
private Throwable cause;
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/WebApplicationContext.java b/src/com/itmill/toolkit/terminal/gwt/server/WebApplicationContext.java index 143811789a..0193b4d3d7 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/WebApplicationContext.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/WebApplicationContext.java @@ -6,9 +6,11 @@ package com.itmill.toolkit.terminal.gwt.server; import java.io.File; import java.io.PrintWriter; +import java.io.Serializable; import java.io.StringWriter; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; @@ -30,17 +32,20 @@ import com.itmill.toolkit.service.ApplicationContext; * @VERSION@ * @since 3.1 */ +@SuppressWarnings("serial") public class WebApplicationContext implements ApplicationContext, - HttpSessionBindingListener { + HttpSessionBindingListener, Serializable { protected List listeners; - protected HttpSession session; + protected transient HttpSession session; protected final HashSet applications = new HashSet(); protected WebBrowser browser = new WebBrowser(); + protected HashMap<Application, CommunicationManager> applicationToAjaxAppMgrMap = new HashMap<Application, CommunicationManager>(); + /** * Creates a new Web Application Context. * @@ -230,7 +235,7 @@ public class WebApplicationContext implements ApplicationContext, final Application app = (Application) applications.iterator() .next(); app.close(); - ApplicationServlet.applicationToAjaxAppMgrMap.remove(app); + applicationToAjaxAppMgrMap.remove(app); removeApplication(app); } } catch (Exception e) { @@ -257,4 +262,25 @@ public class WebApplicationContext implements ApplicationContext, public WebBrowser getBrowser() { return browser; } + + /** + * Gets communication manager for an application. + * + * If this application has not been running before, new manager is created. + * + * @param application + * @return CommunicationManager + */ + protected CommunicationManager getApplicationManager( + Application application, ApplicationServlet servlet) { + CommunicationManager mgr = applicationToAjaxAppMgrMap.get(application); + + if (mgr == null) { + // Creates new manager + mgr = new CommunicationManager(application, servlet); + applicationToAjaxAppMgrMap.put(application, mgr); + } + return mgr; + } + } diff --git a/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java b/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java index 027a8361de..789c28b843 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java @@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletRequest; import com.itmill.toolkit.terminal.Terminal; +@SuppressWarnings("serial") public class WebBrowser implements Terminal { private int screenHeight = 0; diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket695.java b/src/com/itmill/toolkit/tests/tickets/Ticket695.java new file mode 100644 index 0000000000..fc040d8ba3 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket695.java @@ -0,0 +1,40 @@ +package com.itmill.toolkit.tests.tickets; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; +import com.itmill.toolkit.Application; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Window; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class Ticket695 extends Application { + + private static final long serialVersionUID = 3803150085397590662L; + + @Override + public void init() { + final Window w = new Window("Serialization test #695"); + setMainWindow(w); + Button b = new Button("Serialize ApplicationContext"); + w.addComponent(b); + b.addListener(new Button.ClickListener() { + + public void buttonClick(ClickEvent event) { + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + try { + ObjectOutputStream oos = new ObjectOutputStream(buffer); + oos.writeObject(getContext()); + w.showNotification("ApplicationContext serialized (" + + buffer.size() + "bytes)"); + } catch (IOException e) { + e.printStackTrace(); + w + .showNotification("ApplicationContext serialization failed - see console for stacktrace"); + } + + } + }); + } + +} diff --git a/src/com/itmill/toolkit/ui/AbsoluteLayout.java b/src/com/itmill/toolkit/ui/AbsoluteLayout.java index 72e9526552..f3b65e2111 100644 --- a/src/com/itmill/toolkit/ui/AbsoluteLayout.java +++ b/src/com/itmill/toolkit/ui/AbsoluteLayout.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; @@ -15,6 +16,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.IAbsoluteLayout; * positioning. * */ +@SuppressWarnings("serial") public class AbsoluteLayout extends AbstractLayout { private Collection<Component> components = new LinkedHashSet<Component>(); @@ -72,7 +74,7 @@ public class AbsoluteLayout extends AbstractLayout { * in generic java tools * */ - public class ComponentPosition { + public class ComponentPosition implements Serializable { private int zIndex = -1; private float top = -1; diff --git a/src/com/itmill/toolkit/ui/AbstractComponent.java b/src/com/itmill/toolkit/ui/AbstractComponent.java index 0d7f40d5b2..f067b52b88 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponent.java +++ b/src/com/itmill/toolkit/ui/AbstractComponent.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; @@ -35,6 +36,7 @@ import com.itmill.toolkit.terminal.gwt.server.ComponentSizeValidator; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public abstract class AbstractComponent implements Component, MethodEventSource { /* Private members */ @@ -1236,7 +1238,7 @@ public abstract class AbstractComponent implements Component, MethodEventSource public interface ComponentErrorEvent extends Terminal.ErrorEvent { } - public interface ComponentErrorHandler { + public interface ComponentErrorHandler extends Serializable { /** * Handle the component error * diff --git a/src/com/itmill/toolkit/ui/AbstractComponentContainer.java b/src/com/itmill/toolkit/ui/AbstractComponentContainer.java index b9e96533e6..b46117d115 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponentContainer.java +++ b/src/com/itmill/toolkit/ui/AbstractComponentContainer.java @@ -19,6 +19,7 @@ import java.util.LinkedList; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public abstract class AbstractComponentContainer extends AbstractComponent implements ComponentContainer { diff --git a/src/com/itmill/toolkit/ui/AbstractField.java b/src/com/itmill/toolkit/ui/AbstractField.java index 4d717826e6..3cbc788d6b 100644 --- a/src/com/itmill/toolkit/ui/AbstractField.java +++ b/src/com/itmill/toolkit/ui/AbstractField.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Collection; import java.util.Collections; @@ -49,6 +50,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public abstract class AbstractField extends AbstractComponent implements Field, Property.ReadOnlyStatusChangeNotifier { @@ -873,12 +875,7 @@ public abstract class AbstractField extends AbstractComponent implements Field, * @since 3.0 */ public class ReadOnlyStatusChangeEvent extends Component.Event implements - Property.ReadOnlyStatusChangeEvent { - - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3258688823264161846L; + Property.ReadOnlyStatusChangeEvent, Serializable { /** * New instance of text change event. diff --git a/src/com/itmill/toolkit/ui/AbstractLayout.java b/src/com/itmill/toolkit/ui/AbstractLayout.java index d250501b46..63e70b8350 100644 --- a/src/com/itmill/toolkit/ui/AbstractLayout.java +++ b/src/com/itmill/toolkit/ui/AbstractLayout.java @@ -17,6 +17,7 @@ import com.itmill.toolkit.ui.Layout.MarginHandler; * @VERSION@ * @since 5.0 */ +@SuppressWarnings("serial") public abstract class AbstractLayout extends AbstractComponentContainer implements Layout, MarginHandler { diff --git a/src/com/itmill/toolkit/ui/AbstractOrderedLayout.java b/src/com/itmill/toolkit/ui/AbstractOrderedLayout.java index 8d4b78b3ed..94a3bf3778 100644 --- a/src/com/itmill/toolkit/ui/AbstractOrderedLayout.java +++ b/src/com/itmill/toolkit/ui/AbstractOrderedLayout.java @@ -14,6 +14,7 @@ import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; import com.itmill.toolkit.terminal.Sizeable; +@SuppressWarnings("serial") public abstract class AbstractOrderedLayout extends AbstractLayout implements Layout.AlignmentHandler, Layout.SpacingHandler { diff --git a/src/com/itmill/toolkit/ui/AbstractSelect.java b/src/com/itmill/toolkit/ui/AbstractSelect.java index 86fbc7adc2..05f08c5a8f 100644 --- a/src/com/itmill/toolkit/ui/AbstractSelect.java +++ b/src/com/itmill/toolkit/ui/AbstractSelect.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -41,6 +42,7 @@ import com.itmill.toolkit.terminal.Resource; * @VERSION@ * @since 5.0 */ +@SuppressWarnings("serial") public abstract class AbstractSelect extends AbstractField implements Container, Container.Viewer, Container.PropertySetChangeListener, Container.PropertySetChangeNotifier, Container.ItemSetChangeNotifier, @@ -90,7 +92,7 @@ public abstract class AbstractSelect extends AbstractField implements * caption. <code>FILTERINGMODE_CONTAINS</code> (1) matches anywhere in the * caption. */ - public interface Filtering { + public interface Filtering extends Serializable { public static final int FILTERINGMODE_OFF = 0; public static final int FILTERINGMODE_STARTSWITH = 1; public static final int FILTERINGMODE_CONTAINS = 2; @@ -459,7 +461,7 @@ public abstract class AbstractSelect extends AbstractField implements return newItemHandler; } - public interface NewItemHandler { + public interface NewItemHandler extends Serializable { void addNewItem(String newItemCaption); } @@ -1464,7 +1466,8 @@ public abstract class AbstractSelect extends AbstractField implements /** * Implementation of item set change event. */ - private class ItemSetChangeEvent implements Container.ItemSetChangeEvent { + private class ItemSetChangeEvent implements Serializable, + Container.ItemSetChangeEvent { /** * Gets the Property where the event occurred. @@ -1481,7 +1484,7 @@ public abstract class AbstractSelect extends AbstractField implements * Implementation of property set change event. */ private class PropertySetChangeEvent implements - Container.PropertySetChangeEvent { + Container.PropertySetChangeEvent, Serializable { /** * Retrieves the Container whose contents have been modified. diff --git a/src/com/itmill/toolkit/ui/Accordion.java b/src/com/itmill/toolkit/ui/Accordion.java index 78d9c42743..c7aeb369e6 100644 --- a/src/com/itmill/toolkit/ui/Accordion.java +++ b/src/com/itmill/toolkit/ui/Accordion.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.ui; +@SuppressWarnings("serial") public class Accordion extends TabSheet { @Override diff --git a/src/com/itmill/toolkit/ui/Alignment.java b/src/com/itmill/toolkit/ui/Alignment.java index 6d7ad9accf..91afc090fe 100644 --- a/src/com/itmill/toolkit/ui/Alignment.java +++ b/src/com/itmill/toolkit/ui/Alignment.java @@ -1,12 +1,15 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; + import com.itmill.toolkit.terminal.gwt.client.ui.AlignmentInfo.Bits; /** * Class containing information about alignment of a component. Use the * pre-instantiated classes. */ -public final class Alignment { +@SuppressWarnings("serial") +public final class Alignment implements Serializable { public static final Alignment TOP_RIGHT = new Alignment(Bits.ALIGNMENT_TOP + Bits.ALIGNMENT_RIGHT); diff --git a/src/com/itmill/toolkit/ui/AlignmentUtils.java b/src/com/itmill/toolkit/ui/AlignmentUtils.java index 6a3c556241..f9962bef22 100644 --- a/src/com/itmill/toolkit/ui/AlignmentUtils.java +++ b/src/com/itmill/toolkit/ui/AlignmentUtils.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.HashMap; import java.util.Map; @@ -23,7 +24,8 @@ import com.itmill.toolkit.ui.Layout.AlignmentHandler; * r,right for right alignment * */ -public class AlignmentUtils { +@SuppressWarnings("serial") +public class AlignmentUtils implements Serializable { private static int horizontalMask = AlignmentHandler.ALIGNMENT_LEFT | AlignmentHandler.ALIGNMENT_HORIZONTAL_CENTER diff --git a/src/com/itmill/toolkit/ui/BaseFieldFactory.java b/src/com/itmill/toolkit/ui/BaseFieldFactory.java index 00e27fdfcc..d5fd225322 100644 --- a/src/com/itmill/toolkit/ui/BaseFieldFactory.java +++ b/src/com/itmill/toolkit/ui/BaseFieldFactory.java @@ -25,6 +25,7 @@ import com.itmill.toolkit.data.Property; * @since 3.1 */ +@SuppressWarnings("serial") public class BaseFieldFactory implements FieldFactory { /** diff --git a/src/com/itmill/toolkit/ui/Button.java b/src/com/itmill/toolkit/ui/Button.java index e90ac2f12a..2af5ba49a3 100644 --- a/src/com/itmill/toolkit/ui/Button.java +++ b/src/com/itmill/toolkit/ui/Button.java @@ -5,6 +5,7 @@ package com.itmill.toolkit.ui; import java.io.IOException; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Map; @@ -20,6 +21,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Button extends AbstractField { /* Private members */ @@ -270,11 +272,6 @@ public class Button extends AbstractField { public class ClickEvent extends Component.Event { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3546647602931118393L; - - /** * New instance of text change event. * * @param source @@ -302,7 +299,7 @@ public class Button extends AbstractField { * @VERSION@ * @since 3.0 */ - public interface ClickListener { + public interface ClickListener extends Serializable { /** * Button has been pressed. diff --git a/src/com/itmill/toolkit/ui/CheckBox.java b/src/com/itmill/toolkit/ui/CheckBox.java index abb8d7bff6..731808a55e 100644 --- a/src/com/itmill/toolkit/ui/CheckBox.java +++ b/src/com/itmill/toolkit/ui/CheckBox.java @@ -8,6 +8,7 @@ import java.lang.reflect.Method; import com.itmill.toolkit.data.Property; +@SuppressWarnings("serial") public class CheckBox extends Button { /** * Creates a new switch button. diff --git a/src/com/itmill/toolkit/ui/ComboBox.java b/src/com/itmill/toolkit/ui/ComboBox.java index 1c251ef0a0..a901d00540 100644 --- a/src/com/itmill/toolkit/ui/ComboBox.java +++ b/src/com/itmill/toolkit/ui/ComboBox.java @@ -18,6 +18,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * can not turn on multi-select mode.
*
*/
+@SuppressWarnings("serial")
public class ComboBox extends Select {
private String inputPrompt = null;
@@ -74,6 +75,7 @@ public class ComboBox extends Select { this.inputPrompt = inputPrompt;
}
+ @Override
public void paintContent(PaintTarget target) throws PaintException {
if (inputPrompt != null) {
target.addAttribute("prompt", inputPrompt);
diff --git a/src/com/itmill/toolkit/ui/Component.java b/src/com/itmill/toolkit/ui/Component.java index 5368bca2cc..9fbc6231cc 100644 --- a/src/com/itmill/toolkit/ui/Component.java +++ b/src/com/itmill/toolkit/ui/Component.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.Collection; import java.util.EventListener; import java.util.EventObject; @@ -25,7 +26,8 @@ import com.itmill.toolkit.terminal.VariableOwner; * @VERSION@ * @since 3.0 */ -public interface Component extends Paintable, VariableOwner, Sizeable { +public interface Component extends Paintable, VariableOwner, Sizeable, + Serializable { /** * Gets style for component. Multiple styles are joined with spaces. @@ -317,11 +319,6 @@ public interface Component extends Paintable, VariableOwner, Sizeable { public class Event extends EventObject { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 4048791277653274933L; - - /** * Constructs a new event with a specified source component. * * @param source @@ -335,7 +332,7 @@ public interface Component extends Paintable, VariableOwner, Sizeable { /** * Listener interface for receiving <code>Component.Event</code>s. */ - public interface Listener extends EventListener { + public interface Listener extends EventListener, Serializable { /** * Notifies the listener of a component event. @@ -366,13 +363,9 @@ public interface Component extends Paintable, VariableOwner, Sizeable { /** * Class of all component originated <code>ErrorEvent</code>s. */ + @SuppressWarnings("serial") public class ErrorEvent extends Event { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 4051323457293857333L; - private final ErrorMessage message; /** @@ -401,7 +394,7 @@ public interface Component extends Paintable, VariableOwner, Sizeable { /** * Listener interface for receiving <code>Component.Errors</code>s. */ - public interface ErrorListener extends EventListener { + public interface ErrorListener extends EventListener, Serializable { /** * Notifies the listener of a component error. diff --git a/src/com/itmill/toolkit/ui/ComponentContainer.java b/src/com/itmill/toolkit/ui/ComponentContainer.java index a73c8f4d6e..b696c0730d 100644 --- a/src/com/itmill/toolkit/ui/ComponentContainer.java +++ b/src/com/itmill/toolkit/ui/ComponentContainer.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.Iterator; /** @@ -116,7 +117,7 @@ public interface ComponentContainer extends Component { /** * Component attach listener interface. */ - public interface ComponentAttachListener { + public interface ComponentAttachListener extends Serializable { /** * A new component is attached to container. @@ -130,7 +131,7 @@ public interface ComponentContainer extends Component { /** * Component detach listener interface. */ - public interface ComponentDetachListener { + public interface ComponentDetachListener extends Serializable { /** * A component has been detached from container. @@ -144,13 +145,9 @@ public interface ComponentContainer extends Component { /** * Component attach event sent when a component is attached to container. */ + @SuppressWarnings("serial") public class ComponentAttachEvent extends Component.Event { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257285812184692019L; - private final Component component; /** @@ -192,13 +189,9 @@ public interface ComponentContainer extends Component { /** * Component detach event sent when a component is detached from container. */ + @SuppressWarnings("serial") public class ComponentDetachEvent extends Component.Event { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3618140052337930290L; - private final Component component; /** diff --git a/src/com/itmill/toolkit/ui/CustomComponent.java b/src/com/itmill/toolkit/ui/CustomComponent.java index b0bc392f26..8313609475 100644 --- a/src/com/itmill/toolkit/ui/CustomComponent.java +++ b/src/com/itmill/toolkit/ui/CustomComponent.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.Iterator; import com.itmill.toolkit.terminal.PaintException; @@ -23,6 +24,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class CustomComponent extends AbstractComponentContainer { /** @@ -146,23 +148,26 @@ public class CustomComponent extends AbstractComponentContainer { return "customcomponent"; } - public Iterator getComponentIterator() { - return new Iterator() { - boolean first = getCompositionRoot() != null; + private class ComponentIterator implements Iterator, Serializable { + boolean first = getCompositionRoot() != null; - public boolean hasNext() { - return first; - } + public boolean hasNext() { + return first; + } - public Object next() { - first = false; - return root; - } + public Object next() { + first = false; + return root; + } - public void remove() { - throw new UnsupportedOperationException(); - } - }; + public void remove() { + throw new UnsupportedOperationException(); + } + } + + @SuppressWarnings("unchecked") + public Iterator getComponentIterator() { + return new ComponentIterator(); } /** diff --git a/src/com/itmill/toolkit/ui/CustomLayout.java b/src/com/itmill/toolkit/ui/CustomLayout.java index 826ddfb9b2..5fdfe24770 100644 --- a/src/com/itmill/toolkit/ui/CustomLayout.java +++ b/src/com/itmill/toolkit/ui/CustomLayout.java @@ -40,6 +40,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class CustomLayout extends AbstractLayout { private static final int BUFFER_SIZE = 10000; diff --git a/src/com/itmill/toolkit/ui/DateField.java b/src/com/itmill/toolkit/ui/DateField.java index 96ddc08b9e..6f76de48c5 100644 --- a/src/com/itmill/toolkit/ui/DateField.java +++ b/src/com/itmill/toolkit/ui/DateField.java @@ -33,6 +33,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class DateField extends AbstractField { /* Private members */ diff --git a/src/com/itmill/toolkit/ui/Embedded.java b/src/com/itmill/toolkit/ui/Embedded.java index 9577a2b643..6b1e2af445 100644 --- a/src/com/itmill/toolkit/ui/Embedded.java +++ b/src/com/itmill/toolkit/ui/Embedded.java @@ -19,6 +19,7 @@ import com.itmill.toolkit.terminal.Resource; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Embedded extends AbstractComponent { /** diff --git a/src/com/itmill/toolkit/ui/ExpandLayout.java b/src/com/itmill/toolkit/ui/ExpandLayout.java index 352d11d1fd..ea6f037daa 100644 --- a/src/com/itmill/toolkit/ui/ExpandLayout.java +++ b/src/com/itmill/toolkit/ui/ExpandLayout.java @@ -18,6 +18,7 @@ package com.itmill.toolkit.ui; * * @deprecated Deprecated in favor of the new OrderedLayout */ +@SuppressWarnings("serial") @Deprecated public class ExpandLayout extends OrderedLayout { diff --git a/src/com/itmill/toolkit/ui/Field.java b/src/com/itmill/toolkit/ui/Field.java index 9f63fe0f18..8fb339a35d 100644 --- a/src/com/itmill/toolkit/ui/Field.java +++ b/src/com/itmill/toolkit/ui/Field.java @@ -79,15 +79,11 @@ public interface Field extends Component, BufferedValidatable, Property, * @VERSION@ * @since 3.0 */ + @SuppressWarnings("serial") public class ValueChangeEvent extends Component.Event implements Property.ValueChangeEvent { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3545803169444672816L; - - /** * Constructs a new event object with the specified source field object. * * @param source diff --git a/src/com/itmill/toolkit/ui/FieldFactory.java b/src/com/itmill/toolkit/ui/FieldFactory.java index 01bc707cc7..6598577f48 100644 --- a/src/com/itmill/toolkit/ui/FieldFactory.java +++ b/src/com/itmill/toolkit/ui/FieldFactory.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; + import com.itmill.toolkit.data.Container; import com.itmill.toolkit.data.Item; import com.itmill.toolkit.data.Property; @@ -17,7 +19,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@ * @since 3.1 */ -public interface FieldFactory { +public interface FieldFactory extends Serializable { /** * Creates a field based on type of data. diff --git a/src/com/itmill/toolkit/ui/Form.java b/src/com/itmill/toolkit/ui/Form.java index b31feaea68..ee45ec0478 100644 --- a/src/com/itmill/toolkit/ui/Form.java +++ b/src/com/itmill/toolkit/ui/Form.java @@ -53,6 +53,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Form extends AbstractField implements Item.Editor, Buffered, Item, Validatable { diff --git a/src/com/itmill/toolkit/ui/FormLayout.java b/src/com/itmill/toolkit/ui/FormLayout.java index ddff9fa07f..54074f05f9 100644 --- a/src/com/itmill/toolkit/ui/FormLayout.java +++ b/src/com/itmill/toolkit/ui/FormLayout.java @@ -19,6 +19,7 @@ package com.itmill.toolkit.ui; * bottom are by default on. * */ +@SuppressWarnings( { "deprecation", "serial" }) public class FormLayout extends OrderedLayout { public FormLayout() { diff --git a/src/com/itmill/toolkit/ui/GridLayout.java b/src/com/itmill/toolkit/ui/GridLayout.java index 17cdc6754f..608871bcf5 100644 --- a/src/com/itmill/toolkit/ui/GridLayout.java +++ b/src/com/itmill/toolkit/ui/GridLayout.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; @@ -34,6 +35,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class GridLayout extends AbstractLayout implements Layout.AlignmentHandler, Layout.SpacingHandler { @@ -656,7 +658,7 @@ public class GridLayout extends AbstractLayout implements * @VERSION@ * @since 3.0 */ - public class Area { + public class Area implements Serializable { /** * The column of the upper left corner cell of the area. @@ -843,11 +845,6 @@ public class GridLayout extends AbstractLayout implements */ public class OverlapsException extends java.lang.RuntimeException { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3978144339870101561L; - private final Area existingArea; /** @@ -880,11 +877,6 @@ public class GridLayout extends AbstractLayout implements */ public class OutOfBoundsException extends java.lang.RuntimeException { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3618985589664592694L; - private final Area areaOutOfBounds; /** diff --git a/src/com/itmill/toolkit/ui/HorizontalLayout.java b/src/com/itmill/toolkit/ui/HorizontalLayout.java index 1ae5d7a375..f648ba157a 100644 --- a/src/com/itmill/toolkit/ui/HorizontalLayout.java +++ b/src/com/itmill/toolkit/ui/HorizontalLayout.java @@ -11,6 +11,7 @@ package com.itmill.toolkit.ui; * @VERSION@ * @since 5.3 */ +@SuppressWarnings("serial") public class HorizontalLayout extends AbstractOrderedLayout { public HorizontalLayout() { diff --git a/src/com/itmill/toolkit/ui/InlineDateField.java b/src/com/itmill/toolkit/ui/InlineDateField.java index 46db9c7fc7..d24f1ecba5 100644 --- a/src/com/itmill/toolkit/ui/InlineDateField.java +++ b/src/com/itmill/toolkit/ui/InlineDateField.java @@ -21,6 +21,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@
* @since 5.0
*/
+@SuppressWarnings("serial")
public class InlineDateField extends DateField {
public InlineDateField() {
diff --git a/src/com/itmill/toolkit/ui/Label.java b/src/com/itmill/toolkit/ui/Label.java index 1a9e497e9c..4a272ed1d1 100644 --- a/src/com/itmill/toolkit/ui/Label.java +++ b/src/com/itmill/toolkit/ui/Label.java @@ -36,6 +36,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Label extends AbstractComponent implements Property, Property.Viewer, Property.ValueChangeListener, Property.ValueChangeNotifier, Comparable { @@ -404,11 +405,6 @@ public class Label extends AbstractComponent implements Property, Property.ValueChangeEvent { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3906084563938586935L; - - /** * New instance of text change event * * @param source diff --git a/src/com/itmill/toolkit/ui/Layout.java b/src/com/itmill/toolkit/ui/Layout.java index 78de97eaa8..d18cd93ea1 100644 --- a/src/com/itmill/toolkit/ui/Layout.java +++ b/src/com/itmill/toolkit/ui/Layout.java @@ -4,6 +4,8 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; + import com.itmill.toolkit.terminal.gwt.client.ui.IMarginInfo; import com.itmill.toolkit.terminal.gwt.client.ui.AlignmentInfo.Bits; @@ -18,7 +20,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.AlignmentInfo.Bits; * @VERSION@ * @since 3.0 */ -public interface Layout extends ComponentContainer { +public interface Layout extends ComponentContainer, Serializable { /** * Enable layout margins. Affects all four sides of the layout. This will @@ -48,7 +50,7 @@ public interface Layout extends ComponentContainer { * AlignmentHandler is most commonly an advanced {@link Layout} that can * align its components. */ - public interface AlignmentHandler { + public interface AlignmentHandler extends Serializable { /** * Contained component should be aligned horizontally to the left. @@ -149,7 +151,7 @@ public interface Layout extends ComponentContainer { * components. * */ - public interface SpacingHandler { + public interface SpacingHandler extends Serializable { /** * Enable spacing between child components within this layout. * @@ -184,7 +186,7 @@ public interface Layout extends ComponentContainer { * This type of layout supports automatic addition of margins (space around * its components). */ - public interface MarginHandler { + public interface MarginHandler extends Serializable { /** * Enable margins for this layout. * @@ -212,7 +214,8 @@ public interface Layout extends ComponentContainer { public MarginInfo getMargin(); } - public static class MarginInfo extends IMarginInfo { + @SuppressWarnings("serial") + public static class MarginInfo extends IMarginInfo implements Serializable { public MarginInfo(boolean enabled) { super(enabled, enabled, enabled, enabled); diff --git a/src/com/itmill/toolkit/ui/Link.java b/src/com/itmill/toolkit/ui/Link.java index 50c1470acd..53f2837386 100644 --- a/src/com/itmill/toolkit/ui/Link.java +++ b/src/com/itmill/toolkit/ui/Link.java @@ -16,6 +16,7 @@ import com.itmill.toolkit.terminal.Resource; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Link extends AbstractComponent { /* Target window border type constant: No window border */ diff --git a/src/com/itmill/toolkit/ui/ListSelect.java b/src/com/itmill/toolkit/ui/ListSelect.java index 508ac50858..9d3fe70fdb 100644 --- a/src/com/itmill/toolkit/ui/ListSelect.java +++ b/src/com/itmill/toolkit/ui/ListSelect.java @@ -14,6 +14,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * This is a simple list select without, for instance, support for new items, * lazyloading, and other advanced features. */ +@SuppressWarnings("serial") public class ListSelect extends AbstractSelect { private int columns = 0; diff --git a/src/com/itmill/toolkit/ui/LoginForm.java b/src/com/itmill/toolkit/ui/LoginForm.java index 4aa5c704e8..06b9de2a7d 100644 --- a/src/com/itmill/toolkit/ui/LoginForm.java +++ b/src/com/itmill/toolkit/ui/LoginForm.java @@ -1,6 +1,7 @@ package com.itmill.toolkit.ui; import java.io.ByteArrayInputStream; +import java.io.Serializable; import java.lang.reflect.Method; import java.net.URL; import java.util.HashMap; @@ -33,6 +34,7 @@ import com.itmill.toolkit.terminal.URIHandler; * * @since 5.3 */ +@SuppressWarnings("serial") public class LoginForm extends CustomComponent { private Embedded iframe = new Embedded(); @@ -185,8 +187,6 @@ public class LoginForm extends CustomComponent { */ public class LoginEvent extends Event { - private static final long serialVersionUID = 1966036438671224308L; - private Map params; private LoginEvent(Map params) { @@ -213,7 +213,7 @@ public class LoginForm extends CustomComponent { * Login listener is a class capable to listen LoginEvents sent from * LoginBox */ - public interface LoginListener { + public interface LoginListener extends Serializable { /** * This method is fired on each login form post. * diff --git a/src/com/itmill/toolkit/ui/MenuBar.java b/src/com/itmill/toolkit/ui/MenuBar.java index c0f400933c..e3004eb196 100644 --- a/src/com/itmill/toolkit/ui/MenuBar.java +++ b/src/com/itmill/toolkit/ui/MenuBar.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -17,6 +18,7 @@ import com.itmill.toolkit.terminal.Resource; * are represented as vertical menu. * </p> */ +@SuppressWarnings("serial") public class MenuBar extends AbstractComponent { // Items of the top-level menu @@ -70,7 +72,7 @@ public class MenuBar extends AbstractComponent { // This generates the tree from the contents of the menu while (itr.hasNext()) { - MenuItem item = (MenuItem) itr.next(); + MenuItem item = itr.next(); target.startTag("item"); @@ -127,7 +129,7 @@ public class MenuBar extends AbstractComponent { // Go through all the items in the menu while (!found && !items.empty()) { - tmpItem = (MenuItem) items.pop(); + tmpItem = items.pop(); found = (clickedId.intValue() == tmpItem.getId()); if (tmpItem.hasChildren()) { @@ -343,7 +345,7 @@ public class MenuBar extends AbstractComponent { * {@link com.itmill.toolkit.ui.MenuBar.MenuItem}. The selected item is * given as an argument. */ - public interface Command { + public interface Command extends Serializable { public void menuSelected(MenuBar.MenuItem selectedItem); } @@ -354,7 +356,7 @@ public class MenuBar extends AbstractComponent { * multiple MenuItems to a MenuItem and create a sub-menu. * */ - public class MenuItem { + public class MenuItem implements Serializable { /** Private members * */ private final int itsId; diff --git a/src/com/itmill/toolkit/ui/NativeSelect.java b/src/com/itmill/toolkit/ui/NativeSelect.java index 2cd78ac699..33a88c4ceb 100644 --- a/src/com/itmill/toolkit/ui/NativeSelect.java +++ b/src/com/itmill/toolkit/ui/NativeSelect.java @@ -16,6 +16,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * "native" select without all the bells-and-whistles of the ComboBox is a * better choice. */ +@SuppressWarnings("serial") public class NativeSelect extends AbstractSelect { // width in characters, mimics TextField diff --git a/src/com/itmill/toolkit/ui/OptionGroup.java b/src/com/itmill/toolkit/ui/OptionGroup.java index 2ebaaea3ea..25664b2a7a 100644 --- a/src/com/itmill/toolkit/ui/OptionGroup.java +++ b/src/com/itmill/toolkit/ui/OptionGroup.java @@ -13,6 +13,7 @@ import com.itmill.toolkit.terminal.PaintTarget; /** * Configures select to be used as an option group. */ +@SuppressWarnings("serial") public class OptionGroup extends AbstractSelect { public OptionGroup() { diff --git a/src/com/itmill/toolkit/ui/OrderedLayout.java b/src/com/itmill/toolkit/ui/OrderedLayout.java index e95c490ee1..61c59b31aa 100644 --- a/src/com/itmill/toolkit/ui/OrderedLayout.java +++ b/src/com/itmill/toolkit/ui/OrderedLayout.java @@ -18,6 +18,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * OrderedLayout but AbstractOrderedLayout (which also OrderedLayout * extends). */ +@SuppressWarnings("serial") @Deprecated public class OrderedLayout extends AbstractOrderedLayout { /* Predefined orientations */ diff --git a/src/com/itmill/toolkit/ui/Panel.java b/src/com/itmill/toolkit/ui/Panel.java index 1a8871e7e3..b471a0d330 100644 --- a/src/com/itmill/toolkit/ui/Panel.java +++ b/src/com/itmill/toolkit/ui/Panel.java @@ -24,6 +24,7 @@ import com.itmill.toolkit.terminal.Scrollable; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Panel extends AbstractComponentContainer implements Scrollable, ComponentContainer.ComponentAttachListener, ComponentContainer.ComponentDetachListener, Action.Container { diff --git a/src/com/itmill/toolkit/ui/PopupDateField.java b/src/com/itmill/toolkit/ui/PopupDateField.java index b00f55ae92..873b991cd3 100644 --- a/src/com/itmill/toolkit/ui/PopupDateField.java +++ b/src/com/itmill/toolkit/ui/PopupDateField.java @@ -21,6 +21,7 @@ import com.itmill.toolkit.data.Property; * @VERSION@
* @since 5.0
*/
+@SuppressWarnings("serial")
public class PopupDateField extends DateField {
public PopupDateField() {
diff --git a/src/com/itmill/toolkit/ui/PopupView.java b/src/com/itmill/toolkit/ui/PopupView.java index 183187ebae..a9b9cb13be 100644 --- a/src/com/itmill/toolkit/ui/PopupView.java +++ b/src/com/itmill/toolkit/ui/PopupView.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Iterator; import java.util.Map; @@ -16,6 +17,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * * @author IT Mill Ltd. */ +@SuppressWarnings("serial") public class PopupView extends AbstractComponentContainer { private Content content; @@ -330,7 +332,7 @@ public class PopupView extends AbstractComponentContainer { * dynamically loaded when they are redrawn. The user must take care that * neither of these methods ever return null. */ - public interface Content { + public interface Content extends Serializable { /** * This should return a small view of the full data. @@ -385,10 +387,6 @@ public class PopupView extends AbstractComponentContainer { * */ public class PopupVisibilityEvent extends Event { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = -130167162207143457L; public PopupVisibilityEvent(PopupView source) { super(source); @@ -418,7 +416,7 @@ public class PopupView extends AbstractComponentContainer { * visibility of the popup changes. * */ - public interface PopupVisibilityListener { + public interface PopupVisibilityListener extends Serializable { /** * Pass to {@link PopupView#PopupVisibilityEvent} to start listening for * popup visibility changes. diff --git a/src/com/itmill/toolkit/ui/ProgressIndicator.java b/src/com/itmill/toolkit/ui/ProgressIndicator.java index fc5b308b64..6f05db772d 100644 --- a/src/com/itmill/toolkit/ui/ProgressIndicator.java +++ b/src/com/itmill/toolkit/ui/ProgressIndicator.java @@ -23,6 +23,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 4 */ +@SuppressWarnings("serial") public class ProgressIndicator extends AbstractField implements Property, Property.Viewer, Property.ValueChangeListener { diff --git a/src/com/itmill/toolkit/ui/RichTextArea.java b/src/com/itmill/toolkit/ui/RichTextArea.java index fad763819d..4e2830329b 100644 --- a/src/com/itmill/toolkit/ui/RichTextArea.java +++ b/src/com/itmill/toolkit/ui/RichTextArea.java @@ -14,6 +14,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * {@link RichTextArea} may produce unexpected results as formatting is counted * into length of field. */ +@SuppressWarnings("serial") public class RichTextArea extends TextField { @Override diff --git a/src/com/itmill/toolkit/ui/Select.java b/src/com/itmill/toolkit/ui/Select.java index a778155b75..a1acec5e3e 100644 --- a/src/com/itmill/toolkit/ui/Select.java +++ b/src/com/itmill/toolkit/ui/Select.java @@ -35,6 +35,7 @@ import com.itmill.toolkit.terminal.Resource; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Select extends AbstractSelect implements AbstractSelect.Filtering { /** diff --git a/src/com/itmill/toolkit/ui/Slider.java b/src/com/itmill/toolkit/ui/Slider.java index 0fb3496404..e47eb9a7d4 100644 --- a/src/com/itmill/toolkit/ui/Slider.java +++ b/src/com/itmill/toolkit/ui/Slider.java @@ -10,9 +10,9 @@ import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget;
/**
- * A component for selecting a numerical value within a range. A Slider
- * can have the appearance of a scroll bar or e.g. look like an Adobe Photoshop
- * style of a slider.
+ * A component for selecting a numerical value within a range. A Slider can have
+ * the appearance of a scroll bar or e.g. look like an Adobe Photoshop style of
+ * a slider.
*
* Example code: <code>
* class MyPlayer extends CustomComponent implements ValueChangeListener {
@@ -46,6 +46,7 @@ import com.itmill.toolkit.terminal.PaintTarget; *
* @author IT Mill Ltd.
*/
+@SuppressWarnings("serial")
public class Slider extends AbstractField {
public static final int ORIENTATION_HORIZONTAL = 0;
@@ -485,11 +486,6 @@ public class Slider extends AbstractField { */
public class ValueOutOfBoundsException extends Exception {
- /**
- * Serial generated by Eclipse.
- */
- private static final long serialVersionUID = -6451298598644446340L;
-
private final Double value;
/**
diff --git a/src/com/itmill/toolkit/ui/SplitPanel.java b/src/com/itmill/toolkit/ui/SplitPanel.java index 2af72da310..06b8073c6c 100644 --- a/src/com/itmill/toolkit/ui/SplitPanel.java +++ b/src/com/itmill/toolkit/ui/SplitPanel.java @@ -22,6 +22,7 @@ import com.itmill.toolkit.terminal.gwt.client.RenderInformation.Size; * @VERSION@ * @since 5.0 */ +@SuppressWarnings("serial") public class SplitPanel extends AbstractLayout { /* Predefined orientations */ diff --git a/src/com/itmill/toolkit/ui/TabSheet.java b/src/com/itmill/toolkit/ui/TabSheet.java index 25a5c65455..5d2e9ac57f 100644 --- a/src/com/itmill/toolkit/ui/TabSheet.java +++ b/src/com/itmill/toolkit/ui/TabSheet.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Iterator; import java.util.LinkedList; @@ -23,6 +24,7 @@ import com.itmill.toolkit.terminal.Paintable.RepaintRequestListener; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class TabSheet extends AbstractComponentContainer implements RepaintRequestListener { @@ -203,7 +205,7 @@ public class TabSheet extends AbstractComponentContainer implements * not) we select this tab instead */ if (selected == null || !selected.isVisible() - || (!selected.isEnabled() && this.isEnabled())) { + || (!selected.isEnabled() && isEnabled())) { selected = c; } target.startTag("tab"); @@ -452,11 +454,6 @@ public class TabSheet extends AbstractComponentContainer implements public class SelectedTabChangeEvent extends Component.Event { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3258129141914940469L; - - /** * New instance of selected tab change event * * @param source @@ -485,7 +482,7 @@ public class TabSheet extends AbstractComponentContainer implements * @VERSION@ * @since 3.0 */ - public interface SelectedTabChangeListener { + public interface SelectedTabChangeListener extends Serializable { /** * Visible tab in tab sheet has has been changed. diff --git a/src/com/itmill/toolkit/ui/Table.java b/src/com/itmill/toolkit/ui/Table.java index 1ad0eda6ad..4d4fdba7fb 100644 --- a/src/com/itmill/toolkit/ui/Table.java +++ b/src/com/itmill/toolkit/ui/Table.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -49,6 +50,7 @@ import com.itmill.toolkit.terminal.gwt.client.MouseEventDetails; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Table extends AbstractSelect implements Action.Container, Container.Ordered, Container.Sortable, ItemClickSource { @@ -3067,7 +3069,7 @@ public class Table extends AbstractSelect implements Action.Container, * Table.addGeneratedColumn along with an id for the column to be generated. * */ - public interface ColumnGenerator { + public interface ColumnGenerator extends Serializable { /** * Called by Table when a cell in a generated column needs to be @@ -3112,7 +3114,7 @@ public class Table extends AbstractSelect implements Action.Container, * to the cell content is <tt>i-table-cell-content-[style name]</tt>, and * the row style will be <tt>i-table-row-[style name]</tt>. */ - public interface CellStyleGenerator { + public interface CellStyleGenerator extends Serializable { /** * Called by Table when a cell (and row) is painted. diff --git a/src/com/itmill/toolkit/ui/TextField.java b/src/com/itmill/toolkit/ui/TextField.java index e5572f0b9f..8c124799d8 100644 --- a/src/com/itmill/toolkit/ui/TextField.java +++ b/src/com/itmill/toolkit/ui/TextField.java @@ -31,6 +31,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class TextField extends AbstractField { /* Private members */ diff --git a/src/com/itmill/toolkit/ui/Tree.java b/src/com/itmill/toolkit/ui/Tree.java index 20c7e03961..18b18651f9 100644 --- a/src/com/itmill/toolkit/ui/Tree.java +++ b/src/com/itmill/toolkit/ui/Tree.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; @@ -40,11 +41,10 @@ import com.itmill.toolkit.terminal.gwt.client.MouseEventDetails; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Tree extends AbstractSelect implements Container.Hierarchical, Action.Container, ItemClickSource { - /* Static members */ - private static final Method EXPAND_METHOD; private static final Method COLLAPSE_METHOD; @@ -723,11 +723,6 @@ public class Tree extends AbstractSelect implements Container.Hierarchical, */ public class ExpandEvent extends Component.Event { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3832624001804481075L; - private final Object expandedItemId; /** @@ -760,7 +755,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical, * @VERSION@ * @since 3.0 */ - public interface ExpandListener { + public interface ExpandListener extends Serializable { /** * A node has been expanded. @@ -813,11 +808,6 @@ public class Tree extends AbstractSelect implements Container.Hierarchical, */ public class CollapseEvent extends Component.Event { - /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = 3257009834783290160L; - private final Object collapsedItemId; /** @@ -850,7 +840,7 @@ public class Tree extends AbstractSelect implements Container.Hierarchical, * @VERSION@ * @since 3.0 */ - public interface CollapseListener { + public interface CollapseListener extends Serializable { /** * A node has been collapsed. diff --git a/src/com/itmill/toolkit/ui/TwinColSelect.java b/src/com/itmill/toolkit/ui/TwinColSelect.java index 0876ec81d8..ac00498418 100644 --- a/src/com/itmill/toolkit/ui/TwinColSelect.java +++ b/src/com/itmill/toolkit/ui/TwinColSelect.java @@ -14,6 +14,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * Multiselect component with two lists: left side for available items and right * side for selected items. */ +@SuppressWarnings("serial") public class TwinColSelect extends AbstractSelect { private int columns = 0; diff --git a/src/com/itmill/toolkit/ui/Upload.java b/src/com/itmill/toolkit/ui/Upload.java index a6fe4df873..e053d99fab 100644 --- a/src/com/itmill/toolkit/ui/Upload.java +++ b/src/com/itmill/toolkit/ui/Upload.java @@ -6,6 +6,7 @@ package com.itmill.toolkit.ui; import java.io.InputStream; import java.io.OutputStream; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Iterator; import java.util.LinkedHashSet; @@ -42,6 +43,7 @@ import com.itmill.toolkit.terminal.UploadStream; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Upload extends AbstractComponent implements Component.Focusable { private boolean delayedFocus; @@ -235,7 +237,7 @@ public class Upload extends AbstractComponent implements Component.Focusable { * @VERSION@ * @since 3.0 */ - public interface Receiver { + public interface Receiver extends Serializable { /** * Invoked when a new upload arrives. @@ -291,9 +293,6 @@ public class Upload extends AbstractComponent implements Component.Focusable { */ public class FinishedEvent extends Component.Event { - /** - * Serial generated by eclipse. - */ private static final long serialVersionUID = 3257288015385670969L; /** @@ -379,9 +378,6 @@ public class Upload extends AbstractComponent implements Component.Focusable { */ public class FailedEvent extends FinishedEvent { - /** - * Serial generated by eclipse. - */ private static final long serialVersionUID = 3833746590157386293L; private Exception reason = null; @@ -429,9 +425,6 @@ public class Upload extends AbstractComponent implements Component.Focusable { */ public class NoOutputStreamEvent extends FailedEvent { - /** - * Serial generated by eclipse. - */ private static final long serialVersionUID = 4745219890852396500L; /** @@ -452,9 +445,6 @@ public class Upload extends AbstractComponent implements Component.Focusable { */ public class NoInputStreamEvent extends FailedEvent { - /** - * Serial generated by eclipse. - */ private static final long serialVersionUID = -529960205445737170L; /** @@ -481,9 +471,6 @@ public class Upload extends AbstractComponent implements Component.Focusable { */ public class SucceededEvent extends FinishedEvent { - /** - * Serial generated by eclipse. - */ private static final long serialVersionUID = 3256445798169524023L; /** @@ -510,9 +497,6 @@ public class Upload extends AbstractComponent implements Component.Focusable { */ public class StartedEvent extends Component.Event { - /** - * Serial generated by eclipse. - */ private static final long serialVersionUID = -3984393770487403525L; private final String filename; private final String type; @@ -567,7 +551,7 @@ public class Upload extends AbstractComponent implements Component.Focusable { * @VERSION@ * @since 5.0 */ - public interface StartedListener { + public interface StartedListener extends Serializable { /** * Upload has started. @@ -586,7 +570,7 @@ public class Upload extends AbstractComponent implements Component.Focusable { * @VERSION@ * @since 3.0 */ - public interface FinishedListener { + public interface FinishedListener extends Serializable { /** * Upload has finished. @@ -605,7 +589,7 @@ public class Upload extends AbstractComponent implements Component.Focusable { * @VERSION@ * @since 3.0 */ - public interface FailedListener { + public interface FailedListener extends Serializable { /** * Upload has finished unsuccessfully. @@ -624,7 +608,7 @@ public class Upload extends AbstractComponent implements Component.Focusable { * @VERSION@ * @since 3.0 */ - public interface SucceededListener { + public interface SucceededListener extends Serializable { /** * Upload successfull.. @@ -966,7 +950,7 @@ public class Upload extends AbstractComponent implements Component.Focusable { /** * ProgressListener receives events to track progress of upload. */ - public interface ProgressListener { + public interface ProgressListener extends Serializable { /** * Updates progress to listener * diff --git a/src/com/itmill/toolkit/ui/UriFragmentUtility.java b/src/com/itmill/toolkit/ui/UriFragmentUtility.java index 11d141e05c..3852bdc7d2 100644 --- a/src/com/itmill/toolkit/ui/UriFragmentUtility.java +++ b/src/com/itmill/toolkit/ui/UriFragmentUtility.java @@ -1,5 +1,6 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Map; @@ -15,12 +16,13 @@ import com.itmill.toolkit.terminal.PaintTarget; * bookmarking a program state and back button. * */ +@SuppressWarnings("serial") public class UriFragmentUtility extends AbstractComponent { /** * Listener that listens changes in URI fragment. */ - public interface FragmentChangedListener { + public interface FragmentChangedListener extends Serializable { public void fragmentChanged(FragmentChangedEvent source); @@ -32,11 +34,6 @@ public class UriFragmentUtility extends AbstractComponent { public class FragmentChangedEvent extends Component.Event { /** - * Serial generated by eclipse - */ - private static final long serialVersionUID = -4142140007700263197L; - - /** * Creates a new instance of UriFragmentReader change event. * * @param source diff --git a/src/com/itmill/toolkit/ui/VerticalLayout.java b/src/com/itmill/toolkit/ui/VerticalLayout.java index 1bc5e99794..21934bbd0f 100644 --- a/src/com/itmill/toolkit/ui/VerticalLayout.java +++ b/src/com/itmill/toolkit/ui/VerticalLayout.java @@ -12,6 +12,7 @@ package com.itmill.toolkit.ui; * @VERSION@ * @since 5.3 */ +@SuppressWarnings("serial") public class VerticalLayout extends AbstractOrderedLayout { public VerticalLayout() { diff --git a/src/com/itmill/toolkit/ui/Window.java b/src/com/itmill/toolkit/ui/Window.java index 530bd8441d..9dac2c2c2a 100644 --- a/src/com/itmill/toolkit/ui/Window.java +++ b/src/com/itmill/toolkit/ui/Window.java @@ -4,6 +4,7 @@ package com.itmill.toolkit.ui; +import java.io.Serializable; import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; @@ -32,6 +33,7 @@ import com.itmill.toolkit.terminal.URIHandler; * @VERSION@ * @since 3.0 */ +@SuppressWarnings("serial") public class Window extends Panel implements URIHandler, ParameterHandler { /** @@ -787,7 +789,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler { /** * Private data structure for storing opening window properties. */ - private class OpenResource { + private class OpenResource implements Serializable { private final Resource resource; @@ -1001,11 +1003,6 @@ public class Window extends Panel implements URIHandler, ParameterHandler { public class CloseEvent extends Component.Event { /** - * Serial generated by eclipse. - */ - private static final long serialVersionUID = -7235770057344367327L; - - /** * * @param source */ @@ -1023,7 +1020,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler { } } - public interface CloseListener { + public interface CloseListener extends Serializable { public void windowClose(CloseEvent e); } @@ -1073,9 +1070,6 @@ public class Window extends Panel implements URIHandler, ParameterHandler { */ public class ResizeEvent extends Component.Event { - // Generated serial - private static final long serialVersionUID = 8569831802323447687L; - /** * * @param source @@ -1099,7 +1093,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler { * * @see com.itmill.toolkit.ui.Window.ResizeEvent */ - public interface ResizeListener { + public interface ResizeListener extends Serializable { public void windowResized(ResizeEvent e); } @@ -1403,7 +1397,7 @@ public class Window extends Panel implements URIHandler, ParameterHandler { * </p> * */ - public static class Notification { + public static class Notification implements Serializable { public static final int TYPE_HUMANIZED_MESSAGE = 1; public static final int TYPE_WARNING_MESSAGE = 2; public static final int TYPE_ERROR_MESSAGE = 3; |