Rob,

Thanks for applying all of the patches and getting CLI into shape. I
will supply a test case for 32533. I have been working on an XMLBuilder
that uses an XML document to describe Options, Arguements, and Groups.
Hopefully it will be useful to CLI. While working on this I found that
not all properties are exposed from Groups and Arguements through the
current builders. Do you expect that to change? If it won't change then
I will go with the properties exposed by the current builders. If it
will/could, I will go to the base classes. An example is id for group.

It also looks like some values like an argument validator are singletons
but the ArgumentBuilder doesn't seem to enforce this. In the case of
validator, it seems useful to allow more than one.

Could you look this empty XML document and schema and let me know if it
seems reasonable:

<?xml version="1.0" encoding="ISO-8859-1"?>
<group name="" description="" minimum="" maximum="" 
xsi:noNamespaceSchemaLocation="cli2.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  <option id="" name="" description="" required="true">
    <alias name="" />
    <alias name="" />
    <group name="" description="" minimum="" maximum="">
      <option id="" name="" description="" required="true">
        <alias name="" />
        <alias name="" />
        <group name="" description="" minimum="" maximum=""></group>
        <argument id="" name="" description="" initial-seperator=""
subsequent-seperator="" validator="" minimum="" maximum=""
consume-remaining="">
          <default></default>
          <default></default>
        </argument>
      </option>
    </group>
    <argument id="" name="" description="" initial-seperator=""
subsequent-seperator="" validator="" minimum="" maximum=""
consume-remaining="">
      <default></default>
      <default></default>
    </argument>
  </option>
</group>

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
    <xsd:element name="alias">
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string"
use="optional"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="argument">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="0"
ref="default"/>
            </xsd:sequence>
            <xsd:attribute name="consume-remaining" type="xsd:string"
use="optional"/>
            <xsd:attribute name="description" type="xsd:string"
use="optional"/>
            <xsd:attribute name="id" type="xsd:string" use="optional"/>
            <xsd:attribute name="initial-seperator" type="xsd:string"
use="optional"/>
            <xsd:attribute name="maximum" type="xsd:string"
use="optional"/>
            <xsd:attribute name="minimum" type="xsd:string"
use="optional"/>
            <xsd:attribute name="name" type="xsd:string"
use="optional"/>
            <xsd:attribute name="subsequent-seperator" type="xsd:string"
use="optional"/>
            <xsd:attribute name="validator" type="xsd:string"
use="optional"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="default">
        <xsd:complexType/>
    </xsd:element>
    <xsd:element name="group">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1"
ref="option"/>
            </xsd:sequence>
            <xsd:attribute name="description" type="xsd:string"
use="optional"/>
            <xsd:attribute name="maximum" type="xsd:string"
use="optional"/>
            <xsd:attribute name="minimum" type="xsd:string"
use="optional"/>
            <xsd:attribute name="name" type="xsd:string"
use="optional"/>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="option">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="0"
ref="alias"/>
                <xsd:element maxOccurs="unbounded" minOccurs="0"
ref="group"/>
                <xsd:element maxOccurs="unbounded" minOccurs="0"
ref="argument"/>
            </xsd:sequence>
            <xsd:attribute name="description" type="xsd:string"
use="optional"/>
            <xsd:attribute name="id" type="xsd:string" use="optional"/>
            <xsd:attribute name="name" type="xsd:string"
use="optional"/>
            <xsd:attribute name="required" type="xsd:string"
use="optional"/>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

--David

>>> [EMAIL PROTECTED] 12/23/2004 5:55:18 AM >>>
Hi,

Sorry for the lack of response to your patch, I've been really busy
with the 
day job lately and CLI2 has effectively stalled in the meantime. 
Hopefully 
I'll find some time between xmas and new year to get things in motion
again. 
The main thing that needs doing is to go through bugzilla reviewing
patches 
and deciding how to resolve/when to target the other bugs.

Once that is done then its just a case of going through the release
process:
    http://jakarta.apache.org/commons/releases/index.html 

Obviously it'd be great to have you on hand to discuss any 
thoughts/implications regarding your patch (might even get time to look
at 
that this afternoon); but if you have any thoughts / patches regarding
other 
issues or documentation then please let me know!  Also if anything in
the 
releases doc looks doable then you're welcome to take it on.

Thanks,

Rob

David Morris wrote:
> I used the COMMONS CLI package for a couple of recent projects and I
ran
> into some serious problems and submitted some patches. Next, I tried
> version 2, which appears to be a ground up rewrite. It worked a lot
> better after a couple of minor tweaks and a patch. I don't see much
> activity lately in CVS. I need this to be a released product. In
> addition to patches for the outstanding issues, is there anything
else I
> can do to help this get moving?
> 
> David

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

Reply via email to