Add Localizable class to fix CmdLineException deprecation warnings
In the updated version of args4j the constructor: CmdLineException(CmdLineParser, String) is deprecated in favor of: CmdLineException(CmdLineParser, Localizable, String...) Add a new Localizable class that implements the expected interface, and replace usage of the deprecated constructor across the Gerrit code except in AsciiDoctor and DocIndexer. The latter don't really need to use CmdLineException; this will be fixed in a separate commit. Change-Id: I7033c0dd764780a163953ca9fc39da228ac20707
This commit is contained in:
@@ -34,6 +34,8 @@
|
||||
|
||||
package com.google.gerrit.util.cli;
|
||||
|
||||
import static com.google.gerrit.util.cli.Localizable.localizable;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Lists;
|
||||
@@ -320,7 +322,7 @@ public class CmdLineParser {
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new CmdLineException(parser, String.format("invalid boolean \"%s=%s\"", name, value));
|
||||
throw new CmdLineException(parser, localizable("invalid boolean \"%s=%s\""), name, value);
|
||||
}
|
||||
|
||||
private static class PrefixedOption implements Option {
|
||||
@@ -586,6 +588,6 @@ public class CmdLineParser {
|
||||
}
|
||||
|
||||
public CmdLineException reject(String message) {
|
||||
return new CmdLineException(parser, message);
|
||||
return new CmdLineException(parser, localizable(message));
|
||||
}
|
||||
}
|
||||
|
||||
39
java/com/google/gerrit/util/cli/Localizable.java
Normal file
39
java/com/google/gerrit/util/cli/Localizable.java
Normal file
@@ -0,0 +1,39 @@
|
||||
// Copyright (C) 2018 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.gerrit.util.cli;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class Localizable implements org.kohsuke.args4j.Localizable {
|
||||
private final String format;
|
||||
|
||||
@Override
|
||||
public String formatWithLocale(Locale locale, Object... args) {
|
||||
return String.format(locale, format, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String format(Object... args) {
|
||||
return String.format(format, args);
|
||||
}
|
||||
|
||||
private Localizable(String format) {
|
||||
this.format = format;
|
||||
}
|
||||
|
||||
public static Localizable localizable(String format) {
|
||||
return new Localizable(format);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user