summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoonas Lehtinen <joonas.lehtinen@itmill.com>2009-04-12 00:07:09 +0000
committerJoonas Lehtinen <joonas.lehtinen@itmill.com>2009-04-12 00:07:09 +0000
commit204a857eb54f1840f27969faa9855c38390d2751 (patch)
tree5beda66dabd194abe84219349472ba05be73b667
parent8c21a6f36ea05bfa48b34d6162bc5a2fe3fa488b (diff)
downloadvaadin-framework-204a857eb54f1840f27969faa9855c38390d2751.tar.gz
vaadin-framework-204a857eb54f1840f27969faa9855c38390d2751.zip
Implementation serialization support for Toolkit. Fixes #695
svn changeset:7387/svn branch:6.0
-rw-r--r--src/com/itmill/toolkit/Application.java33
-rw-r--r--src/com/itmill/toolkit/automatedtests/ComponentsInTable.java2
-rw-r--r--src/com/itmill/toolkit/automatedtests/SimplestApplication.java1
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/AccordionExample.java2
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/ButtonExample.java2
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/ClientCachingExample.java3
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/ComboBoxExample.java2
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/EmbeddedBrowserExample.java2
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/FeatureBrowser.java15
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/FormExample.java18
-rw-r--r--src/com/itmill/toolkit/automatedtests/featurebrowser/GeneratedColumnExample.java14
-rw-r--r--src/com/itmill/toolkit/automatedtests/util/DebugId.java3
-rw-r--r--src/com/itmill/toolkit/automatedtests/util/Log.java3
-rw-r--r--src/com/itmill/toolkit/automatedtests/util/RandomComponents.java3
-rw-r--r--src/com/itmill/toolkit/data/Buffered.java12
-rw-r--r--src/com/itmill/toolkit/data/BufferedValidatable.java5
-rw-r--r--src/com/itmill/toolkit/data/Container.java35
-rw-r--r--src/com/itmill/toolkit/data/Item.java15
-rw-r--r--src/com/itmill/toolkit/data/Property.java34
-rw-r--r--src/com/itmill/toolkit/data/Validatable.java5
-rw-r--r--src/com/itmill/toolkit/data/Validator.java4
-rw-r--r--src/com/itmill/toolkit/data/util/BeanItem.java3
-rw-r--r--src/com/itmill/toolkit/data/util/BeanItemContainer.java15
-rw-r--r--src/com/itmill/toolkit/data/util/ContainerHierarchicalWrapper.java1
-rw-r--r--src/com/itmill/toolkit/data/util/ContainerOrderedWrapper.java1
-rw-r--r--src/com/itmill/toolkit/data/util/FilesystemContainer.java12
-rw-r--r--src/com/itmill/toolkit/data/util/Filter.java5
-rw-r--r--src/com/itmill/toolkit/data/util/HierarchicalContainer.java1
-rw-r--r--src/com/itmill/toolkit/data/util/IndexedContainer.java22
-rw-r--r--src/com/itmill/toolkit/data/util/MethodProperty.java53
-rw-r--r--src/com/itmill/toolkit/data/util/ObjectProperty.java11
-rw-r--r--src/com/itmill/toolkit/data/util/PropertyFormatter.java11
-rw-r--r--src/com/itmill/toolkit/data/util/PropertysetItem.java6
-rw-r--r--src/com/itmill/toolkit/data/util/QueryContainer.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/AbstractStringValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/AbstractValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/CompositeValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/DoubleValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/EmailValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/IntegerValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/NullValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/RegexpValidator.java1
-rw-r--r--src/com/itmill/toolkit/data/validator/StringLengthValidator.java1
-rw-r--r--src/com/itmill/toolkit/demo/HelloWorld.java8
-rw-r--r--src/com/itmill/toolkit/demo/ToolkitTunesLayout.java1
-rw-r--r--src/com/itmill/toolkit/demo/sampler/ActiveLink.java3
-rw-r--r--src/com/itmill/toolkit/demo/sampler/Feature.java7
-rw-r--r--src/com/itmill/toolkit/demo/sampler/SamplerApplication.java2
-rw-r--r--src/com/itmill/toolkit/demo/tutorial/addressbook/data/Person.java228
-rw-r--r--src/com/itmill/toolkit/demo/tutorial/addressbook/data/PersonContainer.java158
-rw-r--r--src/com/itmill/toolkit/demo/tutorial/addressbook/data/SearchFilter.java76
-rw-r--r--src/com/itmill/toolkit/event/Action.java9
-rw-r--r--src/com/itmill/toolkit/event/EventRouter.java1
-rw-r--r--src/com/itmill/toolkit/event/ItemClickEvent.java13
-rw-r--r--src/com/itmill/toolkit/event/ListenerMethod.java101
-rw-r--r--src/com/itmill/toolkit/event/MethodEventSource.java3
-rw-r--r--src/com/itmill/toolkit/event/ShortcutAction.java7
-rw-r--r--src/com/itmill/toolkit/service/ApplicationContext.java5
-rw-r--r--src/com/itmill/toolkit/service/FileTypeResolver.java4
-rw-r--r--src/com/itmill/toolkit/terminal/ApplicationResource.java4
-rw-r--r--src/com/itmill/toolkit/terminal/ClassResource.java5
-rw-r--r--src/com/itmill/toolkit/terminal/CompositeErrorMessage.java4
-rw-r--r--src/com/itmill/toolkit/terminal/DownloadStream.java4
-rw-r--r--src/com/itmill/toolkit/terminal/ErrorMessage.java4
-rw-r--r--src/com/itmill/toolkit/terminal/ExternalResource.java3
-rw-r--r--src/com/itmill/toolkit/terminal/FileResource.java1
-rw-r--r--src/com/itmill/toolkit/terminal/KeyMapper.java4
-rw-r--r--src/com/itmill/toolkit/terminal/PaintException.java9
-rw-r--r--src/com/itmill/toolkit/terminal/PaintTarget.java4
-rw-r--r--src/com/itmill/toolkit/terminal/Paintable.java11
-rw-r--r--src/com/itmill/toolkit/terminal/ParameterHandler.java3
-rw-r--r--src/com/itmill/toolkit/terminal/Resource.java4
-rw-r--r--src/com/itmill/toolkit/terminal/Scrollable.java4
-rw-r--r--src/com/itmill/toolkit/terminal/Sizeable.java4
-rw-r--r--src/com/itmill/toolkit/terminal/StreamResource.java1
-rw-r--r--src/com/itmill/toolkit/terminal/SystemError.java6
-rw-r--r--src/com/itmill/toolkit/terminal/Terminal.java8
-rw-r--r--src/com/itmill/toolkit/terminal/ThemeResource.java1
-rw-r--r--src/com/itmill/toolkit/terminal/URIHandler.java3
-rw-r--r--src/com/itmill/toolkit/terminal/UploadStream.java3
-rw-r--r--src/com/itmill/toolkit/terminal/UserError.java1
-rw-r--r--src/com/itmill/toolkit/terminal/VariableOwner.java3
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IMarginInfo.java5
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java4
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java115
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/ChangeVariablesErrorEvent.java1
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java19
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/ComponentSizeValidator.java21
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/HttpUploadStream.java1
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java20
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/PortletApplicationContext.java10
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/SessionExpired.java3
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/SystemMessageException.java6
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/WebApplicationContext.java32
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java1
-rw-r--r--src/com/itmill/toolkit/tests/tickets/Ticket695.java40
-rw-r--r--src/com/itmill/toolkit/ui/AbsoluteLayout.java4
-rw-r--r--src/com/itmill/toolkit/ui/AbstractComponent.java4
-rw-r--r--src/com/itmill/toolkit/ui/AbstractComponentContainer.java1
-rw-r--r--src/com/itmill/toolkit/ui/AbstractField.java9
-rw-r--r--src/com/itmill/toolkit/ui/AbstractLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/AbstractOrderedLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/AbstractSelect.java11
-rw-r--r--src/com/itmill/toolkit/ui/Accordion.java1
-rw-r--r--src/com/itmill/toolkit/ui/Alignment.java5
-rw-r--r--src/com/itmill/toolkit/ui/AlignmentUtils.java4
-rw-r--r--src/com/itmill/toolkit/ui/BaseFieldFactory.java1
-rw-r--r--src/com/itmill/toolkit/ui/Button.java9
-rw-r--r--src/com/itmill/toolkit/ui/CheckBox.java1
-rw-r--r--src/com/itmill/toolkit/ui/ComboBox.java2
-rw-r--r--src/com/itmill/toolkit/ui/Component.java19
-rw-r--r--src/com/itmill/toolkit/ui/ComponentContainer.java17
-rw-r--r--src/com/itmill/toolkit/ui/CustomComponent.java33
-rw-r--r--src/com/itmill/toolkit/ui/CustomLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/DateField.java1
-rw-r--r--src/com/itmill/toolkit/ui/Embedded.java1
-rw-r--r--src/com/itmill/toolkit/ui/ExpandLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/Field.java6
-rw-r--r--src/com/itmill/toolkit/ui/FieldFactory.java4
-rw-r--r--src/com/itmill/toolkit/ui/Form.java1
-rw-r--r--src/com/itmill/toolkit/ui/FormLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/GridLayout.java14
-rw-r--r--src/com/itmill/toolkit/ui/HorizontalLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/InlineDateField.java1
-rw-r--r--src/com/itmill/toolkit/ui/Label.java6
-rw-r--r--src/com/itmill/toolkit/ui/Layout.java13
-rw-r--r--src/com/itmill/toolkit/ui/Link.java1
-rw-r--r--src/com/itmill/toolkit/ui/ListSelect.java1
-rw-r--r--src/com/itmill/toolkit/ui/LoginForm.java6
-rw-r--r--src/com/itmill/toolkit/ui/MenuBar.java10
-rw-r--r--src/com/itmill/toolkit/ui/NativeSelect.java1
-rw-r--r--src/com/itmill/toolkit/ui/OptionGroup.java1
-rw-r--r--src/com/itmill/toolkit/ui/OrderedLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/Panel.java1
-rw-r--r--src/com/itmill/toolkit/ui/PopupDateField.java1
-rw-r--r--src/com/itmill/toolkit/ui/PopupView.java10
-rw-r--r--src/com/itmill/toolkit/ui/ProgressIndicator.java1
-rw-r--r--src/com/itmill/toolkit/ui/RichTextArea.java1
-rw-r--r--src/com/itmill/toolkit/ui/Select.java1
-rw-r--r--src/com/itmill/toolkit/ui/Slider.java12
-rw-r--r--src/com/itmill/toolkit/ui/SplitPanel.java1
-rw-r--r--src/com/itmill/toolkit/ui/TabSheet.java11
-rw-r--r--src/com/itmill/toolkit/ui/Table.java6
-rw-r--r--src/com/itmill/toolkit/ui/TextField.java1
-rw-r--r--src/com/itmill/toolkit/ui/Tree.java18
-rw-r--r--src/com/itmill/toolkit/ui/TwinColSelect.java1
-rw-r--r--src/com/itmill/toolkit/ui/Upload.java32
-rw-r--r--src/com/itmill/toolkit/ui/UriFragmentUtility.java9
-rw-r--r--src/com/itmill/toolkit/ui/VerticalLayout.java1
-rw-r--r--src/com/itmill/toolkit/ui/Window.java18
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;