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 {