ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 16684] - Document case sensitivity of glob mapper
Date Sun, 04 May 2003 23:31:33 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16684>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16684

Document case sensitivity of glob mapper





------- Additional Comments From kovesp@sympatico.ca  2003-05-04 23:31 -------
This BTW is a good argument for allowing multiple mappers.  It is also an 
argument for allow "attributes" to be passed to specific implementations.

The simplest way that I see to make these ideas usable everywhere that mappers 
are allowed
1. For multiple mappers: introduce a mapper element without any attributes to 
act as a container:
<mapper>
   <mapper type="glob" from="*.ini" to="*.ini.bak"/>
   <mapper type="glob" from="*.INI" to "*.INI.bak"/>
</mapper>
Semantics could be either a. cummulative: mappers are applied in the given 
sequence; if all return null, the mapper container returns null; otherwise a 
mapper later in the sequence is applied to the result of earlier mappers, 
except ones returning null or empty array are skipped; b. exclusive: mappers 
are applied in undefined sequence, the result of the first to return non-null 
is used (in other words, if the mappers are not disjoint the result is 
undefined).

2. For mapper specific attributes: introduce a new attribute to the mapper 
element called props. The value is a sequence of name='value' items separated 
by comma, e.g., props="casesensitive='no',prefix='hello'". Introduce a 
subinterface of FileNameMapper, FileNameMapperWithProperties (unless you want 
to call it FileNameMapper2 in the MS tradition B-{) ). It has a single new 
method

void setProperties(Properties props)

This method is caledd called on mappers implementing the new interface with 
the value of the props attribute translated into a Properties instance. 

Then with a suitably updated glob mapper we could have:
<mapper type="glob" from="*.ini" to="*.ini.bak" props="casesensitive='no'"/>

Mime
View raw message