cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: cvs commit: cocoon-2.1/src/blocks/chaperon/java/org/apache/cocoon/generation TextGenerator.java
Date Sat, 03 Apr 2004 01:07:36 GMT
On 03.04.2004 02:46, antonio@apache.org wrote:

> antonio     2004/04/02 16:46:33
> 
>   Modified:    src/java/org/apache/cocoon/components/pipeline/impl
>                         AbstractCachingProcessingPipeline.java
>                src/blocks/qdox/java/org/apache/cocoon/components/source/impl
>                         QDoxSourceFactory.java QDoxSource.java
>                src/blocks/chaperon/java/org/apache/cocoon/generation
>                         TextGenerator.java
>   Log:
>   using o.a.commons.lang

>   Index: QDoxSourceFactory.java
>   ===================================================================
>   -        String className = location.substring(location.indexOf(':') + 1);
>   +        String className = StringUtils.substringAfter(location, ":");

>   Index: QDoxSource.java
>   ===================================================================
>        private String resolveMemberNameFromLink(String ref) {
>   -        int hashIndex = ref.indexOf('#');
>   -        if (hashIndex < 0) {
>   -            return "";
>   -        } else {
>   -            return ref.substring(hashIndex + 1);
>   -        }
>   +        return StringUtils.substringAfter(ref, "#");

Still no sleep, Antonio?

One of the above must obviously be wrong IMO as it changes the behaviour 
in comparison to the original code. From commons lang JavaDoc I guess 
it's the QDoxSourceFactory change:
http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/StringUtils.html#substringAfter(java.lang.String,%20java.lang.String)

If the second argument of substringAfter() is not found in the first 
argument, the function returns an empty string. This is why you can 
replace 6 lines in QDoxSource with one line.
But for the original code of QDoxSourceFactory this did not happen. If 
there is no ':' in location, className would be location 
(location.indexOf(':') = -1), now it is empty string. And there it also 
makes not much sense to introduce dependency on another library as it 
saves only 3 chars.

Joerg

Mime
View raw message