ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From umag...@apache.org
Subject cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/i18n Translate.java
Date Fri, 03 Oct 2003 22:21:49 GMT
umagesh     2003/10/03 15:21:49

  Modified:    .        WHATSNEW
               src/etc/testcases/taskdefs/optional/i18n/translate/expected/de
                        template.txt
               src/etc/testcases/taskdefs/optional/i18n/translate/input
                        template.txt
               src/main/org/apache/tools/ant/taskdefs/optional/i18n
                        Translate.java
  Log:
  Translate task does not remove tokens when a key is not found.   It logs a verbose message.
 Bugzilla Report 13936.
  
  Revision  Changes    Path
  1.506     +16 -2     ant/WHATSNEW
  
  Index: WHATSNEW
  ===================================================================
  RCS file: /home/cvs/ant/WHATSNEW,v
  retrieving revision 1.505
  retrieving revision 1.506
  diff -u -r1.505 -r1.506
  --- WHATSNEW	23 Sep 2003 14:33:43 -0000	1.505
  +++ WHATSNEW	3 Oct 2003 22:21:49 -0000	1.506
  @@ -1,5 +1,19 @@
  -Changes from Ant 1.5.4 to current CVS version
  -=============================================
  +Changes from Ant 1.6 to current cvs version
  +===========================================
  +
  +Changes that could break older environments:
  +--------------------------------------------
  +
  +Fixed bugs:
  +-----------
  +* Translate task does not remove tokens when a key is not found.  
  +  It logs a verbose message.  Bugzilla Report 13936.
  +
  +Other changes:
  +--------------
  +
  +Changes from Ant 1.5.4 to Ant 1.6Beta1
  +======================================
   
   Changes that could break older environments:
   --------------------------------------------
  
  
  
  1.3       +1 -1      ant/src/etc/testcases/taskdefs/optional/i18n/translate/expected/de/template.txt
  
  Index: template.txt
  ===================================================================
  RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/i18n/translate/expected/de/template.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- template.txt	30 Jun 2003 13:45:17 -0000	1.2
  +++ template.txt	3 Oct 2003 22:21:49 -0000	1.3
  @@ -1 +1 @@
  -Diese ist eine Demo Datei für die translate_Aufgabe.
  +Diese ist eine Demo Datei für die translate_Aufgabe @missing_token@.
  
  
  
  1.3       +1 -1      ant/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt
  
  Index: template.txt
  ===================================================================
  RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- template.txt	19 Jul 2003 14:29:40 -0000	1.2
  +++ template.txt	3 Oct 2003 22:21:49 -0000	1.3
  @@ -1 +1 @@
  -@This@ @is@ @a@ @demo@ @file@ @for@ @the@ translate@_task@.
  +@This@ @is@ @a@ @demo@ @file@ @for@ @the@ translate@_task@ @missing_token@.
  
  
  
  1.32      +53 -53    ant/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java
  
  Index: Translate.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- Translate.java	22 Aug 2003 15:25:44 -0000	1.31
  +++ Translate.java	3 Oct 2003 22:21:49 -0000	1.32
  @@ -577,66 +577,66 @@
                           lineTokenizer.setIncludeDelims(true);
                           line = lineTokenizer.getToken(in);
                           while ((line) != null) {
  -                        // 2003-02-21 new replace algorithm by tbee (tbee@tbee.org)
  -                        // because it wasn't able to replace something like "@aaa;@bbb;"
  +                            // 2003-02-21 new replace algorithm by tbee (tbee@tbee.org)
  +                            // because it wasn't able to replace something like "@aaa;@bbb;"
   
  -                        // is there a startToken
  -                        // and there is still stuff following the startToken
  -                        int startIndex = line.indexOf(startToken);
  -                        while (startIndex >= 0
  -                            && (startIndex + startToken.length()) <= line.length())
{
  -                            // the new value, this needs to be here
  -                            // because it is required to calculate the next position to
search from
  -                            // at the end of the loop
  -                            String replace = null;
  -
  -                            // we found a starttoken, is there an endtoken following?
  -                            // start at token+tokenlength because start and end
  -                            // token may be indentical
  -                            int endIndex = line.indexOf(endToken, startIndex + startToken.length());
  -                            if (endIndex < 0) {
  -                                startIndex += 1;
  -                            } else {
  -                                // grab the token
  -                                String token
  -                                    = line.substring(startIndex + startToken.length(),
endIndex);
  -
  -                                // If there is a white space or = or :, then
  -                                // it isn't to be treated as a valid key.
  -                                boolean validToken = true;
  -                                for (int k = 0; k < token.length() && validToken;
k++) {
  -                                    char c = token.charAt(k);
  -                                    if (c == ':' || c == '='
  -                                        || Character.isSpaceChar(c)) {
  -                                        validToken = false;
  -                                    }
  -                                }
  -                                if (!validToken) {
  +                            // is there a startToken
  +                            // and there is still stuff following the startToken
  +                            int startIndex = line.indexOf(startToken);
  +                            while (startIndex >= 0
  +                                && (startIndex + startToken.length()) <= line.length())
{
  +                                // the new value, this needs to be here
  +                                // because it is required to calculate the next position
to search from
  +                                // at the end of the loop
  +                                String replace = null;
  +
  +                                // we found a starttoken, is there an endtoken following?
  +                                // start at token+tokenlength because start and end
  +                                // token may be indentical
  +                                int endIndex = line.indexOf(endToken, startIndex + startToken.length());
  +                                if (endIndex < 0) {
                                       startIndex += 1;
                                   } else {
  -                                    // find the replace string
  -                                    if (resourceMap.containsKey(token)) {
  -                                        replace = (String) resourceMap.get(token);
  -                                    } else {
  -                                        replace = token;
  +                                    // grab the token
  +                                    String token
  +                                        = line.substring(startIndex + startToken.length(),
endIndex);
  +
  +                                    // If there is a white space or = or :, then
  +                                    // it isn't to be treated as a valid key.
  +                                    boolean validToken = true;
  +                                    for (int k = 0; k < token.length() && validToken;
k++) {
  +                                        char c = token.charAt(k);
  +                                        if (c == ':' || c == '='
  +                                            || Character.isSpaceChar(c)) {
  +                                            validToken = false;
  +                                        }
                                       }
  +                                    if (!validToken) {
  +                                        startIndex += 1;
  +                                    } else {
  +                                        // find the replace string
  +                                        if (resourceMap.containsKey(token)) {
  +                                            replace = (String) resourceMap.get(token);
  +                                        } else {
  +                                            log("Replacement string missing for: "
  +                                                + token, Project.MSG_VERBOSE);
  +                                            replace = startToken + token + endToken;
  +                                        }
  +
  +
  +                                        // generate the new line
  +                                        line = line.substring(0, startIndex)
  +                                             + replace
  +                                             + line.substring(endIndex + endToken.length());
   
  -
  -                                    // generate the new line
  -                                    line = line.substring(0, startIndex)
  -                                         + replace
  -                                         + line.substring(endIndex + endToken.length());
  -
  -                                    // set start position for next search
  -                                    startIndex += replace.length();
  +                                        // set start position for next search
  +                                        startIndex += replace.length();
  +                                    }
                                   }
  -                            }
  -
  -                            // find next starttoken
  -                            startIndex = line.indexOf(startToken, startIndex);
  -                        }
  -
   
  +                                // find next starttoken
  +                                startIndex = line.indexOf(startToken, startIndex);
  +                            }
                               out.write(line);
                               line = lineTokenizer.getToken(in);
                           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message