diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevParse.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevParse.java index a66b7fa63..fa9f64de4 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevParse.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/RevParse.java @@ -86,7 +86,8 @@ class RevParse extends TextBuiltin { } else { if (verify && commits.size() > 1) { final CmdLineParser clp = new CmdLineParser(this); - throw new CmdLineException(clp, CLIText.get().needSingleRevision); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().needSingleRevision)); } for (final ObjectId o : commits) { diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java index 7d304bc1c..dfb489d82 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/internal/CLIText.java @@ -45,14 +45,47 @@ package org.eclipse.jgit.pgm.internal; import java.text.MessageFormat; +import java.util.Locale; import org.eclipse.jgit.nls.NLS; import org.eclipse.jgit.nls.TranslationBundle; +import org.kohsuke.args4j.Localizable; /** * Translation bundle for JGit command line interface */ public class CLIText extends TranslationBundle { + /** + * Formats text strings using {@code Localizable}. + * + */ + public static class Format implements Localizable { + final String text; + + Format(String text) { + this.text = text; + } + + @Override + public String formatWithLocale(Locale locale, Object... args) { + // we don't care about Locale for now + return format(args); + } + + @Override + public String format(Object... args) { + return MessageFormat.format(text, args); + } + } + + /** + * @param text + * the text to format. + * @return a new Format instance. + */ + public static Format format(String text) { + return new Format(text); + } /** * @return an instance of this translation bundle diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java index 8f56bda5f..587f98ca5 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/AbstractTreeIteratorHandler.java @@ -119,20 +119,25 @@ public class AbstractTreeIteratorHandler extends try { id = clp.getRepository().resolve(name); } catch (IOException e) { - throw new CmdLineException(clp, e.getMessage()); + throw new CmdLineException(clp, CLIText.format(e.getMessage())); } if (id == null) - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notATree), name); final CanonicalTreeParser p = new CanonicalTreeParser(); try (ObjectReader curs = clp.getRepository().newObjectReader()) { p.reset(curs, clp.getRevWalk().parseTree(id)); } catch (MissingObjectException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notATree), name); } catch (IncorrectObjectTypeException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notATree), name); } catch (IOException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().cannotReadBecause), name, + e.getMessage()); } setter.addValue(p); diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/ObjectIdHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/ObjectIdHandler.java index 75ca554ef..74bab2d2e 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/ObjectIdHandler.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/ObjectIdHandler.java @@ -45,7 +45,6 @@ package org.eclipse.jgit.pgm.opt; import java.io.IOException; -import java.text.MessageFormat; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.pgm.internal.CLIText; @@ -86,14 +85,15 @@ public class ObjectIdHandler extends OptionHandler { try { id = clp.getRepository().resolve(name); } catch (IOException e) { - throw new CmdLineException(clp, e.getMessage()); + throw new CmdLineException(clp, CLIText.format(e.getMessage())); } if (id != null) { setter.addValue(id); return 1; } - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notAnObject, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notAnObject), name); } @Override diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java index 7661774f5..27555e344 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevCommitHandler.java @@ -45,7 +45,6 @@ package org.eclipse.jgit.pgm.opt; import java.io.IOException; -import java.text.MessageFormat; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.MissingObjectException; @@ -97,9 +96,8 @@ public class RevCommitHandler extends OptionHandler { if (dot2 != -1) { if (!option.isMultiValued()) throw new CmdLineException(clp, - MessageFormat.format( - CLIText.get().onlyOneMetaVarExpectedIn, - option.metaVar(), name)); + CLIText.format(CLIText.get().onlyOneMetaVarExpectedIn), + option.metaVar(), name); final String left = name.substring(0, dot2); final String right = name.substring(dot2 + 2); @@ -118,20 +116,25 @@ public class RevCommitHandler extends OptionHandler { try { id = clp.getRepository().resolve(name); } catch (IOException e) { - throw new CmdLineException(clp, e.getMessage()); + throw new CmdLineException(clp, CLIText.format(e.getMessage())); } if (id == null) - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notACommit, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notACommit), name); final RevCommit c; try { c = clp.getRevWalk().parseCommit(id); } catch (MissingObjectException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notACommit, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notACommit), name); } catch (IncorrectObjectTypeException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notACommit, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notACommit), name); } catch (IOException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().cannotReadBecause), name, + e.getMessage()); } if (interesting) diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java index 9f1d21ec4..15ed5890e 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/RevTreeHandler.java @@ -45,7 +45,6 @@ package org.eclipse.jgit.pgm.opt; import java.io.IOException; -import java.text.MessageFormat; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.MissingObjectException; @@ -89,20 +88,25 @@ public class RevTreeHandler extends OptionHandler { try { id = clp.getRepository().resolve(name); } catch (IOException e) { - throw new CmdLineException(clp, e.getMessage()); + throw new CmdLineException(clp, CLIText.format(e.getMessage())); } if (id == null) - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notATree), name); final RevTree c; try { c = clp.getRevWalk().parseTree(id); } catch (MissingObjectException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notATree), name); } catch (IncorrectObjectTypeException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().notATree, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notATree), name); } catch (IOException e) { - throw new CmdLineException(clp, MessageFormat.format(CLIText.get().cannotReadBecause, name, e.getMessage())); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().cannotReadBecause), name, + e.getMessage()); } setter.addValue(c); return 1; diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/SubcommandHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/SubcommandHandler.java index 311597e6b..ae5263fba 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/SubcommandHandler.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/SubcommandHandler.java @@ -43,8 +43,6 @@ package org.eclipse.jgit.pgm.opt; -import java.text.MessageFormat; - import org.eclipse.jgit.pgm.CommandCatalog; import org.eclipse.jgit.pgm.CommandRef; import org.eclipse.jgit.pgm.TextBuiltin; @@ -85,8 +83,8 @@ public class SubcommandHandler extends OptionHandler { final String name = params.getParameter(0); final CommandRef cr = CommandCatalog.get(name); if (cr == null) - throw new CmdLineException(clp, MessageFormat.format( - CLIText.get().notAJgitCommand, name)); + throw new CmdLineException(clp, + CLIText.format(CLIText.get().notAJgitCommand), name); // Force option parsing to stop. Everything after us should // be arguments known only to this command and must not be diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/UntrackedFilesHandler.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/UntrackedFilesHandler.java index 3edd0ddbe..e22b2e49b 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/UntrackedFilesHandler.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/UntrackedFilesHandler.java @@ -42,8 +42,6 @@ */ package org.eclipse.jgit.pgm.opt; -import java.text.MessageFormat; - import org.eclipse.jgit.pgm.internal.CLIText; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; @@ -105,8 +103,9 @@ public class UntrackedFilesHandler extends StringOptionHandler { if ("no".equals(mode) || "all".equals(mode)) { //$NON-NLS-1$ //$NON-NLS-2$ setter.addValue(mode); } else { - throw new CmdLineException(owner, MessageFormat - .format(CLIText.get().invalidUntrackedFilesMode, mode)); + throw new CmdLineException(owner, + CLIText.format(CLIText.get().invalidUntrackedFilesMode), + mode); } return 1; } else {