<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<!--
***********************************************************************
This file is automatically generated.
Do not edit.
***********************************************************************
-->
<set>


    <type name="Testing">
        <subproject name="GroboTestingJUnit" version="1.2.1">
            <name>testing-junit</name>
            <part>JUnit helpers and extentions</part>
            <package>net.sourceforge.groboutils.junit.v1</package>
            <description>
            JUnit extentions for easing test making.
            </description>
            <class>
                <name>AssertConstructor</name>
                <description>
                Similar to the Assert class in JUnit, but allows for testing
                objects and classes for the existence of different
                constructors.
                </description>
            </class>
            <class>
                <name>AssertTestFactory</name>
                <description>
                Creates Test objects that execute a single assert.  Used to
                create 'soft' (sub) tests during integration testing.
                </description>
            </class>
            <class>
                <name>SubTestTestCase</name>
                <description>
                Subclass of TestCase that allows for a test to dynamically
                register a sub-test, which will be run after the owning test
                finishes, and in new tests.
                </description>
            </class>
            <class>
                <name>IntegrationTestCase</name>
                <description>
                Subclass of TestCase designed for integration tests, which
                generally need 'soft' failures - a failure which does not need
                to stop the execution of the test.
                </description>
            </class>
            <class>
                <name>MultiThreadedTestRunner</name>
                <description>
                A utility class which executes a collection of small test
                methods in parallel. Capable of specifying a maximum run time
                to prevent dead-locks or infinite loops from hanging the test
                execution. Propigates all errors to the owning class.
                </description>
            </class>
            <class>
                <name>SysPropertiesUtil</name>
                <description>
                Utility that allows for easy setting and reseting of System
                properties.  Some classes that need testing may depend upon a
                System property setting, and this class will help testing that.
                This is JDK 1.1 and above compatible.
                </description>
            </class>
            <status>
            17-Jul-2003:
            Updates to MultiThreadedTestRunner allow for monitors to check
            the status of runners without needing to quit, and added the
            ability to kill wild threads.  The documentation for this has
            been updated as well.
            </status>
        </subproject>
        <subproject name="GroboTestingJUnit" version="1.2.1">
            <name>testing-junit</name>
            <part>Test Class Parsing</part>
            <package>net.sourceforge.groboutils.junit.v1.parser</package>
            <description>
            Extracted the functionality used by
            <tt>junit.framework.TestSuite</tt> to parse the Test classes, and
            enabled it for easy exension to support different construction
            mechanisms.
            </description>
            <status>
            17-Jul-2003:
            This is fairly stable, but the code coverage reports show that
            it needs a bit more testing in some areas.
            </status>
        </subproject>
        <subproject name="GroboTestingJUnit" version="1.2.1">
            <name>testing-junit</name>
            <part>Hierarchial Unit Tests</part>
            <package>net.sourceforge.groboutils.junit.v1.iftc</package>
            <description>
             JUnit extention for helping in the creation of hierarchial test
             cases, also known as 'contract' or 'interface' test-cases.
            </description>
            <status>
            10-Jan-2004:
            Found and fixed a minor bug with passing the message on an
            assert in IntegrationTestCase.
            </status>
        </subproject>
    
        <subproject name="GroboTestingAutodoc" version="1.0.0alpha2">
            <name>testing-autodoc</name>
            <package>net.sourceforge.groboutils.autodoc.v1</package>
            <description>
              AutoDoc allows for JUnit tests to generate documentation for
              themselves.  Pluggable to allow user-defined extensions for each
              component.
            </description>
            <status>
            19-May-2003:
            Need to expand testing and update documents before this can enter
            RC 1.
            </status>
        </subproject>
    
        <subproject name="GroboPMTI" version="1.0.0alpha3">
            <name>pmti</name>
            <package>net.sourceforge.groboutils.pmti.v1</package>
            <description>
              The Problem Management Tracker Interface. A framework for
              interfacing with Problem Management Trackers (a.k.a. bug
              trackers). Includes SPI connectors for the AutoDoc framework.
            </description>
            <status>
            04-Oct-2003:
            Looking at moving the location of the tracking numbers from
            code to XDoclet.  If so, this will be a major change and
            break backwards-compatibility.<BR/>
            Still need example implementations for Sourceforge (web-based) and
            Bugzilla (database-based). <BR/>
            Complete the documentation.  As the system is in flux, this
            is an on-going task.
            </status>
        </subproject>
    
        <subproject name="GroboTestingTP" version="1.0.0alpha2">
            <name>testing-tp</name>
            <package>net.sourceforge.groboutils.tp.v1</package>
            <description>
            Test Procedure generation classes. Includes SPI connectors for the
            AutoDoc framework.
            </description>
            <status>
            23-Aug-2003:
            Currently examining the viability of the sub-project, as to whether
            it is the right application of technology.
            </status>
        </subproject>
    
        <subproject name="GroboCodeCoverage" version="1.1.0">
            <name>codecoverage</name>
            <package>net.sourceforge.groboutils.codecoverage.v2</package>
            <description>
            There are several commercially available code coverage tools for
            Java, but they all require a large fee to use. This is a 100% Pure
            Java implementation of a Code Coverage tool. It uses Jakarta's
            BCEL platform to post-compile class files to add logging statements
            for tracking coverage.
            </description>
            <status>
            16-Apr-2004:
            Final changes to the documentation before release of the next
            version.
            </status>
        </subproject>
    
        <subproject name="GroboUICapture" version="1.0.0alpha2">
            <name>uicapture</name>
            <package>net.sourceforge.groboutils.uicapture.v1</package>
            <description>
            A UI capture program for Java. Allows for capture and playback
            ability in any graphical application running on the local system.
            </description>
            <status>
            08-Oct-2002:
            Able to capture and play-back UI interactions, but capturing has
            issues with the underlying UIs being interacted with: due to the
            glass pane manipulation and click pass-through implementation,
            UI components such as menus disappear.
            </status>
        </subproject>
    </type>
    <type name="Utility">
        <subproject name="GroboUtilClasses" version="1.0.0">
            <name>util-classes</name>
            <part>Class Helpers</part>
            <package>net.sourceforge.groboutils.util.classes.v1</package>
            <description>
            Utilities that allow for easy access to Classes and instantiating
            them. Includes helper utilities for the Service Provider Interface
            (SPI), as presented in JDK 1.3. This package is JDK 1.1
            compatible, but will use JDK 1.2+ methods when allowed.
            </description>
            <status>
            17-Jul-2003:
            Documentation still needs a bit of work, but this has been moved
            up to RC1.
            </status>
        </subproject>
        <subproject name="GroboUtilClasses" version="1.0.0">
            <name>util-classes</name>
            <part>Throwable Helpers</part>
            <package> net.sourceforge.groboutils.util.throwable.v1</package>
            <description>
            Utilities that aid in creating exceptions with causes (a la JDK
            1.4), and for parsing exceptions. This package is JDK 1.1
            compatible, but will use the JDK 1.4-introduced exception methods
            when allowed.
            </description>
            <status>
            17-Jul-2003:
            May remove this
            project in favor of Jakarta Commons Lang 1.0.
            </status>
        </subproject>
    
        <subproject name="GroboUtilXML" version="1.1.0">
            <name>util-xml</name>
            <package>net.sourceforge.groboutils.util.xml.v1</package>
            <description>
            Utilities for converting standard text into XML-escaped strings,
            without the need for DOM heavyweight libraries.
            </description>
            <status>
            20-Dec-2002:
            Entered version 1.0.0rc1.  Need to complete documentation.
            </status>
        </subproject>
    
        <subproject name="GroboUtilIO" version="1.0.0alpha2">
            <name>util-io</name>
            <package>net.sourceforge.groboutils.util.io.v1</package>
            <description>
            Groups of JDK 1.1 and 1.2 I/O helper classes.
            </description>
            <class>
                <name>File Filters</name>
                <description>
                Helper classes for generating filters for the java.io.File
                class.
                </description>
            </class>
            <class>
                <name>Input Stream Generators</name>
                <description>
                Classes which generate new IO Stream from a given relative URL.
                Example implementations are provided, including File, URL,
                Classpath Resource, and Hashtable.
                </description>
            </class>
            <class>
                <name>Mime Encoding Streams</name>
                <description>
                Input and Output streams for Mime encoded text.
                </description>
            </class>
            <class>
                <name>Read Stream</name>
                <description>
                Utilities for reading an entire stream in different formats.
                </description>
            </class>
            <class>
                <name>WriterOutputStream</name>
                <description>
                The basic JDK has classes which convert from an OutputStream to
                a Writer, but does not provide any implementation for the
                reverse. This class fills that gap.
                </description>
            </class>
            <class>
                <name>PropertyDatabase</name>
                <description>
                Has a concept of pre-defined properties, and user-defined
                properties. As many "internal" properties may be added to the
                database, but any properties the user sets will be stored in
                their own property file.
                </description>
            </class>
            <status>
            03-May-2003:
            Need to finish up tests and documentation before entering RC 1.
            </status>
        </subproject>
    
        <subproject name="GroboUtilDatastruct" version="1.0.0alpha3">
            <name>util-datastruct</name>
            <package>net.sourceforge.groboutils.util.datastruct.v1</package>
            <description>
             Contains various data structures, all JDK 1.1 compatible.
            </description>
            <class>
                <name>PathRegistry</name>
                <description>
                A tree structure which allows for elements to be registered,
                deregistered, and accessed. Tree elements can define themselves
                as case sensitive or insensitive. They may also define that all
                sub-nodes should return the current parent node. Nodes are
                accessed through a single String, which is parsed internally.
                The path separator may be any character.
                </description>
            </class>
            <class>
                <name>SynchQueue</name>
                <description>
                A Queue (first-in, first-out) which allows for waiting
                indefinitely or for a specific period of time for a new
                element to be added to the Queue. Useful for passing data
                between threads. This has been optimized for synchronization.
                </description>
            </class>
            <class>
                <name>ObjectCache</name>
                <description>
                A store of reserved objects to prevent the Garbage Collector
                from working overtime on commonly used objects. It has options
                for setting the maximum and minimum sizes for the number of
                stored objects.
                </description>
            </class>
            <status>
            03-May-2003:
            Just entered RC 1.  The documentation will need to be completed
            before this goes gold.
            </status>
        </subproject>
    
        <subproject name="GroboUtilThread" version="1.0.0alpha2">
            <name>util-thread</name>
            <package>net.sourceforge.groboutils.util.thread.v1</package>
            <description>
            Collection of utilities to help with thread and process management.
            </description>
            <class>
                <name>BackgroundProcess</name>
                <description>
                Class which allows for better interaction with a spawned
                Process. It forks the process's output streams to other
                streams.
                </description>
            </class>
            <class>
                <name>IOThreadRunner</name>
                <description>
                A thread which pulls data from an input stream and pushes it
                into an output stream.
                </description>
            </class>
            <class>
                <name>LoopThread</name>
                <description>
                Implements safe pause, resume, and stop for threads which loop
                over the same function endlessly. Allows for a sleep period
                between loop iterations.
                </description>
            </class>
            <class>
                <name>QueueThread</name>
                <description>
                Thread-safe implementation of pulling objects from a
                SynchQueue, and passing them to a listening object.
                </description>
            </class>
            <class>
                <name>ThreadPool</name>
                <description>
                A pool of QueueThread instances, which handles menial tasks
                such as growing the thread pool if the number of waiting
                objects is above a threshold number, up to a maximum number of
                threads, finding the thread with the fewest number of waiting
                objects, and optimization of determining which thread to pass
                events to.
                </description>
            </class>
            <status>
            03-May-2003:
            Need to finish up tests and documentation before entering RC 1.
            </status>
        </subproject>
    </type>
<project-id name="GroboTestingJUnit" dir="testing-junit"/>
<project-id name="GroboUtilClasses" dir="util-classes"/>
<project-id name="GroboTestingAutodoc" dir="testing-autodoc"/>
<project-id name="GroboUtilXML" dir="util-xml"/>
<project-id name="GroboPMTI" dir="pmti"/>
<project-id name="GroboTestingTP" dir="testing-tp"/>
<project-id name="GroboUtilIO" dir="util-io"/>
<project-id name="GroboUtilDatastruct" dir="util-datastruct"/>
<project-id name="GroboCodeCoverage" dir="codecoverage"/>
<project-id name="GroboUICapture" dir="uicapture"/>
<project-id name="GroboUtilThread" dir="util-thread"/>
</set>
