geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yunfen...@apache.org
Subject svn commit: r679683 [1/2] - in /geronimo/devtools/eclipse-plugin/trunk/testsuite: ./ eclipse/ launcher/ plugins/ plugins/org.apache.geronimo.testsuite.common/ plugins/org.apache.geronimo.testsuite.common/META-INF/ plugins/org.apache.geronimo.testsuite....
Date Fri, 25 Jul 2008 07:09:46 GMT
Author: yunfengma
Date: Fri Jul 25 00:09:44 2008
New Revision: 679683

URL: http://svn.apache.org/viewvc?rev=679683&view=rev
Log:
GERONIMODEVTOOLS-449  Refactor testsuite to support both v2.0 and v2.1 server s and code reuse

Added:
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.classpath
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.project
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/LICENSE.txt
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/META-INF/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/META-INF/MANIFEST.MF
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/NOTICE.txt
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/plugin.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/
    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/Constants.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ProjectTasks.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.common/src/main/java/org/apache/geronimo/testsuite/common/ui/WorkbenchTasks.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/resources/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.classpath
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.options
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.project
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/LICENSE.txt
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/META-INF/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/META-INF/MANIFEST.MF
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/NOTICE.txt
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/plugin.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/Activator.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/java/org/apache/geronimo/testsuite/v20/ui/NewServerTest.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.v20/src/main/resources/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/resources/ui-tutorial/
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/resources/ui-tutorial/MyServlet.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/resources/ui-tutorial/MyStatelessSessionBean.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/resources/ui-tutorial/RemoteBusinessInterface.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/src/main/resources/ui-tutorial/index.jsp
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/test.xml
Removed:
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/AbbotHelper.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5Minute.java
Modified:
    geronimo/devtools/eclipse-plugin/trunk/testsuite/eclipse/build.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.properties
    geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/META-INF/MANIFEST.MF
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/plugin.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/NewServerTest.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v21/src/main/java/org/apache/geronimo/testsuite/v21/ui/Tutorial5MinuteTest.java
    geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/pom.xml
    geronimo/devtools/eclipse-plugin/trunk/testsuite/server/pom.xml

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/eclipse/build.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/eclipse/build.xml?rev=679683&r1=679682&r2=679683&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/eclipse/build.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/eclipse/build.xml Fri Jul 25 00:09:44 2008
@@ -243,6 +243,9 @@
             <fileset dir="${LOCAL_M2_REPO}/org/apache/geronimo/devtools/org.apache.geronimo.runtime.v21/${gep_version}">
                 <include name="**/*.jar"/>
             </fileset>
+            <fileset dir="${LOCAL_M2_REPO}/org/apache/geronimo/devtools/org.apache.geronimo.runtime.v20/${gep_version}">
+                <include name="**/*.jar"/>
+            </fileset>
             <fileset dir="${LOCAL_M2_REPO}/org/apache/geronimo/devtools/org.apache.geronimo.st.core/${gep_version}">
                 <include name="**/*.jar"/>
             </fileset>
@@ -258,6 +261,12 @@
             <fileset dir="${LOCAL_M2_REPO}/org/apache/geronimo/devtools/org.apache.geronimo.st.v21.ui/${gep_version}">
                 <include name="**/*.jar"/>
             </fileset>
+            <fileset dir="${LOCAL_M2_REPO}/org/apache/geronimo/devtools/org.apache.geronimo.st.v20.core/${gep_version}">
+                <include name="**/*.jar"/>
+            </fileset>
+            <fileset dir="${LOCAL_M2_REPO}/org/apache/geronimo/devtools/org.apache.geronimo.st.v20.ui/${gep_version}">
+                <include name="**/*.jar"/>
+            </fileset>
         </copy>
     </target>
 

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.properties
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.properties?rev=679683&r1=679682&r2=679683&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.properties (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.properties Fri Jul 25 00:09:44 2008
@@ -18,3 +18,4 @@
 #
 org.apache.geronimo.devtools.helloworld=org.apache.geronimo.devtools.helloworld-2.1.2
 org.apache.geronimo.testsuite.v21=org.apache.geronimo.testsuite.v21-2.1.2
+org.apache.geronimo.testsuite.v20=org.apache.geronimo.testsuite.v20-2.1.2

Modified: geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml?rev=679683&r1=679682&r2=679683&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml Fri Jul 25 00:09:44 2008
@@ -60,9 +60,14 @@
         <runTests testPlugin="org.apache.geronimo.testsuite.v21"/>
     </target>
 
+    <target name="testsuite.v20">
+        <runTests testPlugin="org.apache.geronimo.testsuite.v20"/>
+    </target>
+
     <target name="all">
         <antcall target="helloworld" />
         <antcall target="testsuite.v21" />
+        <antcall target="testsuite.v20" />
     </target>
 
 </project>

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.classpath
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.classpath?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.classpath (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.classpath Fri Jul 25 00:09:44 2008
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.project
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.project?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.project (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/.project Fri Jul 25 00:09:44 2008
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.apache.geronimo.testsuite.common</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/LICENSE.txt
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/LICENSE.txt?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/LICENSE.txt (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/LICENSE.txt Fri Jul 25 00:09:44 2008
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/META-INF/MANIFEST.MF?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/META-INF/MANIFEST.MF (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/META-INF/MANIFEST.MF Fri Jul 25 00:09:44 2008
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Geronimo v21 Server Tools Testsuite Common Plug-in
+Bundle-SymbolicName: org.apache.geronimo.testsuite.common;singleton:=true
+Bundle-Version: 2.1.2
+Bundle-Vendor: Apache.org
+Bundle-Localization: plugin
+Require-Bundle: abbot.swt,
+ abbot.swt.eclipse,
+ org.eclipse.core.runtime,
+ org.eclipse.debug.ui,
+ org.eclipse.debug.core,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.launching;visibility:=reexport,
+ org.eclipse.jst.common.frameworks,
+ org.eclipse.jst.j2ee,
+ org.eclipse.jst.j2ee.ejb,
+ org.eclipse.jst.j2ee.jca,
+ org.eclipse.jst.j2ee.web,
+ org.eclipse.jst.server.core;visibility:=reexport,
+ org.eclipse.ui,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.forms,
+ org.eclipse.ui.ide,
+ org.eclipse.ui.views
+Eclipse-LazyStart: true
+Export-Package: org.apache.geronimo.testsuite.common.ui
+Import-Package: junit.framework;version="3.8.2"

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/NOTICE.txt
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/NOTICE.txt?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/NOTICE.txt (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/NOTICE.txt Fri Jul 25 00:09:44 2008
@@ -0,0 +1,7 @@
+Apache Geronimo 
+Copyright 2003-2008 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/plugin.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/plugin.xml?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/plugin.xml (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/plugin.xml Fri Jul 25 00:09:44 2008
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<!--
+  ~ 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.
+  -->
+
+<!-- @version $Rev: 677978 $ $Date: 2008-07-18 10:34:28 -0700 (Fri, 18 Jul 2008) $ -->
+
+<plugin
+    id="org.apache.geronimo.testsuite.common" 
+    name="Geronimo v21 Server Tools Testsuite Plug-in" 
+    provider-name="Apache.org" 
+    version="2.1.2">
+
+    <requires>
+        <import plugin="abbot.swt"/>
+        <import plugin="abbot.swt.eclipse"/>
+        <import plugin="org.eclipse.ui.ide" optional="true"/>
+        <import plugin="org.eclipse.jface.text" optional="true"/>
+        <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
+        <import plugin="org.eclipse.ui.editors" optional="true"/>
+        <import plugin="org.junit"/>
+        <import plugin="org.eclipse.core.resources"/>
+        <import plugin="org.eclipse.jdt.core"/>
+        <import plugin="org.eclipse.jdt.launching"/>
+        <import plugin="org.eclipse.ui"/>
+        <import plugin="org.eclipse.ant.core"/>
+        <import plugin="org.eclipse.debug.core"/>
+        <import plugin="org.eclipse.debug.ui"/>
+        <import plugin="org.eclipse.ui.externaltools"/>
+        <import plugin="org.eclipse.ant.ui"/>
+        <import plugin="org.eclipse.core.runtime"/>
+        <import plugin="org.eclipse.ui.console"/>
+    </requires>
+
+</plugin>

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/pom.xml?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/pom.xml (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/pom.xml Fri Jul 25 00:09:44 2008
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<!-- @version $Rev: 678021 $ $Date: 2008-07-18 13:18:23 -0700 (Fri, 18 Jul 2008) $ -->
+
+<project>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.geronimo.devtools</groupId>
+    <artifactId>org.apache.geronimo.testsuite.common</artifactId>
+    <packaging>jar</packaging>
+    <version>2.1.2</version>
+    <name>${artifactId}</name>
+
+    <parent>
+        <groupId>org.apache.geronimo.devtools</groupId>
+        <artifactId>testsuite-plugins</artifactId>
+        <version>2.1.2</version>
+    </parent>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>.</directory>
+                <includes>
+                    <include>plugin.xml</include>
+                    <include>plugin.properties</include>
+                </includes>
+            </resource>
+
+            <resource>
+                <targetPath>META-INF</targetPath>
+                <directory>.</directory>
+                <includes>
+                    <include>LICENSE</include>
+                    <include>NOTICE</include>
+                </includes>
+            </resource>
+        </resources>
+
+        <plugins>
+
+            <plugin>
+                <groupId>org.apache.geronimo.devtools</groupId>
+                <artifactId>maven-eclipsepde-plugin</artifactId>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+            </plugin>
+
+            <!--
+             |
+             | Unzip the resulting plugin jar into the launcher eclipse directory for later usage
+             |
+             -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <mkdir dir="${basedir}/../../launcher/eclipse/eclipse/plugins/org.apache.geronimo.testsuite.common-2.1.2"/>
+                                <unzip src="${project.build.directory}/org.apache.geronimo.testsuite.common-2.1.2.jar"
+                                      dest="${basedir}/../../launcher/eclipse/eclipse/plugins/org.apache.geronimo.testsuite.common-2.1.2"/>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!-- Exclude tutorial java files -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/MyServlet.java</exclude>
+                        <exclude>**/MyStatelessSessionBean.java</exclude>
+                        <exclude>**/RemoteBusinessInterface.java</exclude>
+                    </excludes>
+                </configuration>
+             </plugin>
+
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.geronimo.devtools</groupId>
+            <artifactId>eclipse</artifactId>
+            <version>${version}</version>
+            <type>pom</type>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.devtools</groupId>
+            <artifactId>org.apache.geronimo.st.core</artifactId>
+            <version>${version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.devtools</groupId>
+            <artifactId>org.apache.geronimo.st.v21.core</artifactId>
+            <version>${version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.devtools</groupId>
+            <artifactId>org.apache.geronimo.jee.v21.jaxbmodel</artifactId>
+            <version>${version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.devtools</groupId>
+            <artifactId>org.apache.geronimo.runtime.common</artifactId>
+            <version>${version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.devtools</groupId>
+            <artifactId>org.apache.geronimo.runtime.v21</artifactId>
+            <version>${version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>abbot</groupId>
+            <artifactId>abbot.swt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>abbot</groupId>
+            <artifactId>abbot.swt.eclipse</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

Added: 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=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/AbbotHelper.java Fri Jul 25 00:09:44 2008
@@ -0,0 +1,216 @@
+/*
+ * 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;
+        }
+    }
+}

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Constants.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/Constants.java?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Constants.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Constants.java Fri Jul 25 00:09:44 2008
@@ -0,0 +1,58 @@
+/*
+ * 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.Hashtable;
+import java.util.Map;
+
+public final class Constants {
+	public final static String SERVER_V21 = "v21";
+	public final static String SERVER_V20 = "v20";
+	
+	public final static String SERVERNAME = "key_1";
+	public final static String SERVERDISPLAY = "key_2";
+	public final static String SERVERRUNTIME = "key_3";
+	public final static String SERVERPATH = "key_4";
+	
+	
+	private final static Map constants;
+	static {
+		constants = new Hashtable();
+		addConstant( SERVER_V21, SERVERNAME, "Apache Geronimo v2.1 Server" );
+		addConstant( SERVER_V20, SERVERNAME, "Apache Geronimo v2.0 Server" );
+		
+		addConstant( SERVER_V21, SERVERDISPLAY, "Apache Geronimo v2.1 Server at localhost" );
+		addConstant( SERVER_V20, SERVERDISPLAY, "Apache Geronimo v2.0 Server at localhost" );
+		
+		addConstant( SERVER_V21, SERVERRUNTIME, "Apache Geronimo v2.1" );
+		addConstant( SERVER_V20, SERVERRUNTIME, "Apache Geronimo v2.0" );
+		
+		addConstant( SERVER_V21, SERVERPATH, "server_v2.1" );
+		addConstant( SERVER_V20, SERVERPATH, "server_v2.0" );
+
+	
+	}
+	
+	public static String getConstant( String version, String key ) {
+		return (String)constants.get(version + key);
+	}
+	
+	private static void addConstant( String version, String key, String value ) {
+		constants.put(version + key, value);
+	}
+}

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ProjectTasks.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/ProjectTasks.java?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ProjectTasks.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ProjectTasks.java Fri Jul 25 00:09:44 2008
@@ -0,0 +1,171 @@
+/*
+ * 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;
+
+public class ProjectTasks {
+    Shell workbenchShell;
+    AbbotHelper aHelper;
+    String serverVersion;
+
+    public ProjectTasks (Shell shell, AbbotHelper helper, String serverVersion) {
+        workbenchShell = shell;
+        aHelper = helper;
+        this.serverVersion = serverVersion;
+    }
+    
+    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);
+    }
+    
+    public void deleteProject (String projectName) throws MultipleFoundException, NotFoundException {
+        Shell questionShell = aHelper.rightClickItem (workbenchShell, projectName, 
+                new String[] {"&Delete"}, "Delete Resources");
+
+        // use .* to signify use of a wildcard
+        aHelper.clickButton (questionShell, "&Delete project contents.*");
+        aHelper.clickButton (questionShell, IDialogConstants.OK_LABEL);
+        aHelper.waitForDialogDisposal (questionShell);
+    }
+
+}

Added: 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=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/ServerTasks.java Fri Jul 25 00:09:44 2008
@@ -0,0 +1,121 @@
+/*
+ * 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;
+    }  
+}

Added: 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=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/Tutorial5Minute.java Fri Jul 25 00:09:44 2008
@@ -0,0 +1,164 @@
+/*
+ * 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);
+    }
+}

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/WorkbenchTasks.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/WorkbenchTasks.java?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/WorkbenchTasks.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/src/main/java/org/apache/geronimo/testsuite/common/ui/WorkbenchTasks.java Fri Jul 25 00:09:44 2008
@@ -0,0 +1,46 @@
+/*
+ * 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 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 WorkbenchTasks {
+    Shell workbenchShell;
+    AbbotHelper aHelper;
+
+    public WorkbenchTasks (Shell shell, AbbotHelper helper) {
+        workbenchShell = shell;
+        aHelper = helper;
+    }
+    
+    public void showJEEPerspective() throws MultipleFoundException, NotFoundException {
+
+    	aHelper.clickMenuItem (workbenchShell,
+                new String[] {"&Window", "&Close Perspective"});
+    	
+    	Shell perspectiveShell = aHelper.clickMenuItem (workbenchShell,
+              new String[] {"&Window", "&Open Perspective", "&Other..." },
+              "Open Perspective");
+        aHelper.clickItem (perspectiveShell, "Java EE (default)");
+        aHelper.clickButton (perspectiveShell, IDialogConstants.OK_LABEL);        
+    }
+}

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.classpath
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.classpath?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.classpath (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.classpath Fri Jul 25 00:09:44 2008
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.options
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.options?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.options (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.options Fri Jul 25 00:09:44 2008
@@ -0,0 +1 @@
+org.apache.geronimo.testsuite.v20.core/debug=true
\ No newline at end of file

Added: geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.project
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.project?rev=679683&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.project (added)
+++ geronimo/devtools/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.v20/.project Fri Jul 25 00:09:44 2008
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.apache.geronimo.testsuite.v20</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>



Mime
View raw message