Update string comparisons to be case insensitive or explicitly use the English locale where needed in Chainsaw and extras companion
git-svn-id: https://svn.apache.org/repos/asf/logging/chainsaw/trunk@1158566 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
index b96d052..7dd5d56 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
@@ -30,6 +30,7 @@
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Locale;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
@@ -187,7 +188,7 @@
boolean useNewLookAndFeels = false;
int j = 0;
for (int i=0;i<lookAndFeels.length;i++) {
- if (lookAndFeels[i].getClassName().toLowerCase().contains("nimbus")) {
+ if (lookAndFeels[i].getClassName().toLowerCase(Locale.ENGLISH).contains("nimbus")) {
useNewLookAndFeels = true;
} else {
newLookAndFeels[j++] = lookAndFeels[i];
@@ -549,7 +550,7 @@
defaultPath = currentConfigurationPath.getPath();
//FileDialog will not navigate to this location unless we remove the prefixing protocol and slash
//at least on winxp
- if (defaultPath.toLowerCase().startsWith("file:\\")) {
+ if (defaultPath.toLowerCase(Locale.ENGLISH).startsWith("file:\\")) {
defaultPath = defaultPath.substring("file:\\".length());
}
}
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
index 719094f..4871e39 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
@@ -27,6 +27,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
@@ -601,11 +602,11 @@
//case may not match..try case sensitive and fall back to case-insensitive
String result = event.getProperty(columnNames.get(columnIndex).toString());
if (result == null) {
- String lowerColName = columnNames.get(columnIndex).toString().toLowerCase();
+ String lowerColName = columnNames.get(columnIndex).toString().toLowerCase(Locale.ENGLISH);
Set entrySet = event.getProperties().entrySet();
for (Iterator iter = entrySet.iterator();iter.hasNext();) {
Map.Entry thisEntry = (Map.Entry) iter.next();
- if (thisEntry.getKey().toString().toLowerCase().equals(lowerColName)) {
+ if (thisEntry.getKey().toString().equalsIgnoreCase(lowerColName)) {
result = thisEntry.getValue().toString();
}
}
@@ -785,7 +786,7 @@
* @see javax.swing.table.TableModel#isCellEditable(int, int)
*/
public boolean isCellEditable(int rowIndex, int columnIndex) {
- if (getColumnName(columnIndex).toLowerCase().equals(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE)) {
+ if (getColumnName(columnIndex).equalsIgnoreCase(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE)) {
return true;
}
diff --git a/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java b/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
index 9fe7a55..fc7feb3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
+++ b/src/main/java/org/apache/log4j/chainsaw/FileSaveAction.java
@@ -30,6 +30,7 @@
import java.io.Writer;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -103,7 +104,7 @@
XMLLayout layout = new XMLLayout();
layout.setProperties(true);
- boolean saveAsZip = selectedFile.getName().toLowerCase().endsWith(".zip");
+ boolean saveAsZip = selectedFile.getName().toLowerCase(Locale.ENGLISH).endsWith(".zip");
Writer writer = null;
try {
if (saveAsZip) {
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
index cd5a016..0112818 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
@@ -25,6 +25,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Properties;
@@ -191,7 +192,7 @@
Map.Entry appenderEntry = (Map.Entry)iter.next();
String appenderName = appenderEntry.getKey().toString();
String appenderClassName = appenderEntry.getValue().toString();
- if (appenderClassName.toLowerCase().endsWith("fileappender")) {
+ if (appenderClassName.toLowerCase(Locale.ENGLISH).endsWith("fileappender")) {
String layout = props.getProperty(appenderPrefix + "." + appenderName + ".layout");
if (layout != null && layout.trim().equals("org.apache.log4j.PatternLayout")) {
String conversion = props.getProperty(appenderPrefix + "." + appenderName + ".layout.ConversionPattern");
@@ -247,7 +248,7 @@
if (appenderAttributes.getNamedItem("name") != null && appenderClass != null && appenderClass.getNodeValue() != null) {
//all log4j fileappenders end in fileappender..if a custom fileappender also ends in fileappender and uses the same dom nodes to be loaded,
//try to parse the nodes as well
- if (appenderClass.getNodeValue().toLowerCase().endsWith("fileappender")) {
+ if (appenderClass.getNodeValue().toLowerCase(Locale.ENGLISH).endsWith("fileappender")) {
String appenderName = appenderAttributes.getNamedItem("name").getNodeValue();
//subclass of FileAppender - add it
Map entry = new HashMap();
@@ -256,23 +257,23 @@
Node appenderChild = appenderChildren.item(j);
if (appenderChild.getNodeName().equals("param") && appenderChild.hasAttributes()) {
Node fileNameNode = appenderChild.getAttributes().getNamedItem("name");
- if (fileNameNode != null && fileNameNode.getNodeValue().toLowerCase().equals("file")) {
+ if (fileNameNode != null && fileNameNode.getNodeValue().equalsIgnoreCase("file")) {
Node fileValueNode = appenderChild.getAttributes().getNamedItem("value");
if (fileValueNode != null) {
entry.put("file", fileValueNode.getNodeValue());
}
}
}
- if (appenderChild.getNodeName().toLowerCase().equals("layout") && appenderChild.hasAttributes()) {
+ if (appenderChild.getNodeName().equalsIgnoreCase("layout") && appenderChild.hasAttributes()) {
NamedNodeMap layoutAttributes = appenderChild.getAttributes();
Node layoutNode = layoutAttributes.getNamedItem("class");
- if (layoutNode != null && layoutNode.getNodeValue() != null && layoutNode.getNodeValue().equals("org.apache.log4j.PatternLayout")) {
+ if (layoutNode != null && layoutNode.getNodeValue() != null && layoutNode.getNodeValue().equalsIgnoreCase("org.apache.log4j.PatternLayout")) {
NodeList layoutChildren = appenderChild.getChildNodes();
for (int k = 0; k < layoutChildren.getLength(); k++) {
Node layoutChild = layoutChildren.item(k);
if (layoutChild.getNodeName().equals("param") && layoutChild.hasAttributes()) {
Node layoutName = layoutChild.getAttributes().getNamedItem("name");
- if (layoutName != null && layoutName.getNodeValue() != null && layoutName.getNodeValue().toLowerCase().equals("conversionpattern")) {
+ if (layoutName != null && layoutName.getNodeValue() != null && layoutName.getNodeValue().equalsIgnoreCase("conversionpattern")) {
Node conversionValue = layoutChild.getAttributes().getNamedItem("value");
if (conversionValue != null) {
entry.put("conversion", conversionValue.getNodeValue());
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
index 4173b21..aef99d7 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
@@ -67,6 +67,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
@@ -532,7 +533,7 @@
}
for (Iterator iter = preferenceModel.getVisibleColumnOrder().iterator();iter.hasNext();) {
TableColumn c = (TableColumn)iter.next();
- if (c.getHeaderValue().toString().toLowerCase().equals(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE))
+ if (c.getHeaderValue().toString().equalsIgnoreCase(ChainsawConstants.LOG4J_MARKER_COL_NAME_LOWERCASE))
{
c.setCellEditor(markerCellEditor);
}
@@ -4321,7 +4322,7 @@
List entriesCopy = new ArrayList(allEntries);
for (Iterator iter = entriesCopy.iterator();iter.hasNext();) {
String thisEntry = iter.next().toString();
- if (thisEntry.toLowerCase().contains(textToMatch.toLowerCase())) {
+ if (thisEntry.toLowerCase(Locale.ENGLISH).contains(textToMatch.toLowerCase())) {
model.addElement(thisEntry);
}
}
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
index c62efe0..e99760e 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
@@ -52,6 +52,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
@@ -290,12 +291,12 @@
String lookAndFeelClassName = model.getLookAndFeelClassName();
if (lookAndFeelClassName == null || lookAndFeelClassName.trim().equals("")) {
String osName = System.getProperty("os.name");
- if (osName.toLowerCase().startsWith("mac")) {
+ if (osName.toLowerCase(Locale.ENGLISH).startsWith("mac")) {
//no need to assign look and feel
- } else if (osName.toLowerCase().startsWith("windows")) {
+ } else if (osName.toLowerCase(Locale.ENGLISH).startsWith("windows")) {
lookAndFeelClassName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
model.setLookAndFeelClassName(lookAndFeelClassName);
- } else if (osName.toLowerCase().startsWith("linux")) {
+ } else if (osName.toLowerCase(Locale.ENGLISH).startsWith("linux")) {
lookAndFeelClassName = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
model.setLookAndFeelClassName(lookAndFeelClassName);
}
@@ -1453,7 +1454,7 @@
for (Iterator iter = plugins.iterator();iter.hasNext();) {
Plugin plugin = (Plugin)iter.next();
//don't stop ZeroConfPlugin if it is registered
- if (!plugin.getName().toLowerCase().contains("zeroconf")) {
+ if (!plugin.getName().toLowerCase(Locale.ENGLISH).contains("zeroconf")) {
pluginRegistry.stopPlugin(plugin.getName());
}
}
diff --git a/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java b/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
index c755963..e99fca4 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
@@ -34,6 +34,7 @@
import java.net.URL;
import java.util.List;
+import java.util.Locale;
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
@@ -809,7 +810,7 @@
boolean isPatternLayoutLogFormat() {
Object item = logFileFormatTypeComboBox.getSelectedItem();
- return item != null && item.toString().toLowerCase().contains("patternlayout");
+ return item != null && item.toString().toLowerCase(Locale.ENGLISH).contains("patternlayout");
}
String getLogFormatTimestampFormat() {
diff --git a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
index bd3a921..cb6f15b 100644
--- a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
@@ -400,7 +400,7 @@
//find the property in the property set...case-sensitive
for (Iterator iter = propertySet.iterator();iter.hasNext();) {
String entry = iter.next().toString();
- if (entry.toLowerCase().equals(headerName)) {
+ if (entry.equalsIgnoreCase(headerName)) {
thisProp = entry;
break;
}
diff --git a/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java b/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java
index 239a8bc..3eab190 100644
--- a/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java
+++ b/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java
@@ -30,6 +30,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.InputMap;
@@ -92,7 +93,7 @@
}
public static boolean isMacOSX() {
- return System.getProperty("os.name").toLowerCase().startsWith("mac os x");
+ return System.getProperty("os.name").toLowerCase(Locale.ENGLISH).startsWith("mac os x");
}
public static List orderOKCancelButtons(JButton okButton, JButton cancelButton) {
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java b/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
index c543216..23d76db 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
@@ -349,7 +349,7 @@
if (columnIndex == 1) {
//ensure name is set
- if (descriptors[rowIndex].getName().toLowerCase().equals("name") && (aValue == null || aValue.toString().trim().equals(""))) {
+ if (descriptors[rowIndex].getName().equalsIgnoreCase("name") && (aValue == null || aValue.toString().trim().equals(""))) {
logger.error("Name required");
return;
}