You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@joshua.apache.org by to...@apache.org on 2016/09/26 12:21:38 UTC
[1/3] incubator-joshua git commit: static analysis based code
improvements on tools package
Repository: incubator-joshua
Updated Branches:
refs/heads/master 69302df5c -> e2a1e6a03
static analysis based code improvements on tools package
Project: http://git-wip-us.apache.org/repos/asf/incubator-joshua/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-joshua/commit/03f4da78
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/03f4da78
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/03f4da78
Branch: refs/heads/master
Commit: 03f4da782be7db22fc2dd677079cc33d99330077
Parents: 69302df
Author: Tommaso Teofili <to...@apache.org>
Authored: Mon Sep 26 14:10:45 2016 +0200
Committer: Tommaso Teofili <to...@apache.org>
Committed: Mon Sep 26 14:10:45 2016 +0200
----------------------------------------------------------------------
.../org/apache/joshua/tools/GrammarPacker.java | 94 ++++++++++----------
.../apache/joshua/tools/GrammarPackerCli.java | 37 +++-----
.../org/apache/joshua/tools/LabelPhrases.java | 2 +-
.../org/apache/joshua/tools/TestSetFilter.java | 49 +++++-----
4 files changed, 87 insertions(+), 95 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/03f4da78/src/main/java/org/apache/joshua/tools/GrammarPacker.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/tools/GrammarPacker.java b/src/main/java/org/apache/joshua/tools/GrammarPacker.java
index 8086306..0599ae7 100644
--- a/src/main/java/org/apache/joshua/tools/GrammarPacker.java
+++ b/src/main/java/org/apache/joshua/tools/GrammarPacker.java
@@ -74,17 +74,17 @@ public class GrammarPacker {
public static final int VERSION = 4;
// Size limit for slice in bytes.
- private static int DATA_SIZE_LIMIT = (int) (Integer.MAX_VALUE * 0.8);
+ private static final int DATA_SIZE_LIMIT = (int) (Integer.MAX_VALUE * 0.8);
// Estimated average number of feature entries for one rule.
- private static int DATA_SIZE_ESTIMATE = 20;
+ private static final int DATA_SIZE_ESTIMATE = 20;
private static final String SOURCE_WORDS_SEPARATOR = " ||| ";
// Output directory name.
- private String output;
+ private final String output;
// Input grammar to be packed.
- private String grammar;
+ private final String grammar;
public String getGrammar() {
return grammar;
@@ -97,16 +97,16 @@ public class GrammarPacker {
// Approximate maximum size of a slice in number of rules
private int approximateMaximumSliceSize;
- private boolean labeled;
+ private final boolean labeled;
- private boolean packAlignments;
- private boolean grammarAlignments;
- private String alignments;
+ private final boolean packAlignments;
+ private final boolean grammarAlignments;
+ private final String alignments;
- private FeatureTypeAnalyzer types;
+ private final FeatureTypeAnalyzer types;
private EncoderConfiguration encoderConfig;
- private String dump;
+ private final String dump;
private int max_source_len;
@@ -149,7 +149,7 @@ public class GrammarPacker {
}
private void readConfig(String config_filename) throws IOException {
- try(LineReader reader = new LineReader(config_filename);) {
+ try(LineReader reader = new LineReader(config_filename)) {
while (reader.hasNext()) {
// Clean up line, chop comments off and skip if the result is empty.
String line = reader.next().trim();
@@ -231,12 +231,11 @@ public class GrammarPacker {
/**
* Returns a reader that turns whatever file format is found into Hiero grammar rules.
*
- * @param grammarFile
- * @return
+ * @return a Hiero format reader
* @throws IOException
*/
private HieroFormatReader getGrammarReader() throws IOException {
- try (LineReader reader = new LineReader(grammar);) {
+ try (LineReader reader = new LineReader(grammar)) {
String line = reader.next();
if (line.startsWith("[")) {
return new HieroFormatReader(grammar);
@@ -248,7 +247,7 @@ public class GrammarPacker {
/**
* This first pass over the grammar
- * @param reader
+ * @param reader the Hiero format reader
*/
private void explore(HieroFormatReader reader) {
@@ -272,15 +271,15 @@ public class GrammarPacker {
// appropriate encoder.
int feature_counter = 0;
String[] features = rule.getFeatureString().split("\\s+");
- for (int f = 0; f < features.length; ++f) {
- if (features[f].contains("=")) {
- String[] fe = features[f].split("=");
+ for (String feature : features) {
+ if (feature.contains("=")) {
+ String[] fe = feature.split("=");
if (fe[0].equals("Alignment"))
continue;
types.observe(Vocabulary.id(fe[0]), Float.parseFloat(fe[1]));
} else {
- types.observe(Vocabulary.id(String.valueOf(feature_counter++)),
- Float.parseFloat(features[f]));
+ types
+ .observe(Vocabulary.id(String.valueOf(feature_counter++)), Float.parseFloat(feature));
}
}
}
@@ -303,15 +302,15 @@ public class GrammarPacker {
// to determine when flushing is possible
String prev_first_two_source_words = null;
- PackingTrie<SourceValue> source_trie = new PackingTrie<SourceValue>();
- PackingTrie<TargetValue> target_trie = new PackingTrie<TargetValue>();
+ PackingTrie<SourceValue> source_trie = new PackingTrie<>();
+ PackingTrie<TargetValue> target_trie = new PackingTrie<>();
FeatureBuffer feature_buffer = new FeatureBuffer();
AlignmentBuffer alignment_buffer = null;
if (packAlignments)
alignment_buffer = new AlignmentBuffer();
- TreeMap<Integer, Float> features = new TreeMap<Integer, Float>();
+ TreeMap<Integer, Float> features = new TreeMap<>();
for (Rule rule: grammarReader) {
counter++;
slice_counter++;
@@ -383,8 +382,7 @@ public class GrammarPacker {
// to pass on to the source trie node.
features.clear();
int feature_count = 0;
- for (int f = 0; f < feature_entries.length; ++f) {
- String feature_entry = feature_entries[f];
+ for (String feature_entry : feature_entries) {
int feature_id;
float feature_value;
if (feature_entry.contains("=")) {
@@ -444,10 +442,10 @@ public class GrammarPacker {
* stores the rule's lhs as well as links to the target and feature stream. The feature stream is
* prompted to write out a block
*
- * @param source_trie
- * @param target_trie
- * @param feature_buffer
- * @param id
+ * @param source_trie the source Trie
+ * @param target_trie the target Trie
+ * @param feature_buffer the feature buffer
+ * @param id the id of the piece of grammar to flush
* @throws IOException
*/
private void flush(PackingTrie<SourceValue> source_trie,
@@ -473,14 +471,14 @@ public class GrammarPacker {
// Add trie root into queue, set target position to 0 and set cumulated
// size to size of trie root.
- target_queue = new LinkedList<PackingTrie<TargetValue>>();
+ target_queue = new LinkedList<>();
target_queue.add(target_trie);
target_position = 0;
// Target lookup table for trie levels.
int current_level_size = 1;
int next_level_size = 0;
- ArrayList<Integer> target_lookup = new ArrayList<Integer>();
+ ArrayList<Integer> target_lookup = new ArrayList<>();
// Packing loop for upwards-pointing target trie.
while (!target_queue.isEmpty()) {
@@ -518,7 +516,7 @@ public class GrammarPacker {
target_lookup_stream.close();
// Setting up for source and data writing.
- source_queue = new LinkedList<PackingTrie<SourceValue>>();
+ source_queue = new LinkedList<>();
source_queue.add(source_trie);
source_position = source_trie.size(true, false);
source_trie.address = target_position;
@@ -594,8 +592,8 @@ public class GrammarPacker {
int symbol;
PackingTrie<D> parent;
- TreeMap<Integer, PackingTrie<D>> children;
- List<D> values;
+ final TreeMap<Integer, PackingTrie<D>> children;
+ final List<D> values;
int address;
@@ -605,8 +603,8 @@ public class GrammarPacker {
symbol = 0;
parent = null;
- children = new TreeMap<Integer, PackingTrie<D>>();
- values = new ArrayList<D>();
+ children = new TreeMap<>();
+ values = new ArrayList<>();
}
PackingTrie(PackingTrie<D> parent, int symbol) {
@@ -625,7 +623,7 @@ public class GrammarPacker {
else {
PackingTrie<D> child = children.get(path[index]);
if (child == null) {
- child = new PackingTrie<D>(this, path[index]);
+ child = new PackingTrie<>(this, path[index]);
children.put(path[index], child);
}
child.add(path, index + 1, value);
@@ -696,7 +694,7 @@ public class GrammarPacker {
}
class TargetValue implements PackingTrieValue {
- SourceValue parent;
+ final SourceValue parent;
TargetValue(SourceValue parent) {
this.parent = parent;
@@ -712,14 +710,14 @@ public class GrammarPacker {
private byte[] backing;
protected ByteBuffer buffer;
- protected ArrayList<Integer> memoryLookup;
+ protected final ArrayList<Integer> memoryLookup;
protected int totalSize;
- protected ArrayList<Integer> onDiskOrder;
+ protected final ArrayList<Integer> onDiskOrder;
- PackingBuffer() throws IOException {
+ PackingBuffer() {
allocate();
- memoryLookup = new ArrayList<Integer>();
- onDiskOrder = new ArrayList<Integer>();
+ memoryLookup = new ArrayList<>();
+ onDiskOrder = new ArrayList<>();
totalSize = 0;
}
@@ -735,7 +733,7 @@ public class GrammarPacker {
protected void reallocate() {
if (backing.length == Integer.MAX_VALUE)
return;
- long attempted_length = backing.length * 2l;
+ long attempted_length = backing.length * 2L;
int new_length;
// Detect overflow.
if (attempted_length >= Integer.MAX_VALUE)
@@ -904,11 +902,11 @@ public class GrammarPacker {
}
class PackingFileTuple implements Comparable<PackingFileTuple> {
- private File sourceFile;
- private File targetLookupFile;
- private File targetFile;
+ private final File sourceFile;
+ private final File targetLookupFile;
+ private final File targetFile;
- private File featureFile;
+ private final File featureFile;
private File alignmentFile;
PackingFileTuple(String prefix) {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/03f4da78/src/main/java/org/apache/joshua/tools/GrammarPackerCli.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/tools/GrammarPackerCli.java b/src/main/java/org/apache/joshua/tools/GrammarPackerCli.java
index 3cd4d0c..bb9ebc6 100644
--- a/src/main/java/org/apache/joshua/tools/GrammarPackerCli.java
+++ b/src/main/java/org/apache/joshua/tools/GrammarPackerCli.java
@@ -22,6 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
@@ -36,38 +37,34 @@ public class GrammarPackerCli {
// Input grammars to be packed (with a joint vocabulary)
@Option(name = "--grammars", aliases = {"-g", "-i"}, handler = StringArrayOptionHandler.class, required = true, usage = "list of grammars to pack (jointly, i.e. they share the same vocabulary)")
- private List<String> grammars = new ArrayList<>();
+ private final List<String> grammars = new ArrayList<>();
// Output grammars
@Option(name = "--outputs", aliases = {"-p", "-o"}, handler = StringArrayOptionHandler.class, required = true, usage = "output directories of packed grammars.")
- private List<String> outputs = new ArrayList<>();
+ private final List<String> outputs = new ArrayList<>();
// Output grammars
@Option(name = "--alignments", aliases = {"-a", "--fa"}, handler = StringArrayOptionHandler.class, required = false, usage = "alignment files")
- private List<String> alignments_filenames = new ArrayList<>();
+ private final List<String> alignments_filenames = new ArrayList<>();
// Config filename
@Option(name = "--config_file", aliases = {"-c"}, required = false, usage = "(optional) packing configuration file")
private String config_filename;
@Option(name = "--dump_files", aliases = {"-d"}, handler = StringArrayOptionHandler.class, usage = "(optional) dump feature stats to file")
- private List<String> featuredump_filenames = new ArrayList<>();
+ private final List<String> featuredump_filenames = new ArrayList<>();
@Option(name = "--ga", usage = "whether alignments are present in the grammar")
- private boolean grammar_alignments = false;
+ private final boolean grammar_alignments = false;
@Option(name = "--slice_size", aliases = {"-s"}, required = false, usage = "approximate slice size in # of rules (default=1000000)")
- private int slice_size = 1000000;
+ private final int slice_size = 1000000;
private void run() throws IOException {
final List<String> missingFilenames = new ArrayList<>(grammars.size());
- for (final String g : grammars) {
- if (!new File(g).exists()) {
- missingFilenames.add(g);
- }
- }
+ missingFilenames.addAll(grammars.stream().filter(g -> !new File(g).exists()).collect(Collectors.toList()));
if (!missingFilenames.isEmpty()) {
throw new IOException("Input grammar files not found: " + missingFilenames.toString());
}
@@ -81,28 +78,20 @@ public class GrammarPackerCli {
throw new IOException("Must provide an output directory for each grammar");
}
final List<String> existingOutputs = new ArrayList<>(outputs.size());
- for (final String o : outputs) {
- if (new File(o).exists()) {
- existingOutputs.add(o);
- }
- }
+ existingOutputs
+ .addAll(outputs.stream().filter(o -> new File(o).exists()).collect(Collectors.toList()));
if (!existingOutputs.isEmpty()) {
throw new IOException("These output directories already exist (will not overwrite): " + existingOutputs.toString());
}
}
if (outputs.isEmpty()) {
- for (final String g : grammars) {
- outputs.add(g + ".packed");
- }
+ outputs.addAll(grammars.stream().map(g -> g + ".packed").collect(Collectors.toList()));
}
if (!alignments_filenames.isEmpty()) {
final List<String> missingAlignmentFiles = new ArrayList<>(alignments_filenames.size());
- for (final String a : alignments_filenames) {
- if (!new File(a).exists()) {
- missingAlignmentFiles.add(a);
- }
- }
+ missingAlignmentFiles.addAll(alignments_filenames.stream().filter(a -> !new File(a).exists())
+ .collect(Collectors.toList()));
if (!missingAlignmentFiles.isEmpty()) {
throw new IOException("Alignment files not found: " + missingAlignmentFiles.toString());
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/03f4da78/src/main/java/org/apache/joshua/tools/LabelPhrases.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/tools/LabelPhrases.java b/src/main/java/org/apache/joshua/tools/LabelPhrases.java
index 8f15b0e..9d3d0d9 100644
--- a/src/main/java/org/apache/joshua/tools/LabelPhrases.java
+++ b/src/main/java/org/apache/joshua/tools/LabelPhrases.java
@@ -60,7 +60,7 @@ public class LabelPhrases {
System.exit(-1);
}
- try (LineReader phrase_reader = new LineReader(phrase_file_name);) {
+ try (LineReader phrase_reader = new LineReader(phrase_file_name)) {
while (phrase_reader.ready()) {
String line = phrase_reader.readLine();
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/03f4da78/src/main/java/org/apache/joshua/tools/TestSetFilter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/tools/TestSetFilter.java b/src/main/java/org/apache/joshua/tools/TestSetFilter.java
index f73f02d..577bcaa 100644
--- a/src/main/java/org/apache/joshua/tools/TestSetFilter.java
+++ b/src/main/java/org/apache/joshua/tools/TestSetFilter.java
@@ -78,14 +78,19 @@ public class TestSetFilter {
}
public void setFilter(String type) {
- if (type.equals("fast"))
+ switch (type) {
+ case "fast":
filter = new FastFilter();
- else if (type.equals("exact"))
+ break;
+ case "exact":
filter = new ExactFilter();
- else if (type.equals("loose"))
+ break;
+ case "loose":
filter = new LooseFilter();
- else
+ break;
+ default:
throw new RuntimeException(String.format("Invalid filter type '%s'", type));
+ }
}
public void setRuleLength(int value) {
@@ -143,17 +148,17 @@ public class TestSetFilter {
private interface Filter {
/* Tell the filter about a sentence in the test set being filtered to */
- public void addSentence(String sentence);
+ void addSentence(String sentence);
/* Returns true if the filter permits the specified source side */
- public boolean permits(String sourceSide);
+ boolean permits(String sourceSide);
}
private class FastFilter implements Filter {
private Set<String> ngrams = null;
public FastFilter() {
- ngrams = new HashSet<String>();
+ ngrams = new HashSet<>();
}
@Override
@@ -192,7 +197,7 @@ public class TestSetFilter {
List<String> testSentences = null;
public LooseFilter() {
- testSentences = new ArrayList<String>();
+ testSentences = new ArrayList<>();
}
@Override
@@ -225,13 +230,13 @@ public class TestSetFilter {
*/
private class ExactFilter implements Filter {
private FastFilter fastFilter = null;
- private Map<String, Set<Integer>> sentencesByWord;
+ private final Map<String, Set<Integer>> sentencesByWord;
List<String> testSentences = null;
public ExactFilter() {
fastFilter = new FastFilter();
- sentencesByWord = new HashMap<String, Set<Integer>>();
- testSentences = new ArrayList<String>();
+ sentencesByWord = new HashMap<>();
+ testSentences = new ArrayList<>();
}
@Override
@@ -276,7 +281,7 @@ public class TestSetFilter {
String[] tokens = sentence.split("\\s+");
for (String t : tokens) {
if (! sentencesByWord.containsKey(t))
- sentencesByWord.put(t, new HashSet<Integer>());
+ sentencesByWord.put(t, new HashSet<>());
sentencesByWord.get(t).add(index);
}
}
@@ -287,7 +292,7 @@ public class TestSetFilter {
if (!token.matches(NT_REGEX)) {
if (sentencesByWord.containsKey(token)) {
if (sentences == null)
- sentences = new HashSet<Integer>(sentencesByWord.get(token));
+ sentences = new HashSet<>(sentencesByWord.get(token));
else
sentences.retainAll(sentencesByWord.get(token));
}
@@ -317,25 +322,26 @@ public class TestSetFilter {
TestSetFilter filter = new TestSetFilter();
for (int i = 0; i < argv.length; i++) {
- if (argv[i].equals("-v")) {
+ switch (argv[i]) {
+ case "-v":
filter.setVerbose(true);
continue;
- } else if (argv[i].equals("-p")) {
+ case "-p":
filter.setParallel(true);
continue;
- } else if (argv[i].equals("-g")) {
+ case "-g":
grammarFile = argv[++i];
continue;
- } else if (argv[i].equals("-f")) {
+ case "-f":
filter.setFilter("fast");
continue;
- } else if (argv[i].equals("-e")) {
+ case "-e":
filter.setFilter("exact");
continue;
- } else if (argv[i].equals("-l")) {
+ case "-l":
filter.setFilter("loose");
continue;
- } else if (argv[i].equals("-n")) {
+ case "-n":
filter.setRuleLength(Integer.parseInt(argv[i + 1]));
i++;
continue;
@@ -352,7 +358,7 @@ public class TestSetFilter {
}
try(LineReader reader = (grammarFile != null)
? new LineReader(grammarFile, filter.verbose)
- : new LineReader(System.in);) {
+ : new LineReader(System.in)) {
for (String rule: reader) {
rulesIn++;
@@ -378,7 +384,6 @@ public class TestSetFilter {
System.err.println("[INFO] cached queries: " + filter.cached);
}
- return;
}
}
}
[3/3] incubator-joshua git commit: static analysis based code
improvements on utils package
Posted by to...@apache.org.
static analysis based code improvements on utils package
Project: http://git-wip-us.apache.org/repos/asf/incubator-joshua/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-joshua/commit/e2a1e6a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/e2a1e6a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/e2a1e6a0
Branch: refs/heads/master
Commit: e2a1e6a03063379bed3574ec3ae8968afdb1d21e
Parents: 8e39692
Author: Tommaso Teofili <to...@apache.org>
Authored: Mon Sep 26 14:18:11 2016 +0200
Committer: Tommaso Teofili <to...@apache.org>
Committed: Mon Sep 26 14:18:11 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/joshua/util/Algorithms.java | 4 +-
src/main/java/org/apache/joshua/util/Bits.java | 8 +-
src/main/java/org/apache/joshua/util/Cache.java | 2 +-
.../java/org/apache/joshua/util/ChartSpan.java | 4 +-
.../java/org/apache/joshua/util/Counted.java | 6 +-
.../java/org/apache/joshua/util/Counts.java | 18 +--
.../org/apache/joshua/util/ExtractTopCand.java | 6 +-
.../org/apache/joshua/util/FileUtility.java | 2 +-
.../java/org/apache/joshua/util/JoshuaEval.java | 38 +++---
.../apache/joshua/util/NBestListUtility.java | 4 +-
src/main/java/org/apache/joshua/util/Ngram.java | 7 +-
.../apache/joshua/util/PackedGrammarServer.java | 5 +-
.../java/org/apache/joshua/util/Platform.java | 2 +-
.../org/apache/joshua/util/StreamGobbler.java | 4 +-
.../joshua/util/UnicodeCharacterName.java | 132 +++++++++----------
.../apache/joshua/util/encoding/Analyzer.java | 22 ++--
.../joshua/util/encoding/EightBitQuantizer.java | 4 +-
.../util/encoding/EncoderConfiguration.java | 4 +-
.../util/encoding/FeatureTypeAnalyzer.java | 28 ++--
.../joshua/util/encoding/FloatEncoder.java | 12 +-
.../apache/joshua/util/encoding/IntEncoder.java | 12 +-
.../util/encoding/PrimitiveFloatEncoder.java | 2 +-
.../util/encoding/PrimitiveIntEncoder.java | 8 +-
.../org/apache/joshua/util/io/BinaryIn.java | 4 +-
.../org/apache/joshua/util/io/BinaryOut.java | 8 +-
.../util/io/ExistingUTF8EncodedTextFile.java | 6 +-
.../org/apache/joshua/util/io/LineReader.java | 2 +-
.../joshua/util/quantization/Quantizer.java | 16 +--
.../quantization/QuantizerConfiguration.java | 15 +--
.../util/quantization/StatelessQuantizer.java | 2 +-
30 files changed, 193 insertions(+), 194 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Algorithms.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Algorithms.java b/src/main/java/org/apache/joshua/util/Algorithms.java
index 327c882..270c048 100644
--- a/src/main/java/org/apache/joshua/util/Algorithms.java
+++ b/src/main/java/org/apache/joshua/util/Algorithms.java
@@ -29,7 +29,7 @@ public final class Algorithms {
* @param source todo
* @return the minimum edit distance.
*/
- public static final int levenshtein(String[] candidate, String[] source) {
+ public static int levenshtein(String[] candidate, String[] source) {
// First check to see whether either of the arrays
// is empty, in which case the least cost is simply
// the length of the other array (which would correspond
@@ -74,7 +74,7 @@ public final class Algorithms {
/**
* Returns the minimum of the three values.
*/
- private static final int minimum(int a, int b, int c) {
+ private static int minimum(int a, int b, int c) {
int minimum;
minimum = a;
if (b < minimum) minimum = b;
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Bits.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Bits.java b/src/main/java/org/apache/joshua/util/Bits.java
index b5294f6..b3e6482 100644
--- a/src/main/java/org/apache/joshua/util/Bits.java
+++ b/src/main/java/org/apache/joshua/util/Bits.java
@@ -54,7 +54,7 @@ public class Bits {
*/
public static short decodeHighBits(int i) {
- long key = i & 0xFFFF0000l;
+ long key = i & 0xFFFF0000L;
key >>= 16;
@@ -86,11 +86,11 @@ public class Bits {
public static long encodeAsLong(int high, int low) {
// Store the first int value in the highest 32 bits of the long
- long key = high | 0x0000000000000000l;
+ long key = high | 0x0000000000000000L;
key <<= 32;
// Store the second int value in the lowest 32 bits of the long
- long lowLong = low & 0x00000000FFFFFFFFl;;
+ long lowLong = low & 0x00000000FFFFFFFFL;
key |= lowLong;
return key;
@@ -105,7 +105,7 @@ public class Bits {
*/
public static int decodeHighBits(long l) {
- long key = l & 0xFFFFFFFF00000000l;
+ long key = l & 0xFFFFFFFF00000000L;
key >>= 32;
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Cache.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Cache.java b/src/main/java/org/apache/joshua/util/Cache.java
index 0d72f8a..cacb086 100644
--- a/src/main/java/org/apache/joshua/util/Cache.java
+++ b/src/main/java/org/apache/joshua/util/Cache.java
@@ -69,7 +69,7 @@ public class Cache<K, V> extends LinkedHashMap<K, V> {
// ===============================================================
/** Maximum number of items that the cache can contain. */
- int maxCapacity;
+ final int maxCapacity;
// ===============================================================
// Constructor(s)
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/ChartSpan.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/ChartSpan.java b/src/main/java/org/apache/joshua/util/ChartSpan.java
index b22d2aa..544a967 100644
--- a/src/main/java/org/apache/joshua/util/ChartSpan.java
+++ b/src/main/java/org/apache/joshua/util/ChartSpan.java
@@ -37,8 +37,8 @@ package org.apache.joshua.util;
* @author Matt Post post@cs.jhu.edu
*/
public class ChartSpan<Type> {
- Object[] chart;
- int max;
+ final Object[] chart;
+ final int max;
public ChartSpan(int w, Type defaultValue) {
//System.err.println(String.format("ChartSpan::ChartSpan(%d)", w));
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Counted.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Counted.java b/src/main/java/org/apache/joshua/util/Counted.java
index 9f719b3..03b5a8a 100644
--- a/src/main/java/org/apache/joshua/util/Counted.java
+++ b/src/main/java/org/apache/joshua/util/Counted.java
@@ -83,10 +83,6 @@ public class Counted<E> implements Comparable<Counted<E>> {
* order of the counts associated with each object
*/
public static <E> Comparator<Counted<E>> getDescendingComparator() {
- return new Comparator<Counted<E>>() {
- public int compare(Counted<E> o1, Counted<E> o2) {
- return (o2.count.compareTo(o1.count));
- }
- };
+ return (o1, o2) -> (o2.count.compareTo(o1.count));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Counts.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Counts.java b/src/main/java/org/apache/joshua/util/Counts.java
index 89a9f38..ea30347 100644
--- a/src/main/java/org/apache/joshua/util/Counts.java
+++ b/src/main/java/org/apache/joshua/util/Counts.java
@@ -66,10 +66,10 @@ public class Counts<A, B> implements Iterable<Pair<A, B>> {
*/
public Counts(float floorProbability) {
this.floorProbability = floorProbability;
- this.counts = new HashMap<A, Map<B, Integer>>();
- this.bTotals = new HashMap<B, Integer>();
- this.probabilities = new HashMap<A, Map<B, Float>>();
- this.reverseProbabilities = new HashMap<B, Map<A, Float>>();
+ this.counts = new HashMap<>();
+ this.bTotals = new HashMap<>();
+ this.probabilities = new HashMap<>();
+ this.reverseProbabilities = new HashMap<>();
}
@@ -86,7 +86,7 @@ public class Counts<A, B> implements Iterable<Pair<A, B>> {
if (counts.containsKey(a)) {
bMap = counts.get(a);
} else {
- bMap = new HashMap<B, Integer>();
+ bMap = new HashMap<>();
counts.put(a, bMap);
}
@@ -145,7 +145,7 @@ public class Counts<A, B> implements Iterable<Pair<A, B>> {
/**
* Gets the total number of times the specified element has been seen.
*
- * @param b
+ * @param b the element to count
* @return the total number of times the specified element has been seen
*/
int getCount(B b) {
@@ -179,7 +179,7 @@ public class Counts<A, B> implements Iterable<Pair<A, B>> {
if (probabilities.containsKey(a)) {
bMap = probabilities.get(a);
} else {
- bMap = new HashMap<B, Float>();
+ bMap = new HashMap<>();
}
@@ -223,7 +223,7 @@ public class Counts<A, B> implements Iterable<Pair<A, B>> {
if (reverseProbabilities.containsKey(b)) {
aMap = reverseProbabilities.get(b);
} else {
- aMap = new HashMap<A, Float>();
+ aMap = new HashMap<>();
}
if (aMap.containsKey(a)) {
@@ -293,7 +293,7 @@ public class Counts<A, B> implements Iterable<Pair<A, B>> {
bIterator = entry.getValue().keySet().iterator();
}
- return new Pair<A, B>(entry.getKey(), bIterator.next());
+ return new Pair<>(entry.getKey(), bIterator.next());
}
public void remove() {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/ExtractTopCand.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/ExtractTopCand.java b/src/main/java/org/apache/joshua/util/ExtractTopCand.java
index 8f9b575..1578960 100644
--- a/src/main/java/org/apache/joshua/util/ExtractTopCand.java
+++ b/src/main/java/org/apache/joshua/util/ExtractTopCand.java
@@ -76,10 +76,8 @@ public class ExtractTopCand {
try {
// TODO: see documentation for extractOneBest
// regarding using an n-best SegmentFileParser.
- IndexedReader<String> nbestReader =
- new IndexedReader<String>("line", "-".equals(inFile)
- ? new LineReader(System.in)
- : new LineReader(inFile));
+ IndexedReader<String> nbestReader = new IndexedReader<>("line",
+ "-".equals(inFile) ? new LineReader(System.in) : new LineReader(inFile));
/*
* TODO: This duplicates FileUtility.getWriteFileStream but with the addition of defaulting to
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/FileUtility.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/FileUtility.java b/src/main/java/org/apache/joshua/util/FileUtility.java
index 0f13e6a..d257af0 100644
--- a/src/main/java/org/apache/joshua/util/FileUtility.java
+++ b/src/main/java/org/apache/joshua/util/FileUtility.java
@@ -55,7 +55,7 @@ public class FileUtility {
* @return the parent path
*/
static public String dirname(String fileName) {
- if (fileName.indexOf(File.separator) != -1)
+ if (fileName.contains(File.separator))
return fileName.substring(0, fileName.lastIndexOf(File.separator));
return ".";
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/JoshuaEval.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/JoshuaEval.java b/src/main/java/org/apache/joshua/util/JoshuaEval.java
index 79473ee..e7c1848 100644
--- a/src/main/java/org/apache/joshua/util/JoshuaEval.java
+++ b/src/main/java/org/apache/joshua/util/JoshuaEval.java
@@ -230,9 +230,7 @@ public class JoshuaEval {
for (int i = 0; i < numSentences; ++i) {
print("Sentence #" + i + ": ");
int[] stats = new int[suffStatsCount];
- for (int s = 0; s < suffStatsCount; ++s) {
- stats[s] = SS[i][s];
- }
+ System.arraycopy(SS[i], 0, stats, 0, suffStatsCount);
evalMetric.printDetailedScore_fromStats(stats, true);
// already prints a \n
}
@@ -282,31 +280,38 @@ public class JoshuaEval {
while (argno < args.length) {
String option = args[argno];
- if (option.equals("-cand")) {
+ switch (option) {
+ case "-cand":
candFileName = args[argno + 1];
- } else if (option.equals("-format")) {
+ break;
+ case "-format":
candFileFormat = args[argno + 1];
if (!candFileFormat.equals("plain") && !candFileFormat.equals("nbest")) {
throw new RuntimeException("candFileFormat must be either plain or nbest.");
}
- } else if (option.equals("-rank")) {
+ break;
+ case "-rank":
candRank = Integer.parseInt(args[argno + 1]);
if (refsPerSen < 1) {
throw new RuntimeException("Argument for -rank must be positive.");
}
- } else if (option.equals("-ref")) {
+ break;
+ case "-ref":
refFileName = args[argno + 1];
- } else if (option.equals("-rps")) {
+ break;
+ case "-rps":
refsPerSen = Integer.parseInt(args[argno + 1]);
if (refsPerSen < 1) {
throw new RuntimeException("refsPerSen must be positive.");
}
- } else if (option.equals("-txtNrm")) {
+ break;
+ case "-txtNrm":
textNormMethod = Integer.parseInt(args[argno + 1]);
if (textNormMethod < 0 || textNormMethod > 4) {
throw new RuntimeException("textNormMethod should be between 0 and 4");
}
- } else if (option.equals("-m")) {
+ break;
+ case "-m":
metricName = args[argno + 1];
if (EvaluationMetric.knownMetricName(metricName)) {
int optionCount = EvaluationMetric.metricOptionCount(metricName);
@@ -318,7 +323,8 @@ public class JoshuaEval {
} else {
throw new RuntimeException("Unknown metric name " + metricName + ".");
}
- } else if (option.equals("-evr")) {
+ break;
+ case "-evr":
int evr = Integer.parseInt(args[argno + 1]);
if (evr == 1) {
evaluateRefs = true;
@@ -327,7 +333,8 @@ public class JoshuaEval {
} else {
throw new RuntimeException("evalRefs must be either 0 or 1.");
}
- } else if (option.equals("-v")) {
+ break;
+ case "-v":
int v = Integer.parseInt(args[argno + 1]);
if (v == 1) {
verbose = true;
@@ -336,7 +343,8 @@ public class JoshuaEval {
} else {
throw new RuntimeException("verbose must be either 0 or 1.");
}
- } else {
+ break;
+ default:
throw new RuntimeException("Unknown option " + option);
}
@@ -444,7 +452,7 @@ public class JoshuaEval {
str = " " + str + " ";
str = str.replaceAll("\\s+", " ");
- TreeSet<Integer> splitIndices = new TreeSet<Integer>();
+ TreeSet<Integer> splitIndices = new TreeSet<>();
for (int i = 0; i < str.length(); ++i) {
char ch = str.charAt(i);
@@ -495,7 +503,7 @@ public class JoshuaEval {
// remove spaces around dashes
if (normMethod == 2 || normMethod == 4) {
- TreeSet<Integer> skipIndices = new TreeSet<Integer>();
+ TreeSet<Integer> skipIndices = new TreeSet<>();
str = " " + str + " ";
for (int i = 0; i < str.length(); ++i) {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/NBestListUtility.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/NBestListUtility.java b/src/main/java/org/apache/joshua/util/NBestListUtility.java
index 08c85ba..89c2e4b 100644
--- a/src/main/java/org/apache/joshua/util/NBestListUtility.java
+++ b/src/main/java/org/apache/joshua/util/NBestListUtility.java
@@ -46,7 +46,7 @@ public class NBestListUtility {
}
public static List<String> findAllMatches(String regularExpression, String contentsString) {
- List<String> allMatches = new ArrayList<String>();
+ List<String> allMatches = new ArrayList<>();
Matcher m = Pattern.compile(regularExpression).matcher(contentsString);
while (m.find()) {
allMatches.add(m.group());
@@ -62,7 +62,7 @@ public class NBestListUtility {
}
public static List<Double> getTotalWeightsFromNBestListString(String nBestListAsString) {
- List<Double> result = new ArrayList<Double>();
+ List<Double> result = new ArrayList<>();
String[] lines = nBestListAsString.split("\n");
for (String line : lines) {
result.add(getTotalWeightFromNBestLine(line));
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Ngram.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Ngram.java b/src/main/java/org/apache/joshua/util/Ngram.java
index 73909ce..aa8e9f0 100644
--- a/src/main/java/org/apache/joshua/util/Ngram.java
+++ b/src/main/java/org/apache/joshua/util/Ngram.java
@@ -27,6 +27,7 @@ import org.apache.joshua.corpus.Vocabulary;
* Provides convenience functions for extracting all ngrams from a sentence, represented as an array
* of words.
*/
+@SuppressWarnings("ALL")
public class Ngram {
public static void getNgrams(Map<String, Integer> tbl, int startOrder, int endOrder,
@@ -34,7 +35,7 @@ public class Ngram {
for (int i = 0; i < wrds.length; i++)
for (int j = startOrder - 1; j < endOrder && j + i < wrds.length; j++) {// ngram: [i,i+j]
- StringBuffer ngram = new StringBuffer();
+ StringBuilder ngram = new StringBuilder();
for (int k = i; k <= i + j; k++) {
int t_wrd = wrds[k];
ngram.append(Vocabulary.word(t_wrd));
@@ -58,7 +59,7 @@ public class Ngram {
for (int i = 0; i < wrds.size(); i++)
for (int j = startOrder - 1; j < endOrder && j + i < wrds.size(); j++) {// ngram: [i,i+j]
- StringBuffer ngram = new StringBuffer();
+ StringBuilder ngram = new StringBuilder();
for (int k = i; k <= i + j; k++) {
int t_wrd = wrds.get(k);
ngram.append(Vocabulary.word(t_wrd));
@@ -82,7 +83,7 @@ public class Ngram {
for (int i = 0; i < wrds.length; i++)
for (int j = startOrder - 1; j < endOrder && j + i < wrds.length; j++) {// ngram: [i,i+j]
- StringBuffer ngram = new StringBuffer();
+ StringBuilder ngram = new StringBuilder();
for (int k = i; k <= i + j; k++) {
String t_wrd = wrds[k];
ngram.append(t_wrd);
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/PackedGrammarServer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/PackedGrammarServer.java b/src/main/java/org/apache/joshua/util/PackedGrammarServer.java
index 74c8e4a..5308ff9 100644
--- a/src/main/java/org/apache/joshua/util/PackedGrammarServer.java
+++ b/src/main/java/org/apache/joshua/util/PackedGrammarServer.java
@@ -35,7 +35,8 @@ public class PackedGrammarServer {
private PackedGrammar grammar;
- public PackedGrammarServer(String packed_directory,JoshuaConfiguration joshuaConfiguration) throws FileNotFoundException, IOException {
+ public PackedGrammarServer(String packed_directory,JoshuaConfiguration joshuaConfiguration) throws
+ IOException {
grammar = new PackedGrammar(packed_directory, -1, "owner", "thrax", joshuaConfiguration);
}
@@ -73,7 +74,7 @@ public class PackedGrammarServer {
}
- public static void main(String[] args) throws FileNotFoundException, IOException {
+ public static void main(String[] args) throws IOException {
JoshuaConfiguration joshuaConfiguration = new JoshuaConfiguration();
PackedGrammarServer pgs = new PackedGrammarServer(args[0], joshuaConfiguration);
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/Platform.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/Platform.java b/src/main/java/org/apache/joshua/util/Platform.java
index 22089da..ceebc80 100644
--- a/src/main/java/org/apache/joshua/util/Platform.java
+++ b/src/main/java/org/apache/joshua/util/Platform.java
@@ -21,7 +21,7 @@ package org.apache.joshua.util;
public class Platform {
public static boolean isMac() {
- return System.getProperties().getProperty("os.name").toLowerCase().indexOf("mac") != -1;
+ return System.getProperties().getProperty("os.name").toLowerCase().contains("mac");
}
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/StreamGobbler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/StreamGobbler.java b/src/main/java/org/apache/joshua/util/StreamGobbler.java
index 7bb12ca..4f49976 100644
--- a/src/main/java/org/apache/joshua/util/StreamGobbler.java
+++ b/src/main/java/org/apache/joshua/util/StreamGobbler.java
@@ -27,8 +27,8 @@ import java.io.InputStreamReader;
* Based on: http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4
*/
public class StreamGobbler extends Thread {
- InputStream istream;
- boolean verbose;
+ final InputStream istream;
+ final boolean verbose;
public StreamGobbler(InputStream is, int p) {
istream = is;
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/UnicodeCharacterName.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/UnicodeCharacterName.java b/src/main/java/org/apache/joshua/util/UnicodeCharacterName.java
index 93c759e..2539ba4 100644
--- a/src/main/java/org/apache/joshua/util/UnicodeCharacterName.java
+++ b/src/main/java/org/apache/joshua/util/UnicodeCharacterName.java
@@ -29,7 +29,7 @@ public class UnicodeCharacterName {
int expectedSize = 21927;
- map = new HashMap<Character, String>(expectedSize);
+ map = new HashMap<>(expectedSize);
basicLatin(map);
latin1Supplement(map);
@@ -98,7 +98,7 @@ public class UnicodeCharacterName {
hangulSyllables(map);
}
- public static final void basicLatin(Map<Character, String> map) {
+ public static void basicLatin(Map<Character, String> map) {
// C0 Controls
map.put('\u0000', "NULL");
@@ -246,7 +246,7 @@ public class UnicodeCharacterName {
}
- public static final void latin1Supplement(Map<Character, String> map) {
+ public static void latin1Supplement(Map<Character, String> map) {
// C1 controls
map.put('\u0080', "<control>");
@@ -392,7 +392,7 @@ public class UnicodeCharacterName {
}
- public static final void latinExtendedA(Map<Character, String> map) {
+ public static void latinExtendedA(Map<Character, String> map) {
// European Latin
map.put('\u0100', "LATIN CAPITAL LETTER A WITH MACRON");
@@ -530,7 +530,7 @@ public class UnicodeCharacterName {
}
- public static final void latinExtendedB(Map<Character, String> map) {
+ public static void latinExtendedB(Map<Character, String> map) {
// Non-European and historic Latin
map.put('\u0180', "LATIN SMALL LETTER B WITH STROKE");
@@ -764,7 +764,7 @@ public class UnicodeCharacterName {
}
- public static final void ipaExtensions(Map<Character, String> map) {
+ public static void ipaExtensions(Map<Character, String> map) {
// IPA extensions
map.put('\u0250', "LATIN SMALL LETTER TURNED A");
@@ -870,7 +870,7 @@ public class UnicodeCharacterName {
}
- public static final void spacingModifierLetters(Map<Character, String> map) {
+ public static void spacingModifierLetters(Map<Character, String> map) {
// Latin superscript modifier letters
map.put('\u02B0', "MODIFIER LETTER SMALL H");
@@ -972,7 +972,7 @@ public class UnicodeCharacterName {
}
- public static final void combiningDiacriticMarks(Map<Character, String> map) {
+ public static void combiningDiacriticMarks(Map<Character, String> map) {
// Ordinary diacritics
map.put('\u0300', "COMBINING GRAVE ACCENT");
@@ -1112,7 +1112,7 @@ public class UnicodeCharacterName {
}
- public static final void greekAndCoptic(Map<Character, String> map) {
+ public static void greekAndCoptic(Map<Character, String> map) {
map.put('\u0370', "GREEK CAPITAL LETTER HETA");
map.put('\u0371', "GREEK SMALL LETTER HETA");
@@ -1251,7 +1251,7 @@ public class UnicodeCharacterName {
}
- public static final void cyrillic(Map<Character, String> map) {
+ public static void cyrillic(Map<Character, String> map) {
map.put('\u0400', "CYRILLIC CAPITAL LETTER IE WITH GRAVE");
map.put('\u0401', "CYRILLIC CAPITAL LETTER IO");
@@ -1512,7 +1512,7 @@ public class UnicodeCharacterName {
}
- public static final void cyrillicSupplement(Map<Character, String> map) {
+ public static void cyrillicSupplement(Map<Character, String> map) {
map.put('\u0500', "CYRILLIC CAPITAL LETTER KOMI DE");
map.put('\u0501', "CYRILLIC SMALL LETTER KOMI DE");
@@ -1555,7 +1555,7 @@ public class UnicodeCharacterName {
}
- public static final void armenian(Map<Character, String> map) {
+ public static void armenian(Map<Character, String> map) {
map.put('\u0531', "ARMENIAN CAPITAL LETTER AYB");
map.put('\u0532', "ARMENIAN CAPITAL LETTER BEN");
@@ -1646,7 +1646,7 @@ public class UnicodeCharacterName {
}
- public static final void hebrew(Map<Character, String> map) {
+ public static void hebrew(Map<Character, String> map) {
map.put('\u0591', "HEBREW ACCENT ETNAHTA");
map.put('\u0592', "HEBREW ACCENT SEGOL");
@@ -1738,7 +1738,7 @@ public class UnicodeCharacterName {
}
- public static final void arabic(Map<Character, String> map) {
+ public static void arabic(Map<Character, String> map) {
map.put('\u0600', "ARABIC NUMBER SIGN");
map.put('\u0601', "ARABIC SIGN SANAH");
@@ -1993,7 +1993,7 @@ public class UnicodeCharacterName {
}
- public static final void syriac(Map<Character, String> map) {
+ public static void syriac(Map<Character, String> map) {
map.put('\u0700', "SYRIAC END OF PARAGRAPH");
map.put('\u0701', "SYRIAC SUPRALINEAR FULL STOP");
@@ -2075,7 +2075,7 @@ public class UnicodeCharacterName {
}
- public static final void arabicSupplement(Map<Character, String> map) {
+ public static void arabicSupplement(Map<Character, String> map) {
map.put('\u0750', "ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW");
map.put('\u0751', "ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE");
@@ -2128,7 +2128,7 @@ public class UnicodeCharacterName {
}
- public static final void thaana(Map<Character, String> map) {
+ public static void thaana(Map<Character, String> map) {
map.put('\u0780', "THAANA LETTER HAA");
map.put('\u0781', "THAANA LETTER SHAVIYANI");
@@ -2183,7 +2183,7 @@ public class UnicodeCharacterName {
}
- public static final void nko(Map<Character, String> map) {
+ public static void nko(Map<Character, String> map) {
map.put('\u07C0', "NKO DIGIT ZERO");
map.put('\u07C1', "NKO DIGIT ONE");
@@ -2247,7 +2247,7 @@ public class UnicodeCharacterName {
}
- public static final void samaritan(Map<Character, String> map) {
+ public static void samaritan(Map<Character, String> map) {
map.put('\u0800', "SAMARITAN LETTER ALAF");
map.put('\u0801', "SAMARITAN LETTER BIT");
@@ -2313,7 +2313,7 @@ public class UnicodeCharacterName {
}
- public static final void devanagari(Map<Character, String> map) {
+ public static void devanagari(Map<Character, String> map) {
map.put('\u0900', "DEVANAGARI SIGN INVERTED CANDRABINDU");
map.put('\u0901', "DEVANAGARI SIGN CANDRABINDU");
@@ -2435,7 +2435,7 @@ public class UnicodeCharacterName {
}
- public static final void bengali(Map<Character, String> map) {
+ public static void bengali(Map<Character, String> map) {
map.put('\u0981', "BENGALI SIGN CANDRABINDU");
map.put('\u0982', "BENGALI SIGN ANUSVARA");
@@ -2534,7 +2534,7 @@ public class UnicodeCharacterName {
}
- public static final void gurmukhi(Map<Character, String> map) {
+ public static void gurmukhi(Map<Character, String> map) {
map.put('\u0A01', "GURMUKHI SIGN ADAK BINDI");
map.put('\u0A02', "GURMUKHI SIGN BINDI");
@@ -2620,7 +2620,7 @@ public class UnicodeCharacterName {
}
- public static final void gujarati(Map<Character, String> map) {
+ public static void gujarati(Map<Character, String> map) {
map.put('\u0A81', "GUJARATI SIGN CANDRABINDU");
map.put('\u0A82', "GUJARATI SIGN ANUSVARA");
@@ -2710,7 +2710,7 @@ public class UnicodeCharacterName {
}
- public static final void oriya(Map<Character, String> map) {
+ public static void oriya(Map<Character, String> map) {
map.put('\u0B01', "ORIYA SIGN CANDRABINDU");
map.put('\u0B02', "ORIYA SIGN ANUSVARA");
@@ -2801,7 +2801,7 @@ public class UnicodeCharacterName {
}
- public static final void tamil(Map<Character, String> map) {
+ public static void tamil(Map<Character, String> map) {
map.put('\u0B82', "TAMIL SIGN ANUSVARA");
map.put('\u0B83', "TAMIL SIGN VISARGA");
@@ -2880,7 +2880,7 @@ public class UnicodeCharacterName {
}
- public static final void telugu(Map<Character, String> map) {
+ public static void telugu(Map<Character, String> map) {
map.put('\u0C01', "TELUGU SIGN CANDRABINDU");
map.put('\u0C02', "TELUGU SIGN ANUSVARA");
@@ -2980,7 +2980,7 @@ public class UnicodeCharacterName {
}
- public static final void kannada(Map<Character, String> map) {
+ public static void kannada(Map<Character, String> map) {
map.put('\u0C82', "KANNADA SIGN ANUSVARA");
map.put('\u0C83', "KANNADA SIGN VISARGA");
@@ -3073,7 +3073,7 @@ public class UnicodeCharacterName {
}
- public static final void malayalam(Map<Character, String> map) {
+ public static void malayalam(Map<Character, String> map) {
map.put('\u0D02', "MALAYALAM SIGN ANUSVARA");
map.put('\u0D03', "MALAYALAM SIGN VISARGA");
@@ -3175,7 +3175,7 @@ public class UnicodeCharacterName {
}
- public static final void sinhala(Map<Character, String> map) {
+ public static void sinhala(Map<Character, String> map) {
map.put('\u0D82', "SINHALA SIGN ANUSVARAYA");
map.put('\u0D83', "SINHALA SIGN VISARGAYA");
@@ -3260,7 +3260,7 @@ public class UnicodeCharacterName {
}
- public static final void thai(Map<Character, String> map) {
+ public static void thai(Map<Character, String> map) {
map.put('\u0E01', "THAI CHARACTER KO KAI");
map.put('\u0E02', "THAI CHARACTER KHO KHAI");
@@ -3352,7 +3352,7 @@ public class UnicodeCharacterName {
}
- public static final void lao(Map<Character, String> map) {
+ public static void lao(Map<Character, String> map) {
map.put('\u0E81', "LAO LETTER KO");
map.put('\u0E82', "LAO LETTER KHO SUNG");
@@ -3422,7 +3422,7 @@ public class UnicodeCharacterName {
}
- public static final void tibetan(Map<Character, String> map) {
+ public static void tibetan(Map<Character, String> map) {
map.put('\u0F00', "TIBETAN SYLLABLE OM");
map.put('\u0F01', "TIBETAN MARK GTER YIG MGO TRUNCATED A");
@@ -3632,7 +3632,7 @@ public class UnicodeCharacterName {
}
- public static final void myanmar(Map<Character, String> map) {
+ public static void myanmar(Map<Character, String> map) {
map.put('\u1000', "MYANMAR LETTER KA");
map.put('\u1001', "MYANMAR LETTER KHA");
@@ -3797,7 +3797,7 @@ public class UnicodeCharacterName {
}
- public static final void georgian(Map<Character, String> map) {
+ public static void georgian(Map<Character, String> map) {
map.put('\u10A0', "GEORGIAN CAPITAL LETTER AN");
map.put('\u10A1', "GEORGIAN CAPITAL LETTER BAN");
@@ -3885,7 +3885,7 @@ public class UnicodeCharacterName {
}
- public static final void hangulJamo(Map<Character, String> map) {
+ public static void hangulJamo(Map<Character, String> map) {
map.put('\u1100', "HANGUL CHOSEONG KIYEOK");
map.put('\u1101', "HANGUL CHOSEONG SSANGKIYEOK");
@@ -4146,7 +4146,7 @@ public class UnicodeCharacterName {
}
- public static final void ethiopic(Map<Character, String> map) {
+ public static void ethiopic(Map<Character, String> map) {
map.put('\u1200', "ETHIOPIC SYLLABLE HA");
map.put('\u1201', "ETHIOPIC SYLLABLE HU");
@@ -4507,7 +4507,7 @@ public class UnicodeCharacterName {
}
- public static final void ethiopicSupplement(Map<Character, String> map) {
+ public static void ethiopicSupplement(Map<Character, String> map) {
map.put('\u1380', "ETHIOPIC SYLLABLE SEBATBEIT MWA");
map.put('\u1381', "ETHIOPIC SYLLABLE MWI");
@@ -4538,7 +4538,7 @@ public class UnicodeCharacterName {
}
- public static final void cherokee(Map<Character, String> map) {
+ public static void cherokee(Map<Character, String> map) {
map.put('\u13A0', "CHEROKEE LETTER A");
map.put('\u13A1', "CHEROKEE LETTER E");
@@ -4628,7 +4628,7 @@ public class UnicodeCharacterName {
}
- public static final void canadianAboriginalSyllabics(Map<Character, String> map) {
+ public static void canadianAboriginalSyllabics(Map<Character, String> map) {
map.put('\u1400', "CANADIAN SYLLABICS HYPHEN");
map.put('\u1401', "CANADIAN SYLLABICS E");
@@ -5273,7 +5273,7 @@ public class UnicodeCharacterName {
}
- public static final void ogham(Map<Character, String> map) {
+ public static void ogham(Map<Character, String> map) {
map.put('\u1680', "OGHAM SPACE MARK");
map.put('\u1681', "OGHAM LETTER BEITH");
@@ -5307,7 +5307,7 @@ public class UnicodeCharacterName {
}
- public static final void runic(Map<Character, String> map) {
+ public static void runic(Map<Character, String> map) {
map.put('\u16A0', "RUNIC LETTER FEHU FEOH FE F");
map.put('\u16A1', "RUNIC LETTER V");
@@ -5393,7 +5393,7 @@ public class UnicodeCharacterName {
}
- public static final void tagalog(Map<Character, String> map) {
+ public static void tagalog(Map<Character, String> map) {
map.put('\u1700', "TAGALOG LETTER A");
map.put('\u1701', "TAGALOG LETTER I");
@@ -5418,7 +5418,7 @@ public class UnicodeCharacterName {
}
- public static final void hanunoo(Map<Character, String> map) {
+ public static void hanunoo(Map<Character, String> map) {
map.put('\u1720', "HANUNOO LETTER A");
map.put('\u1721', "HANUNOO LETTER I");
@@ -5446,7 +5446,7 @@ public class UnicodeCharacterName {
}
- public static final void buhid(Map<Character, String> map) {
+ public static void buhid(Map<Character, String> map) {
map.put('\u1740', "BUHID LETTER A");
map.put('\u1741', "BUHID LETTER I");
@@ -5471,7 +5471,7 @@ public class UnicodeCharacterName {
}
- public static final void tagbanwa(Map<Character, String> map) {
+ public static void tagbanwa(Map<Character, String> map) {
map.put('\u1760', "TAGBANWA LETTER A");
map.put('\u1761', "TAGBANWA LETTER I");
@@ -5494,7 +5494,7 @@ public class UnicodeCharacterName {
}
- public static final void khmer(Map<Character, String> map) {
+ public static void khmer(Map<Character, String> map) {
map.put('\u1780', "KHMER LETTER KA");
map.put('\u1781', "KHMER LETTER KHA");
@@ -5613,7 +5613,7 @@ public class UnicodeCharacterName {
}
- public static final void mongolian(Map<Character, String> map) {
+ public static void mongolian(Map<Character, String> map) {
map.put('\u1800', "MONGOLIAN BIRGA");
map.put('\u1801', "MONGOLIAN ELLIPSIS");
@@ -5774,7 +5774,7 @@ public class UnicodeCharacterName {
}
- public static final void canadianSyllabics(Map<Character, String> map) {
+ public static void canadianSyllabics(Map<Character, String> map) {
map.put('\u18B0', "CANADIAN SYLLABICS OY");
map.put('\u18B1', "CANADIAN SYLLABICS AY");
@@ -5849,7 +5849,7 @@ public class UnicodeCharacterName {
}
- public static final void limbu(Map<Character, String> map) {
+ public static void limbu(Map<Character, String> map) {
map.put('\u1900', "LIMBU VOWEL-CARRIER LETTER");
map.put('\u1901', "LIMBU LETTER KA");
@@ -5920,7 +5920,7 @@ public class UnicodeCharacterName {
}
- public static final void taiLe(Map<Character, String> map) {
+ public static void taiLe(Map<Character, String> map) {
map.put('\u1950', "TAI LE LETTER KA");
map.put('\u1951', "TAI LE LETTER XA");
@@ -5960,7 +5960,7 @@ public class UnicodeCharacterName {
}
- public static final void newTaiLue(Map<Character, String> map) {
+ public static void newTaiLue(Map<Character, String> map) {
map.put('\u1980', "NEW TAI LUE LETTER HIGH QA");
map.put('\u1981', "NEW TAI LUE LETTER LOW QA");
@@ -6048,7 +6048,7 @@ public class UnicodeCharacterName {
}
- public static final void khmerSymbols(Map<Character, String> map) {
+ public static void khmerSymbols(Map<Character, String> map) {
map.put('\u19E0', "KHMER SYMBOL PATHAMASAT");
map.put('\u19E1', "KHMER SYMBOL MUOY KOET");
@@ -6085,7 +6085,7 @@ public class UnicodeCharacterName {
}
- public static final void buginese(Map<Character, String> map) {
+ public static void buginese(Map<Character, String> map) {
map.put('\u1A00', "BUGINESE LETTER KA");
map.put('\u1A01', "BUGINESE LETTER GA");
@@ -6247,7 +6247,7 @@ public class UnicodeCharacterName {
}
- public static final void balinese(Map<Character, String> map) {
+ public static void balinese(Map<Character, String> map) {
map.put('\u1B00', "BALINESE SIGN ULU RICEM");
map.put('\u1B01', "BALINESE SIGN ULU CANDRA");
@@ -6373,7 +6373,7 @@ public class UnicodeCharacterName {
}
- public static final void sudanese(Map<Character, String> map) {
+ public static void sudanese(Map<Character, String> map) {
map.put('\u1B80', "SUNDANESE SIGN PANYECEK");
map.put('\u1B81', "SUNDANESE SIGN PANGLAYAR");
@@ -6433,7 +6433,7 @@ public class UnicodeCharacterName {
}
- public static final void lepcha(Map<Character, String> map) {
+ public static void lepcha(Map<Character, String> map) {
map.put('\u1C00', "LEPCHA LETTER KA");
map.put('\u1C01', "LEPCHA LETTER KLA");
@@ -6512,7 +6512,7 @@ public class UnicodeCharacterName {
}
- public static final void olChiki(Map<Character, String> map) {
+ public static void olChiki(Map<Character, String> map) {
map.put('\u1C50', "OL CHIKI DIGIT ZERO");
map.put('\u1C51', "OL CHIKI DIGIT ONE");
@@ -6565,7 +6565,7 @@ public class UnicodeCharacterName {
}
- public static final void vedic(Map<Character, String> map) {
+ public static void vedic(Map<Character, String> map) {
map.put('\u1CD0', "VEDIC TONE KARSHANA");
map.put('\u1CD1', "VEDIC TONE SHARA");
@@ -6605,7 +6605,7 @@ public class UnicodeCharacterName {
}
- public static final void phoneticExtensions(Map<Character, String> map) {
+ public static void phoneticExtensions(Map<Character, String> map) {
map.put('\u1D00', "LATIN LETTER SMALL CAPITAL A");
map.put('\u1D01', "LATIN LETTER SMALL CAPITAL AE");
@@ -6738,7 +6738,7 @@ public class UnicodeCharacterName {
}
- public static final void phoneticExtensionsSupplement(Map<Character, String> map) {
+ public static void phoneticExtensionsSupplement(Map<Character, String> map) {
map.put('\u1D80', "LATIN SMALL LETTER B WITH PALATAL HOOK");
map.put('\u1D81', "LATIN SMALL LETTER D WITH PALATAL HOOK");
@@ -6807,7 +6807,7 @@ public class UnicodeCharacterName {
}
- public static final void combiningDiacriticalMarksSupplement(Map<Character, String> map) {
+ public static void combiningDiacriticalMarksSupplement(Map<Character, String> map) {
map.put('\u1DC0', "COMBINING DOTTED GRAVE ACCENT");
map.put('\u1DC1', "COMBINING DOTTED ACUTE ACCENT");
@@ -6854,7 +6854,7 @@ public class UnicodeCharacterName {
}
- public static final void latinExtendedAdditional(Map<Character, String> map) {
+ public static void latinExtendedAdditional(Map<Character, String> map) {
map.put('\u1E00', "LATIN CAPITAL LETTER A WITH RING BELOW");
map.put('\u1E01', "LATIN SMALL LETTER A WITH RING BELOW");
@@ -7115,7 +7115,7 @@ public class UnicodeCharacterName {
}
- public static final void greekExtended(Map<Character, String> map) {
+ public static void greekExtended(Map<Character, String> map) {
map.put('\u1F00', "GREEK SMALL LETTER ALPHA WITH PSILI");
map.put('\u1F01', "GREEK SMALL LETTER ALPHA WITH DASIA");
@@ -7353,7 +7353,7 @@ public class UnicodeCharacterName {
}
- public static final void generalPunctuation(Map<Character, String> map) {
+ public static void generalPunctuation(Map<Character, String> map) {
map.put('\u2000', "EN QUAD");
map.put('\u2001', "EM QUAD");
@@ -10958,7 +10958,7 @@ public class UnicodeCharacterName {
}
- public static final void cjkSymbolsAndPunctuation(Map<Character, String> map) {
+ public static void cjkSymbolsAndPunctuation(Map<Character, String> map) {
map.put('\u3000', "IDEOGRAPHIC SPACE");
map.put('\u3001', "IDEOGRAPHIC COMMA");
@@ -14560,7 +14560,7 @@ public class UnicodeCharacterName {
}
- public static final void hangulSyllables(Map<Character, String> map) {
+ public static void hangulSyllables(Map<Character, String> map) {
map.put('\uD7B0', "HANGUL JUNGSEONG O-YEO");
map.put('\uD7B1', "HANGUL JUNGSEONG O-O-I");
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/Analyzer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/Analyzer.java b/src/main/java/org/apache/joshua/util/encoding/Analyzer.java
index d9bab66..65792d3 100644
--- a/src/main/java/org/apache/joshua/util/encoding/Analyzer.java
+++ b/src/main/java/org/apache/joshua/util/encoding/Analyzer.java
@@ -27,11 +27,11 @@ import org.apache.joshua.util.io.LineReader;
public class Analyzer {
- private TreeMap<Float, Integer> histogram;
+ private final TreeMap<Float, Integer> histogram;
private int total;
public Analyzer() {
- histogram = new TreeMap<Float, Integer>();
+ histogram = new TreeMap<>();
initialize();
}
@@ -108,8 +108,7 @@ public class Analyzer {
buckets[index++] = sum / count;
float[] shortened = new float[index];
- for (int i = 0; i < shortened.length; ++i)
- shortened[i] = buckets[i];
+ System.arraycopy(buckets, 0, shortened, 0, shortened.length);
return shortened;
}
@@ -188,13 +187,14 @@ public class Analyzer {
public String toString(String label) {
StringBuilder sb = new StringBuilder();
for (float val : histogram.keySet())
- sb.append(label + "\t" + String.format("%.5f", val) + "\t" + histogram.get(val) + "\n");
+ sb.append(label).append("\t").append(String.format("%.5f", val)).append("\t")
+ .append(histogram.get(val)).append("\n");
return sb.toString();
}
public static void main(String[] args) throws IOException {
- try (LineReader reader = new LineReader(args[0]);) {
- ArrayList<Float> s = new ArrayList<Float>();
+ try (LineReader reader = new LineReader(args[0])) {
+ ArrayList<Float> s = new ArrayList<>();
System.out.println("Initialized.");
while (reader.hasNext())
@@ -206,13 +206,13 @@ public class Analyzer {
Analyzer q = new Analyzer();
q.initialize();
- for (int i = 0; i < n; i++)
- q.add(s.get(i));
+ for (Float value1 : s)
+ q.add(value1);
EightBitQuantizer eb = new EightBitQuantizer(q.quantize(8));
System.out.println("Quantizer learned.");
- for (int i = 0; i < n; i++)
- eb.write(b, s.get(i));
+ for (Float value : s)
+ eb.write(b, value);
b.rewind();
System.out.println("Quantization complete.");
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/EightBitQuantizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/EightBitQuantizer.java b/src/main/java/org/apache/joshua/util/encoding/EightBitQuantizer.java
index 5876d4f..27ad9c8 100644
--- a/src/main/java/org/apache/joshua/util/encoding/EightBitQuantizer.java
+++ b/src/main/java/org/apache/joshua/util/encoding/EightBitQuantizer.java
@@ -73,8 +73,8 @@ public class EightBitQuantizer implements FloatEncoder {
public void writeState(DataOutputStream out) throws IOException {
out.writeUTF(getKey());
out.writeInt(buckets.length);
- for (int i = 0; i < buckets.length; i++)
- out.writeFloat(buckets[i]);
+ for (float bucket : buckets)
+ out.writeFloat(bucket);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/EncoderConfiguration.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/EncoderConfiguration.java b/src/main/java/org/apache/joshua/util/encoding/EncoderConfiguration.java
index 28b013f..e09d6e1 100644
--- a/src/main/java/org/apache/joshua/util/encoding/EncoderConfiguration.java
+++ b/src/main/java/org/apache/joshua/util/encoding/EncoderConfiguration.java
@@ -38,14 +38,14 @@ public class EncoderConfiguration {
private FloatEncoder[] encoderById;
private FloatEncoder[] encoders;
- private Map<Integer, Integer> outerToInner;
+ private final Map<Integer, Integer> outerToInner;
private boolean labeled;
private int numDenseFeatures = 0;
public EncoderConfiguration() {
- this.outerToInner = new HashMap<Integer, Integer>();
+ this.outerToInner = new HashMap<>();
}
public int getNumDenseFeatures() {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/FeatureTypeAnalyzer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/FeatureTypeAnalyzer.java b/src/main/java/org/apache/joshua/util/encoding/FeatureTypeAnalyzer.java
index d485ea5..10213ea 100644
--- a/src/main/java/org/apache/joshua/util/encoding/FeatureTypeAnalyzer.java
+++ b/src/main/java/org/apache/joshua/util/encoding/FeatureTypeAnalyzer.java
@@ -38,17 +38,17 @@ public class FeatureTypeAnalyzer {
private static final Logger LOG = LoggerFactory.getLogger(FeatureTypeAnalyzer.class);
- private ArrayList<FeatureType> types;
+ private final ArrayList<FeatureType> types;
- private Map<Integer, Integer> featureToType;
+ private final Map<Integer, Integer> featureToType;
- private Map<Integer, Integer> featureIdMap;
+ private final Map<Integer, Integer> featureIdMap;
// Is the feature setup labeled.
private boolean labeled;
// Is the encoder configuration open for new features (that are not assumed boolean)?
- private boolean open;
+ private final boolean open;
public FeatureTypeAnalyzer() {
this(false);
@@ -56,13 +56,13 @@ public class FeatureTypeAnalyzer {
public FeatureTypeAnalyzer(boolean open) {
this.open = open;
- this.types = new ArrayList<FeatureType>();
- this.featureToType = new HashMap<Integer, Integer>();
- this.featureIdMap = new HashMap<Integer, Integer>();
+ this.types = new ArrayList<>();
+ this.featureToType = new HashMap<>();
+ this.featureIdMap = new HashMap<>();
}
public void readConfig(String config_filename) throws IOException {
- try(LineReader reader = new LineReader(config_filename);) {
+ try(LineReader reader = new LineReader(config_filename)) {
while (reader.hasNext()) {
// Clean up line, chop comments off and skip if the result is empty.
String line = reader.next().trim();
@@ -78,7 +78,7 @@ public class FeatureTypeAnalyzer {
throw new RuntimeException("Incomplete encoder line in config.");
}
String encoder_key = fields[1];
- List<Integer> feature_ids = new ArrayList<Integer>();
+ List<Integer> feature_ids = new ArrayList<>();
for (int i = 2; i < fields.length; i++)
feature_ids.add(Vocabulary.id(fields[i]));
addFeatures(encoder_key, feature_ids);
@@ -121,9 +121,7 @@ public class FeatureTypeAnalyzer {
// Inspects the collected histograms, inferring actual type of feature. Then replaces the
// analyzer, if present, with the most compact applicable type.
public void inferTypes(boolean labeled) {
- for (FeatureType ft : types) {
- ft.inferUncompressedType();
- }
+ types.forEach(FeatureType::inferUncompressedType);
if (LOG.isInfoEnabled()) {
for (int id : featureToType.keySet()) {
LOG.info("Type inferred: {} is {}", (labeled ? Vocabulary.word(id) : "Feature " + id),
@@ -168,8 +166,8 @@ public class FeatureTypeAnalyzer {
getIdEncoder().writeState(out_stream);
out_stream.writeBoolean(labeled);
out_stream.writeInt(types.size());
- for (int index = 0; index < types.size(); index++)
- types.get(index).encoder.writeState(out_stream);
+ for (FeatureType type : types)
+ type.encoder.writeState(out_stream);
out_stream.writeInt(featureToType.size());
for (int feature_id : featureToType.keySet()) {
@@ -203,7 +201,7 @@ public class FeatureTypeAnalyzer {
static class FeatureType {
FloatEncoder encoder;
Analyzer analyzer;
- int bits;
+ final int bits;
FeatureType() {
encoder = null;
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/FloatEncoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/FloatEncoder.java b/src/main/java/org/apache/joshua/util/encoding/FloatEncoder.java
index 5121ea2..3e28181 100644
--- a/src/main/java/org/apache/joshua/util/encoding/FloatEncoder.java
+++ b/src/main/java/org/apache/joshua/util/encoding/FloatEncoder.java
@@ -25,15 +25,15 @@ import java.nio.ByteBuffer;
public interface FloatEncoder {
- public float read(ByteBuffer stream, int position);
+ float read(ByteBuffer stream, int position);
- public void write(ByteBuffer stream, float value);
+ void write(ByteBuffer stream, float value);
- public String getKey();
+ String getKey();
- public void writeState(DataOutputStream out) throws IOException;
+ void writeState(DataOutputStream out) throws IOException;
- public void readState(DataInputStream in) throws IOException;
+ void readState(DataInputStream in) throws IOException;
- public int size();
+ int size();
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/IntEncoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/IntEncoder.java b/src/main/java/org/apache/joshua/util/encoding/IntEncoder.java
index a8917f7..607ec6f 100644
--- a/src/main/java/org/apache/joshua/util/encoding/IntEncoder.java
+++ b/src/main/java/org/apache/joshua/util/encoding/IntEncoder.java
@@ -25,15 +25,15 @@ import java.nio.ByteBuffer;
public interface IntEncoder {
- public int read(ByteBuffer stream, int position);
+ int read(ByteBuffer stream, int position);
- public void write(ByteBuffer stream, int value);
+ void write(ByteBuffer stream, int value);
- public String getKey();
+ String getKey();
- public void writeState(DataOutputStream out) throws IOException;
+ void writeState(DataOutputStream out) throws IOException;
- public void readState(DataInputStream in) throws IOException;
+ void readState(DataInputStream in);
- public int size();
+ int size();
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/PrimitiveFloatEncoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/PrimitiveFloatEncoder.java b/src/main/java/org/apache/joshua/util/encoding/PrimitiveFloatEncoder.java
index d5015f2..be1afa9 100644
--- a/src/main/java/org/apache/joshua/util/encoding/PrimitiveFloatEncoder.java
+++ b/src/main/java/org/apache/joshua/util/encoding/PrimitiveFloatEncoder.java
@@ -87,7 +87,7 @@ public enum PrimitiveFloatEncoder implements FloatEncoder {
private final String key;
private final int size;
- private PrimitiveFloatEncoder(String k, int s) {
+ PrimitiveFloatEncoder(String k, int s) {
key = k;
size = s;
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/encoding/PrimitiveIntEncoder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/encoding/PrimitiveIntEncoder.java b/src/main/java/org/apache/joshua/util/encoding/PrimitiveIntEncoder.java
index 42f6053..5b0f087 100644
--- a/src/main/java/org/apache/joshua/util/encoding/PrimitiveIntEncoder.java
+++ b/src/main/java/org/apache/joshua/util/encoding/PrimitiveIntEncoder.java
@@ -48,11 +48,11 @@ public enum PrimitiveIntEncoder implements IntEncoder {
INT("int", 4) {
public final int read(ByteBuffer stream, int position) {
- return (int) stream.getInt(position);
+ return stream.getInt(position);
}
public final void write(ByteBuffer stream, int value) {
- stream.putInt((int) value);
+ stream.putInt(value);
}
},
@@ -69,7 +69,7 @@ public enum PrimitiveIntEncoder implements IntEncoder {
private final String key;
private final int size;
- private PrimitiveIntEncoder(String k, int s) {
+ PrimitiveIntEncoder(String k, int s) {
key = k;
size = s;
}
@@ -95,7 +95,7 @@ public enum PrimitiveIntEncoder implements IntEncoder {
}
@Override
- public void readState(DataInputStream in) throws IOException {
+ public void readState(DataInputStream in) {
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/io/BinaryIn.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/io/BinaryIn.java b/src/main/java/org/apache/joshua/util/io/BinaryIn.java
index 9483e3e..10fc1e3 100644
--- a/src/main/java/org/apache/joshua/util/io/BinaryIn.java
+++ b/src/main/java/org/apache/joshua/util/io/BinaryIn.java
@@ -57,9 +57,7 @@ public class BinaryIn<E extends Externalizable> extends RandomAccessFile impleme
obj = type.newInstance();
obj.readExternal(this);
return obj;
- } catch (InstantiationException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
+ } catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException(e);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/io/BinaryOut.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/io/BinaryOut.java b/src/main/java/org/apache/joshua/util/io/BinaryOut.java
index 8383053..d419365 100644
--- a/src/main/java/org/apache/joshua/util/io/BinaryOut.java
+++ b/src/main/java/org/apache/joshua/util/io/BinaryOut.java
@@ -65,15 +65,15 @@ public class BinaryOut implements DataOutput, ObjectOutput, Flushable, Closeable
private final utf8CharRange[] charSizeBuffer;
private final boolean writeObjects;
- public BinaryOut(File file) throws FileNotFoundException, IOException {
+ public BinaryOut(File file) throws IOException {
this(new FileOutputStream(file), true);
}
- public BinaryOut(String filename) throws FileNotFoundException, IOException {
+ public BinaryOut(String filename) throws IOException {
this(new File(filename));
}
- public BinaryOut(OutputStream out, boolean writeObjects) throws IOException {
+ public BinaryOut(OutputStream out, boolean writeObjects) {
this.out = out;
this.buffer = new byte[BUFFER_SIZE];
this.charBuffer = new char[BUFFER_SIZE];
@@ -498,7 +498,7 @@ public class BinaryOut implements DataOutput, ObjectOutput, Flushable, Closeable
}
- private static enum utf8CharRange {
+ private enum utf8CharRange {
ONE_BYTE, TWO_BYTES, THREE_BYTES
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/io/ExistingUTF8EncodedTextFile.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/io/ExistingUTF8EncodedTextFile.java b/src/main/java/org/apache/joshua/util/io/ExistingUTF8EncodedTextFile.java
index 42dd236..d2233c5 100644
--- a/src/main/java/org/apache/joshua/util/io/ExistingUTF8EncodedTextFile.java
+++ b/src/main/java/org/apache/joshua/util/io/ExistingUTF8EncodedTextFile.java
@@ -33,7 +33,7 @@ import java.util.stream.Stream;
* {@link Path}, or {@link String} representing a Path, is not found.
*/
public class ExistingUTF8EncodedTextFile {
- private static final Predicate<String> emptyStringPredicate = s -> s.isEmpty();
+ private static final Predicate<String> emptyStringPredicate = String::isEmpty;
private final Path p;
@@ -59,7 +59,7 @@ public class ExistingUTF8EncodedTextFile {
* @throws IOException on inability to read file (maybe it's not a text file)
*/
public int getNumberOfLines() throws IOException {
- try(Stream<String> ls = Files.lines(this.p, StandardCharsets.UTF_8);) {
+ try(Stream<String> ls = Files.lines(this.p, StandardCharsets.UTF_8)) {
return (int) ls.count();
}
}
@@ -69,7 +69,7 @@ public class ExistingUTF8EncodedTextFile {
* @throws IOException on inability to read file (maybe it's not a text file)
*/
public int getNumberOfNonEmptyLines() throws IOException {
- try(Stream<String> ls = Files.lines(this.p, StandardCharsets.UTF_8);) {
+ try(Stream<String> ls = Files.lines(this.p, StandardCharsets.UTF_8)) {
return (int) ls.filter(emptyStringPredicate.negate())
.count();
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/io/LineReader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/io/LineReader.java b/src/main/java/org/apache/joshua/util/io/LineReader.java
index 09e22c2..e283013 100644
--- a/src/main/java/org/apache/joshua/util/io/LineReader.java
+++ b/src/main/java/org/apache/joshua/util/io/LineReader.java
@@ -298,7 +298,7 @@ public class LineReader implements Reader<String> {
System.exit(1);
}
- try (LineReader in = new LineReader(args[0]);) {
+ try (LineReader in = new LineReader(args[0])) {
for (String line : in) {
System.out.println(line);
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/quantization/Quantizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/quantization/Quantizer.java b/src/main/java/org/apache/joshua/util/quantization/Quantizer.java
index ab291be..48c071d 100644
--- a/src/main/java/org/apache/joshua/util/quantization/Quantizer.java
+++ b/src/main/java/org/apache/joshua/util/quantization/Quantizer.java
@@ -25,19 +25,19 @@ import java.nio.ByteBuffer;
public interface Quantizer {
- public float read(ByteBuffer stream, int position);
+ float read(ByteBuffer stream, int position);
- public void write(ByteBuffer stream, float value);
+ void write(ByteBuffer stream, float value);
- public void initialize();
+ void initialize();
- public void add(float key);
+ void add(float key);
- public String getKey();
+ String getKey();
- public void writeState(DataOutputStream out) throws IOException;
+ void writeState(DataOutputStream out) throws IOException;
- public void readState(DataInputStream in) throws IOException;
+ void readState(DataInputStream in);
- public int size();
+ int size();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/quantization/QuantizerConfiguration.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/quantization/QuantizerConfiguration.java b/src/main/java/org/apache/joshua/util/quantization/QuantizerConfiguration.java
index 39aef36..3f754e4 100644
--- a/src/main/java/org/apache/joshua/util/quantization/QuantizerConfiguration.java
+++ b/src/main/java/org/apache/joshua/util/quantization/QuantizerConfiguration.java
@@ -37,16 +37,16 @@ public class QuantizerConfiguration {
private static final Quantizer DEFAULT;
- private ArrayList<Quantizer> quantizers;
- private Map<Integer, Integer> quantizerByFeatureId;
+ private final ArrayList<Quantizer> quantizers;
+ private final Map<Integer, Integer> quantizerByFeatureId;
static {
DEFAULT = new BooleanQuantizer();
}
public QuantizerConfiguration() {
- quantizers = new ArrayList<Quantizer>();
- quantizerByFeatureId = new HashMap<Integer, Integer>();
+ quantizers = new ArrayList<>();
+ quantizerByFeatureId = new HashMap<>();
}
public void add(String quantizer_key, List<Integer> feature_ids) {
@@ -58,8 +58,7 @@ public class QuantizerConfiguration {
}
public void initialize() {
- for (Quantizer q : quantizers)
- q.initialize();
+ quantizers.forEach(Quantizer::initialize);
}
public final Quantizer get(int feature_id) {
@@ -102,8 +101,8 @@ public class QuantizerConfiguration {
DataOutputStream out_stream =
new DataOutputStream(new BufferedOutputStream(new FileOutputStream(vocab_file)));
out_stream.writeInt(quantizers.size());
- for (int index = 0; index < quantizers.size(); index++)
- quantizers.get(index).writeState(out_stream);
+ for (Quantizer quantizer : quantizers)
+ quantizer.writeState(out_stream);
out_stream.writeInt(quantizerByFeatureId.size());
for (int feature_id : quantizerByFeatureId.keySet()) {
out_stream.writeUTF(Vocabulary.word(feature_id));
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/e2a1e6a0/src/main/java/org/apache/joshua/util/quantization/StatelessQuantizer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/util/quantization/StatelessQuantizer.java b/src/main/java/org/apache/joshua/util/quantization/StatelessQuantizer.java
index a241cdf..587276f 100644
--- a/src/main/java/org/apache/joshua/util/quantization/StatelessQuantizer.java
+++ b/src/main/java/org/apache/joshua/util/quantization/StatelessQuantizer.java
@@ -36,5 +36,5 @@ abstract class StatelessQuantizer implements Quantizer {
}
@Override
- public void readState(DataInputStream in) throws IOException {}
+ public void readState(DataInputStream in) {}
}
\ No newline at end of file
[2/3] incubator-joshua git commit: static analysis based code
improvements on ui package
Posted by to...@apache.org.
static analysis based code improvements on ui package
Project: http://git-wip-us.apache.org/repos/asf/incubator-joshua/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-joshua/commit/8e396921
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/8e396921
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/8e396921
Branch: refs/heads/master
Commit: 8e396921b6362d7b14c87388879698186a4cc88c
Parents: 03f4da7
Author: Tommaso Teofili <to...@apache.org>
Authored: Mon Sep 26 14:14:15 2016 +0200
Committer: Tommaso Teofili <to...@apache.org>
Committed: Mon Sep 26 14:14:15 2016 +0200
----------------------------------------------------------------------
.../ui/tree_visualizer/DerivationTree.java | 7 +--
.../DerivationTreeTransformer.java | 21 ++++---
.../ui/tree_visualizer/DerivationViewer.java | 63 +++++++++-----------
.../tree_visualizer/DerivationViewerApplet.java | 1 -
.../ui/tree_visualizer/browser/Browser.java | 27 +++------
.../browser/DerivationTreeFrame.java | 59 +++++++-----------
.../browser/TranslationInfo.java | 6 +-
.../joshua/ui/tree_visualizer/tree/Tree.java | 10 ++--
8 files changed, 79 insertions(+), 115 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTree.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTree.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTree.java
index f09a40a..fe9236c 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTree.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTree.java
@@ -53,7 +53,7 @@ public class DerivationTree extends DirectedOrderedSparseMultigraph<Node, Deriva
for (Tree.Node child : tn.children()) {
Node childNode = new Node(child.label(), false);
addVertex(childNode);
- addEdge(new DerivationTreeEdge(false), new Pair<Node>(n, childNode), EdgeType.DIRECTED);
+ addEdge(new DerivationTreeEdge(false), new Pair<>(n, childNode), EdgeType.DIRECTED);
addSubtreeRootedAt(childNode, child);
}
}
@@ -74,7 +74,7 @@ public class DerivationTree extends DirectedOrderedSparseMultigraph<Node, Deriva
insertSourceLeaf(n, sourceWords, nextUncoveredIndex, sourceStartIndex);
}
Node childNode = new Node(child.label(), true);
- addEdge(new DerivationTreeEdge(true), new Pair<Node>(n, childNode), EdgeType.DIRECTED);
+ addEdge(new DerivationTreeEdge(true), new Pair<>(n, childNode), EdgeType.DIRECTED);
nextUncoveredIndex = sourceEndIndex;
addSourceSubtreeRootedAt(childNode, child, sourceStartIndex, sourceEndIndex, sourceWords);
}
@@ -90,7 +90,7 @@ public class DerivationTree extends DirectedOrderedSparseMultigraph<Node, Deriva
label += " " + leafWords[i];
}
Node childNode = new Node(label, true);
- addEdge(new DerivationTreeEdge(true), new Pair<Node>(n, childNode), EdgeType.DIRECTED);
+ addEdge(new DerivationTreeEdge(true), new Pair<>(n, childNode), EdgeType.DIRECTED);
}
public void setSubtreeHighlight(Node n, boolean b) {
@@ -98,6 +98,5 @@ public class DerivationTree extends DirectedOrderedSparseMultigraph<Node, Deriva
for (Node s : getSuccessors(n)) {
setSubtreeHighlight(s, b);
}
- return;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTreeTransformer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTreeTransformer.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTreeTransformer.java
index 3e4010f..00f31e5 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTreeTransformer.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationTreeTransformer.java
@@ -27,23 +27,23 @@ import edu.uci.ics.jung.algorithms.layout.TreeLayout;
import edu.uci.ics.jung.graph.DelegateForest;
public class DerivationTreeTransformer implements Transformer<Node, Point2D> {
- private TreeLayout<Node, DerivationTreeEdge> treeLayout;
- private DerivationTree graph;
- private Node root;
- private Node sourceRoot;
+ private final TreeLayout<Node, DerivationTreeEdge> treeLayout;
+ private final DerivationTree graph;
+ private final Node root;
+ private final Node sourceRoot;
- private boolean isAnchored;
+ private final boolean isAnchored;
private Point2D anchorPoint;
- private double Y_DIST;
- private double X_DIST;
+ private final double Y_DIST;
+ private final double X_DIST;
public DerivationTreeTransformer(DerivationTree t, Dimension d, boolean isAnchored) {
this.isAnchored = isAnchored;
anchorPoint = new Point2D.Double(0, 0);
graph = t;
- DelegateForest<Node, DerivationTreeEdge> del = new DelegateForest<Node, DerivationTreeEdge>(t);
+ DelegateForest<Node, DerivationTreeEdge> del = new DelegateForest<>(t);
del.setRoot(t.root);
del.setRoot(t.sourceRoot);
root = t.root;
@@ -55,7 +55,7 @@ public class DerivationTreeTransformer implements Transformer<Node, Point2D> {
}
X_DIST = d.getWidth() / leafCount;
- treeLayout = new TreeLayout<Node, DerivationTreeEdge>(del, (int) Math.round(X_DIST));
+ treeLayout = new TreeLayout<>(del, (int) Math.round(X_DIST));
}
public Point2D transform(Node n) {
@@ -90,8 +90,7 @@ public class DerivationTreeTransformer implements Transformer<Node, Point2D> {
public Dimension getSize() {
int height = (int) Math.round(2 * Y_DIST * (1 + distanceToLeaf(root)));
int width = (int) Math.round(2 * treeLayout.transform(root).getX());
- Dimension ret = new Dimension(width, height);
- return ret;
+ return new Dimension(width, height);
}
public Point2D getAnchorPosition(DerivationViewer.AnchorType type) {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewer.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewer.java
index 8c6151d..722a32f 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewer.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewer.java
@@ -45,32 +45,30 @@ public class DerivationViewer extends VisualizationViewer<Node, DerivationTreeEd
public static final int DEFAULT_HEIGHT = 500;
public static final int DEFAULT_WIDTH = 500;
public static final Color SRC = Color.WHITE;
- private Color TGT;
+ private final Color TGT;
public static final Color HIGHLIGHT = Color.pink;
- public static enum AnchorType {
+ public enum AnchorType {
ANCHOR_ROOT, ANCHOR_LEFTMOST_LEAF
- };
+ }
- private AnchorType anchorStyle;
- private Point2D anchorPoint;
+ private final AnchorType anchorStyle;
+ private final Point2D anchorPoint;
public DerivationViewer(DerivationTree g, Dimension d, Color targetColor, AnchorType anchor) {
- super(new CircleLayout<Node, DerivationTreeEdge>(g));
+ super(new CircleLayout<>(g));
anchorStyle = anchor;
DerivationTreeTransformer dtt = new DerivationTreeTransformer(g, d, false);
- StaticLayout<Node, DerivationTreeEdge> derivationLayout =
- new StaticLayout<Node, DerivationTreeEdge>(g, dtt);
+ StaticLayout<Node, DerivationTreeEdge> derivationLayout = new StaticLayout<>(g, dtt);
// derivationLayout.setSize(dtt.getSize());
setGraphLayout(derivationLayout);
scaleToLayout(new LayoutScalingControl());
// g.addCorrespondences();
setPreferredSize(new Dimension(DEFAULT_HEIGHT, DEFAULT_WIDTH));
- getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Node>());
+ getRenderContext().setVertexLabelTransformer(new ToStringLabeller<>());
- DefaultModalGraphMouse<Node, DerivationTreeEdge> graphMouse =
- new DefaultModalGraphMouse<Node, DerivationTreeEdge>();
+ DefaultModalGraphMouse<Node, DerivationTreeEdge> graphMouse = new DefaultModalGraphMouse<>();
graphMouse.setMode(ModalGraphMouse.Mode.TRANSFORMING);
setGraphMouse(graphMouse);
addKeyListener(graphMouse.getModeKeyListener());
@@ -88,10 +86,10 @@ public class DerivationViewer extends VisualizationViewer<Node, DerivationTreeEd
public void setGraph(DerivationTree tree) {
DerivationTreeTransformer dtt = new DerivationTreeTransformer(tree, getSize(), true);
dtt.setAnchorPoint(anchorStyle, anchorPoint);
- setGraphLayout(new StaticLayout<Node, DerivationTreeEdge>(tree, dtt));
+ setGraphLayout(new StaticLayout<>(tree, dtt));
}
- private Transformer<Node, Paint> vp = new Transformer<Node, Paint>() {
+ private final Transformer<Node, Paint> vp = new Transformer<Node, Paint>() {
public Paint transform(Node n) {
if (n.isHighlighted) return HIGHLIGHT;
if (n.isSource)
@@ -101,28 +99,23 @@ public class DerivationViewer extends VisualizationViewer<Node, DerivationTreeEd
}
};
- private static Transformer<DerivationTreeEdge, Stroke> es =
- new Transformer<DerivationTreeEdge, Stroke>() {
- public Stroke transform(DerivationTreeEdge e) {
- if (e.pointsToSource) {
- return new BasicStroke(1.0f,
- BasicStroke.CAP_BUTT,
- BasicStroke.JOIN_MITER,
- 10.0f,
- new float[] {10.0f},
- 0.0f);
- } else {
- return new BasicStroke(1.0f);
- }
- }
- };
-
- private static Transformer<Node, Shape> ns = new Transformer<Node, Shape>() {
- public Shape transform(Node n) {
- JLabel x = new JLabel();
- double len = x.getFontMetrics(x.getFont()).stringWidth(n.toString());
- double margin = 5.0;
- return new Rectangle2D.Double((len + margin) / (-2), 0, len + 2 * margin, 20);
+ private static final Transformer<DerivationTreeEdge, Stroke> es = e -> {
+ if (e.pointsToSource) {
+ return new BasicStroke(1.0f,
+ BasicStroke.CAP_BUTT,
+ BasicStroke.JOIN_MITER,
+ 10.0f,
+ new float[] {10.0f},
+ 0.0f);
+ } else {
+ return new BasicStroke(1.0f);
}
};
+
+ private static final Transformer<Node, Shape> ns = n -> {
+ JLabel x1 = new JLabel();
+ double len = x1.getFontMetrics(x1.getFont()).stringWidth(n.toString());
+ double margin = 5.0;
+ return new Rectangle2D.Double((len + margin) / (-2), 0, len + 2 * margin, 20);
+ };
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewerApplet.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewerApplet.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewerApplet.java
index d6e7a35..10febec 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewerApplet.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/DerivationViewerApplet.java
@@ -46,6 +46,5 @@ public class DerivationViewerApplet extends JApplet {
getSize(),
Color.red,
DerivationViewer.AnchorType.ANCHOR_ROOT));
- return;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/Browser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/Browser.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/Browser.java
index ee22b94..c91f2bf 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/Browser.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/Browser.java
@@ -84,14 +84,13 @@ public class Browser {
if (argv.length > 2) {
translationPaths = Arrays.copyOfRange(argv, 2, argv.length);
}
- translations = new ArrayList<TranslationInfo>();
+ translations = new ArrayList<>();
readSourcesFromPath(sourcePath);
readReferencesFromPath(referencePath);
for (String tp : translationPaths) {
readTranslationsFromPath(tp);
}
initializeChooserFrame();
- return;
}
private static void readSourcesFromPath(String path) throws IOException {
@@ -152,23 +151,18 @@ public class Browser {
searchBox = new JTextField("search");
searchBox.getDocument().addDocumentListener(new SearchListener());
- searchBox.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- final int selectedIndex = oneBestList.getSelectedIndex();
- Browser.search(selectedIndex < 0 ? 0 : selectedIndex + 1);
- }
+ searchBox.addActionListener(e -> {
+ final int selectedIndex = oneBestList.getSelectedIndex();
+ Browser.search(selectedIndex < 0 ? 0 : selectedIndex + 1);
});
oneBestList = new JList(new DefaultListModel());
oneBestList.setFixedCellWidth(200);
oneBestList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// oneBestList.setCellRenderer(new DerivationBrowserListCellRenderer());
- oneBestList.addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
- for (DerivationTreeFrame frame : activeFrame) {
- frame.drawGraph(translations.get(oneBestList.getSelectedIndex()));
- }
- return;
+ oneBestList.addListSelectionListener(e -> {
+ for (DerivationTreeFrame frame : activeFrame) {
+ frame.drawGraph(translations.get(oneBestList.getSelectedIndex()));
}
});
chooserFrame.getContentPane().add(searchBox, BorderLayout.NORTH);
@@ -178,12 +172,11 @@ public class Browser {
chooserFrame.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
chooserFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- activeFrame = new ArrayList<DerivationTreeFrame>();
+ activeFrame = new ArrayList<>();
int numNBestFiles = translations.get(0).translations().size();
for (int i = 0; i < numNBestFiles; i++)
activeFrame.add(new DerivationTreeFrame(i, oneBestList));
chooserFrame.setVisible(true);
- return;
}
/**
@@ -195,7 +188,6 @@ public class Browser {
for (TranslationInfo ti : translations) {
oneBestListModel.addElement(ti.reference());
}
- return;
}
private static void search(int fromIndex) {
@@ -203,7 +195,7 @@ public class Browser {
DefaultListModel oneBestListModel = (DefaultListModel) oneBestList.getModel();
for (int i = fromIndex; i < oneBestListModel.getSize(); i++) {
String reference = (String) oneBestListModel.getElementAt(i);
- if (reference.indexOf(query) != -1) {
+ if (reference.contains(query)) {
// found the query
oneBestList.setSelectedIndex(i);
oneBestList.ensureIndexIsVisible(i);
@@ -224,7 +216,6 @@ public class Browser {
public void removeUpdate(DocumentEvent e) {
final String query = searchBox.getText();
if (query.equals("")) {
- return;
} else {
insertUpdate(e);
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/DerivationTreeFrame.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/DerivationTreeFrame.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/DerivationTreeFrame.java
index 56366a0..e73043e 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/DerivationTreeFrame.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/DerivationTreeFrame.java
@@ -63,32 +63,32 @@ class DerivationTreeFrame extends JFrame {
/**
* A panel holding the extra information about the derivation.
*/
- private JPanel informationPanel;
+ private final JPanel informationPanel;
/**
* A label holding the current source sentence.
*/
- private JLabel sourceLabel;
+ private final JLabel sourceLabel;
/**
* A label holding the reference translation of the current source sentence.
*/
- private JLabel referenceLabel;
+ private final JLabel referenceLabel;
/**
* A label holding the one-best translation of the current source sentence.
*/
- private JLabel oneBestLabel;
+ private final JLabel oneBestLabel;
/**
* A panel that holds the buttons, as well as labels to show which derivation
* is currently being displayed.
*/
- private JPanel controlPanel;
+ private final JPanel controlPanel;
/**
* A panel used to display the derivation tree itself.
*/
- private JPanel viewPanel;
+ private final JPanel viewPanel;
/**
* This component displays the derivation tree's JUNG graph.
@@ -107,9 +107,9 @@ class DerivationTreeFrame extends JFrame {
/**
* Color to use to render target-side trees.
*/
- private Color targetColor;
+ private final Color targetColor;
- private JList mainList;
+ private final JList mainList;
/**
* The default constructor.
@@ -166,7 +166,6 @@ class DerivationTreeFrame extends JFrame {
controlPanel.add(previousSource, BorderLayout.WEST);
controlPanel.add(nextSource, BorderLayout.EAST);
controlPanel.add(informationButton, BorderLayout.CENTER);
- return;
}
/**
@@ -177,36 +176,26 @@ class DerivationTreeFrame extends JFrame {
previousSource = new JButton("<");
informationButton = new JButton("More Information");
- nextSource.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- int index = mainList.getSelectedIndex();
- mainList.setSelectedIndex(index + 1);
- return;
- }
+ nextSource.addActionListener(e -> {
+ int index = mainList.getSelectedIndex();
+ mainList.setSelectedIndex(index + 1);
});
- previousSource.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- int index = mainList.getSelectedIndex();
- if (index > 0) {
- mainList.setSelectedIndex(index - 1);
- }
- return;
+ previousSource.addActionListener(e -> {
+ int index = mainList.getSelectedIndex();
+ if (index > 0) {
+ mainList.setSelectedIndex(index - 1);
}
});
- informationButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- JButton source = (JButton) e.getSource();
- if (informationPanel.isVisible()) {
- source.setText("More Information");
- informationPanel.setVisible(false);
- } else {
- source.setText("Less Information");
- informationPanel.setVisible(true);
- }
- return;
+ informationButton.addActionListener(e -> {
+ JButton source = (JButton) e.getSource();
+ if (informationPanel.isVisible()) {
+ source.setText("More Information");
+ informationPanel.setVisible(false);
+ } else {
+ source.setText("Less Information");
+ informationPanel.setVisible(true);
}
});
- return;
}
/**
@@ -235,7 +224,6 @@ class DerivationTreeFrame extends JFrame {
dv.revalidate();
repaint();
getContentPane().repaint();
- return;
}
/**
@@ -248,6 +236,5 @@ class DerivationTreeFrame extends JFrame {
setTitle(getTitle() + " (fixed)");
nextSource.setEnabled(false);
previousSource.setEnabled(false);
- return;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/TranslationInfo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/TranslationInfo.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/TranslationInfo.java
index e23a89d..2b89229 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/TranslationInfo.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/browser/TranslationInfo.java
@@ -26,10 +26,10 @@ import org.apache.joshua.ui.tree_visualizer.tree.Tree;
class TranslationInfo {
private String sourceSentence;
private String reference;
- private ArrayList<Tree> translations;
+ private final ArrayList<Tree> translations;
public TranslationInfo() {
- translations = new ArrayList<Tree>();
+ translations = new ArrayList<>();
}
public String sourceSentence() {
@@ -38,7 +38,6 @@ class TranslationInfo {
public void setSourceSentence(String src) {
sourceSentence = src;
- return;
}
public String reference() {
@@ -47,7 +46,6 @@ class TranslationInfo {
public void setReference(String ref) {
reference = ref;
- return;
}
public List<Tree> translations() {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/8e396921/src/main/java/org/apache/joshua/ui/tree_visualizer/tree/Tree.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/ui/tree_visualizer/tree/Tree.java b/src/main/java/org/apache/joshua/ui/tree_visualizer/tree/Tree.java
index 662544b..9c561f4 100644
--- a/src/main/java/org/apache/joshua/ui/tree_visualizer/tree/Tree.java
+++ b/src/main/java/org/apache/joshua/ui/tree_visualizer/tree/Tree.java
@@ -24,6 +24,7 @@ import java.util.regex.Matcher;
import java.util.List;
import java.util.ArrayList;
import java.util.Comparator;
+import java.util.stream.Collectors;
/**
* A class to represent the target-side tree produced by decoding using Joshua
@@ -126,7 +127,7 @@ public class Tree {
}
private void initialize(String [] tokens) {
- final Stack<Integer> stack = new Stack<Integer>();
+ final Stack<Integer> stack = new Stack<>();
int nodeIndex = 0;
for (String token : tokens) {
final Matcher matcher = NONTERMINAL_PATTERN.matcher(token);
@@ -177,7 +178,7 @@ public class Tree {
}
private List<Integer> childIndices(int index) {
- List<Integer> result = new ArrayList<Integer>();
+ List<Integer> result = new ArrayList<>();
int remainingChildren = numChildren[index];
int childIndex = index + 1;
while (remainingChildren > 0) {
@@ -252,10 +253,7 @@ public class Tree {
}
public List<Node> children() {
- List<Node> result = new ArrayList<Node>();
- for (int j : childIndices(index)) {
- result.add(new Node(j));
- }
+ List<Node> result = childIndices(index).stream().map(Node::new).collect(Collectors.toList());
return result;
}