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:05:09 UTC
[7/7] incubator-joshua git commit: static analysis based code
improvements on subsample package
static analysis based code improvements on subsample 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/69302df5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/69302df5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/69302df5
Branch: refs/heads/master
Commit: 69302df5cdf94aff9f27257946737f8e47f9bde4
Parents: 1d012a1
Author: Tommaso Teofili <to...@apache.org>
Authored: Mon Sep 26 14:04:27 2016 +0200
Committer: Tommaso Teofili <to...@apache.org>
Committed: Mon Sep 26 14:04:27 2016 +0200
----------------------------------------------------------------------
.../org/apache/joshua/subsample/Alignment.java | 12 ++++++------
.../org/apache/joshua/subsample/BiCorpus.java | 16 +++++++---------
.../apache/joshua/subsample/PhraseReader.java | 2 +-
.../org/apache/joshua/subsample/Subsampler.java | 19 +++++++------------
4 files changed, 21 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/69302df5/src/main/java/org/apache/joshua/subsample/Alignment.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/subsample/Alignment.java b/src/main/java/org/apache/joshua/subsample/Alignment.java
index 073eb5c..15a87e8 100644
--- a/src/main/java/org/apache/joshua/subsample/Alignment.java
+++ b/src/main/java/org/apache/joshua/subsample/Alignment.java
@@ -28,9 +28,9 @@ package org.apache.joshua.subsample;
* @version $LastChangedDate$
*/
public class Alignment {
- private short eLength;
- private short fLength;
- private M2 aligned;
+ private final short eLength;
+ private final short fLength;
+ private final M2 aligned;
public Alignment(short fLength, short eLength, String alignments) {
this.eLength = eLength;
@@ -55,7 +55,7 @@ public class Alignment {
public String toString() {
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
for (short i = 0; i < fLength; i++)
for (short j = 0; j < eLength; j++)
if (aligned.get(i, j)) sb.append(i).append('-').append(j).append(' ');
@@ -69,8 +69,8 @@ public class Alignment {
/** A (short,short)->boolean map for storing alignments. */
private final static class M2 {
- private short width;
- private boolean[] bits;
+ private final short width;
+ private final boolean[] bits;
public M2(short f, short e) {
width = f;
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/69302df5/src/main/java/org/apache/joshua/subsample/BiCorpus.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/subsample/BiCorpus.java b/src/main/java/org/apache/joshua/subsample/BiCorpus.java
index 06ec0e9..b042391 100644
--- a/src/main/java/org/apache/joshua/subsample/BiCorpus.java
+++ b/src/main/java/org/apache/joshua/subsample/BiCorpus.java
@@ -64,7 +64,7 @@ public class BiCorpus implements Iterable<PhrasePair> {
* @throws IndexOutOfBoundsException todo
*/
public BiCorpus(String foreignFileName, String nativeFileName, String alignmentFileName)
- throws IOException, IllegalArgumentException, IndexOutOfBoundsException {
+ throws IllegalArgumentException, IndexOutOfBoundsException {
this.foreignFileName = foreignFileName;
this.nativeFileName = nativeFileName;
this.alignmentFileName = alignmentFileName;
@@ -73,9 +73,7 @@ public class BiCorpus implements Iterable<PhrasePair> {
// Of course, that will be checked for in each iteration
//
// We write it this way to avoid warnings from the foreach style loop
- Iterator<PhrasePair> it = iterator();
- while (it.hasNext()) {
- it.next();
+ for (PhrasePair phrasePair : this) {
}
}
@@ -95,9 +93,9 @@ public class BiCorpus implements Iterable<PhrasePair> {
*/
@SuppressWarnings("resource")
public Iterator<PhrasePair> iterator() {
- PhraseReader closureRF = null;
- PhraseReader closureRE = null;
- BufferedReader closureRA = null;
+ PhraseReader closureRF;
+ PhraseReader closureRE;
+ BufferedReader closureRA;
try {
closureRF = new PhraseReader(new FileReader(this.foreignFileName), (byte) 1);
closureRE = new PhraseReader(new FileReader(this.nativeFileName), (byte) 0);
@@ -134,7 +132,7 @@ public class BiCorpus implements Iterable<PhrasePair> {
if (this.hasNext()) {
Phrase f = this.nextForeignPhrase;
- Phrase e = null;
+ Phrase e;
try {
e = re.readPhrase();
} catch (IOException ioe) {
@@ -146,7 +144,7 @@ public class BiCorpus implements Iterable<PhrasePair> {
} else {
if (e.size() != 0 && f.size() != 0) {
if (null != ra) {
- String line = null;
+ String line;
try {
line = ra.readLine();
} catch (IOException ioe) {
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/69302df5/src/main/java/org/apache/joshua/subsample/PhraseReader.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/subsample/PhraseReader.java b/src/main/java/org/apache/joshua/subsample/PhraseReader.java
index 6db216f..21579c9 100644
--- a/src/main/java/org/apache/joshua/subsample/PhraseReader.java
+++ b/src/main/java/org/apache/joshua/subsample/PhraseReader.java
@@ -32,7 +32,7 @@ import org.apache.joshua.corpus.BasicPhrase;
* @version $LastChangedDate$
*/
public class PhraseReader extends BufferedReader {
- private byte language;
+ private final byte language;
public PhraseReader(Reader r, byte language) {
super(r);
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/69302df5/src/main/java/org/apache/joshua/subsample/Subsampler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/subsample/Subsampler.java b/src/main/java/org/apache/joshua/subsample/Subsampler.java
index 36e1925..04662c9 100644
--- a/src/main/java/org/apache/joshua/subsample/Subsampler.java
+++ b/src/main/java/org/apache/joshua/subsample/Subsampler.java
@@ -48,9 +48,9 @@ public class Subsampler {
private static final Logger LOG = LoggerFactory.getLogger(Subsampler.class);
protected Map<Phrase, Integer> ngramCounts;
- protected int maxN;
- protected int targetCount;
- protected int maxSubsample = 1500000;
+ protected final int maxN;
+ protected final int targetCount;
+ protected final int maxSubsample = 1500000;
protected static final int MAX_SENTENCE_LENGTH = 100;
protected static final int MIN_RATIO_LENGTH = 10;
@@ -63,22 +63,19 @@ public class Subsampler {
}
private HashMap<Phrase, Integer> loadNgrams(String[] files) throws IOException {
- HashMap<Phrase, Integer> map = new HashMap<Phrase, Integer>();
+ HashMap<Phrase, Integer> map = new HashMap<>();
for (String fn : files) {
LOG.debug("Loading test set from {}", fn);
- PhraseReader reader = new PhraseReader(new FileReader(fn), (byte) 1);
Phrase phrase;
int lineCount = 0;
- try {
+ try (PhraseReader reader = new PhraseReader(new FileReader(fn), (byte) 1)) {
while ((phrase = reader.readPhrase()) != null) {
lineCount++;
List<Phrase> ngrams = phrase.getSubPhrases(this.maxN);
for (Phrase ngram : ngrams)
map.put(ngram, 0);
}
- } finally {
- reader.close();
}
LOG.debug("Processed {} lines in {}", lineCount, fn);
}
@@ -121,7 +118,7 @@ public class Subsampler {
BiCorpusFactory bcFactory) throws IOException {
try {
// Read filenames into a list
- List<String> files = new ArrayList<String>();
+ List<String> files = new ArrayList<>();
{
FileReader fr = null;
BufferedReader br = null;
@@ -148,7 +145,7 @@ public class Subsampler {
BiCorpus bc = bcFactory.fromFiles(f);
- HashMap<PhrasePair, PhrasePair> set = new HashMap<PhrasePair, PhrasePair>();
+ HashMap<PhrasePair, PhrasePair> set = new HashMap<>();
int binsize = 10; // BUG: Magic-Number
int max_k = MAX_SENTENCE_LENGTH / binsize;
@@ -181,8 +178,6 @@ public class Subsampler {
// does profiling show it helps? We only
// do it once per file, so it's not a
// performance blackhole.
- set = null;
- bc = null;
System.gc();
}
} finally {