diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java b/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java
index 3aa028802a..8748cc3cdf 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/PMD.java
@@ -27,7 +27,13 @@ import net.sourceforge.pmd.benchmark.Benchmarker;
import net.sourceforge.pmd.benchmark.TextReport;
import net.sourceforge.pmd.cli.PMDCommandLineInterface;
import net.sourceforge.pmd.cli.PMDParameters;
-import net.sourceforge.pmd.lang.*;
+import net.sourceforge.pmd.lang.Language;
+import net.sourceforge.pmd.lang.LanguageFilenameFilter;
+import net.sourceforge.pmd.lang.LanguageVersion;
+import net.sourceforge.pmd.lang.LanguageVersionDiscoverer;
+import net.sourceforge.pmd.lang.LanguageVersionHandler;
+import net.sourceforge.pmd.lang.Parser;
+import net.sourceforge.pmd.lang.ParserOptions;
import net.sourceforge.pmd.processor.MonoThreadProcessor;
import net.sourceforge.pmd.processor.MultiThreadProcessor;
import net.sourceforge.pmd.renderers.Renderer;
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/AbstractNodeInfo.java b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/AbstractNodeInfo.java
index eccc797e64..807e98bc6b 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/AbstractNodeInfo.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/xpath/saxon/AbstractNodeInfo.java
@@ -30,6 +30,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getSystemId() {
throw createUnsupportedOperationException("Source.getSystemId()");
}
@@ -37,6 +38,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public void setSystemId(String systemId) {
throw createUnsupportedOperationException("Source.setSystemId(String)");
}
@@ -44,6 +46,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getStringValue() {
throw createUnsupportedOperationException("ValueRepresentation.getStringValue()");
}
@@ -51,6 +54,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public CharSequence getStringValueCS() {
throw createUnsupportedOperationException("ValueRepresentation.getStringValueCS()");
}
@@ -58,6 +62,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public SequenceIterator getTypedValue() throws XPathException {
throw createUnsupportedOperationException("Item.getTypedValue()");
}
@@ -65,6 +70,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public Object getUnderlyingNode() {
throw createUnsupportedOperationException("VirtualNode.getUnderlyingNode()");
}
@@ -72,6 +78,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getSiblingPosition() {
throw createUnsupportedOperationException("SiblingCountingNode.getSiblingPosition()");
}
@@ -79,6 +86,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public Value atomize() throws XPathException {
throw createUnsupportedOperationException("NodeInfo.atomize()");
}
@@ -86,6 +94,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int compareOrder(NodeInfo other) {
throw createUnsupportedOperationException("NodeInfo.compareOrder(NodeInfo)");
}
@@ -93,6 +102,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public void copy(Receiver receiver, int whichNamespaces, boolean copyAnnotations, int locationId)
throws XPathException {
throw createUnsupportedOperationException("ValueRepresentation.copy(Receiver, int, boolean, int)");
@@ -118,6 +128,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public void generateId(FastStringBuffer buffer) {
throw createUnsupportedOperationException("NodeInfo.generateId(FastStringBuffer)");
}
@@ -125,6 +136,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getAttributeValue(int fingerprint) {
throw createUnsupportedOperationException("NodeInfo.getAttributeValue(int)");
}
@@ -132,6 +144,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getBaseURI() {
throw createUnsupportedOperationException("NodeInfo.getBaseURI()");
}
@@ -139,6 +152,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getColumnNumber() {
throw createUnsupportedOperationException("NodeInfo.getColumnNumber()");
}
@@ -146,6 +160,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public Configuration getConfiguration() {
throw createUnsupportedOperationException("NodeInfo.getConfiguration()");
}
@@ -153,6 +168,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int[] getDeclaredNamespaces(int[] buffer) {
throw createUnsupportedOperationException("NodeInfo.getDeclaredNamespaces(int[])");
}
@@ -160,6 +176,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getDisplayName() {
throw createUnsupportedOperationException("NodeInfo.getDisplayName()");
}
@@ -169,6 +186,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
*
* {@inheritDoc}
*/
+ @Override
public int getDocumentNumber() {
return 0;
}
@@ -176,6 +194,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public DocumentInfo getDocumentRoot() {
throw createUnsupportedOperationException("NodeInfo.getDocumentRoot()");
}
@@ -183,6 +202,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getFingerprint() {
throw createUnsupportedOperationException("NodeInfo.getFingerprint()");
}
@@ -190,6 +210,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getLineNumber() {
throw createUnsupportedOperationException("NodeInfo.getLineNumber()");
}
@@ -197,6 +218,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getLocalPart() {
throw createUnsupportedOperationException("NodeInfo.getLocalPart()");
}
@@ -204,6 +226,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getNameCode() {
throw createUnsupportedOperationException("NodeInfo.getNameCode()");
}
@@ -211,6 +234,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public NamePool getNamePool() {
throw createUnsupportedOperationException("NodeInfo.getNamePool()");
}
@@ -218,6 +242,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getNodeKind() {
throw createUnsupportedOperationException("NodeInfo.getNodeKind()");
}
@@ -225,6 +250,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public NodeInfo getParent() {
throw createUnsupportedOperationException("NodeInfo.getParent()");
}
@@ -232,6 +258,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getPrefix() {
throw createUnsupportedOperationException("NodeInfo.getPrefix()");
}
@@ -239,6 +266,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public NodeInfo getRoot() {
throw createUnsupportedOperationException("NodeInfo.getRoot()");
}
@@ -246,6 +274,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public int getTypeAnnotation() {
throw createUnsupportedOperationException("NodeInfo.getTypeAnnotation()");
}
@@ -253,6 +282,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public String getURI() {
throw createUnsupportedOperationException("NodeInfo.getURI()");
}
@@ -260,6 +290,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public boolean hasChildNodes() {
throw createUnsupportedOperationException("NodeInfo.hasChildNodes()");
}
@@ -267,6 +298,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public boolean isId() {
throw createUnsupportedOperationException("NodeInfo.isId()");
}
@@ -274,6 +306,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public boolean isIdref() {
throw createUnsupportedOperationException("NodeInfo.isIdref()");
}
@@ -281,6 +314,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public boolean isNilled() {
throw createUnsupportedOperationException("NodeInfo.isNilled()");
}
@@ -291,6 +325,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
*
* {@inheritDoc}
*/
+ @Override
public boolean isSameNodeInfo(NodeInfo other) {
return this.equals(other);
}
@@ -298,6 +333,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
/**
* {@inheritDoc}
*/
+ @Override
public AxisIterator iterateAxis(byte axisNumber) {
throw createUnsupportedOperationException("NodeInfo.iterateAxis(byte) for axis '" + Axis.axisName[axisNumber]
+ "'");
@@ -310,6 +346,7 @@ public class AbstractNodeInfo implements VirtualNode, SiblingCountingNode {
*
* {@inheritDoc}
*/
+ @Override
public AxisIterator iterateAxis(byte axisNumber, NodeTest nodeTest) {
AxisIterator axisIterator = iterateAxis(axisNumber);
if (nodeTest != null) {
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java
index caf2e7c13f..5d0b8e1b1d 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/StringUtil.java
@@ -15,9 +15,8 @@ import java.util.List;
*/
public final class StringUtil {
- public static final String[] EMPTY_STRINGS = new String[0];
- private static final boolean SUPPORTS_UTF8 = System.getProperty("net.sourceforge.pmd.supportUTF8", "no").equals(
- "yes");
+ private static final String[] EMPTY_STRINGS = new String[0];
+ private static final boolean SUPPORTS_UTF8 = "yes".equals(System.getProperty("net.sourceforge.pmd.supportUTF8", "no"));
private StringUtil() {
}
@@ -509,9 +508,8 @@ public final class StringUtil {
* @return true
if the Strings are the same, false
* otherwise.
*/
- @SuppressWarnings("PMD.CompareObjectsWithEquals")
public static boolean isSame(String s1, String s2, boolean trim, boolean ignoreCase, boolean standardizeWhitespace) {
- if (s1 == s2) {
+ if (s1 == null && s2 == null) {
return true;
} else if (s1 == null || s2 == null) {
return false;
@@ -554,4 +552,12 @@ public final class StringUtil {
return sb.toString();
}
+
+ /**
+ * Returns an empty array of string
+ * @return String
+ */
+ public static String[] getEmptyStrings() {
+ return EMPTY_STRINGS;
+ }
}
\ No newline at end of file
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/DFAPanel.java b/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/DFAPanel.java
index 983cfa1123..d7b73078e7 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/DFAPanel.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/util/designer/DFAPanel.java
@@ -76,9 +76,9 @@ public class DFAPanel extends JComponent implements ListSelectionListener {
private String[] deriveAccessLabels(List flow) {
- if (flow == null || flow.isEmpty()) {
- return StringUtil.EMPTY_STRINGS;
- }
+ if (flow == null || flow.isEmpty()) {
+ return StringUtil.getEmptyStrings();
+ }
String[] labels = new String[flow.size()];
@@ -200,50 +200,44 @@ public class DFAPanel extends JComponent implements ListSelectionListener {
}
}
- private void drawMyLine(int index1, int index2, Graphics g) {
- int y1 = this.computeDrawPos(index1);
- int y2 = this.computeDrawPos(index2);
+ private void drawMyLine(int index1, int index2, Graphics g) {
+ int y1 = this.computeDrawPos(index1);
+ int y2 = this.computeDrawPos(index2);
- //int arrow = 6;
+ if (index1 < index2) {
+ if (index2 - index1 == 1) {
+ x += NODE_RADIUS;
+ g.drawLine(x, y1 + NODE_DIAMETER, x, y2);
+ drawArrow(g, x, y2, SwingConstants.SOUTH);
+ x -= NODE_RADIUS;
+ } else if (index2 - index1 > 1) {
+ y1 = y1 + NODE_RADIUS;
+ y2 = y2 + NODE_RADIUS;
+ int n = (index2 - index1 - 2) * 10 + 10;
+ g.drawLine(x, y1, x - n, y1);
+ g.drawLine(x - n, y1, x - n, y2);
+ g.drawLine(x - n, y2, x, y2);
+ drawArrow(g, x, y2, SwingConstants.EAST);
+ }
- if (index1 < index2) {
- if (index2 - index1 == 1) {
- x += NODE_RADIUS;
- g.drawLine(x, y1 + NODE_DIAMETER, x, y2);
- // g.fillRect(x - arrow, y2 - arrow, arrow * 2, arrow * 2);
- drawArrow(g, x, y2, SwingConstants.SOUTH);
- x -= NODE_RADIUS;
- } else if (index2 - index1 > 1) {
- y1 = y1 + NODE_RADIUS;
- y2 = y2 + NODE_RADIUS;
- int n = (index2 - index1 - 2) * 10 + 10;
- g.drawLine(x, y1, x - n, y1);
- g.drawLine(x - n, y1, x - n, y2);
- g.drawLine(x - n, y2, x, y2);
- // g.fillRect(x - arrow, y2 - arrow, arrow * 2, arrow * 2);
- drawArrow(g, x, y2, SwingConstants.EAST);
- }
-
- } else {
- if (index1 - index2 > 1) {
- y1 = y1 + NODE_RADIUS;
- y2 = y2 + NODE_RADIUS;
- x = x + NODE_DIAMETER;
- int n = (index1 - index2 - 2) * 10 + 10;
- g.drawLine(x, y1, x + n, y1);
- g.drawLine(x + n, y1, x + n, y2);
- g.drawLine(x + n, y2, x, y2);
- // g.fillRect(x - arrow, y2 - arrow, arrow * 2, arrow * 2);
- drawArrow(g, x, y2, SwingConstants.WEST);
- x = x - NODE_DIAMETER;
- } else if (index1 - index2 == 1) {
- y2 = y2 + NODE_DIAMETER;
- g.drawLine(x + NODE_RADIUS, y2, x + NODE_RADIUS, y1);
- // g.fillRect(x + NODE_RADIUS - arrow, y2 - arrow, arrow * 2, arrow * 2);
- drawArrow(g, x + NODE_RADIUS, y2, SwingConstants.NORTH);
- }
- }
- }
+ } else {
+ if (index1 - index2 > 1) {
+ y1 = y1 + NODE_RADIUS;
+ y2 = y2 + NODE_RADIUS;
+ x = x + NODE_DIAMETER;
+ int n = (index1 - index2 - 2) * 10 + 10;
+ g.drawLine(x, y1, x + n, y1);
+ g.drawLine(x + n, y1, x + n, y2);
+ g.drawLine(x + n, y2, x, y2);
+ drawArrow(g, x, y2, SwingConstants.WEST);
+ x = x - NODE_DIAMETER;
+ } else if (index1 - index2 == 1) {
+ y2 = y2 + NODE_DIAMETER;
+ g.drawLine(x + NODE_RADIUS, y2, x + NODE_RADIUS, y1);
+ drawArrow(g, x + NODE_RADIUS, y2, SwingConstants.NORTH);
+ }
+ }
+ }
}
private static class ElementWrapper {
@@ -291,19 +285,20 @@ public class DFAPanel extends JComponent implements ListSelectionListener {
add(scrollPane, BorderLayout.CENTER);
}
+ @Override
public void valueChanged(ListSelectionEvent event) {
- ElementWrapper wrapper = null;
- if (nodes.size() == 1) {
- wrapper = (ElementWrapper) nodes.get(0);
- } else if (nodes.isEmpty()) {
- return;
- } else if (nodeList.getSelectedValue() == null) {
- wrapper = (ElementWrapper) nodes.get(0);
- } else {
- wrapper = (ElementWrapper) nodeList.getSelectedValue();
- }
- dfaCanvas.setMethod(wrapper.getNode());
- dfaCanvas.repaint();
+ ElementWrapper wrapper = null;
+ if (nodes.size() == 1) {
+ wrapper = (ElementWrapper) nodes.get(0);
+ } else if (nodes.isEmpty()) {
+ return;
+ } else if (nodeList.getSelectedValue() == null) {
+ wrapper = (ElementWrapper) nodes.get(0);
+ } else {
+ wrapper = (ElementWrapper) nodeList.getSelectedValue();
+ }
+ dfaCanvas.setMethod(wrapper.getNode());
+ dfaCanvas.repaint();
}
public void resetTo(List newNodes, LineGetter lines) {
diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBMSMetadataTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBMSMetadataTest.java
index a11d4d4117..59bfeda532 100644
--- a/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBMSMetadataTest.java
+++ b/pmd-core/src/test/java/net/sourceforge/pmd/util/database/DBMSMetadataTest.java
@@ -107,7 +107,7 @@ public class DBMSMetadataTest {
} catch (SQLException ex) {
Logger.getLogger(DBMSMetadataTest.class.getName()).log(Level.SEVERE, null, ex);
}
- System.out.format("...\n]\n", description);
+ System.out.format("...\n]\n");
}
/**