aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2009-03-12 13:25:36 +0000
committerArtur Signell <artur.signell@itmill.com>2009-03-12 13:25:36 +0000
commit6a89ff905e36ed744503ef5410e7f056a87e5512 (patch)
treef6771d8727e8cf8c6e163cd498237de90b3f2f40
parent7698b85bbdd029ef64153804fb0c73c1d0b72103 (diff)
downloadvaadin-framework-6a89ff905e36ed744503ef5410e7f056a87e5512.tar.gz
vaadin-framework-6a89ff905e36ed744503ef5410e7f056a87e5512.zip
Fixed memory leak in sampler
svn changeset:7069/svn branch:6.0
-rw-r--r--src/com/itmill/toolkit/demo/sampler/ExampleUtil.java43
-rw-r--r--src/com/itmill/toolkit/demo/sampler/SamplerApplication.java24
2 files changed, 36 insertions, 31 deletions
diff --git a/src/com/itmill/toolkit/demo/sampler/ExampleUtil.java b/src/com/itmill/toolkit/demo/sampler/ExampleUtil.java
index 5de67b3b63..0444cedb86 100644
--- a/src/com/itmill/toolkit/demo/sampler/ExampleUtil.java
+++ b/src/com/itmill/toolkit/demo/sampler/ExampleUtil.java
@@ -113,31 +113,12 @@ public final class ExampleUtil {
public static final Object iso3166_PROPERTY_SHORT = "short";
public static final Object iso3166_PROPERTY_FLAG = "flag";
public static final Object hw_PROPERTY_NAME = "name";
- private static final IndexedContainer iso3166Container = new IndexedContainer();
- static {
- fillIso3166Container(iso3166Container);
- }
public static final Object locale_PROPERTY_LOCALE = "locale";
public static final Object locale_PROPERTY_NAME = "name";
private static final String[][] locales = { { "fi", "FI", "Finnish" },
{ "de", "DE", "German" }, { "en", "US", "US - English" },
{ "sv", "SE", "Swedish" } };
- private static final IndexedContainer localeContainer = new IndexedContainer();
- static {
- localeContainer.addContainerProperty(locale_PROPERTY_LOCALE,
- Locale.class, null);
- localeContainer.addContainerProperty(locale_PROPERTY_NAME,
- String.class, null);
- for (int i = 0; i < locales.length; i++) {
- String id = locales[i][2];
- Item item = localeContainer.addItem(id);
- item.getItemProperty(locale_PROPERTY_LOCALE).setValue(
- new Locale(locales[i][0], locales[i][1]));
- item.getItemProperty(locale_PROPERTY_NAME).setValue(locales[i][2]);
- }
- }
-
private static final String[][] hardware = { //
{ "Desktops", "Dell OptiPlex GX240", "Dell OptiPlex GX260",
"Dell OptiPlex GX280" },
@@ -155,10 +136,6 @@ public final class ExampleUtil {
"Smith", "Adams", "Black", "Wilson", "Richards", "Thompson",
"McGoff", "Halas", "Jones", "Beck", "Sheridan", "Picard", "Hill",
"Fielding", "Einstein" };
- private static final IndexedContainer personContainer;
- static {
- personContainer = getPersonContainer();
- }
public static IndexedContainer getPersonContainer() {
IndexedContainer contactContainer = new IndexedContainer();
@@ -180,16 +157,26 @@ public final class ExampleUtil {
return contactContainer;
}
- public static IndexedContainer getStaticPersonContainer() {
- return personContainer;
- }
-
public static IndexedContainer getLocaleContainer() {
+ IndexedContainer localeContainer = new IndexedContainer();
+ localeContainer.addContainerProperty(locale_PROPERTY_LOCALE,
+ Locale.class, null);
+ localeContainer.addContainerProperty(locale_PROPERTY_NAME,
+ String.class, null);
+ for (int i = 0; i < locales.length; i++) {
+ String id = locales[i][2];
+ Item item = localeContainer.addItem(id);
+ item.getItemProperty(locale_PROPERTY_LOCALE).setValue(
+ new Locale(locales[i][0], locales[i][1]));
+ item.getItemProperty(locale_PROPERTY_NAME).setValue(locales[i][2]);
+ }
+
return localeContainer;
}
+ @Deprecated
public static IndexedContainer getStaticISO3166Container() {
- return iso3166Container;
+ return getISO3166Container();
}
public static IndexedContainer getISO3166Container() {
diff --git a/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java b/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java
index 2b67353bbb..6b24a8bf4f 100644
--- a/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java
+++ b/src/com/itmill/toolkit/demo/sampler/SamplerApplication.java
@@ -21,6 +21,7 @@ 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;
@@ -160,6 +161,15 @@ public class SamplerApplication extends Application {
Button previousSample;
Button nextSample;
+ private ComboBox search;
+
+ @Override
+ public void detach() {
+ super.detach();
+
+ search.setContainerDataSource(null);
+ navigationTree.setContainerDataSource(null);
+ }
SamplerWindow() {
// Main top/expanded-bottom layout
@@ -230,8 +240,8 @@ public class SamplerApplication extends Application {
arrows.addComponent(nextSample);
// "Search" combobox
// TODO add input prompt
- Component search = createSearch();
- quicknav.addComponent(search);
+ Component searchComponent = createSearch();
+ quicknav.addComponent(searchComponent);
// Menu tree, initially hidden
navigationTree = createMenuTree();
@@ -298,7 +308,7 @@ public class SamplerApplication extends Application {
*/
private Component createSearch() {
- final ComboBox search = new ComboBox();
+ search = new ComboBox();
search.setWidth("160px");
search.setNewItemsAllowed(false);
search.setFilteringMode(ComboBox.FILTERINGMODE_CONTAINS);
@@ -756,4 +766,12 @@ public class SamplerApplication extends Application {
});
}
}
+
+ @Override
+ public void close() {
+ removeWindow(getMainWindow());
+
+ super.close();
+ }
+
}