You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by mc...@apache.org on 2008/08/02 05:32:21 UTC

svn commit: r681934 - in /geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins: org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuit...

Author: mcconne
Date: Fri Aug  1 20:32:20 2008
New Revision: 681934

URL: http://svn.apache.org/viewvc?rev=681934&view=rev
Log:
GERONIMODEVTOOLS-444 Patch to open web browser inside Eclipse. Thanks to BJ Reed for this patch !!

Modified:
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/Tutorial5MinuteTest.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5MinuteTest.java

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java?rev=681934&r1=681933&r2=681934&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java Fri Aug  1 20:32:20 2008
@@ -1,216 +1,255 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geronimo.testsuite.common.ui;
-
-import java.util.List;
-
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-import abbot.swt.finder.WidgetFinder;
-import abbot.swt.finder.WidgetFinderImpl;
-import abbot.swt.finder.generic.MultipleFoundException;
-import abbot.swt.finder.generic.NotFoundException;
-import abbot.swt.finder.matchers.TextMultiMatcher;
-import abbot.swt.finder.matchers.WidgetClassMatcher;
-import abbot.swt.finder.matchers.WidgetTextMatcher;
-import abbot.swt.tester.ButtonTester;
-import abbot.swt.tester.ItemPath;
-import abbot.swt.tester.ItemTester;
-import abbot.swt.tester.MenuTester;
-import abbot.swt.tester.ShellTester;
-import abbot.swt.tester.TextTester;
-import abbot.swt.tester.TreeItemTester;
-import abbot.swt.tester.TreeTester;
-
-/**
- * @version $Rev: 679174 $ $Date: 2008-07-23 12:52:55 -0700 (Wed, 23 Jul 2008) $
- */
-public class AbbotHelper {
-    Shell workbenchShell;
-    WidgetFinder finder;
-
-    public AbbotHelper (Shell aShell) {
-        finder = WidgetFinderImpl.getDefault();
-        workbenchShell = aShell;
-    }
-    
-    // helper method
-    public void clickButton (Shell aShell, String buttonText) throws MultipleFoundException, NotFoundException {
-        Button button = (Button) finder.find (aShell, new WidgetTextMatcher (buttonText, Button.class, true));
-        ButtonTester.getButtonTester().actionClick (button);        
-        waitTime( 1500 );
-    }
-
-    // helper method
-    public Shell clickButton (Shell aShell, String buttonText, String newDialogName) throws MultipleFoundException, NotFoundException {
-        Button button = (Button) finder.find (aShell, new WidgetTextMatcher (buttonText, Button.class));
-        ButtonTester.getButtonTester().actionClick (button);  
-        waitTime( 1500 );
-        return ShellTester.waitVisible (newDialogName);
-    }
-
-    // helper method
-    public Shell clickEnabledButton (Shell aShell, String buttonText, String newDialogName) throws MultipleFoundException, NotFoundException {
-        Button button = (Button) finder.find (aShell, new ButtonMultiMatcher (buttonText, Button.class, true));
-        ButtonTester.getButtonTester().actionClick (button);  
-        waitTime( 1500 );
-        return ShellTester.waitVisible (newDialogName);
-    }
-
-    // helper method
-    public void doubleClickItem (Shell aShell, String itemText) throws MultipleFoundException, NotFoundException {
-        Item item = (Item) finder.find (aShell, new WidgetTextMatcher (itemText, Item.class, true));
-        ItemTester.getItemTester().actionDoubleClick(item);       
-        waitTime( 1500 );
-    }
-
-    // helper method
-    public void clickItem (Shell aShell, String itemText) throws MultipleFoundException, NotFoundException {
-        Item item = (Item) finder.find (aShell, new WidgetTextMatcher (itemText, Item.class, true));
-        ItemTester.getItemTester().actionClick (item, 3, 3);       
-        waitTime( 1500 );
-    }
-
-    // helper method    
-    public Shell rightClickItem (Shell aShell, String itemText, String[] menuList, String newDialogName) throws MultipleFoundException, NotFoundException {
-        Item item = (Item) finder.find (workbenchShell, new WidgetTextMatcher (itemText, Item.class, true));
-        ItemPath anItemPath = new ItemPath (menuList);
-        ItemTester.getItemTester().actionClickMenuItem (item, anItemPath);
-        waitTime( 1500 );
-        return ShellTester.waitVisible (newDialogName);
-    }
-
-    // helper method    
-    public void rightClickItem (Shell aShell, String itemText, String[] menuList) throws MultipleFoundException, NotFoundException {
-        Item item = (Item) finder.find (workbenchShell, new WidgetTextMatcher (itemText, Item.class, true));
-        ItemPath anItemPath = new ItemPath (menuList);
-        ItemTester.getItemTester().actionClickMenuItem (item, anItemPath);
-        waitTime( 1500 );
-    }
-
-    // helper method    
-    public Shell clickMenuItem (Shell aShell, String[] menuList, String newDialogName) throws MultipleFoundException, NotFoundException {
-        ItemPath anItemPath = new ItemPath (menuList);
-        Menu bar = ShellTester.getShellTester().getMenuBar (aShell);
-        MenuTester.getMenuTester().actionClickItem (bar, anItemPath);
-        waitTime( 1500 );
-        return ShellTester.waitVisible (newDialogName);
-    }
-    
- // helper method    
-    public void clickMenuItem (Shell aShell, String[] menuList) throws MultipleFoundException, NotFoundException {
-        ItemPath anItemPath = new ItemPath (menuList);
-        Menu bar = ShellTester.getShellTester().getMenuBar (aShell);
-        MenuTester.getMenuTester().actionClickItem (bar, anItemPath);
-        waitTime( 1500 );
-    }
-
-    // helper method
-    public void clickTreeItem (Shell aShell, String[] treeList) throws MultipleFoundException, NotFoundException {
-        ItemPath anItemPath = new ItemPath (treeList);
-        Tree tree = (Tree) finder.find (aShell, new WidgetClassMatcher (Tree.class));
-        TreeTester.getTreeTester().actionClickItem (tree, anItemPath);
-        waitTime( 1500 );
-    }
-
-    // helper method
-    public void setTextField (Shell aShell, String oldText, String newText) throws MultipleFoundException, NotFoundException {
-        Text text = (Text) finder.find (aShell, new WidgetTextMatcher (oldText, Text.class, true));
-        if (oldText.length() > 0)
-        {
-            TextTester.getTextTester().actionSelect (text, 0, oldText.length());
-            TextTester.getTextTester().actionKeyString (newText);
-        } else {
-            TextTester.getTextTester().actionKeyString (text, newText);  
-        }
-        waitTime( 1500 );
-    }
-
-    // helper method with a leap of faith that the cursor is
-    // exactly where we want it to be.
-    public void setCursorText (String newText) {
-        TextTester.getTextTester().actionKeyString (newText);
-        waitTime( 1500 );
-    }
-    
-    // helper method
-    public void waitForDialogDisposal (Shell aShell) {
-        while (!ShellTester.getShellTester().isDisposed (aShell))
-            ShellTester.getShellTester().actionDelay (1000);
-        // wait an extra 2 seconds
-        ShellTester.getShellTester().actionDelay (2000);
-    }
-
-    // helper method
-    public void waitForServerStatus (Shell aShell, String itemText, String desiredState) throws MultipleFoundException, NotFoundException {
-        // will wait up to 2 minutes for status to change
-        boolean statusGood = false;
-        int countdown = 120;
-
-        while (statusGood == false && countdown > 0) {
-            TreeItem item = (TreeItem) finder.find (aShell, new WidgetTextMatcher (itemText, TreeItem.class));
-            if (desiredState.equals (TreeItemTester.getTreeItemTester().getText (item, 1)))
-                statusGood = true;
-            
-            countdown--;
-            ShellTester.getShellTester().actionDelay (1000);
-        }
-        if (statusGood == false)
-            throw new NotFoundException ("Unable to start or stop the server");
-    }
-    
-    public void waitTime (long time) {
-        ShellTester.getShellTester().actionDelay (time);
-    }
-
-    final class ButtonMultiMatcher extends TextMultiMatcher {
-        public ButtonMultiMatcher(String text, Class clazz, boolean mustBeShowing) {
-            super(text, clazz, mustBeShowing);
-        }
-
-        public ButtonMultiMatcher(String text, boolean mustBeShowing) {
-            this(text, Widget.class, mustBeShowing);
-        }
-
-        public ButtonMultiMatcher(String text, Class clazz) {
-            this(text, clazz, false);
-        }
-
-        public ButtonMultiMatcher(String text) {
-            this(text, Widget.class, false);
-        }
-
-        //TODO need to check to see if more than one are enabled
-        public Widget bestMatch(List<Widget> candidates) throws MultipleFoundException {
-            Button aButton = null;
-            for (int i = 0; i < candidates.size(); i++) {
-                aButton = (Button)candidates.get(i);
-                    if (ButtonTester.getButtonTester().getEnabled(aButton))
-                        return aButton;
-            }
-            return aButton;
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.testsuite.common.ui;
+
+import java.util.List;
+
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Item;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.swt.widgets.Widget;
+
+import abbot.swt.finder.WidgetFinder;
+import abbot.swt.finder.WidgetFinderImpl;
+import abbot.swt.finder.generic.MultipleFoundException;
+import abbot.swt.finder.generic.NotFoundException;
+import abbot.swt.finder.matchers.TextMultiMatcher;
+import abbot.swt.finder.matchers.WidgetClassMatcher;
+import abbot.swt.finder.matchers.WidgetTextMatcher;
+import abbot.swt.tester.ButtonTester;
+import abbot.swt.tester.ComboTester;
+import abbot.swt.tester.ItemPath;
+import abbot.swt.tester.ItemTester;
+import abbot.swt.tester.MenuTester;
+import abbot.swt.tester.ShellTester;
+import abbot.swt.tester.TextTester;
+import abbot.swt.tester.ToolItemTester;
+import abbot.swt.tester.TreeItemTester;
+import abbot.swt.tester.TreeTester;
+
+/**
+ * @version $Rev: 679174 $ $Date: 2008-07-23 12:52:55 -0700 (Wed, 23 Jul 2008) $
+ */
+public class AbbotHelper {
+    Shell workbenchShell;
+    WidgetFinder finder;
+
+    public AbbotHelper (Shell aShell) {
+        finder = WidgetFinderImpl.getDefault();
+        workbenchShell = aShell;
+    }
+    
+    // helper method
+    public void clickButton (Shell aShell, String buttonText) throws MultipleFoundException, NotFoundException {
+        Button button = (Button) finder.find (aShell, new WidgetTextMatcher (buttonText, Button.class, true));
+        ButtonTester.getButtonTester().actionClick (button);        
+        waitTime( 1500 );
+    }
+
+    // helper method
+    public Shell clickButton (Shell aShell, String buttonText, String newDialogName) throws MultipleFoundException, NotFoundException {
+        Button button = (Button) finder.find (aShell, new WidgetTextMatcher (buttonText, Button.class));
+        ButtonTester.getButtonTester().actionClick (button);  
+        waitTime( 1500 );
+        return ShellTester.waitVisible (newDialogName);
+    }
+
+    // helper method
+    public Shell clickEnabledButton (Shell aShell, String buttonText, String newDialogName) throws MultipleFoundException, NotFoundException {
+        Button button = (Button) finder.find (aShell, new ButtonMultiMatcher (buttonText, Button.class, true));
+        ButtonTester.getButtonTester().actionClick (button);  
+        waitTime( 1500 );
+        return ShellTester.waitVisible (newDialogName);
+    }
+
+    // helper method
+    public void doubleClickItem (Shell aShell, String itemText) throws MultipleFoundException, NotFoundException {
+        Item item = (Item) finder.find (aShell, new WidgetTextMatcher (itemText, Item.class, true));
+        ItemTester.getItemTester().actionDoubleClick(item);       
+        waitTime( 1500 );
+    }
+
+    // helper method
+    public void clickItem (Shell aShell, String itemText) throws MultipleFoundException, NotFoundException {
+        Item item = (Item) finder.find (aShell, new WidgetTextMatcher (itemText, Item.class, true));
+        ItemTester.getItemTester().actionClick (item, 3, 3);       
+        waitTime( 1500 );
+    }
+
+    // helper method    
+    public Shell rightClickItem (Shell aShell, String itemText, String[] menuList, String newDialogName) throws MultipleFoundException, NotFoundException {
+        Item item = (Item) finder.find (workbenchShell, new WidgetTextMatcher (itemText, Item.class, true));
+        ItemPath anItemPath = new ItemPath (menuList);
+        ItemTester.getItemTester().actionClickMenuItem (item, anItemPath);
+        waitTime( 1500 );
+        return ShellTester.waitVisible (newDialogName);
+    }
+
+    // helper method    
+    public void rightClickItem (Shell aShell, String itemText, String[] menuList) throws MultipleFoundException, NotFoundException {
+        Item item = (Item) finder.find (workbenchShell, new WidgetTextMatcher (itemText, Item.class, true));
+        ItemPath anItemPath = new ItemPath (menuList);
+        ItemTester.getItemTester().actionClickMenuItem (item, anItemPath);
+        waitTime( 1500 );
+    }
+
+    // helper method    
+    public Shell clickMenuItem (Shell aShell, String[] menuList, String newDialogName) throws MultipleFoundException, NotFoundException {
+        ItemPath anItemPath = new ItemPath (menuList);
+        Menu bar = ShellTester.getShellTester().getMenuBar (aShell);
+        MenuTester.getMenuTester().actionClickItem (bar, anItemPath);
+        waitTime( 1500 );
+        return ShellTester.waitVisible (newDialogName);
+    }
+    
+    // helper method    
+    public void clickMenuItem (Shell aShell, String[] menuList) throws MultipleFoundException, NotFoundException {
+        ItemPath anItemPath = new ItemPath (menuList);
+        Menu bar = ShellTester.getShellTester().getMenuBar (aShell);
+        MenuTester.getMenuTester().actionClickItem (bar, anItemPath);
+        waitTime( 1500 );
+    }
+
+    // helper method
+    // find the tool item by its tool tip text
+    public void clickToolItem (Shell aShell, String toolTipText) throws MultipleFoundException, NotFoundException {
+        ToolItem toolItem = (ToolItem) finder.find (aShell, new WidgetToolTipMatcher (toolTipText, ToolItem.class, true));
+        ToolItemTester.getToolItemTester().actionClick (toolItem);
+        waitTime( 1500 );
+    }
+
+    // helper method
+    public void clickTreeItem (Shell aShell, String[] treeList) throws MultipleFoundException, NotFoundException {
+        ItemPath anItemPath = new ItemPath (treeList);
+        Tree tree = (Tree) finder.find (aShell, new WidgetClassMatcher (Tree.class));
+        TreeTester.getTreeTester().actionClickItem (tree, anItemPath);
+        waitTime( 1500 );
+    }
+
+    // helper method
+    public void setTextField (Shell aShell, String oldText, String newText) throws MultipleFoundException, NotFoundException {
+        Text text = (Text) finder.find (aShell, new WidgetTextMatcher (oldText, Text.class, true));
+        if (oldText.length() > 0)
+        {
+            TextTester.getTextTester().actionSelect (text, 0, oldText.length());
+            TextTester.getTextTester().actionKeyString (newText);
+        } else {
+            TextTester.getTextTester().actionKeyString (text, newText);  
+        }
+        waitTime( 1500 );
+    }
+    
+    // helper method
+    public void setCombo (Shell aShell, String newText) throws MultipleFoundException, NotFoundException {
+        Combo combo = (Combo) finder.find (aShell, new WidgetClassMatcher (Combo.class, true));
+        ComboTester.getComboTester().actionClick(combo);
+        ComboTester.getComboTester().actionKeyString(newText);
+        waitTime( 1500 );
+    }
+
+    // helper method with a leap of faith that the cursor is
+    // exactly where we want it to be.
+    public void setCursorText (String newText) {
+        TextTester.getTextTester().actionKeyString (newText);
+        waitTime( 1500 );
+    }
+    
+    // helper method
+    public void waitForDialogDisposal (Shell aShell) {
+        while (!ShellTester.getShellTester().isDisposed (aShell))
+            ShellTester.getShellTester().actionDelay (1000);
+        // wait an extra 2 seconds
+        ShellTester.getShellTester().actionDelay (2000);
+    }
+
+    // helper method
+    public void waitForServerStatus (Shell aShell, String itemText, String desiredState) throws MultipleFoundException, NotFoundException {
+        // will wait up to 2 minutes for status to change
+        boolean statusGood = false;
+        int countdown = 120;
+
+        while (statusGood == false && countdown > 0) {
+            TreeItem item = (TreeItem) finder.find (aShell, new WidgetTextMatcher (itemText, TreeItem.class));
+            if (desiredState.equals (TreeItemTester.getTreeItemTester().getText (item, 1)))
+                statusGood = true;
+            
+            countdown--;
+            ShellTester.getShellTester().actionDelay (1000);
+        }
+        if (statusGood == false)
+            throw new NotFoundException ("Unable to start or stop the server");
+    }
+    
+    public void waitTime (long time) {
+        ShellTester.getShellTester().actionDelay (time);
+    }
+
+    // helper inner class
+    // Since Tool Items do not have text, the regular Widget Text Matcher won't work.
+    // This is a simple matcher to do the search for the tool tip.
+    // Theoretically, as Abbot gets better, then this code will be moved into Abbot
+    // and can be removed here
+    final class WidgetToolTipMatcher extends WidgetTextMatcher {
+        public WidgetToolTipMatcher (String text, Class clazz, boolean mustBeShowing) {
+            super (text, clazz, mustBeShowing);
+        }
+
+        protected String getText(Widget widget) {
+            if (widget instanceof ToolItem)
+                return ToolItemTester.getToolItemTester().getToolTipText((ToolItem) widget);
+
+            return null;
+        }
+    }
+    
+    // helper inner class
+    final class ButtonMultiMatcher extends TextMultiMatcher {
+        public ButtonMultiMatcher(String text, Class clazz, boolean mustBeShowing) {
+            super(text, clazz, mustBeShowing);
+        }
+
+        public ButtonMultiMatcher(String text, boolean mustBeShowing) {
+            this(text, Widget.class, mustBeShowing);
+        }
+
+        public ButtonMultiMatcher(String text, Class clazz) {
+            this(text, clazz, false);
+        }
+
+        public ButtonMultiMatcher(String text) {
+            this(text, Widget.class, false);
+        }
+
+        //TODO need to check to see if more than one are enabled
+        public Widget bestMatch(List<Widget> candidates) throws MultipleFoundException {
+            Button aButton = null;
+            for (int i = 0; i < candidates.size(); i++) {
+                aButton = (Button)candidates.get(i);
+                    if (ButtonTester.getButtonTester().getEnabled(aButton))
+                        return aButton;
+            }
+            return aButton;
+        }
+    }
+}

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java?rev=681934&r1=681933&r2=681934&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java Fri Aug  1 20:32:20 2008
@@ -1,121 +1,137 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geronimo.testsuite.common.ui;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.widgets.Shell;
-
-import abbot.swt.finder.generic.MultipleFoundException;
-import abbot.swt.finder.generic.NotFoundException;
-
-public class ServerTasks {
-    Shell workbenchShell;
-    AbbotHelper aHelper;
-    String serverVersion;
-
-    public ServerTasks (Shell shell, AbbotHelper helper, String serverVersion) {
-        workbenchShell = shell;
-        aHelper = helper;
-        this.serverVersion = serverVersion;
-    }
-    
-    // just getting through this with no exceptions is success.
-    public void createServer() throws MultipleFoundException, NotFoundException {
-        // Launch the New Project wizard and aHelper.wait for it to open.
-        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
-                "New");
-
-        // Having 2 tree items with the same name is not very good design
-        aHelper.clickTreeItem (wizardShell, 
-                new String[] {"Server", "Server"});
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-
-        // Select the proper Server. why do we have this in there twice?
-        aHelper.clickItem (wizardShell, Constants.getConstant(serverVersion, Constants.SERVERNAME));
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-
-        //TODO would be nice to install the server instead of have to know where it is in advance
-        aHelper.setTextField (wizardShell, "", getServerInstallDirectory());
-
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
-    }
-
-    public void startServer () throws MultipleFoundException, NotFoundException {
-    	String serverDisplay = Constants.getConstant(serverVersion, Constants.SERVERDISPLAY);
-    	aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&Window", "Show &View", "Servers"});
-        
-        aHelper.rightClickItem (workbenchShell, serverDisplay,
-                new String[] {"&Start"});
-        aHelper.waitForServerStatus (workbenchShell, serverDisplay, "Started");
-        
-        aHelper.waitTime( 1500 );
-    }
-    
-    public void stopServer () throws MultipleFoundException, NotFoundException {
-    	String serverDisplay = Constants.getConstant(serverVersion, Constants.SERVERDISPLAY);
-        aHelper.rightClickItem (workbenchShell, serverDisplay,
-                new String[] {"S&top"});
-        aHelper.waitForServerStatus (workbenchShell, serverDisplay, "Stopped");
-        
-        aHelper.waitTime( 1500 );
-    }
-
-    
-    // remove the server so that the test will be reset back to its original state.
-    public void removeServer () throws MultipleFoundException, NotFoundException {
-        Shell preferenceShell = aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&Window", "&Preferences"},
-                "Preferences");
-
-        aHelper.clickTreeItem (preferenceShell,
-                new String[] {"Server", "Runtime Environments"});
-        aHelper.clickItem (preferenceShell, Constants.getConstant(serverVersion, Constants.SERVERRUNTIME));
-        Shell questionShell = aHelper.clickButton (preferenceShell, "&Remove", "Server");
-        
-        aHelper.clickButton (questionShell, IDialogConstants.OK_LABEL);
-        aHelper.clickButton (preferenceShell, IDialogConstants.OK_LABEL);
-    }
-
-    private String getServerInstallDirectory() {
-        IWorkspace ws = ResourcesPlugin.getWorkspace();
-        String location = ws.getRoot().getLocation().toOSString();
-        int index = location.lastIndexOf(File.separatorChar);
-        if (index > -1) {
-            location = location.substring(0,index);
-        }
-        index = location.lastIndexOf(File.separatorChar);
-        if (index > -1) {
-            location = location.substring(0,index);
-        }
-        index = location.lastIndexOf(File.separatorChar);
-        if (index > -1) {
-            location = location.substring(0,index);
-        }
-        location = location + File.separatorChar + Constants.getConstant(serverVersion, Constants.SERVERPATH); ;
-        return location;
-    }  
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.testsuite.common.ui;
+
+import java.io.File;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.widgets.Shell;
+
+import abbot.swt.finder.generic.MultipleFoundException;
+import abbot.swt.finder.generic.NotFoundException;
+
+public class ServerTasks {
+    Shell workbenchShell;
+    AbbotHelper aHelper;
+    String serverVersion;
+
+    public ServerTasks (Shell shell, AbbotHelper helper, String serverVersion) {
+        workbenchShell = shell;
+        aHelper = helper;
+        this.serverVersion = serverVersion;
+    }
+    
+    // just getting through this with no exceptions is success.
+    public void createServer() throws MultipleFoundException, NotFoundException {
+        // Launch the New Project wizard and aHelper.wait for it to open.
+        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
+                "New");
+
+        // Having 2 tree items with the same name is not very good design
+        aHelper.clickTreeItem (wizardShell, 
+                new String[] {"Server", "Server"});
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+
+        // Select the proper Server. why do we have this in there twice?
+        aHelper.clickItem (wizardShell, Constants.getConstant(serverVersion, Constants.SERVERNAME));
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+
+        //TODO would be nice to install the server instead of have to know where it is in advance
+        aHelper.setTextField (wizardShell, "", getServerInstallDirectory());
+
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
+    }
+
+    public void startServer () throws MultipleFoundException, NotFoundException {
+    	String serverDisplay = Constants.getConstant(serverVersion, Constants.SERVERDISPLAY);
+    	aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "Show &View", "Servers"});
+        
+        aHelper.rightClickItem (workbenchShell, serverDisplay,
+                new String[] {"&Start"});
+        aHelper.waitForServerStatus (workbenchShell, serverDisplay, "Started");
+        
+        aHelper.waitTime( 1500 );
+    }
+    
+    public void stopServer () throws MultipleFoundException, NotFoundException {
+    	String serverDisplay = Constants.getConstant(serverVersion, Constants.SERVERDISPLAY);
+        aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "Show &View", "Servers"});
+
+        aHelper.rightClickItem (workbenchShell, serverDisplay,
+                new String[] {"S&top"});
+        aHelper.waitForServerStatus (workbenchShell, serverDisplay, "Stopped");
+        
+        aHelper.waitTime( 1500 );
+    }
+
+    
+    // remove the server so that the test will be reset back to its original state.
+    public void removeServer () throws MultipleFoundException, NotFoundException {
+        Shell preferenceShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "&Preferences"},
+                "Preferences");
+
+        aHelper.clickTreeItem (preferenceShell,
+                new String[] {"Server", "Runtime Environments"});
+        aHelper.clickItem (preferenceShell, Constants.getConstant(serverVersion, Constants.SERVERRUNTIME));
+        Shell questionShell = aHelper.clickButton (preferenceShell, "&Remove", "Server");
+        
+        aHelper.clickButton (questionShell, IDialogConstants.OK_LABEL);
+        aHelper.clickButton (preferenceShell, IDialogConstants.OK_LABEL);
+    }
+
+    public void publishAllProjects () throws MultipleFoundException, NotFoundException {
+        String serverDisplay = Constants.getConstant(serverVersion, Constants.SERVERDISPLAY);
+        
+        aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "Show &View", "Servers"});
+        Shell deployShell = aHelper.rightClickItem (workbenchShell, serverDisplay,
+                 new String[] {"Add and Remove &Projects..."}, "Add and Remove Projects");
+        aHelper.clickButton (deployShell, "Add A&ll >>");
+        
+        aHelper.clickButton (deployShell, IDialogConstants.FINISH_LABEL);
+        aHelper.waitForDialogDisposal (deployShell);
+    }
+
+    private String getServerInstallDirectory() {
+        IWorkspace ws = ResourcesPlugin.getWorkspace();
+        String location = ws.getRoot().getLocation().toOSString();
+        int index = location.lastIndexOf(File.separatorChar);
+        if (index > -1) {
+            location = location.substring(0,index);
+        }
+        index = location.lastIndexOf(File.separatorChar);
+        if (index > -1) {
+            location = location.substring(0,index);
+        }
+        index = location.lastIndexOf(File.separatorChar);
+        if (index > -1) {
+            location = location.substring(0,index);
+        }
+        location = location + File.separatorChar + Constants.getConstant(serverVersion, Constants.SERVERPATH); ;
+        return location;
+    }  
+}

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java?rev=681934&r1=681933&r2=681934&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java Fri Aug  1 20:32:20 2008
@@ -1,164 +1,188 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geronimo.testsuite.common.ui;
-
-import java.io.FileInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.widgets.Shell;
-
-import abbot.swt.finder.generic.MultipleFoundException;
-import abbot.swt.finder.generic.NotFoundException;
-
-/**
- * Tutorial5Minute
- *
- * @version $Rev: 679174 $ $Date: 2008-07-23 12:52:55 -0700 (Wed, 23 Jul 2008) $
- */
-public class Tutorial5Minute {
-
-    Shell workbenchShell;
-    AbbotHelper aHelper;
-
-    public Tutorial5Minute (Shell shell, AbbotHelper helper) {
-        workbenchShell = shell;
-        aHelper = helper;
-    }
-
-    public void createProjects() throws Exception {
-        createEARProject ();
-        createEJBProject ();
-        createWARProject ();
-        copyCode ();
-    }
-
-    private void createEARProject() throws MultipleFoundException, NotFoundException {
-        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
-                "New");
-
-        aHelper.clickTreeItem (wizardShell,
-                new String[] {"Java EE", "Enterprise Application Project"});
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.setTextField(wizardShell, "", "SampleEAR");
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickButton (wizardShell, "Generate Deployment Descriptor");
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.setTextField(wizardShell, "default", "sampleear");
-        aHelper.setTextField(wizardShell, "", "sample-ear");
-        aHelper.setTextField(wizardShell, "car", "ear");
-        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
-
-        aHelper.waitForDialogDisposal (wizardShell);
-    }
-
-    private void createEJBProject() throws MultipleFoundException, NotFoundException {
-        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
-                "New");
-
-        aHelper.clickTreeItem (wizardShell,
-                new String[] {"EJB", "EJB Project"});
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.setTextField(wizardShell, "", "SampleEJB");
-        aHelper.clickButton (wizardShell, "Add project to an EAR");
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickButton (wizardShell, "Create an EJB Client JAR module to hold the client interfaces and classes.");
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.setTextField(wizardShell, "default", "sampleear");
-        aHelper.setTextField(wizardShell, "", "sample-ejb");
-        aHelper.setTextField(wizardShell, "car", "ejb");
-        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
-        
-        aHelper.waitForDialogDisposal (wizardShell);
-        
-        aHelper.doubleClickItem(workbenchShell, "ejbModule");
-        aHelper.doubleClickItem(workbenchShell, "META-INF");
-        Shell questionShell = aHelper.rightClickItem(workbenchShell, "openejb-jar.xml",
-                new String[] {"&Delete"}, "Delete Resources");
-        aHelper.clickButton (questionShell, IDialogConstants.OK_LABEL);
-        aHelper.waitForDialogDisposal (questionShell);
-    }
-
-    private void createWARProject() throws MultipleFoundException, NotFoundException {
-        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
-                "New");
-
-        aHelper.clickTreeItem (wizardShell,
-                new String[] {"Web", "Dynamic Web Project"});
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.setTextField(wizardShell, "", "SampleWAR");
-        aHelper.clickButton (wizardShell, "Add project to an EAR");
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
-        aHelper.setTextField(wizardShell, "default", "sampleear");
-        aHelper.setTextField(wizardShell, "", "sample-war");
-        aHelper.setTextField(wizardShell, "car", "war");
-        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
-        
-        aHelper.waitForDialogDisposal (wizardShell);
-    }
-    
-    private void copyCode () throws Exception {
-        aHelper.clickItem (workbenchShell, "SampleWAR");
-        Shell propShell = aHelper.clickMenuItem (workbenchShell,
-                new String[] {"&Project", "&Properties"},
-                "Properties for SampleWAR");
-        aHelper.clickItem (propShell, "Java EE Module Dependencies");
-        aHelper.clickButton (propShell, "Select &All");
-        aHelper.clickButton (propShell, "&Apply");
-        aHelper.clickButton (propShell, IDialogConstants.OK_LABEL);
-
-        IWorkspaceRoot aWSRoot = ResourcesPlugin.getWorkspace().getRoot();
-        IProject aProject = aWSRoot.getProject ("SampleEJB");
-        IFolder aFolder = aProject.getFolder("ejbModule/sampleear");
-        aFolder.create (false, true, null);
-        String fileDir = aWSRoot.getLocation().toOSString() + "/src/main/resources/ui-tutorial";
-        IFile aFile = aProject.getFile("ejbModule/sampleear/RemoteBusinessInterface.java");
-        aFile.create(new FileInputStream (fileDir + "/RemoteBusinessInterface.java"), true, null);
-        aFile = aProject.getFile("ejbModule/sampleear/MyStatelessSessionBean.java");
-        aFile.create(new FileInputStream (fileDir + "/MyStatelessSessionBean.java"), true, null);
-
-        aProject = aWSRoot.getProject ("SampleWAR");
-        aFolder = aProject.getFolder("src/sampleear");
-        aFolder.create (false, true, null);
-        aFile = aProject.getFile("WebContent/index.jsp");
-        aFile.create(new FileInputStream (fileDir + "/index.jsp"), true, null);
-        // have to go through Servlet Creation dialog to make the web.xml correct
-        Shell servletShell = aHelper.rightClickItem(workbenchShell, "SampleWAR",
-                new String [] {"&New", "Servlet"}, "Create Servlet");
-        aHelper.setCursorText("MyServlet");
-        aHelper.setTextField(servletShell, "", "sampleear");
-        aHelper.clickButton (servletShell, IDialogConstants.NEXT_LABEL);
-        aHelper.clickItem(servletShell, "/MyServlet");
-        Shell urlShell = aHelper.clickEnabledButton (servletShell, "Edit...", "URL Mappings");
-        aHelper.setTextField(urlShell, "/MyServlet", "/sayHello");
-        aHelper.clickButton (urlShell, IDialogConstants.OK_LABEL);
-        aHelper.clickButton (servletShell, IDialogConstants.FINISH_LABEL);
-
-        // copy over the correct contents
-        aFile = aProject.getFile("src/sampleear/MyServlet.java");
-        aFile.setContents(new FileInputStream (fileDir + "/MyServlet.java"), true, true, null);
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.testsuite.common.ui;
+
+import java.io.FileInputStream;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.widgets.Shell;
+
+import abbot.swt.finder.generic.MultipleFoundException;
+import abbot.swt.finder.generic.NotFoundException;
+
+/**
+ * Tutorial5Minute
+ *
+ * @version $Rev: 679174 $ $Date: 2008-07-23 12:52:55 -0700 (Wed, 23 Jul 2008) $
+ */
+public class Tutorial5Minute {
+
+    Shell workbenchShell;
+    AbbotHelper aHelper;
+
+    public Tutorial5Minute (Shell shell, AbbotHelper helper) {
+        workbenchShell = shell;
+        aHelper = helper;
+    }
+
+    public void createProjects() throws Exception {
+        createEARProject ();
+        createEJBProject ();
+        createWARProject ();
+        copyCode ();
+    }
+
+    private void createEARProject() throws MultipleFoundException, NotFoundException {
+        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
+                "New");
+
+        aHelper.clickTreeItem (wizardShell,
+                new String[] {"Java EE", "Enterprise Application Project"});
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.setTextField(wizardShell, "", "SampleEAR");
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickButton (wizardShell, "Generate Deployment Descriptor");
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.setTextField(wizardShell, "default", "sampleear");
+        aHelper.setTextField(wizardShell, "", "sample-ear");
+        aHelper.setTextField(wizardShell, "car", "ear");
+        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
+
+        aHelper.waitForDialogDisposal (wizardShell);
+    }
+
+    private void createEJBProject() throws MultipleFoundException, NotFoundException {
+        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
+                "New");
+
+        aHelper.clickTreeItem (wizardShell,
+                new String[] {"EJB", "EJB Project"});
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.setTextField(wizardShell, "", "SampleEJB");
+        aHelper.clickButton (wizardShell, "Add project to an EAR");
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickButton (wizardShell, "Create an EJB Client JAR module to hold the client interfaces and classes.");
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.setTextField(wizardShell, "default", "sampleear");
+        aHelper.setTextField(wizardShell, "", "sample-ejb");
+        aHelper.setTextField(wizardShell, "car", "ejb");
+        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
+        
+        aHelper.waitForDialogDisposal (wizardShell);
+        
+        aHelper.doubleClickItem(workbenchShell, "ejbModule");
+        aHelper.doubleClickItem(workbenchShell, "META-INF");
+        Shell questionShell = aHelper.rightClickItem(workbenchShell, "openejb-jar.xml",
+                new String[] {"&Delete"}, "Delete Resources");
+        aHelper.clickButton (questionShell, IDialogConstants.OK_LABEL);
+        aHelper.waitForDialogDisposal (questionShell);
+    }
+
+    private void createWARProject() throws MultipleFoundException, NotFoundException {
+        Shell wizardShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&File", "&New\tAlt+Shift+N", "&Other..."},
+                "New");
+
+        aHelper.clickTreeItem (wizardShell,
+                new String[] {"Web", "Dynamic Web Project"});
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.setTextField(wizardShell, "", "SampleWAR");
+        aHelper.clickButton (wizardShell, "Add project to an EAR");
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickButton (wizardShell, IDialogConstants.NEXT_LABEL);
+        aHelper.setTextField(wizardShell, "default", "sampleear");
+        aHelper.setTextField(wizardShell, "", "sample-war");
+        aHelper.setTextField(wizardShell, "car", "war");
+        aHelper.clickButton (wizardShell, IDialogConstants.FINISH_LABEL);
+        
+        aHelper.waitForDialogDisposal (wizardShell);
+    }
+    
+    private void copyCode () throws Exception {
+        aHelper.clickItem (workbenchShell, "SampleWAR");
+        Shell propShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Project", "&Properties"},
+                "Properties for SampleWAR");
+        aHelper.clickItem (propShell, "Java EE Module Dependencies");
+        aHelper.clickButton (propShell, "Select &All");
+        aHelper.clickButton (propShell, "&Apply");
+        aHelper.clickButton (propShell, IDialogConstants.OK_LABEL);
+
+        IWorkspaceRoot aWSRoot = ResourcesPlugin.getWorkspace().getRoot();
+        IProject aProject = aWSRoot.getProject ("SampleEJB");
+        IFolder aFolder = aProject.getFolder("ejbModule/sampleear");
+        aFolder.create (false, true, null);
+        String fileDir = aWSRoot.getLocation().toOSString() + "/src/main/resources/ui-tutorial";
+        IFile aFile = aProject.getFile("ejbModule/sampleear/RemoteBusinessInterface.java");
+        aFile.create(new FileInputStream (fileDir + "/RemoteBusinessInterface.java"), true, null);
+        aFile = aProject.getFile("ejbModule/sampleear/MyStatelessSessionBean.java");
+        aFile.create(new FileInputStream (fileDir + "/MyStatelessSessionBean.java"), true, null);
+
+        aProject = aWSRoot.getProject ("SampleWAR");
+        aFolder = aProject.getFolder("src/sampleear");
+        aFolder.create (false, true, null);
+        aFile = aProject.getFile("WebContent/index.jsp");
+        aFile.create(new FileInputStream (fileDir + "/index.jsp"), true, null);
+        // have to go through Servlet Creation dialog to make the web.xml correct
+        Shell servletShell = aHelper.rightClickItem(workbenchShell, "SampleWAR",
+                new String [] {"&New", "Servlet"}, "Create Servlet");
+        aHelper.setCursorText("MyServlet");
+        aHelper.setTextField(servletShell, "", "sampleear");
+        aHelper.clickButton (servletShell, IDialogConstants.NEXT_LABEL);
+        aHelper.clickItem(servletShell, "/MyServlet");
+        Shell urlShell = aHelper.clickEnabledButton (servletShell, "Edit...", "URL Mappings");
+        aHelper.setTextField(urlShell, "/MyServlet", "/sayHello");
+        aHelper.clickButton (urlShell, IDialogConstants.OK_LABEL);
+        aHelper.clickButton (servletShell, IDialogConstants.FINISH_LABEL);
+
+        // copy over the correct contents
+        aFile = aProject.getFile("src/sampleear/MyServlet.java");
+        aFile.setContents(new FileInputStream (fileDir + "/MyServlet.java"), true, true, null);
+
+        // close the open file
+        aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&File", "&Close"});
+    }
+
+    public void webTesting () throws MultipleFoundException, NotFoundException {
+        aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "Web Browser", "&0 Internal Web Browser"});
+        Shell openShell = aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "Show &View", "&Other..."}, "Show View");
+        aHelper.clickTreeItem (openShell, 
+                new String[] {"General", "Internal Web Browser"});
+        aHelper.clickButton (openShell, IDialogConstants.OK_LABEL);
+
+        aHelper.setCombo (workbenchShell, "http://localhost:8080/SampleWAR/");
+        aHelper.clickToolItem (workbenchShell, "Go to the selected URL");
+        aHelper.waitTime (15000);
+
+        // TODO fill in a name and click the Process button
+        // This is a problem, HTML objects are not the same as SWT objects and 
+        // Abbot cannot find these
+        //aHelper.setTextField(workbenchShell, "", "MyName");
+        //aHelper.clickButton (workbenchShell, "Press me!");
+    }
+}

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/Tutorial5MinuteTest.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/Tutorial5MinuteTest.java?rev=681934&r1=681933&r2=681934&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/Tutorial5MinuteTest.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/Tutorial5MinuteTest.java Fri Aug  1 20:32:20 2008
@@ -1,95 +1,97 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geronimo.testsuite.v20.ui;
-
-import org.apache.geronimo.testsuite.common.ui.AbbotHelper;
-import org.apache.geronimo.testsuite.common.ui.Constants;
-import org.apache.geronimo.testsuite.common.ui.ProjectTasks;
-import org.apache.geronimo.testsuite.common.ui.ServerTasks;
-import org.apache.geronimo.testsuite.common.ui.Tutorial5Minute;
-import org.apache.geronimo.testsuite.common.ui.WorkbenchTasks;
-import org.eclipse.swt.widgets.Shell;
-
-import abbot.swt.eclipse.junit.extensions.WorkbenchTestCase;
-import abbot.swt.eclipse.utils.Preferences;
-import abbot.swt.eclipse.utils.WorkbenchUtilities;
-import abbot.swt.eclipse.utils.Preferences.Mode;
-
-/**
- * Tutorial5MinuteTest
- *
- * @version $Rev: 679174 $ $Date: 2008-07-23 12:52:55 -0700 (Wed, 23 Jul 2008) $
- */
-public class Tutorial5MinuteTest extends WorkbenchTestCase {
-    Shell workbenchShell;
-    AbbotHelper aHelper;
-    
-    protected void setUp() throws Exception {
-        super.setUp();
-        Preferences.setPerspectiveSwitchPrompt(Mode.Always);
-    }
-
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    // We only want to install/uninstall the server a single time so 
-    // we will roll all testcases into one large one that is controlled
-    // in the testAllGeronimoGUI method.
-    public void testAllGeronimoGUI() {
-        boolean success = false;
-        try {
-            workbenchShell = WorkbenchUtilities.getWorkbenchWindow().getShell();
-            aHelper = new AbbotHelper (workbenchShell);
-            
-            workbenchShell = WorkbenchUtilities.getWorkbenchWindow().getShell();
-            aHelper = new AbbotHelper (workbenchShell);
-            
-            ServerTasks serverTasks = new ServerTasks(workbenchShell, aHelper, Constants.SERVER_V20 );
-            WorkbenchTasks workbenchTasks = new WorkbenchTasks(workbenchShell, aHelper);
-            ProjectTasks projectTasks = new ProjectTasks(workbenchShell, aHelper, Constants.SERVER_V20 );
-            
-            // so we are sure that we are looking in the desired perspective
-            workbenchTasks.showJEEPerspective();
-
-            // create server from an installed instance
-            serverTasks.createServer();
-
-            serverTasks.startServer();
-            Tutorial5Minute tutorial = new Tutorial5Minute (workbenchShell, aHelper);
-            tutorial.createProjects ();
-            serverTasks.stopServer();
-
-            // delete the projects that have been created
-            // reverse alphabetical is a little smoother
-            projectTasks.deleteProject ("SampleWAR");
-            projectTasks.deleteProject ("SampleEJB");
-            projectTasks.deleteProject ("SampleEAR");
-
-            // remove the server 
-            serverTasks.removeServer();
-
-            success = true;
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-        assertTrue (success);
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.geronimo.testsuite.v20.ui;
+
+import org.apache.geronimo.testsuite.common.ui.AbbotHelper;
+import org.apache.geronimo.testsuite.common.ui.Constants;
+import org.apache.geronimo.testsuite.common.ui.ProjectTasks;
+import org.apache.geronimo.testsuite.common.ui.ServerTasks;
+import org.apache.geronimo.testsuite.common.ui.Tutorial5Minute;
+import org.apache.geronimo.testsuite.common.ui.WorkbenchTasks;
+import org.eclipse.swt.widgets.Shell;
+
+import abbot.swt.eclipse.junit.extensions.WorkbenchTestCase;
+import abbot.swt.eclipse.utils.Preferences;
+import abbot.swt.eclipse.utils.WorkbenchUtilities;
+import abbot.swt.eclipse.utils.Preferences.Mode;
+
+/**
+ * Tutorial5MinuteTest
+ *
+ * @version $Rev: 679174 $ $Date: 2008-07-23 12:52:55 -0700 (Wed, 23 Jul 2008) $
+ */
+public class Tutorial5MinuteTest extends WorkbenchTestCase {
+    Shell workbenchShell;
+    AbbotHelper aHelper;
+    
+    protected void setUp() throws Exception {
+        super.setUp();
+        Preferences.setPerspectiveSwitchPrompt(Mode.Always);
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    // We only want to install/uninstall the server a single time so 
+    // we will roll all testcases into one large one that is controlled
+    // in the testAllGeronimoGUI method.
+    public void testAllGeronimoGUI() {
+        boolean success = false;
+        try {
+            workbenchShell = WorkbenchUtilities.getWorkbenchWindow().getShell();
+            aHelper = new AbbotHelper (workbenchShell);
+            
+            ServerTasks serverTasks = new ServerTasks(workbenchShell, aHelper, Constants.SERVER_V20 );
+            WorkbenchTasks workbenchTasks = new WorkbenchTasks(workbenchShell, aHelper);
+            ProjectTasks projectTasks = new ProjectTasks(workbenchShell, aHelper, Constants.SERVER_V20 );
+            
+            // so we are sure that we are looking in the desired perspective
+            workbenchTasks.showJEEPerspective();
+
+            // create server from an installed instance
+            serverTasks.createServer();
+
+            Tutorial5Minute tutorial = new Tutorial5Minute (workbenchShell, aHelper);
+            tutorial.createProjects ();
+
+            serverTasks.publishAllProjects();
+            serverTasks.startServer();
+
+            tutorial.webTesting();
+
+            serverTasks.stopServer();
+
+            // delete the projects that have been created
+            // reverse alphabetical is a little smoother
+            projectTasks.deleteProject ("SampleWAR");
+            projectTasks.deleteProject ("SampleEJB");
+            projectTasks.deleteProject ("SampleEAR");
+
+            // remove the server 
+            serverTasks.removeServer();
+
+            success = true;
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+        assertTrue (success);
+    }
+
+}

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5MinuteTest.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5MinuteTest.java?rev=681934&r1=681933&r2=681934&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5MinuteTest.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5MinuteTest.java Fri Aug  1 20:32:20 2008
@@ -60,10 +60,7 @@
     // in the testAllGeronimoGUI method.
     public void testAllGeronimoGUI() {
         boolean success = false;
-        try {
-            workbenchShell = WorkbenchUtilities.getWorkbenchWindow().getShell();
-            aHelper = new AbbotHelper (workbenchShell);
-            
+        try {            
             workbenchShell = WorkbenchUtilities.getWorkbenchWindow().getShell();
             aHelper = new AbbotHelper (workbenchShell);
             
@@ -77,9 +74,14 @@
             // create server from an installed instance
             serverTasks.createServer();
 
-            serverTasks.startServer();
             Tutorial5Minute tutorial = new Tutorial5Minute (workbenchShell, aHelper);
             tutorial.createProjects ();
+
+            serverTasks.publishAllProjects();
+            serverTasks.startServer();
+
+            tutorial.webTesting();
+
             serverTasks.stopServer();
 
             // delete the projects that have been created