This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 75dc80b2b214ed66e19363be641010e2f2422659 Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Aug 14 11:16:45 2019 +0100 More refactoring for re-use --- .../apache/tomcat/buildutil/translate/Export.java | 28 +++-------------- .../apache/tomcat/buildutil/translate/Utils.java | 36 ++++++++++++++++------ 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/java/org/apache/tomcat/buildutil/translate/Export.java b/java/org/apache/tomcat/buildutil/translate/Export.java index 2b963d1..b05ee13 100644 --- a/java/org/apache/tomcat/buildutil/translate/Export.java +++ b/java/org/apache/tomcat/buildutil/translate/Export.java @@ -17,12 +17,7 @@ package org.apache.tomcat.buildutil.translate; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.nio.charset.StandardCharsets; -import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -35,10 +30,11 @@ public class Export { private static final Map<String,Properties> translations = new HashMap<>(); - public static void main(String... args) { + public static void main(String... args) throws IOException { + File root = new File("."); for (String dir : Constants.SEARCH_DIRS) { - File root = new File(dir); - Utils.processDirectory(root, translations); + File directory = new File(dir); + Utils.processDirectory(root, directory, translations); } outputTranslations(); @@ -53,21 +49,7 @@ public class Export { } for (Map.Entry<String,Properties> translationEntry : translations.entrySet()) { - Properties translation = translationEntry.getValue(); - - String language = translationEntry.getKey(); - - File out = new File(storageDir, Constants.L10N_PREFIX + language + Constants.L10N_SUFFIX); - try (FileOutputStream fos = new FileOutputStream(out); - Writer w = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) { - String[] keys = translation.keySet().toArray(new String[0]); - Arrays.sort(keys); - for (Object key : keys) { - w.write(key + "=" + Utils.formatValue(translation.getProperty((String) key)) + "\n"); - } - } catch (IOException ioe) { - ioe.printStackTrace(); - } + Utils.export(translationEntry.getKey(), translationEntry.getValue(), storageDir); } } } diff --git a/java/org/apache/tomcat/buildutil/translate/Utils.java b/java/org/apache/tomcat/buildutil/translate/Utils.java index d441c35..8b69c79 100644 --- a/java/org/apache/tomcat/buildutil/translate/Utils.java +++ b/java/org/apache/tomcat/buildutil/translate/Utils.java @@ -18,10 +18,14 @@ package org.apache.tomcat.buildutil.translate; import java.io.File; import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; +import java.io.OutputStreamWriter; import java.io.Reader; +import java.io.Writer; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.Map; import java.util.Properties; import java.util.regex.Pattern; @@ -73,18 +77,18 @@ public class Utils { } - static void processDirectory(File dir, Map<String,Properties> translations) { + static void processDirectory(File root, File dir, Map<String,Properties> translations) throws IOException { for (File f : dir.listFiles()) { if (f.isDirectory()) { - processDirectory(f, translations); + processDirectory(root, f, translations); } else if (f.isFile()) { - processFile(f, translations); + processFile(root, f, translations); } } } - static void processFile(File f, Map<String,Properties> translations) { + static void processFile(File root, File f, Map<String,Properties> translations) throws IOException { String name = f.getName(); // non-l10n files @@ -95,7 +99,7 @@ public class Utils { // Determine language String language = Utils.getLanguage(name); - String keyPrefix = getKeyPrefix(f); + String keyPrefix = getKeyPrefix(root, f); Properties props = Utils.load(f); // Create a Map for the language if one does not exist. @@ -116,12 +120,26 @@ public class Utils { } - static String getKeyPrefix(File f) { - File wd = new File("."); - String prefix = f.getParentFile().getAbsolutePath(); - prefix = prefix.substring(wd.getAbsolutePath().length() - 1); + static String getKeyPrefix(File root, File f) throws IOException { + String prefix = f.getParentFile().getCanonicalPath(); + prefix = prefix.substring(root.getCanonicalPath().length() + 1); prefix = prefix.replace(File.separatorChar, '.'); prefix = prefix + Constants.END_PACKAGE_MARKER; return prefix; } + + + static void export(String language, Properties translation, File storageDir) { + File out = new File(storageDir, Constants.L10N_PREFIX + language + Constants.L10N_SUFFIX); + try (FileOutputStream fos = new FileOutputStream(out); + Writer w = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) { + String[] keys = translation.keySet().toArray(new String[0]); + Arrays.sort(keys); + for (Object key : keys) { + w.write(key + "=" + Utils.formatValue(translation.getProperty((String) key)) + "\n"); + } + } catch (IOException ioe) { + ioe.printStackTrace(); + } + } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org