]> source.dussan.org Git - vaadin-framework.git/commitdiff
#2645 Rename launcher classes and Eclipse launches
authorHenri Sara <henri.sara@itmill.com>
Tue, 19 May 2009 08:29:12 +0000 (08:29 +0000)
committerHenri Sara <henri.sara@itmill.com>
Tue, 19 May 2009 08:29:12 +0000 (08:29 +0000)
svn changeset:7874/svn branch:6.0

15 files changed:
build/build.xml
build/package/eclipse-Vaadin Development Server-launch [new file with mode: 0644]
build/package/eclipse-Vaadin Hosted Mode Browser-launch [new file with mode: 0644]
build/package/eclipse-Vaadin Hosted Mode-launch [deleted file]
build/package/eclipse-Vaadin Web Mode-launch [deleted file]
build/package/linux-readme.txt
build/package/mac-readme.txt
build/package/oophm-readme.txt
build/package/start.bat
build/package/start.sh
build/package/windows-readme.txt
src/com/vaadin/launcher/DemoLauncher.java [new file with mode: 0644]
src/com/vaadin/launcher/DevelopmentServerLauncher.java [new file with mode: 0644]
src/com/vaadin/launcher/ITMillToolkitDesktopMode.java [deleted file]
src/com/vaadin/launcher/ITMillToolkitWebMode.java [deleted file]

index 0876a3801f4092932f6d318d5ee15abb8665610d..c9911da6bd540ad5b9be7b8aa2a33b4a084cca62 100644 (file)
                <move file="${output-dir}/build-widgetset.xml" tofile="${output-dir}/WebContent/docs/example-source/build-widgetset.xml" />
                <move file="${output-dir}/eclipse-classpath" tofile="${output-dir}/.classpath" />
                <move file="${output-dir}/eclipse-project" tofile="${output-dir}/.project" />
-               <move file="${output-dir}/eclipse-Vaadin Hosted Mode-launch" tofile="${output-dir}/Vaadin Hosted Mode.launch" />
-               <move file="${output-dir}/eclipse-Vaadin Web Mode-launch" tofile="${output-dir}/Vaadin Web Mode.launch" />
+               <move file="${output-dir}/eclipse-Vaadin Hosted Mode Browser-launch" tofile="${output-dir}/Vaadin Hosted Mode Browser.launch" />
+               <move file="${output-dir}/eclipse-Vaadin Development Server-launch" tofile="${output-dir}/Vaadin Development Server.launch" />
                <mkdir dir="${output-dir}/.settings" />
                <move file="${output-dir}/eclipse-org.eclipse.core.resources.prefs" tofile="${output-dir}/.settings/org.eclipse.core.resources.prefs" />
                <move file="${output-dir}/eclipse-org.eclipse.jdt.core.prefs" tofile="${output-dir}/.settings/org.eclipse.jdt.core.prefs" />
diff --git a/build/package/eclipse-Vaadin Development Server-launch b/build/package/eclipse-Vaadin Development Server-launch
new file mode 100644 (file)
index 0000000..655cb13
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/<eclipse-workspace-name></eclipse-workspace-name>/src/com/vaadin/launcher/DevelopmentServerLauncher.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; javaProject=&quot;itmill-toolkit-examples&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;itmill-toolkit-examples&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/itmill-toolkit-examples/WebContent/WEB-INF/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.vaadin.launcher.DevelopmentServerLauncher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="<eclipse-workspace-name></eclipse-workspace-name>"/>
+</launchConfiguration>
diff --git a/build/package/eclipse-Vaadin Hosted Mode Browser-launch b/build/package/eclipse-Vaadin Hosted Mode Browser-launch
new file mode 100644 (file)
index 0000000..0578393
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<stringAttribute key="bad_container_name" value="/<eclipse-workspace-name></eclipse-workspace-name>/Vaadin Hosted Mode.launch"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/<eclipse-workspace-name></eclipse-workspace-name>/gwt/gwt-dev-@platform@.jar"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;sourceLookupDirector&gt;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#10;&amp;lt;folder nest=&amp;quot;false&amp;quot; path=&amp;quot;/<eclipse-workspace-name></eclipse-workspace-name>/WebContent/WEB-INF/src&amp;quot;/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.folder&quot;/&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#10;&amp;lt;default/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#10;&lt;/sourceContainers&gt;&#10;&lt;/sourceLookupDirector&gt;&#10;"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; javaProject=&quot;<eclipse-workspace-name></eclipse-workspace-name>&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/<eclipse-workspace-name></eclipse-workspace-name>/WebContent/WEB-INF/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;<eclipse-workspace-name></eclipse-workspace-name>&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-noserver -out WebContent/VAADIN/widgetsets http://localhost:8888/"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="<eclipse-workspace-name></eclipse-workspace-name>"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="<eclipse-launch-vmargs></eclipse-launch-vmargs>"/>
+</launchConfiguration>
diff --git a/build/package/eclipse-Vaadin Hosted Mode-launch b/build/package/eclipse-Vaadin Hosted Mode-launch
deleted file mode 100644 (file)
index 7479aeb..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<stringAttribute key="bad_container_name" value="/<eclipse-workspace-name></eclipse-workspace-name>/IT Mill Toolkit Hosted Mode.launch"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/<eclipse-workspace-name></eclipse-workspace-name>/gwt/gwt-dev-@platform@.jar"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;sourceLookupDirector&gt;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#10;&amp;lt;folder nest=&amp;quot;false&amp;quot; path=&amp;quot;/<eclipse-workspace-name></eclipse-workspace-name>/WebContent/WEB-INF/src&amp;quot;/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.folder&quot;/&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#10;&amp;lt;default/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#10;&lt;/sourceContainers&gt;&#10;&lt;/sourceLookupDirector&gt;&#10;"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; javaProject=&quot;<eclipse-workspace-name></eclipse-workspace-name>&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/<eclipse-workspace-name></eclipse-workspace-name>/WebContent/WEB-INF/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;<eclipse-workspace-name></eclipse-workspace-name>&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-noserver -out WebContent/ITMILL/widgetsets http://localhost:8888/"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="<eclipse-workspace-name></eclipse-workspace-name>"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="<eclipse-launch-vmargs></eclipse-launch-vmargs>"/>
-</launchConfiguration>
diff --git a/build/package/eclipse-Vaadin Web Mode-launch b/build/package/eclipse-Vaadin Web Mode-launch
deleted file mode 100644 (file)
index 30439e5..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/<eclipse-workspace-name></eclipse-workspace-name>/src/com/itmill/toolkit/launcher/ITMillWebModeLaunch.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; javaProject=&quot;itmill-toolkit-examples&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;itmill-toolkit-examples&quot;/&gt;&#10;&lt;/runtimeClasspathEntry&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/itmill-toolkit-examples/WebContent/WEB-INF/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.vaadin.launcher.ITMillToolkitWebMode"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="<eclipse-workspace-name></eclipse-workspace-name>"/>
-</launchConfiguration>
index 76cbccd0d56ec934cb5f5427de90136ca7188972..cb886ff0a668cae99f454cb72aacaccb3edd9cda 100644 (file)
@@ -54,8 +54,8 @@ WebContent/doc/example-source
 WebContent/demo\r
 - files required by the demos\r
 \r
-IT Mill Toolkit Hosted Mode.launch\r
-IT Mill Toolkit Web Mode.launch\r
+Vaadin Hosted Mode Browser.launch\r
+Vaadin Development Server.launch\r
 - launch configurations for Eclipse workspace\r
 \r
 WebContent/doc/example-source/build-widgetset.xml\r
index 062c1dc9759cf2d2bcea2d8f170fe02caa8d89a0..06d1ab76ab8df3f5fd7537e9f930dc7b7d1e6282 100644 (file)
@@ -55,8 +55,8 @@ WebContent/doc/example-source
 WebContent/demo\r
 - files required by the demos\r
 \r
-IT Mill Toolkit Hosted Mode.launch\r
-IT Mill Toolkit Web Mode.launch\r
+Vaadin Hosted Mode Browser.launch\r
+Vaadin Development Server.launch\r
 - launch configurations for Eclipse workspace\r
 \r
 WebContent/doc/example-source/build-widgetset.xml\r
index 97ff2651e068f952e5aa64b1292b9cf03a40923a..6a2e2c384336945c592cb94d7f9e26052a27d0fb 100644 (file)
@@ -63,8 +63,8 @@ WebContent/doc/example-source
 WebContent/demo
 - files required by the demos
 
-IT Mill Toolkit Hosted Mode.launch
-IT Mill Toolkit Web Mode.launch
+Vaadin Hosted Mode Browser.launch
+Vaadin Development Server.launch
 - launch configurations for Eclipse workspace
 
 WebContent/doc/example-source/build-widgetset.xml
index 6399843e1d90f9a3ccf010e9a46006012e17bc6c..c967380a8727cf7314bc9dbc5b6cf8a6bac5ac9c 100644 (file)
@@ -1 +1 @@
-@java -cp "WebContent\demo\lib\jetty\jetty-6.1.7.jar;WebContent\demo\lib\jetty\jetty-util-6.1.7.jar;WebContent\demo\lib\jetty\servlet-api-2.5-6.1.7.jar;WebContent\WEB-INF\classes;WebContent\WEB-INF\src" com.vaadin.launcher.ITMillToolkitDesktopMode\r
+@java -cp "WebContent\demo\lib\jetty\jetty-6.1.7.jar;WebContent\demo\lib\jetty\jetty-util-6.1.7.jar;WebContent\demo\lib\jetty\servlet-api-2.5-6.1.7.jar;WebContent\WEB-INF\classes;WebContent\WEB-INF\src" com.vaadin.launcher.DemoLauncher\r
index b7faad9be348bba7c19ab4ac98a6e77e5b96019b..d484b131bd9f8fbabe6021d551ab32e3eb97b71f 100644 (file)
@@ -4,4 +4,4 @@ if [ "$1" != "" ] ; then
   cd $1
 fi
 
-java -cp WebContent/demo/lib/jetty/jetty-6.1.7.jar:WebContent/demo/lib/jetty/jetty-util-6.1.7.jar:WebContent/demo/lib/jetty/servlet-api-2.5-6.1.7.jar:WebContent/WEB-INF/classes:WebContent/WEB-INF/src com.vaadin.launcher.ITMillToolkitDesktopMode $VAADIN_PARAMETERS
+java -cp WebContent/demo/lib/jetty/jetty-6.1.7.jar:WebContent/demo/lib/jetty/jetty-util-6.1.7.jar:WebContent/demo/lib/jetty/servlet-api-2.5-6.1.7.jar:WebContent/WEB-INF/classes:WebContent/WEB-INF/src com.vaadin.launcher.DemoLauncher $VAADIN_PARAMETERS
index c81df58f8528a8e0c36c892a7aa2a7b8328612d4..f6dded8b5a021f5852f76bfd9f6f64c8ff5858dd 100644 (file)
@@ -54,8 +54,8 @@ WebContent/doc/example-source
 WebContent/demo\r
 - files required by the demos\r
 \r
-IT Mill Toolkit Hosted Mode.launch\r
-IT Mill Toolkit Web Mode.launch\r
+Vaadin Hosted Mode Browser.launch\r
+Vaadin Development Server.launch\r
 - launch configurations for Eclipse workspace\r
 \r
 WebContent/doc/example-source/build-widgetset.xml\r
diff --git a/src/com/vaadin/launcher/DemoLauncher.java b/src/com/vaadin/launcher/DemoLauncher.java
new file mode 100644 (file)
index 0000000..d52df1f
--- /dev/null
@@ -0,0 +1,211 @@
+/* 
+@ITMillApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.launcher;
+
+import java.awt.FlowLayout;
+import java.awt.HeadlessException;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Map;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.WindowConstants;
+
+import com.vaadin.launcher.util.BrowserLauncher;
+
+/**
+ * This class starts servlet container and opens a simple control dialog.
+ * 
+ */
+public class DemoLauncher {
+
+    public static void main(String[] args) {
+
+        final Map serverArgs = DevelopmentServerLauncher.parseArguments(args);
+        boolean deployed = false;
+        try {
+            // Default deployment: embedded.war
+            deployed = deployEmbeddedWarfile(serverArgs);
+        } catch (final IOException e1) {
+            e1.printStackTrace();
+            deployed = false;
+        }
+
+        // Check if deployment was succesful
+        if (!deployed && !serverArgs.containsKey("webroot")) {
+            // Default deployment failed, try other means
+            if (new File("WebContent").exists()) {
+                // Using WebContent directory as webroot
+                serverArgs.put("webroot", "WebContent");
+            } else {
+                System.err.print("Failed to deploy Vaadin application. "
+                        + "Please add --webroot parameter. Exiting.");
+                return;
+            }
+        }
+
+        // Start the Winstone servlet container
+        final String url = DevelopmentServerLauncher.runServer(serverArgs,
+                "Demo Server");
+
+        if (!serverArgs.containsKey("nogui") && url != null) {
+
+            // Open browser into application URL
+            BrowserLauncher.openBrowser(url);
+
+            // Open control dialog
+            /*
+             * Swing components should never be manipulated outside the event
+             * dispatch thread.
+             */
+            java.awt.EventQueue.invokeLater(new Runnable() {
+                public void run() {
+                    try {
+                        openServerControlDialog(url);
+                    } catch (HeadlessException e) {
+                        // nop, starting from console
+                    }
+                }
+            });
+        }
+    }
+
+    /**
+     * Open a control dialog for embedded server.
+     * 
+     * @param applicationUrl
+     *            Application URL
+     */
+    private static void openServerControlDialog(final String applicationUrl) {
+
+        // Main frame
+        final String title = "Desktop Server";
+        final JFrame frame = new JFrame(title);
+        frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
+
+        // Create link label and listen mouse click
+        final JLabel link = new JLabel("<html>"
+                + "<center>Desktop Server is running at: <br>" + "<a href=\""
+                + applicationUrl + "\">" + applicationUrl
+                + "</a><br>Close this window to shutdown the server.</center>"
+                + "</html>");
+        link.addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseClicked(MouseEvent e) {
+                BrowserLauncher.openBrowser(applicationUrl);
+            }
+        });
+
+        // Create a panel and add components to it.
+        final JPanel contentPane = new JPanel(new FlowLayout());
+        frame.setContentPane(contentPane);
+        contentPane.add(link);
+
+        // Close confirmation
+        final JLabel question = new JLabel(
+                "This will stop the server. Are you sure?");
+        final JButton okButton = new JButton("OK");
+        final JButton cancelButton = new JButton("Cancel");
+
+        // List for close verify buttons
+        final ActionListener buttonListener = new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (e.getSource() == okButton) {
+                    System.exit(0);
+                } else {
+                    Rectangle bounds = frame.getBounds();
+                    frame.setTitle(title);
+                    contentPane.removeAll();
+                    contentPane.add(link);
+                    contentPane.setBounds(bounds);
+                    frame.setBounds(bounds);
+                    frame.setVisible(true);
+                    frame.repaint();
+                }
+            }
+        };
+        okButton.addActionListener(buttonListener);
+        cancelButton.addActionListener(buttonListener);
+
+        frame.addWindowListener(new WindowAdapter() {
+            @Override
+            public void windowClosing(WindowEvent e) {
+                final Rectangle bounds = frame.getBounds();
+                frame.setTitle("Confirm close");
+                contentPane.removeAll();
+                contentPane.add(question);
+                contentPane.add(okButton);
+                contentPane.add(cancelButton);
+                frame.setBounds(bounds);
+                frame.setVisible(true);
+                frame.repaint();
+            }
+        });
+
+        // Position the window nicely
+        final java.awt.Dimension screenSize = java.awt.Toolkit
+                .getDefaultToolkit().getScreenSize();
+        final int w = 270;
+        final int h = 95;
+        final int margin = 20;
+        frame.setBounds(new Rectangle(screenSize.width - w - margin,
+                screenSize.height - h - margin * 2, w, h));
+        frame.toFront();
+        frame.setVisible(true);
+    }
+
+    /**
+     * Deploy file named "embedded.war" from classpath (inside jar file).
+     * 
+     * @param args
+     * @return
+     * @throws IOException
+     */
+    protected static boolean deployEmbeddedWarfile(Map args) throws IOException {
+        final String embeddedWarfileName = "/embedded.war";
+        final InputStream embeddedWarfile = DemoLauncher.class
+                .getResourceAsStream(embeddedWarfileName);
+        if (embeddedWarfile != null) {
+            final File tempWarfile = File.createTempFile("embedded", ".war")
+                    .getAbsoluteFile();
+            tempWarfile.getParentFile().mkdirs();
+            tempWarfile.deleteOnExit();
+
+            final String embeddedWebroot = "winstoneEmbeddedWAR";
+            final File tempWebroot = new File(tempWarfile.getParentFile(),
+                    embeddedWebroot);
+            tempWebroot.mkdirs();
+
+            final OutputStream out = new FileOutputStream(tempWarfile, true);
+            int read = 0;
+            final byte buffer[] = new byte[2048];
+            while ((read = embeddedWarfile.read(buffer)) != -1) {
+                out.write(buffer, 0, read);
+            }
+            out.close();
+            embeddedWarfile.close();
+
+            args.put("warfile", tempWarfile.getAbsolutePath());
+            args.put("webroot", tempWebroot.getAbsolutePath());
+            args.remove("webappsDir");
+            args.remove("hostsDir");
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/src/com/vaadin/launcher/DevelopmentServerLauncher.java b/src/com/vaadin/launcher/DevelopmentServerLauncher.java
new file mode 100644 (file)
index 0000000..1ba7e69
--- /dev/null
@@ -0,0 +1,131 @@
+/* \r
+@ITMillApache2LicenseForJavaFiles@\r
+ */\r
+\r
+package com.vaadin.launcher;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.mortbay.jetty.Connector;\r
+import org.mortbay.jetty.Server;\r
+import org.mortbay.jetty.nio.SelectChannelConnector;\r
+import org.mortbay.jetty.webapp.WebAppContext;\r
+\r
+import com.vaadin.launcher.util.BrowserLauncher;\r
+\r
+/**\r
+ * Class for running Jetty servlet container within Eclipse project.\r
+ * \r
+ */\r
+public class DevelopmentServerLauncher {\r
+\r
+    private final static String serverPort = "8888";\r
+\r
+    /**\r
+     * Main function for running Jetty.\r
+     * \r
+     * Command line Arguments are passed through to Jetty, see runServer method\r
+     * for options.\r
+     * \r
+     * @param args\r
+     */\r
+    public static void main(String[] args) {\r
+\r
+        // Pass-through of arguments for Jetty\r
+        final Map serverArgs = parseArguments(args);\r
+\r
+        // Start Jetty\r
+        System.out.println("Starting Jetty servlet container.");\r
+        final String url = runServer(serverArgs, "Development Server Mode");\r
+\r
+        // Start Browser\r
+        System.out.println("Starting Web Browser.");\r
+        if (url != null) {\r
+            BrowserLauncher.openBrowser(url);\r
+        }\r
+\r
+    }\r
+\r
+    /**\r
+     * Run the server with specified arguments.\r
+     * \r
+     * @param serverArgs\r
+     * @return\r
+     */\r
+    protected static String runServer(Map serverArgs, String mode) {\r
+\r
+        // Add help for System.out\r
+        System.out\r
+                .println("-------------------------------------------------\n"\r
+                        + "Starting Vaadin in "\r
+                        + mode\r
+                        + ".\n"\r
+                        + "Running in http://localhost:"\r
+                        + serverPort\r
+                        + "\n-------------------------------------------------\n");\r
+\r
+        // Assign default values for some arguments\r
+        assignDefault(serverArgs, "webroot", "WebContent");\r
+        assignDefault(serverArgs, "httpPort", serverPort);\r
+        assignDefault(serverArgs, "context", "");\r
+\r
+        try {\r
+            final Server server = new Server();\r
+\r
+            final Connector connector = new SelectChannelConnector();\r
+\r
+            connector.setPort(8888);\r
+            server.setConnectors(new Connector[] { connector });\r
+\r
+            final WebAppContext webappcontext = new WebAppContext();\r
+            webappcontext.setContextPath(serverArgs.get("context").toString());\r
+            webappcontext.setWar(serverArgs.get("webroot").toString());\r
+\r
+            server.setHandler(webappcontext);\r
+\r
+            server.start();\r
+        } catch (final Exception e) {\r
+            e.printStackTrace();\r
+            return null;\r
+        }\r
+\r
+        return "http://localhost:" + serverArgs.get("httpPort")\r
+                + serverArgs.get("context");\r
+    }\r
+\r
+    /**\r
+     * Assign default value for given key.\r
+     * \r
+     * @param map\r
+     * @param key\r
+     * @param value\r
+     */\r
+    private static void assignDefault(Map map, String key, String value) {\r
+        if (!map.containsKey(key)) {\r
+            map.put(key, value);\r
+        }\r
+    }\r
+\r
+    /**\r
+     * Parse all command line arguments into a map.\r
+     * \r
+     * Arguments format "key=value" are put into map.\r
+     * \r
+     * @param args\r
+     * @return map of arguments key value pairs.\r
+     */\r
+    protected static Map parseArguments(String[] args) {\r
+        final Map map = new HashMap();\r
+        for (int i = 0; i < args.length; i++) {\r
+            final int d = args[i].indexOf("=");\r
+            if (d > 0 && d < args[i].length() && args[i].startsWith("--")) {\r
+                final String name = args[i].substring(2, d);\r
+                final String value = args[i].substring(d + 1);\r
+                map.put(name, value);\r
+            }\r
+        }\r
+        return map;\r
+    }\r
+\r
+}\r
diff --git a/src/com/vaadin/launcher/ITMillToolkitDesktopMode.java b/src/com/vaadin/launcher/ITMillToolkitDesktopMode.java
deleted file mode 100644 (file)
index 4feabea..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/* 
-@ITMillApache2LicenseForJavaFiles@
- */
-
-package com.vaadin.launcher;
-
-import java.awt.FlowLayout;
-import java.awt.HeadlessException;
-import java.awt.Rectangle;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Map;
-
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.WindowConstants;
-
-import com.vaadin.launcher.util.BrowserLauncher;
-
-/**
- * This class starts servlet container and opens a simple control dialog.
- * 
- */
-public class ITMillToolkitDesktopMode {
-
-    public static void main(String[] args) {
-
-        final Map serverArgs = ITMillToolkitWebMode.parseArguments(args);
-        boolean deployed = false;
-        try {
-            // Default deployment: embedded.war
-            deployed = deployEmbeddedWarfile(serverArgs);
-        } catch (final IOException e1) {
-            e1.printStackTrace();
-            deployed = false;
-        }
-
-        // Check if deployment was succesful
-        if (!deployed && !serverArgs.containsKey("webroot")) {
-            // Default deployment failed, try other means
-            if (new File("WebContent").exists()) {
-                // Using WebContent directory as webroot
-                serverArgs.put("webroot", "WebContent");
-            } else {
-                System.err.print("Failed to deploy Toolkit application. "
-                        + "Please add --webroot parameter. Exiting.");
-                return;
-            }
-        }
-
-        // Start the Winstone servlet container
-        final String url = ITMillToolkitWebMode.runServer(serverArgs,
-                "Desktop Mode");
-
-        if (!serverArgs.containsKey("nogui") && url != null) {
-                       
-            // Open browser into application URL
-            BrowserLauncher.openBrowser(url);
-
-            // Open control dialog
-            /*
-             * Swing components should never be manipulated outside the event
-             * dispatch thread.
-             */
-            java.awt.EventQueue.invokeLater(new Runnable() {
-                public void run() {
-                    try {
-                        openServerControlDialog(url);
-                    } catch (HeadlessException e) {
-                        // nop, starting from console
-                    }
-                }
-            });
-        }
-    }
-
-    /**
-     * Open a control dialog for embedded server.
-     * 
-     * @param applicationUrl
-     *            Application URL
-     */
-    private static void openServerControlDialog(final String applicationUrl) {
-
-        // Main frame
-        final String title = "Desktop Server";
-        final JFrame frame = new JFrame(title);
-        frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
-
-        // Create link label and listen mouse click
-        final JLabel link = new JLabel("<html>"
-                + "<center>Desktop Server is running at: <br>" + "<a href=\""
-                + applicationUrl + "\">" + applicationUrl
-                + "</a><br>Close this window to shutdown the server.</center>"
-                + "</html>");
-        link.addMouseListener(new MouseAdapter() {
-            @Override
-            public void mouseClicked(MouseEvent e) {
-                BrowserLauncher.openBrowser(applicationUrl);
-            }
-        });
-
-        // Create a panel and add components to it.
-        final JPanel contentPane = new JPanel(new FlowLayout());
-        frame.setContentPane(contentPane);
-        contentPane.add(link);
-
-        // Close confirmation
-        final JLabel question = new JLabel(
-                "This will stop the server. Are you sure?");
-        final JButton okButton = new JButton("OK");
-        final JButton cancelButton = new JButton("Cancel");
-
-        // List for close verify buttons
-        final ActionListener buttonListener = new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                if (e.getSource() == okButton) {
-                    System.exit(0);
-                } else {
-                    Rectangle bounds = frame.getBounds();
-                    frame.setTitle(title);
-                    contentPane.removeAll();
-                    contentPane.add(link);
-                    contentPane.setBounds(bounds);
-                    frame.setBounds(bounds);
-                    frame.setVisible(true);
-                    frame.repaint();
-                }
-            }
-        };
-        okButton.addActionListener(buttonListener);
-        cancelButton.addActionListener(buttonListener);
-
-        frame.addWindowListener(new WindowAdapter() {
-            @Override
-            public void windowClosing(WindowEvent e) {
-                final Rectangle bounds = frame.getBounds();
-                frame.setTitle("Confirm close");
-                contentPane.removeAll();
-                contentPane.add(question);
-                contentPane.add(okButton);
-                contentPane.add(cancelButton);
-                frame.setBounds(bounds);
-                frame.setVisible(true);
-                frame.repaint();
-            }
-        });
-
-        // Position the window nicely
-        final java.awt.Dimension screenSize = java.awt.Toolkit
-                .getDefaultToolkit().getScreenSize();
-        final int w = 270;
-        final int h = 95;
-        final int margin = 20;
-        frame.setBounds(new Rectangle(screenSize.width - w - margin,
-                screenSize.height - h - margin * 2, w, h));
-        frame.toFront();
-        frame.setVisible(true);
-    }
-
-    /**
-     * Deploy file named "embedded.war" from classpath (inside jar file).
-     * 
-     * @param args
-     * @return
-     * @throws IOException
-     */
-    protected static boolean deployEmbeddedWarfile(Map args) throws IOException {
-        final String embeddedWarfileName = "/embedded.war";
-        final InputStream embeddedWarfile = ITMillToolkitDesktopMode.class
-                .getResourceAsStream(embeddedWarfileName);
-        if (embeddedWarfile != null) {
-            final File tempWarfile = File.createTempFile("embedded", ".war")
-                    .getAbsoluteFile();
-            tempWarfile.getParentFile().mkdirs();
-            tempWarfile.deleteOnExit();
-
-            final String embeddedWebroot = "winstoneEmbeddedWAR";
-            final File tempWebroot = new File(tempWarfile.getParentFile(),
-                    embeddedWebroot);
-            tempWebroot.mkdirs();
-
-            final OutputStream out = new FileOutputStream(tempWarfile, true);
-            int read = 0;
-            final byte buffer[] = new byte[2048];
-            while ((read = embeddedWarfile.read(buffer)) != -1) {
-                out.write(buffer, 0, read);
-            }
-            out.close();
-            embeddedWarfile.close();
-
-            args.put("warfile", tempWarfile.getAbsolutePath());
-            args.put("webroot", tempWebroot.getAbsolutePath());
-            args.remove("webappsDir");
-            args.remove("hostsDir");
-            return true;
-        }
-        return false;
-    }
-}
diff --git a/src/com/vaadin/launcher/ITMillToolkitWebMode.java b/src/com/vaadin/launcher/ITMillToolkitWebMode.java
deleted file mode 100644 (file)
index d7931de..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/* \r
-@ITMillApache2LicenseForJavaFiles@\r
- */\r
-\r
-package com.vaadin.launcher;\r
-\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import org.mortbay.jetty.Connector;\r
-import org.mortbay.jetty.Server;\r
-import org.mortbay.jetty.nio.SelectChannelConnector;\r
-import org.mortbay.jetty.webapp.WebAppContext;\r
-\r
-import com.vaadin.launcher.util.BrowserLauncher;\r
-\r
-/**\r
- * Class for running Jetty servlet container within Eclipse project.\r
- * \r
- */\r
-public class ITMillToolkitWebMode {\r
-\r
-    private final static String serverPort = "8888";\r
-\r
-    /**\r
-     * Main function for running Jetty.\r
-     * \r
-     * Command line Arguments are passed through to Jetty, see runServer method\r
-     * for options.\r
-     * \r
-     * @param args\r
-     */\r
-    public static void main(String[] args) {\r
-\r
-        // Pass-through of arguments for Jetty\r
-        final Map serverArgs = parseArguments(args);\r
-\r
-        // Start Jetty\r
-        System.out.println("Starting Jetty servlet container.");\r
-        final String url = runServer(serverArgs, "Web Mode");\r
-\r
-        // Start Browser\r
-        System.out.println("Starting Web Browser.");\r
-        if (url != null) {\r
-            BrowserLauncher.openBrowser(url);\r
-        }\r
-\r
-    }\r
-\r
-    /**\r
-     * Run the server with specified arguments.\r
-     * \r
-     * @param serverArgs\r
-     * @return\r
-     */\r
-    protected static String runServer(Map serverArgs, String mode) {\r
-\r
-        // Add help for System.out\r
-        System.out\r
-                .println("-------------------------------------------------\n"\r
-                        + "Starting IT Mill Toolkit in "\r
-                        + mode\r
-                        + ".\n"\r
-                        + "Running in http://localhost:"\r
-                        + serverPort\r
-                        + "\n-------------------------------------------------\n");\r
-\r
-        // Assign default values for some arguments\r
-        assignDefault(serverArgs, "webroot", "WebContent");\r
-        assignDefault(serverArgs, "httpPort", serverPort);\r
-        assignDefault(serverArgs, "context", "");\r
-\r
-        try {\r
-            final Server server = new Server();\r
-\r
-            final Connector connector = new SelectChannelConnector();\r
-\r
-            connector.setPort(8888);\r
-            server.setConnectors(new Connector[] { connector });\r
-\r
-            final WebAppContext webappcontext = new WebAppContext();\r
-            webappcontext.setContextPath(serverArgs.get("context").toString());\r
-            webappcontext.setWar(serverArgs.get("webroot").toString());\r
-\r
-            server.setHandler(webappcontext);\r
-\r
-            server.start();\r
-        } catch (final Exception e) {\r
-            e.printStackTrace();\r
-            return null;\r
-        }\r
-\r
-        return "http://localhost:" + serverArgs.get("httpPort")\r
-                + serverArgs.get("context");\r
-    }\r
-\r
-    /**\r
-     * Assign default value for given key.\r
-     * \r
-     * @param map\r
-     * @param key\r
-     * @param value\r
-     */\r
-    private static void assignDefault(Map map, String key, String value) {\r
-        if (!map.containsKey(key)) {\r
-            map.put(key, value);\r
-        }\r
-    }\r
-\r
-    /**\r
-     * Parse all command line arguments into a map.\r
-     * \r
-     * Arguments format "key=value" are put into map.\r
-     * \r
-     * @param args\r
-     * @return map of arguments key value pairs.\r
-     */\r
-    protected static Map parseArguments(String[] args) {\r
-        final Map map = new HashMap();\r
-        for (int i = 0; i < args.length; i++) {\r
-            final int d = args[i].indexOf("=");\r
-            if (d > 0 && d < args[i].length() && args[i].startsWith("--")) {\r
-                final String name = args[i].substring(2, d);\r
-                final String value = args[i].substring(d + 1);\r
-                map.put(name, value);\r
-            }\r
-        }\r
-        return map;\r
-    }\r
-\r
-}\r