Return-Path: Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 40235 invoked by uid 500); 19 Jul 2003 15:44:58 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 40223 invoked by uid 500); 19 Jul 2003 15:44:58 -0000 Received: (qmail 40220 invoked from network); 19 Jul 2003 15:44:58 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 19 Jul 2003 15:44:58 -0000 Received: (qmail 759 invoked by uid 1652); 19 Jul 2003 15:44:58 -0000 Date: 19 Jul 2003 15:44:58 -0000 Message-ID: <20030719154458.758.qmail@icarus.apache.org> From: antoine@apache.org To: ant-cvs@apache.org Subject: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional/i18n Translate.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N antoine 2003/07/19 08:44:58 Modified: src/main/org/apache/tools/ant/taskdefs/optional/i18n Translate.java Log: style Revision Changes Path 1.29 +73 -18 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.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- Translate.java 19 Jul 2003 14:29:40 -0000 1.28 +++ Translate.java 19 Jul 2003 15:44:57 -0000 1.29 @@ -74,12 +74,47 @@ /** * Translates text embedded in files using Resource Bundle files. + * Since ant 1.6 preserves line endings * * @author Magesh Umasankar, Don Brown * @author Tom Eugelink */ public class Translate extends MatchingTask { - + /** + * search a bundle matching the specified language, the country and the variant + */ + private static final int BUNDLE_SPECIFIED_LANGUAGE_COUNTRY_VARIANT = 0; + /** + * search a bundle matching the specified language, and the country + */ + private static final int BUNDLE_SPECIFIED_LANGUAGE_COUNTRY = 1; + /** + * search a bundle matching the specified language only + */ + private static final int BUNDLE_SPECIFIED_LANGUAGE = 2; + /** + * search a bundle matching nothing special + */ + private static final int BUNDLE_NOMATCH = 3; + /** + * search a bundle matching the language, the country and the variant + * of the current locale of the computer + */ + private static final int BUNDLE_DEFAULT_LANGUAGE_COUNTRY_VARIANT = 4; + /** + * search a bundle matching the language, and the country + * of the current locale of the computer + */ + private static final int BUNDLE_DEFAULT_LANGUAGE_COUNTRY = 5; + /** + * search a bundle matching the language only + * of the current locale of the computer + */ + private static final int BUNDLE_DEFAULT_LANGUAGE = 6; + /** + * number of possibilities for the search + */ + private static final int BUNDLE_MAX_ALTERNATIVES = BUNDLE_DEFAULT_LANGUAGE + 1; /** * Family name of resource bundle */ @@ -154,7 +189,7 @@ /** * Last Modified Timestamp of resource bundle file being used. */ - private long[] bundleLastModified = new long[7]; + private long[] bundleLastModified = new long[BUNDLE_MAX_ALTERNATIVES]; /** * Last Modified Timestamp of source file being used. @@ -173,6 +208,7 @@ /** * Sets Family name of resource bundle; required. + * @param bundle family name of resource bundle */ public void setBundle(String bundle) { this.bundle = bundle; @@ -180,6 +216,7 @@ /** * Sets locale specific language of resource bundle; optional. + * @param bundleLanguage langage of the bundle */ public void setBundleLanguage(String bundleLanguage) { this.bundleLanguage = bundleLanguage; @@ -187,6 +224,7 @@ /** * Sets locale specific country of resource bundle; optional. + * @param bundleCountry country of the bundle */ public void setBundleCountry(String bundleCountry) { this.bundleCountry = bundleCountry; @@ -194,6 +232,7 @@ /** * Sets locale specific variant of resource bundle; optional. + * @param bundleVariant locale variant of resource bundle */ public void setBundleVariant(String bundleVariant) { this.bundleVariant = bundleVariant; @@ -201,6 +240,7 @@ /** * Sets Destination directory; required. + * @param toDir destination directory */ public void setToDir(File toDir) { this.toDir = toDir; @@ -208,6 +248,7 @@ /** * Sets starting token to identify keys; required. + * @param startToken starting token to identify keys */ public void setStartToken(String startToken) { this.startToken = startToken; @@ -215,6 +256,7 @@ /** * Sets ending token to identify keys; required. + * @param endToken ending token to identify keys */ public void setEndToken(String endToken) { this.endToken = endToken; @@ -223,6 +265,7 @@ /** * Sets source file encoding scheme; optional, * defaults to encoding of local system. + * @param srcEncoding source file encoding */ public void setSrcEncoding(String srcEncoding) { this.srcEncoding = srcEncoding; @@ -231,6 +274,7 @@ /** * Sets destination file encoding scheme; optional. Defaults to source file * encoding + * @param destEncoding destination file encoding scheme */ public void setDestEncoding(String destEncoding) { this.destEncoding = destEncoding; @@ -239,6 +283,7 @@ /** * Sets Resource Bundle file encoding scheme; optional. Defaults to source file * encoding + * @param bundleEncoding bundle file encoding scheme */ public void setBundleEncoding(String bundleEncoding) { this.bundleEncoding = bundleEncoding; @@ -249,6 +294,7 @@ * whether it is newer than the source file as well as the * resource bundle file. * Defaults to false. + * @param forceOverwrite whether or not to overwrite existing files */ public void setForceOverwrite(boolean forceOverwrite) { this.forceOverwrite = forceOverwrite; @@ -256,6 +302,7 @@ /** * Adds a set of files to translate as a nested fileset element. + * @param set the fileset to be added */ public void addFileset(FileSet set) { filesets.addElement(set); @@ -263,6 +310,12 @@ /** * Check attributes values, load resource map and translate + * @throws BuildException if the required attributes are not set + * Required :
    + *
  • bundle
  • + *
  • starttoken
  • + *
  • endtoken
  • + *
*/ public void execute() throws BuildException { if (bundle == null) { @@ -352,16 +405,16 @@ String variant = locale.getVariant().length() > 0 ? "_" + locale.getVariant() : ""; String bundleFile = bundle + language + country + variant; - processBundle(bundleFile, 0, false); + processBundle(bundleFile, BUNDLE_SPECIFIED_LANGUAGE_COUNTRY_VARIANT, false); bundleFile = bundle + language + country; - processBundle(bundleFile, 1, false); + processBundle(bundleFile, BUNDLE_SPECIFIED_LANGUAGE_COUNTRY, false); bundleFile = bundle + language; - processBundle(bundleFile, 2, false); + processBundle(bundleFile, BUNDLE_SPECIFIED_LANGUAGE, false); bundleFile = bundle; - processBundle(bundleFile, 3, false); + processBundle(bundleFile, BUNDLE_NOMATCH, false); //Load default locale bundle files //using default file encoding scheme. @@ -376,13 +429,13 @@ bundleEncoding = System.getProperty("file.encoding"); bundleFile = bundle + language + country + variant; - processBundle(bundleFile, 4, false); + processBundle(bundleFile, BUNDLE_DEFAULT_LANGUAGE_COUNTRY_VARIANT, false); bundleFile = bundle + language + country; - processBundle(bundleFile, 5, false); + processBundle(bundleFile, BUNDLE_DEFAULT_LANGUAGE_COUNTRY, false); bundleFile = bundle + language; - processBundle(bundleFile, 6, true); + processBundle(bundleFile, BUNDLE_DEFAULT_LANGUAGE, true); } /** @@ -500,15 +553,17 @@ File src = fileUtils.resolveFile(ds.getBasedir(), srcFiles[j]); srcLastModified = src.lastModified(); //Check to see if dest file has to be recreated - if (forceOverwrite - || destLastModified < srcLastModified - || destLastModified < bundleLastModified[0] - || destLastModified < bundleLastModified[1] - || destLastModified < bundleLastModified[2] - || destLastModified < bundleLastModified[3] - || destLastModified < bundleLastModified[4] - || destLastModified < bundleLastModified[5] - || destLastModified < bundleLastModified[6]) { + boolean needsWork = forceOverwrite + || destLastModified < srcLastModified; + if (!needsWork) { + for (int icounter = 0; icounter < BUNDLE_MAX_ALTERNATIVES; icounter++) { + needsWork = (destLastModified < bundleLastModified[icounter]); + if (needsWork) { + break; + } + } + } + if (needsWork) { log("Processing " + srcFiles[j], Project.MSG_DEBUG); FileOutputStream fos = new FileOutputStream(dest); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org