jruaux      2003/01/03 06:11:32

  Modified:    documentation/docs/xdocs eclipse_plugin.xml
  Log:
  Added a features section (taken from changes.xml)
  Formatted to 2-space tab
  
  Revision  Changes    Path
  1.4       +215 -222  jakarta-cactus/documentation/docs/xdocs/eclipse_plugin.xml
  
  Index: eclipse_plugin.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-cactus/documentation/docs/xdocs/eclipse_plugin.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- eclipse_plugin.xml        3 Jan 2003 13:42:46 -0000       1.3
  +++ eclipse_plugin.xml        3 Jan 2003 14:11:32 -0000       1.4
  @@ -5,243 +5,236 @@
     <properties>
       <title>Architecture of the Eclipse Plugin for Cactus</title>
       <authors>
  -      <author name="Julien Ruaux" email="[EMAIL PROTECTED]"/>
  +      <author name="Julien Ruaux" email="[EMAIL PROTECTED]" />
       </authors>
     </properties>
   
  -    <body>
  +  <body>
   
  -        <s1 title="Overview">
  +    <s1 title="Overview">
  +      <p>
  +        Cactus uses and extends JUnit. It might then seem natural
  +        that the Cactus plugin for Eclipse extends in a certain manner
  +        the existing JUnit plugin. For example
  +        <code>JUnitLaunchShortcut</code>
  +        is overloaded to be able to :
  +      </p>
  +      <ul>
  +        <li>prepare tests : setup of the container (deployment) and startup</li>
  +        <li>execute tests using the JUnit plugin methods</li>
  +        <li>tear down tests : stop the container and clean the deployment.</li>
  +      </ul>
  +      <p>
  +        In its actual state the plugin uses Ant scripts for these
  +        container setup and teardown.
  +      </p>
  +
  +    </s1>
  +    <s1 title="How it works">
  +
  +      <s2 title="Extension points">
  +        <ul>
  +          <li>
  +            <em>org.eclipse.debug.core.launchConfigurationTypes</em>
  +            registers cactusLaunchConfiguration
  +          </li>
  +          <li>
  +            <em>org.eclipse.debug.ui.launchShortcuts</em>
  +            registers a shortcut which appears in the run
  +            and debug cascade menus to launch the current workbench
  +            selection in the Java perspective
  +          </li>
  +          <li>
  +            <em>org.eclipse.ui.preferencePages</em>
  +            adds the Cactus preference page to the preferences.
  +          </li>
  +        </ul>
  +      </s2>
  +      <s2 title="GUI : preference page">
  +        <p>
  +          A preference page is contributed to the Eclipse
  +          preferences. It shows the following entries :
  +        </p>
  +        <ul>
  +          <li>Cactus properties (contextURL)</li>
  +          <li>
  +            directory of all the jars needed for Cactus
  +            tests (client side and server side)
  +          </li>
  +          <li>setting of the container homes</li>
  +        </ul>
  +      </s2>
  +
  +      <s2 title="IContainerProvider">
  +        <p>
  +          To enable different ways to setup, start, and stop
  +          containers the idea of container providers has been
  +          introduced in the plugin.
  +        </p>
  +        <p>
  +          A container provider is responsible for deploying a web
  +          application to the container, starting and stopping it, and
  +          undeploying the web app. This concept is concretized in the
  +          interface
  +          <code>IContainerProvider</code>
  +          . See its javadoc for more information.
  +        </p>
  +        <p>
  +          A container provider is implemented in the current version
  +          of the plugin, which uses Ant scripts to carry out these
  +          actions. It is called
  +          <code>GenericAntProvider</code>
  +          and may be used to execute tests on Tomcat 4.0 and Weblogic 7.0.
  +        </p>
  +      </s2>
  +      <s2 title="What happens when a test is launched">
  +        <p>
  +          The
  +          <code>launch(IType theType, String theMode)</code>
  +          method of the
  +          <code>CactusLaunchShortcut</code>
  +          class is called, which sets up the container, launches
  +          the tests by delegating these to the JUnit plugin, and then
  +          tears down the container setup.
  +        </p>
  +        <ul>
  +          <li>
  +            Tests preparation
  +            <p>This includes :</p>
  +            <ul>
  +              <li>
  +                creating the war file for the cactus
  +                tests : this is done by the
  +                <code>WarBuilder</code>
  +                class, and relies on an Ant script for that.
  +              </li>
  +              <li>
  +                setting up the container : prepares the
  +                configuration for the selected container
  +              </li>
  +              <li>starting the container.</li>
  +            </ul>
               <p>
  -                Cactus uses and extends JUnit. It might then seem natural
  -                that the Cactus plugin for Eclipse extends in a certain manner
  -                the existing JUnit plugin. For example
  -                <code>JUnitLaunchShortcut</code>
  -                is overloaded to be able to :
  +              In the case of
  +              <code>GenericAntProvider</code>
  +              :
               </p>
               <ul>
  -                <li>
  -                    prepare tests : setup of the container (deployment)
  -                    and startup
  -                </li>
  -                <li>
  -                    execute tests using the JUnit plugin methods
  -                </li>
  -                <li>
  -                    tear down tests : stop the container and clean the
  -                    deployment.
  -                </li>
  +              <li>setting up is done by an Ant script</li>
  +              <li>
  +                starting the container is delegated to the
  +                <code>StartServerHelper</code>
  +                class, which initiates a thread starting
  +                the container and then pings it constantly to
  +                see if it has been effectively launched.
  +              </li>
               </ul>
  +          </li>
  +          <li>
  +            Tests launch
               <p>
  -                In its actual state the plugin uses Ant scripts for these
  -                container setup and teardown.
  +              This behaviour is inherited from the JUnit plugin since
  +              <code>CactusLaunchShortcut</code>
  +              extends
  +              <code>JUnitLaunchShortcut</code>
  +              .
  +            </p>
  +          </li>
  +          <li>
  +            Tests end
  +            <p>
  +              To know when tests have ended we register our
  +              TestListener to the JUnit plugin.
               </p>
   
  -        </s1>
  -        <s1 title="How it works">
  +            <p>
  +              For that the JUnit plugin had to be modified, a
  +              patch is avaible at the root of the Cactus CVS.
  +            </p>
   
  -            <s2 title="Extension points">
  -                <ul>
  -                    <li>
  -                        <em>
  -                            org.eclipse.debug.core.launchConfigurationTypes
  -                        </em>
  -                        registers cactusLaunchConfiguration
  -                    </li>
  -                    <li>
  -                        <em>
  -                            org.eclipse.debug.ui.launchShortcuts
  -                        </em>
  -                        registers a shortcut which appears in the run
  -                        and debug cascade menus to launch the current workbench
  -                        selection in the Java perspective
  -                    </li>
  -                    <li>
  -                        <em>
  -                            org.eclipse.ui.preferencePages
  -                        </em>
  -                        adds the Cactus preference page to the preferences.
  -                    </li>
  -                </ul>
  -            </s2>
  -            <s2 title="GUI : preference page">
  -                <p>
  -                    A preference page is contributed to the Eclipse
  -                    preferences. It shows the following entries :
  -                </p>
  -                <ul>
  -                    <li>
  -                        Cactus properties (contextURL)
  -                    </li>
  -                    <li>
  -                        directory of all the jars needed for Cactus
  -                        tests (client side and server side)
  -                    </li>
  -                    <li>
  -                        setting of the container homes
  -                    </li>
  -                </ul>
  -            </s2>
  -
  -            <s2 title="IContainerProvider">
  -                <p>
  -                    To enable different ways to setup, start, and stop
  -                    containers the idea of container providers has been
  -                    introduced in the plugin.
  -                </p>
  -                <p>
  -                    A container provider is responsible for deploying a web
  -                    application to the container, starting and stopping it, and
  -                    undeploying the web app. This concept is concretized in the
  -                    interface
  -                    <code>IContainerProvider</code>
  -                    . See its javadoc for more information.
  -                </p>
  -                <p>
  -                    A container provider is implemented in the current version
  -                    of the plugin, which uses Ant scripts to carry out these
  -                    actions. It is called
  -                    <code>GenericAntProvider</code>
  -                    and may be used to execute tests on Tomcat 4.0 and
  -                    Weblogic 7.0.
  -                </p>
  -            </s2>
  -            <s2 title="What happens when a test is launched">
  -                <p>
  -                    The
  -                    <code>
  -                        launch(IType theType, String theMode)
  -                    </code>
  -                    method of the
  -                    <code>CactusLaunchShortcut</code>
  -                    class is called, which sets up the container, launches
  -                    the tests by delegating these to the JUnit plugin, and then
  -                    tears down the container setup.
  -                </p>
  -                <ul>
  -                    <li>
  -                        Tests preparation
  -                        <p>
  -                            This includes :
  -                        </p>
  -                        <ul>
  -                            <li>
  -                                creating the war file for the cactus
  -                                tests : this is done by the
  -                                <code>
  -                                    WarBuilder
  -                                </code>
  -                                class, and relies on an Ant script for
  -                                that.
  -                            </li>
  -                            <li>
  -                                setting up the container : prepares the
  -                                configuration for the selected container
  -                            </li>
  -                            <li>
  -                                starting the container.
  -                            </li>
  -                        </ul>
  -                        <p>
  -                            In the case of
  -                            <code>
  -                                GenericAntProvider
  -                            </code>
  -                            :
  -                        </p>
  -                        <ul>
  -                            <li>
  -                                setting up is done by an Ant script
  -                            </li>
  -                            <li>
  -                                starting the container is delegated to
  -                                the
  -                                <code>
  -                                    StartServerHelper
  -                                </code>
  -                                class, which initiates a thread starting
  -                                the container and then pings it constantly to
  -                                see if it has been effectively launched.
  -                            </li>
  -                        </ul>
  -                    </li>
  -                    <li>
  -                        Tests launch
  -                        <p>
  -                            This behaviour is inherited from the JUnit
  -                            plugin since
  -                            <code>
  -                                CactusLaunchShortcut
  -                            </code>
  -                            extends
  -                            <code>
  -                                JUnitLaunchShortcut
  -                            </code>
  -                            .
  -                        </p>
  -                    </li>
  -                    <li>
  -                        Tests end
  -                        <p>
  -                            To know when tests have ended we register our
  -                            TestListener to the JUnit plugin.
  -                        </p>
  -
  -                        <p>
  -                            For that the JUnit plugin had to be modified, a
  -                            patch is avaible at the root of the Cactus CVS.
  -                        </p>
  -
  -                        <p>
  -                            The
  -                            <code>
  -                                JUnitViewFinder
  -                            </code>
  -                            class is launched which looks for the
  -                            JUnitView, so that we can eventually register our
  -                            listener.
  -                        </p>
  -                    </li>
  -
  -                    <li>
  -                        Tests environment cleaning
  -
  -                        <p>
  -                            After the tests have completed, work has to be
  -                            done to stop the container and delete all
  -                            configuration files and the war file we created
  -                            before.
  -                        </p>
  -                    </li>
  -                </ul>
  -            </s2>
  -        </s1>
  -        <s1 title="What has been done so far">
               <p>
  -                In its actual state the plugin is a proof of concept. It is
  -                able to run the distribution sample tests.
  +              The
  +              <code>JUnitViewFinder</code>
  +              class is launched which looks for the
  +              JUnitView, so that we can eventually register our
  +              listener.
               </p>
  -        </s1>
  -        <s1 title="What is next">
  +          </li>
  +
  +          <li>
  +            Tests environment cleaning
  +
               <p>
  -                In order to have a production-quality tool the following
  -                points must be done :
  +              After the tests have completed, work has to be
  +              done to stop the container and delete all
  +              configuration files and the war file we created
  +              before.
               </p>
  -            <ul>
  -                <li>
  -                    integrate the plugin to the Cactus build process
  -                </li>
  -                <li>automate tests on the plugin</li>
  -                <li>
  -                    ability to leave the container running between
  -                    redeployments
  -                </li>
  -                <li>
  -                    the user must be able to provide its own web.xml file.
  -                    Otherwise the plugin will use the one provided by default.
  -                </li>
  -            </ul>
  +          </li>
  +        </ul>
  +      </s2>
  +    </s1>
  +    <s1 title="What has been done so far">
  +      <p>
  +        In its actual state the plugin is a proof of concept. It is
  +        able to run the distribution sample tests.
  +      </p>
  +    </s1>
  +    <s1 title="Features">
  +      <p>Milestone 1</p>
  +      <ul>
  +        <li>a minimalistic launch configuration</li>
  +        <li>a minimalistic launch shortcut</li>
  +        <li>a minimalistic launch configuration tab group</li>
  +      </ul>
  +      <p>Milestone 2</p>
  +      <ul>
  +        <li>
  +          Validate calling Ant script before and after running
  +          the tests to package and deploy the application to the
  +          container and start it.
  +        </li>
  +        <li>
  +          Execute the Cactus Ant script for Tomcat before
  +          starting the JUnit Test Runner (and after). This Ant script
  +          needs to be part of the Cactus plugin and does the
  +          following: creates a WAR from the application sources and
  +          start Tomcat. After the test is finished a second script is
  +          run to stop Tomcat.
  +        </li>
  +      </ul>
  +      <p>Milestone 3</p>
  +      <ul>
  +        <li>Added a Cactus preference page (see below for content)</li>
  +        <li>Support for several containers</li>
  +        <li>
  +          On preference page and on Cactus TabGroup page: ability to
  +          choose the port on which the container is started.
  +        </li>
  +        <li>
  +          On preference page, ability to specify the working
  +          directory where the Cactus plugin will create all its files
  +          (packaged war, app server config files, etc)
  +        </li>
  +        <li>Minimal plugin documentation</li>
  +      </ul>
  +    </s1>
  +
  +    <s1 title="What is next">
  +      <p>
  +        In order to have a production-quality tool the following
  +        points must be done :
  +      </p>
  +      <ul>
  +        <li>integrate the plugin to the Cactus build process</li>
  +        <li>automate tests on the plugin</li>
  +        <li>ability to leave the container running between redeployments</li>
  +        <li>
  +          the user must be able to provide its own web.xml file.
  +          Otherwise the plugin will use the one provided by default.
  +        </li>
  +      </ul>
   
  -        </s1>
  -    </body>
  +    </s1>
  +  </body>
   </document>
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to