aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/tests/tickets/Ticket695.java
blob: fc040d8ba384fe378ab80ff54507573030ef8421 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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");
				}

			}
		});
	}

}