PMD cleanup and removing unused favourites package & classes

git-svn-id: https://svn.apache.org/repos/asf/logging/chainsaw/trunk@1035160 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
index 04370a7..719094f 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
@@ -17,7 +17,6 @@
 
 package org.apache.log4j.chainsaw;
 
-import java.awt.EventQueue;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
index ffe9543..5e3a6cf 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawToolBarAndMenus.java
@@ -251,7 +251,7 @@
         new AbstractAction("Scroll to top") {
           public void actionPerformed(ActionEvent e) {
             if (logui.getCurrentLogPanel() != null) {
-              logui.getCurrentLogPanel().scrollToTop();;
+              logui.getCurrentLogPanel().scrollToTop();
             }
           }
         };
diff --git a/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java b/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java
index 28ccd15..9f1723c 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java
@@ -28,7 +28,6 @@
 import javax.swing.JList;
 import javax.swing.JPopupMenu;
 import javax.swing.JScrollPane;
-import javax.swing.JTextField;
 import javax.swing.ListModel;
 import javax.swing.text.JTextComponent;
 
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
index 1b6c518..7c8bc26 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
@@ -133,7 +133,7 @@
             } else if (converter instanceof FileLocationPatternConverter) {
                 buffer.append("FILE");
             } else if (converter instanceof PropertiesPatternConverter) {
-                PropertiesPatternConverter propertiesConverter = (PropertiesPatternConverter) converter;
+//                PropertiesPatternConverter propertiesConverter = (PropertiesPatternConverter) converter;
 //                String option = propertiesConverter.getOption();
 //                if (option != null && option.length() > 0) {
 //                    buffer.append("PROP(" + option + ")");
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
index 37f9431..4173b21 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
@@ -3851,7 +3851,7 @@
 
     private class EventTimeDeltaMatchThumbnail extends AbstractEventMatchThumbnail {
         public EventTimeDeltaMatchThumbnail() {
-            super("timedelta");
+            super();
             initializeLists();
         }
 
@@ -3931,7 +3931,7 @@
   //a listener receiving color updates needs to call configureColors on this class
     private class ColorizedEventAndSearchMatchThumbnail extends AbstractEventMatchThumbnail {
         public ColorizedEventAndSearchMatchThumbnail() {
-            super("colors");
+            super();
             configureColors();
         }
 
@@ -4042,7 +4042,7 @@
         protected List secondaryList = new ArrayList();
         protected final int maxEventHeight = 6;
 
-        AbstractEventMatchThumbnail(final String name) {
+        AbstractEventMatchThumbnail() {
             super();
             addMouseMotionListener(new MouseMotionAdapter() {
               public void mouseMoved(MouseEvent e) {
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
index 6a70a45..2f486b3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
@@ -33,7 +33,6 @@
 
 import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
-import org.apache.log4j.chainsaw.helper.SwingHelper;
 
 
 /**
@@ -186,10 +185,6 @@
         public int compare(Object o1, Object o2) {
           return o1.toString().compareToIgnoreCase(o2.toString());
         }
-
-        public boolean equals(Object obj) {
-          return false;
-        }
       };
 
     private LogPanelTreeNode(String logName) {
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
index 85ed417..8634055 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
@@ -33,8 +33,6 @@
 
 import javax.swing.table.TableColumn;
 
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
 import org.apache.log4j.chainsaw.prefs.SettingsManager;
 import org.apache.log4j.helpers.Constants;
 
@@ -46,7 +44,6 @@
 public class LogPanelPreferenceModel implements Serializable{
   public static final String ISO8601 = "ISO8601";
   public static final Collection DATE_FORMATS;
-  private static final Logger logger = LogManager.getLogger(LogPanelPreferenceModel.class);
 
  private static final long serialVersionUID = 7526472295622776147L;
   static {
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
index 6785335..e1a71f5 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
@@ -84,7 +84,6 @@
 import javax.swing.event.EventListenerList;
 import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkListener;
-import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.log4j.Appender;
 import org.apache.log4j.AppenderSkeleton;
@@ -127,7 +126,6 @@
 import org.apache.log4j.spi.RepositorySelector;
 import org.apache.log4j.xml.DOMConfigurator;
 import org.apache.log4j.xml.XMLDecoder;
-import org.xml.sax.SAXException;
 
 
 /**
@@ -1815,8 +1813,6 @@
 
     if (selectedTab instanceof LogPanel) {
       return (LogPanel) selectedTab;
-    } else {
-      //      System.out.println(selectedTab);
     }
 
     return null;
@@ -1856,33 +1852,6 @@
   }
 
   /**
-   * Changes the currently used Look And Feel of the App
-   *
-   * @param lookAndFeelClassName
-   *                    The FQN of the LookANdFeel
-   */
-  private static void applyLookAndFeel(String lookAndFeelClassName) {
-    UIManager.put("swing.boldMetal", Boolean.FALSE);
-    if (
-      UIManager.getLookAndFeel().getClass().getName().equals(
-          lookAndFeelClassName)) {
-      return;
-    }
-
-    if (
-      (lookAndFeelClassName == null) || lookAndFeelClassName.trim().equals("")) {
-      lookAndFeelClassName = UIManager.getSystemLookAndFeelClassName();
-    }
-
-    try {
-      UIManager.setLookAndFeel(lookAndFeelClassName);
-
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-  }
-
-  /**
    * Causes the Welcome Panel to become visible, and shows the URL specified as
    * it's contents
    *
diff --git a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
index ff01eed..b451709 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
@@ -159,7 +159,6 @@
   private final LogPanel logPanel;
   private final RuleColorizer colorizer;
   private Rule ignoreExpressionRule;
-  private FilterModel filterModel;
   private boolean expandRootLatch = false;
   private String currentlySelectedLoggerName;
 
@@ -177,7 +176,6 @@
     this.preferenceModel = preferenceModel;
     this.logPanel = logPanel;
     this.colorizer = colorizer;
-    this.filterModel = filterModel;
 
     setLayout(new BorderLayout());
     ignoreExpressionEntryField.setPreferredSize(new Dimension(300, 150));
@@ -1831,11 +1829,6 @@
         {
             super.firePropertyChange(propertyName, oldVal, newVal);
         }
-
-        public void firePropertyChange(PropertyChangeEvent evt)
-        {
-            super.firePropertyChange(evt);
-        }
     }
 
 }
diff --git a/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java b/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java
index 65113a1..30429a3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java
@@ -18,7 +18,6 @@
 

 import java.awt.Color;

 import java.util.HashMap;

-import java.util.Iterator;

 import java.util.Map;

 import java.util.Set;

 

@@ -67,10 +66,8 @@
 

   public void setProperty(String propName, String propValue) {

     loggingEvent.setProperty(propName, propValue);

-    if (id == 0) {

-      if (propName.equals(Constants.LOG4J_ID_KEY)) {

-        id = Integer.parseInt(propValue);

-      }

+    if (id == 0 && propName.equals(Constants.LOG4J_ID_KEY)) {

+      id = Integer.parseInt(propValue);

     }

     if (syncWrapper != null && !propName.equals(ChainsawConstants.MILLIS_DELTA_COL_NAME_LOWERCASE)) {

       syncWrapper.getLoggingEvent().setProperty(propName, propValue);

diff --git a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
index b6029ff..bd3a921 100644
--- a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
@@ -22,11 +22,6 @@
 import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.Toolkit;
-import java.awt.font.FontRenderContext;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextLayout;
-import java.text.AttributedCharacterIterator;
-import java.text.AttributedString;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -443,11 +438,9 @@
     /**
      * Colourize background based on row striping if the event still has default foreground and background color
      */
-    if (background.equals(ChainsawConstants.COLOR_DEFAULT_BACKGROUND) && foreground.equals(ChainsawConstants.COLOR_DEFAULT_FOREGROUND)) {
-      if ((row % 2) != 0) {
-        background = applicationPreferenceModel.getAlternatingColorBackgroundColor();
-        foreground = applicationPreferenceModel.getAlternatingColorForegroundColor();
-      }
+    if (background.equals(ChainsawConstants.COLOR_DEFAULT_BACKGROUND) && foreground.equals(ChainsawConstants.COLOR_DEFAULT_FOREGROUND) && (row % 2) != 0) {
+      background = applicationPreferenceModel.getAlternatingColorBackgroundColor();
+      foreground = applicationPreferenceModel.getAlternatingColorForegroundColor();
     }
 
     component.setBackground(background);
@@ -630,6 +623,7 @@
     useRelativeTimesToPrevious = false;
   }
 
+  /*
    private int calculateHeight(String string, int width, Map paramMap) {
      if (string.trim().length() == 0) {
          return ChainsawConstants.DEFAULT_ROW_HEIGHT;
@@ -646,6 +640,7 @@
      }
      return Math.max(ChainsawConstants.DEFAULT_ROW_HEIGHT, (int) height);
     }
+    */
 
     private void setHighlightAttributesInternal(Object matchSet, StyledDocument styledDocument) {
         if (!highlightSearchMatchText) {
diff --git a/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java b/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
index 1cb19fa..a8209e2 100644
--- a/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
@@ -20,7 +20,6 @@
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Dimension;
-import java.awt.Font;
 import java.awt.event.ActionEvent;
 import java.io.IOException;
 import java.net.URL;
@@ -36,7 +35,6 @@
 import javax.swing.JScrollPane;
 import javax.swing.JToolBar;
 import javax.swing.SwingUtilities;
-import javax.swing.UIManager;
 import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkListener;
 
@@ -64,7 +62,6 @@
 
     if (helpURL != null) {
       textInfo.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
-      Font font = UIManager.getFont("Label.font");
 
       JScrollPane pane = new JScrollPane(textInfo);
       pane.setBorder(null);
diff --git a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
index 95a8b11..fcf7463 100644
--- a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
@@ -309,10 +309,8 @@
       }
       for (Iterator iter = allLogPanelColorizers.entrySet().iterator();iter.hasNext();) {
           Map.Entry entry = (Map.Entry)iter.next();
-          if (!entry.getValue().equals(currentLogPanelColorizer)) {
-              if (logPanelColorizersModel.getIndexOf(entry.getKey()) == -1) {
-                logPanelColorizersModel.addElement(entry.getKey());
-              }
+          if (!entry.getValue().equals(currentLogPanelColorizer) && (logPanelColorizersModel.getIndexOf(entry.getKey()) == -1)) {
+              logPanelColorizersModel.addElement(entry.getKey());
           }
       }
       //update search and alternating colors, since they may have changed from another color panel
diff --git a/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java b/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
index f72e2f3..647a92c 100644
--- a/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
+++ b/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
@@ -55,7 +55,6 @@
 
     protected int acceptableActions = DnDConstants.ACTION_COPY;
 
-    private DropTarget dropTarget;
     private List fileList;
 
     private JComponent guiTarget;
@@ -68,7 +67,6 @@
      */
     public FileDnDTarget(JComponent c) {
         this.guiTarget = c;
-        dropTarget = new DropTarget(this.guiTarget, this);
     }
     
     public void addDropTargetToComponent(JComponent c){
diff --git a/src/main/java/org/apache/log4j/chainsaw/favourites/Favourite.java b/src/main/java/org/apache/log4j/chainsaw/favourites/Favourite.java
deleted file mode 100644
index c681ce5..0000000
--- a/src/main/java/org/apache/log4j/chainsaw/favourites/Favourite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.log4j.chainsaw.favourites;
-
-/**
- * A Fauvourite is just a named container of on object that can be used
- * as a basis (prototype) for the creation of exact copies.
- * 
- * Clients should use the FavouritesRegistry to create instances of this class
- * so that explicit checks can be performed about the suitability of the
- * prototype.
- * 
- * @author Paul Smith <psmith@apache.org>
- *
- */
-public final class Favourite {
-
-    private String name;
-    private Object prototype;
-
-    /**
-     * @param name
-     * @param object
-     */
-    Favourite(String name, Object prtotype) {
-        this.name = name;
-        this.prototype = prtotype;
-    }
-
-
-    /**
-     * @return Returns the name.
-     */
-    public final String getName() {
-
-        return name;
-    }
-
-    /**
-     * Returns the object that would be used as a basis to create new
-     * instances of that same object.
-     * @return Returns the prototype.
-     */
-    public final Object getPrototype() {
-      return prototype;
-    }
-}
diff --git a/src/main/java/org/apache/log4j/chainsaw/favourites/FavouritesRegistry.java b/src/main/java/org/apache/log4j/chainsaw/favourites/FavouritesRegistry.java
deleted file mode 100644
index a85842e..0000000
--- a/src/main/java/org/apache/log4j/chainsaw/favourites/FavouritesRegistry.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.log4j.chainsaw.favourites;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-/**
- *  A singleton class that is used as a Registry of instances of JavaBeans 
- * that are in a state that a user prefers.
- * 
- * @author Paul Smith <psmith@apache.org>
- *
- */
-public class FavouritesRegistry{
-  
-  private final List favourites = new ArrayList();
-  
-  /**
-   * Returns a Collection of Favourite instances whose getPrototype() method
-   * returns an object whose class is assignable from clazz, or more formally, such that
-   * clazz.isAssignableFrom(favourite.getPrototype().getClass())
-   * @param clazz
-   * @return favourites
-   */
-  public synchronized Collection getFavouritesByClass(Class clazz) {
-    throw new UnsupportedOperationException("Work In Progress");
-  }
-  
-  /**
-   * Adds a favourite to this Registry
-   * @param favourite
-   */
-  
-  public synchronized void addFavourite(Favourite favourite) {
-    throw new UnsupportedOperationException("Work In Progress");
-  }
-  
-  /**
-   * Returns an unmodifiable List of all the known Favourite instances
-   * @return favourites
-   */
-  public List getFavourites() {
-    return Collections.unmodifiableList(favourites);
-  }
-  
-  /**
-   * Creates a new Favourite instance after running throught some
-   * suitability checks to make sure the object class is ok to be used
-   * as a prototype.
-   * 
-   * @param name The name to use for the favourite
-   * @param prototype The object to register
-   * @throws IllegalArgumentException if the prototype does not conform
-   * to the necessary rules to be used as a prototype (see the package documentation).
-   * 
-   */
-  public void addFavourite(String name, Object prototype) {
-    favourites.add(createFavourite(name, prototype));
-  }
-  
-  private Favourite createFavourite(String name, Object prototype) {
-    checkSuitability(prototype);
-    return new Favourite(name, prototype);
-  }
-  
-  /**
-   * Checks the suitability of an object to make sure it conforms to all the rules
-   * for being a prototype,
-   * @param prototype
-   * @throws IllegalArgumentException if the prototype is not suitable
-   */
-  private void checkSuitability(Object prototype)  throws IllegalArgumentException{
-    // TODO Auto-generated method stub
-   throw new UnsupportedOperationException("Work in Progress"); 
-  }
-
-  private FavouritesRegistry() {
-    
-  }
-}
diff --git a/src/main/java/org/apache/log4j/chainsaw/help/HelpManager.java b/src/main/java/org/apache/log4j/chainsaw/help/HelpManager.java
index 6667184..eb928d8 100644
--- a/src/main/java/org/apache/log4j/chainsaw/help/HelpManager.java
+++ b/src/main/java/org/apache/log4j/chainsaw/help/HelpManager.java
@@ -74,14 +74,6 @@
     }
 
     /**
-     * @return URL
-     */
-    public final URL getHelpURL() {
-
-        return helpURL;
-    }
-
-    /**
      * The current Help URL that should be displayed, and is
      * a PropertyChangeListener supported property.
      *
@@ -90,7 +82,7 @@
      * of the event will be null)
      * @param helpURL
      */
-    public final void setHelpURL(URL helpURL) {
+    public void setHelpURL(URL helpURL) {
         this.helpURL = helpURL;
         firePropertyChange("helpURL", null, this.helpURL);
     }
diff --git a/src/main/java/org/apache/log4j/chainsaw/icons/LineIconFactory.java b/src/main/java/org/apache/log4j/chainsaw/icons/LineIconFactory.java
index 7fe4f3e..fdf0b65 100644
--- a/src/main/java/org/apache/log4j/chainsaw/icons/LineIconFactory.java
+++ b/src/main/java/org/apache/log4j/chainsaw/icons/LineIconFactory.java
@@ -48,7 +48,7 @@
   private LineIconFactory() {
   }
 
-  public static final Icon createExpandIcon() {
+  public static Icon createExpandIcon() {
       int size = 8;
       int xOffSet = 0;
       int yOffSet = 0;
@@ -80,7 +80,7 @@
 
     return null;
   }
-  public static final Icon createCollapseIcon() {
+  public static Icon createCollapseIcon() {
       int size = 8;
       int xOffSet = 0;
       int yOffSet = 0;
@@ -109,11 +109,11 @@
     return null;
   }
 
-  public static final Icon createCloseIcon() {
+  public static Icon createCloseIcon() {
     return new CloseIcon(8, 0, 0);
   }
 
-  public static final Icon createBlankIcon() {
+  public static Icon createBlankIcon() {
     return new BlankIcon(16);
   }
 
diff --git a/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java b/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java
index b907c1a..aff4120 100644
--- a/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java
+++ b/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java
@@ -177,7 +177,6 @@
    * @return new LoggingEvent
    */
   private static LoggingEvent copyForHTML(LoggingEvent event) {
-    String fqnCategory = escape(event.getFQNOfLoggerClass());
     Logger logger = Logger.getLogger(event.getLoggerName());
     String threadName = event.getThreadName();
     Object msg = escape(event.getMessage().toString());
diff --git a/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java b/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java
index 2e3bea3..a389e88 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java
@@ -33,7 +33,6 @@
 public class MRUFileList{
 
     private static MRUFileList log4jList = new MRUFileList();
-    private static MRUFileList jdk14List = new MRUFileList();
     private static final int DEFAULT_MRU_SIZE = 5;
     
     private List fileList = new ArrayList();
diff --git a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java
index 6c3560e..25f2069 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java
@@ -79,7 +79,7 @@
      * Returns the singleton instance of the SettingsManager
      * @return settings manager
      */
-    public static final SettingsManager getInstance() {
+    public static SettingsManager getInstance() {
         return instance;
     }
 
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 67a8a6e..c543216 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
@@ -18,7 +18,6 @@
 
 import java.awt.BorderLayout;
 import java.awt.Component;
-import java.awt.Dimension;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.beans.BeanInfo;
diff --git a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java
index 430a5f4..ee35394 100644
--- a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java
@@ -23,11 +23,8 @@
 import javax.jmdns.ServiceEvent;
 import javax.jmdns.ServiceInfo;
 import javax.jmdns.ServiceListener;
-import javax.swing.ImageIcon;
 import javax.swing.table.AbstractTableModel;
 
-import org.apache.log4j.chainsaw.icons.ChainsawIcons;
-
 public class ZeroConfDeviceModel extends AbstractTableModel implements ServiceListener {
 
     private List deviceList = new ArrayList();
diff --git a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java
index e872940..369e9d8 100644
--- a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java
+++ b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java
@@ -18,7 +18,6 @@
 
 import java.awt.BorderLayout;
 import java.awt.Component;
-import java.awt.Container;
 import java.awt.event.ActionEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
@@ -36,7 +35,6 @@
 import javax.jmdns.ServiceInfo;
 import javax.jmdns.ServiceListener;
 import javax.swing.AbstractAction;
-import javax.swing.Icon;
 import javax.swing.ImageIcon;
 import javax.swing.JFrame;
 import javax.swing.JMenu;
@@ -44,7 +42,6 @@
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
 import javax.swing.JScrollPane;
-import javax.swing.JTabbedPane;
 import javax.swing.JTable;
 import javax.swing.JToolBar;
 import javax.swing.SwingUtilities;
@@ -93,8 +90,6 @@
 
     private static final Logger LOG = Logger.getLogger(ZeroConfPlugin.class);
 
-    private static final Icon DEVICE_DISCOVERED_ICON = new ImageIcon(ChainsawIcons.ANIM_RADIO_TOWER);
-
     private ZeroConfDeviceModel discoveredDevices = new ZeroConfDeviceModel();
 
     private JTable deviceTable = new JTable(discoveredDevices);
@@ -226,21 +221,6 @@
     }
 
     /**
-     * Sets the icon of this parent container (a JTabbedPane, we hope
-     *
-     */
-    private void setIconIfNeeded() {
-        Container container = this.getParent();
-        if(container instanceof JTabbedPane) {
-            JTabbedPane tabbedPane = (JTabbedPane) container;
-            Icon icon = discoveredDevices.getRowCount()==0?null:DEVICE_DISCOVERED_ICON;
-            tabbedPane.setIconAt(tabbedPane.indexOfTab(getName()), icon);
-        }else {
-            LOG.warn("Parent is not a TabbedPane, not setting icon: " + container.getClass().getName());
-        }
-    }
-
-    /**
      * Attempts to find a JFrame container as a parent,and addse a "Connect to" menu
      *
      */
diff --git a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPreferenceModel.java b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPreferenceModel.java
index 687664f..1ac13c4 100644
--- a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPreferenceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPreferenceModel.java
@@ -16,7 +16,6 @@
  */
 package org.apache.log4j.chainsaw.zeroconf;
 
-import java.beans.PropertyChangeSupport;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -27,7 +26,6 @@
     private List monitoredZones = new ArrayList();
     private Set autoConnectDevices = new HashSet();
     
-    private transient PropertyChangeSupport propertySupport = new PropertyChangeSupport(this);
 //   TODO expose addPropertyChangeListener
     
     public void addAutoConnectDevice(String deviceName) {