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:39 UTC
[2/3] incubator-joshua git commit: static analysis based code
improvements on ui package
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;
}