From: Jani Laakso Date: Wed, 14 Mar 2007 15:00:28 +0000 (+0000) Subject: Fixed #325 (Ensure availability of Toolkit website) X-Git-Tag: 6.7.0.beta1~6520 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=92634cb0f088a5aeec05b125afc385870814d045;p=vaadin-framework.git Fixed #325 (Ensure availability of Toolkit website) All relevant code is under try catch block. Activated by setting "statistics" parameter on ServletContainer (web.xml). svn changeset:903/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/demo/features/FeatureBrowser.java b/src/com/itmill/toolkit/demo/features/FeatureBrowser.java index 8d63a162d0..c79ca6f782 100644 --- a/src/com/itmill/toolkit/demo/features/FeatureBrowser.java +++ b/src/com/itmill/toolkit/demo/features/FeatureBrowser.java @@ -188,6 +188,22 @@ public class FeatureBrowser extends CustomComponent implements public void valueChange(Property.ValueChangeEvent event) { + // FIXME: navigation statistics + try { + if ((event.getProperty().toString() == null) + && ((AbstractComponent) event.getProperty()).getTag() + .equals("tree")) { + // ignore tree initialization + } else { + FeatureUtil.debug(getApplication().getUser().toString(), + "valueChange " + + ((AbstractComponent) event.getProperty()) + .getTag() + ", " + event.getProperty()); + } + } catch (Exception e) { + // ignored, should never happen + } + // Change feature if (event.getProperty() == features) { Object id = features.getValue(); @@ -224,6 +240,16 @@ public class FeatureBrowser extends CustomComponent implements } public void buttonClick(ClickEvent event) { + // FIXME: navigation statistics + try { + FeatureUtil.debug(getApplication().getUser().toString(), + "buttonClick " + event.getButton().getTag() + ", " + + event.getButton().getCaption() + ", " + + event.getButton().getValue()); + } catch (Exception e) { + // ignored, should never happen + } + if (properties != null) properties.setVisible(((Boolean) propertiesSelect.getValue()) .booleanValue()); diff --git a/src/com/itmill/toolkit/demo/features/FeatureUtil.java b/src/com/itmill/toolkit/demo/features/FeatureUtil.java new file mode 100644 index 0000000000..91dbfbd1cf --- /dev/null +++ b/src/com/itmill/toolkit/demo/features/FeatureUtil.java @@ -0,0 +1,31 @@ +package com.itmill.toolkit.demo.features; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class FeatureUtil { + + private static boolean statistics = false; + + public static final SimpleDateFormat format = new SimpleDateFormat( + "yyyyMMdd HHmmss"); + + public static void debug(String userIdentity, String msg) { + if (statistics) + System.out.println("[" + userIdentity + "] " + msg); + } + + public static String getTimestamp() { + if (statistics) + try { + return format.format(new Date()); + } catch (Exception e) { + // ignored, should never happen + } + return ""; + } + + public static void setStatistics(boolean statistics) { + FeatureUtil.statistics = statistics; + } +} diff --git a/src/com/itmill/toolkit/demo/features/FeaturesApplication.java b/src/com/itmill/toolkit/demo/features/FeaturesApplication.java index 74c61f60d7..070cf9ef4f 100644 --- a/src/com/itmill/toolkit/demo/features/FeaturesApplication.java +++ b/src/com/itmill/toolkit/demo/features/FeaturesApplication.java @@ -33,6 +33,9 @@ import com.itmill.toolkit.ui.*; public class FeaturesApplication extends com.itmill.toolkit.Application { public void init() { + if (getProperty("statistics") != null) + FeatureUtil.setStatistics(true); + setUser(new Long(System.currentTimeMillis()).toString()); Window main = new Window("IT Mill Toolkit Features Tour"); setMainWindow(main); main.addComponent(new FeatureBrowser()); @@ -44,6 +47,8 @@ public class FeaturesApplication extends com.itmill.toolkit.Application { public void terminalError( com.itmill.toolkit.terminal.Terminal.ErrorEvent event) { Throwable e = event.getThrowable(); + FeatureUtil.debug(getUser().toString(), "terminalError: " + + e.toString()); e.printStackTrace(); } diff --git a/src/com/itmill/toolkit/demo/features/IntroWelcome.java b/src/com/itmill/toolkit/demo/features/IntroWelcome.java index 280039c6b8..75a643e1c4 100644 --- a/src/com/itmill/toolkit/demo/features/IntroWelcome.java +++ b/src/com/itmill/toolkit/demo/features/IntroWelcome.java @@ -143,6 +143,14 @@ public class IntroWelcome extends Feature implements URIHandler, super.getDescription().setValue( description + "
Browser: " + webBrowser.getBrowserApplication()); + try { + FeatureUtil.debug(getApplication().getUser().toString(), + "timestamp=[" + FeatureUtil.getTimestamp() + + "] userAgent=[" + + webBrowser.getBrowserApplication() + "]"); + } catch (Exception e) { + // ignored, should never happen + } } } super.paint(target); diff --git a/src/com/itmill/toolkit/demo/features/PropertyPanel.java b/src/com/itmill/toolkit/demo/features/PropertyPanel.java index 759d30de0e..22ab4a5ac3 100644 --- a/src/com/itmill/toolkit/demo/features/PropertyPanel.java +++ b/src/com/itmill/toolkit/demo/features/PropertyPanel.java @@ -55,7 +55,7 @@ public class PropertyPanel extends Panel implements Button.ClickListener, private Button setButton = new Button("Set", this); private Button discardButton = new Button("Discard changes", this); - + private Table allProperties = new Table(); private Object objectToConfigure; @@ -125,23 +125,6 @@ public class PropertyPanel extends Panel implements Button.ClickListener, updatePropertyList(); } - /** Handle all button clicks for this panel */ - public void buttonClick(Button.ClickEvent event) { - - // Commit all changed on all forms - if (event.getButton() == setButton) { - for (Iterator i = forms.iterator(); i.hasNext();) - ((Form) i.next()).commit(); - } - - // Discard all changed on all forms - if (event.getButton() == discardButton) { - for (Iterator i = forms.iterator(); i.hasNext();) - ((Form) i.next()).discard(); - } - - } - /** Recreate property list contents */ public void updatePropertyList() { @@ -351,6 +334,16 @@ public class PropertyPanel extends Panel implements Button.ClickListener, /** Value change listener for listening selections */ public void valueChange(Property.ValueChangeEvent event) { + // FIXME: navigation statistics + try { + FeatureUtil.debug(getApplication().getUser().toString(), + "valueChange " + + ((AbstractComponent) event.getProperty()) + .getTag() + ", " + event.getProperty()); + } catch (Exception e) { + // ignored, should never happen + } + // Adding components to component container if (event.getProperty() == addComponent) { String value = (String) addComponent.getValue(); @@ -416,6 +409,31 @@ public class PropertyPanel extends Panel implements Button.ClickListener, } } + /** Handle all button clicks for this panel */ + public void buttonClick(Button.ClickEvent event) { + // FIXME: navigation statistics + try { + FeatureUtil.debug(getApplication().getUser().toString(), + "buttonClick " + event.getButton().getTag() + ", " + + event.getButton().getCaption() + ", " + + event.getButton().getValue()); + } catch (Exception e) { + // ignored, should never happen + } + // Commit all changed on all forms + if (event.getButton() == setButton) { + for (Iterator i = forms.iterator(); i.hasNext();) + ((Form) i.next()).commit(); + } + + // Discard all changed on all forms + if (event.getButton() == discardButton) { + for (Iterator i = forms.iterator(); i.hasNext();) + ((Form) i.next()).discard(); + } + + } + /** * Helper function for creating forms from array of propety names. */