CHAINSAW-1: Add generics

Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/4b8b96ff
Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/4b8b96ff
Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/4b8b96ff

Branch: refs/heads/master
Commit: 4b8b96ff5073f449bbb318e17589551a27d43e64
Parents: ba10849
Author: Matt Sicker <boa...@gmail.com>
Authored: Tue Mar 13 01:32:24 2018 -0500
Committer: Matt Sicker <boa...@gmail.com>
Committed: Tue Mar 13 01:33:09 2018 -0500

----------------------------------------------------------------------
 .../apache/log4j/LoggerRepositoryExImpl.java    | 18 +++----
 .../log4j/chainsaw/AbstractPreferencePanel.java |  6 +--
 .../chainsaw/ApplicationPreferenceModel.java    |  8 +--
 .../ApplicationPreferenceModelPanel.java        |  6 +--
 .../log4j/chainsaw/ChainsawAppenderHandler.java | 18 +++----
 .../apache/log4j/chainsaw/ChainsawColumns.java  |  4 +-
 .../ChainsawCyclicBufferTableModel.java         | 10 ++--
 .../log4j/chainsaw/ChainsawEventBatch.java      | 12 ++---
 .../apache/log4j/chainsaw/ChainsawSplash.java   |  2 +-
 .../log4j/chainsaw/EventBatchListener.java      |  2 +-
 .../apache/log4j/chainsaw/EventContainer.java   |  2 +-
 .../org/apache/log4j/chainsaw/Generator.java    |  2 +-
 .../chainsaw/LogFilePatternLayoutBuilder.java   | 18 +++----
 .../org/apache/log4j/chainsaw/LogPanel.java     | 50 ++++++++---------
 .../log4j/chainsaw/LogPanelLoggerTreeModel.java |  4 +-
 .../log4j/chainsaw/LogPanelPreferenceModel.java |  2 +-
 .../java/org/apache/log4j/chainsaw/LogUI.java   | 36 ++++++-------
 .../log4j/chainsaw/LoggerNameModelSupport.java  |  2 +-
 .../log4j/chainsaw/LoggerNameTreePanel.java     |  4 +-
 .../chainsaw/ReceiverConfigurationPanel.java    | 57 ++++++++++----------
 .../log4j/chainsaw/TableColorizingRenderer.java |  4 +-
 .../apache/log4j/chainsaw/ThresholdSlider.java  |  2 +-
 .../org/apache/log4j/chainsaw/WelcomePanel.java |  4 +-
 .../apache/log4j/chainsaw/color/ColorPanel.java | 46 ++++++++--------
 .../log4j/chainsaw/dnd/FileDnDTarget.java       |  2 +-
 .../filter/EventTypeEntryContainer.java         | 16 +++---
 .../apache/log4j/chainsaw/help/HelpLocator.java |  2 +-
 .../log4j/chainsaw/helper/SwingHelper.java      |  4 +-
 .../chainsaw/helper/TableCellEditorFactory.java |  4 +-
 .../log4j/chainsaw/icons/LevelIconFactory.java  |  4 +-
 .../chainsaw/layout/EventDetailLayout.java      |  6 +--
 .../log4j/chainsaw/layout/LayoutEditorPane.java |  2 +-
 .../log4j/chainsaw/messages/MessageCenter.java  |  4 +-
 .../plugins/PluginClassLoaderFactory.java       |  2 +-
 .../log4j/chainsaw/prefs/LoadSettingsEvent.java |  2 +-
 .../log4j/chainsaw/prefs/MRUFileList.java       |  2 +-
 .../receivers/ReceiverTreeCellRenderer.java     |  4 +-
 .../chainsaw/receivers/ReceiversHelper.java     |  8 +--
 .../chainsaw/receivers/ReceiversPanel.java      |  4 +-
 .../chainsaw/zeroconf/ZeroConfDeviceModel.java  | 10 ++--
 .../log4j/chainsaw/zeroconf/ZeroConfPlugin.java | 10 ++--
 .../zeroconf/ZeroConfPreferenceModel.java       | 12 ++---
 .../apache/log4j/db/CustomSQLDBReceiver.java    |  8 +--
 .../java/org/apache/log4j/db/DBReceiverJob.java |  4 +-
 .../apache/log4j/helpers/UtilLoggingLevel.java  |  4 +-
 .../org/apache/log4j/net/MulticastAppender.java |  2 +-
 .../org/apache/log4j/net/MulticastReceiver.java |  6 +--
 .../org/apache/log4j/net/SocketReceiver.java    | 14 ++---
 .../java/org/apache/log4j/net/UDPReceiver.java  |  6 +--
 .../org/apache/log4j/net/XMLSocketNode.java     |  2 +-
 .../org/apache/log4j/net/XMLSocketReceiver.java |  2 +-
 .../apache/log4j/plugins/PluginRegistry.java    | 12 ++---
 .../log4j/rewrite/PropertyRewritePolicy.java    |  2 +-
 .../org/apache/log4j/scheduler/Scheduler.java   | 14 ++---
 src/main/java/org/apache/log4j/spi/Decoder.java |  4 +-
 .../apache/log4j/spi/LoggerRepositoryEx.java    |  4 +-
 .../apache/log4j/varia/ListModelAppender.java   |  4 +-
 .../log4j/varia/LogFilePatternReceiver.java     | 24 ++++-----
 .../apache/log4j/xml/LogFileXMLReceiver.java    |  2 +-
 .../apache/log4j/xml/UtilLoggingXMLDecoder.java | 18 +++----
 .../java/org/apache/log4j/xml/XMLDecoder.java   | 16 +++---
 .../java/org/apache/log4j/VectorAppender.java   |  6 +--
 .../org/apache/log4j/db/FullCycleDBTest.java    | 18 +++----
 .../log4j/rewrite/RewriteAppenderTest.java      |  2 +-
 .../java/org/apache/log4j/util/Compare.java     | 12 ++---
 .../org/apache/log4j/xml/XMLDecoderTest.java    |  8 +--
 66 files changed, 306 insertions(+), 305 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/LoggerRepositoryExImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/LoggerRepositoryExImpl.java 
b/src/main/java/org/apache/log4j/LoggerRepositoryExImpl.java
index c2f5aaf..5235246 100644
--- a/src/main/java/org/apache/log4j/LoggerRepositoryExImpl.java
+++ b/src/main/java/org/apache/log4j/LoggerRepositoryExImpl.java
@@ -74,11 +74,11 @@ public final class LoggerRepositoryExImpl
     /**
      * List of repository event listeners.
      */
-  private final ArrayList repositoryEventListeners = new ArrayList();
+  private final ArrayList<LoggerRepositoryEventListener> 
repositoryEventListeners = new ArrayList<>();
     /**
      * Map of HierarchyEventListener keyed by LoggingEventListener.
      */
-  private final Map loggerEventListeners = new HashMap();
+  private final Map<LoggerEventListener, HierarchyEventListenerProxy> 
loggerEventListeners = new HashMap<>();
     /**
      * Name of hierarchy.
      */
@@ -90,7 +90,7 @@ public final class LoggerRepositoryExImpl
     /**
      * Properties.
      */
-  private final Map properties = new Hashtable();
+  private final Map<String, String> properties = new Hashtable<>();
     /**
      * Scheduler.
      */
@@ -99,13 +99,13 @@ public final class LoggerRepositoryExImpl
   /** The repository can also be used as an object store
    * for various objects used by log4j components.
    */
-  private Map objectMap = new HashMap();
+  private Map<String, Object> objectMap = new HashMap<>();
 
 
     /**
      * Error list.
      */
-  private List errorList = new Vector();
+  private List<ErrorItem> errorList = new Vector<>();
 
     /**
      * True if hierarchy has not been modified.
@@ -206,7 +206,7 @@ public final class LoggerRepositoryExImpl
   public void removeLoggerEventListener(final LoggerEventListener listener) {
     synchronized (loggerEventListeners) {
       HierarchyEventListenerProxy proxy =
-              (HierarchyEventListenerProxy) loggerEventListeners.get(listener);
+              loggerEventListeners.get(listener);
       if (proxy == null) {
         LogLog.warn(
           "Ignoring attempt to remove a non-registered LoggerEventListener.");
@@ -262,7 +262,7 @@ public final class LoggerRepositoryExImpl
   /**
    * {@inheritDoc}
    */
-  public Map getProperties() {
+  public Map<String, String> getProperties() {
     return properties;
   }
 
@@ -270,7 +270,7 @@ public final class LoggerRepositoryExImpl
    * {@inheritDoc}
    */
   public String getProperty(final String key) {
-     return (String) properties.get(key);
+     return properties.get(key);
   }
 
   /**
@@ -418,7 +418,7 @@ public final class LoggerRepositoryExImpl
    * Return the the list of previously encoutered {@link ErrorItem error 
items}.
    * @return list of errors
    */
-  public List getErrorList() {
+  public List<ErrorItem> getErrorList() {
     return errorList;
   }
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java 
b/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java
index 722e8a3..810f319 100644
--- a/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/AbstractPreferencePanel.java
@@ -107,11 +107,11 @@ public abstract class AbstractPreferencePanel extends 
JPanel
     add(mainPanel, BorderLayout.CENTER);
   
     Box buttonBox = Box.createHorizontalBox();
-    List buttons = SwingHelper.orderOKCancelButtons(okButton, cancelButton);
+    List<JButton> buttons = SwingHelper.orderOKCancelButtons(okButton, 
cancelButton);
     buttonBox.add(Box.createHorizontalGlue());
-    buttonBox.add((JButton)buttons.get(0));
+    buttonBox.add(buttons.get(0));
     buttonBox.add(Box.createHorizontalStrut(10));
-    buttonBox.add((JButton)buttons.get(1));
+    buttonBox.add(buttons.get(1));
   
     add(buttonBox, BorderLayout.SOUTH);
   

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java 
b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
index 7d1b46f..dc11119 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
@@ -59,7 +59,7 @@ public class ApplicationPreferenceModel {
     /**
      * If not 'empty', this property will be used as the URL to load log4j 
configuration at startup
      */
-    private Vector configurationURLs=new Vector();
+    private Vector<String> configurationURLs=new Vector<>();
 
     private String configurationURL = "";
 
@@ -209,7 +209,7 @@ public class ApplicationPreferenceModel {
       setShowSplash(model.isShowSplash());
       setToolTipDisplayMillis(model.getToolTipDisplayMillis());
       setCyclicBufferSize(model.getCyclicBufferSize());
-      Vector configurationURLs = model.getConfigurationURLs();
+      Vector<String> configurationURLs = model.getConfigurationURLs();
       if (configurationURLs != null) {
         setConfigurationURLs(configurationURLs);
       }
@@ -297,11 +297,11 @@ public class ApplicationPreferenceModel {
       return statusBar;
     }
 
-    public Vector getConfigurationURLs() {
+    public Vector<String> getConfigurationURLs() {
         return configurationURLs;
     }
 
-    public void setConfigurationURLs(Vector urls) {
+    public void setConfigurationURLs(Vector<String> urls) {
         if (urls != null) {
             configurationURLs = urls;
         }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java 
b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
index 5981cd4..9e440c6 100644
--- 
a/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
+++ 
b/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java
@@ -69,7 +69,7 @@ public class ApplicationPreferenceModelPanel extends 
AbstractPreferencePanel {
   private JTextField identifierExpression;
   private JTextField toolTipDisplayMillis;
   private JTextField cyclicBufferSize;    
-  private JComboBox configurationURL;
+  private JComboBox<String> configurationURL;
   private final Logger logger;
   private GeneralAllPrefPanel generalAllPrefPanel;
 
@@ -355,7 +355,7 @@ public static void main(String[] args) {
     private final JSlider responsiveSlider =
       new JSlider(SwingConstants.HORIZONTAL, 1, 4, 2);
     private final JCheckBox confirmExit = new JCheckBox(" Confirm Exit ");
-    Dictionary sliderLabelMap = new Hashtable();
+    Dictionary<Integer, JLabel> sliderLabelMap = new Hashtable<>();
     
     private final JCheckBox okToRemoveSecurityManager = new JCheckBox(" Ok to 
remove SecurityManager ");
 
@@ -368,7 +368,7 @@ public static void main(String[] args) {
     private void initComponents() {
       setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
 
-      configurationURL = new JComboBox(new 
DefaultComboBoxModel(committedPreferenceModel.getConfigurationURLs()));
+      configurationURL = new JComboBox<>(new 
DefaultComboBoxModel<>(committedPreferenceModel.getConfigurationURLs()));
       configurationURL.setEditable(true);
       
configurationURL.setPrototypeDisplayValue("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
       configurationURL.setPreferredSize(new Dimension(375, 13));

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java 
b/src/main/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java
index b4d670f..bbdc7bc 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawAppenderHandler.java
@@ -54,7 +54,7 @@ public class ChainsawAppenderHandler extends AppenderSkeleton 
{
       .getInstance();
   private PropertyChangeSupport propertySupport = new PropertyChangeSupport(
       this);
-  private Map customExpressionRules = new HashMap();
+  private Map<String, Rule> customExpressionRules = new HashMap<>();
 
   /**
    * NOTE: This variable needs to be physically located LAST, because
@@ -141,7 +141,7 @@ public class ChainsawAppenderHandler extends 
AppenderSkeleton {
         return null;
       }
 
-      public void receiveEventBatch(String identifier, List events) {
+      public void receiveEventBatch(String identifier, List<LoggingEvent> 
events) {
         System.out.println("received " + events.size());
       }
     });
@@ -216,7 +216,7 @@ public class ChainsawAppenderHandler extends 
AppenderSkeleton {
    * events accumulated during that time..
    */
   class WorkQueue {
-    final ArrayList queue = new ArrayList();
+    final ArrayList<LoggingEvent> queue = new ArrayList<>();
     Thread workerThread;
 
     protected WorkQueue() {
@@ -249,7 +249,7 @@ public class ChainsawAppenderHandler extends 
AppenderSkeleton {
       }
 
       public void run() {
-        List innerList = new ArrayList();
+        List<LoggingEvent> innerList = new ArrayList<>();
         while (true) {
           long timeStart = System.currentTimeMillis();
           synchronized (mutex) {
@@ -267,10 +267,10 @@ public class ChainsawAppenderHandler extends 
AppenderSkeleton {
           }
           int size = innerList.size();
           if (size > 0) {
-            Iterator iter = innerList.iterator();
+            Iterator<LoggingEvent> iter = innerList.iterator();
             ChainsawEventBatch eventBatch = new ChainsawEventBatch();
             while (iter.hasNext()) {
-              LoggingEvent e = (LoggingEvent) iter.next();
+              LoggingEvent e = iter.next();
               // attempt to set the host name (without port), from
               // remoteSourceInfo
               // if 'hostname' property not provided
@@ -329,9 +329,9 @@ public class ChainsawAppenderHandler extends 
AppenderSkeleton {
       private void dispatchEventBatch(ChainsawEventBatch eventBatch) {
         EventBatchListener[] listeners = listenerList
             .getListeners(EventBatchListener.class);
-        for (Iterator iter = eventBatch.identifierIterator(); iter.hasNext();) 
{
-          String identifier = (String) iter.next();
-          List eventList = null;
+        for (Iterator<String> iter = eventBatch.identifierIterator(); 
iter.hasNext();) {
+          String identifier = iter.next();
+          List<LoggingEvent> eventList = null;
           for (EventBatchListener listener : listeners) {
             if ((listener.getInterestedIdentifier() == null)
                     || listener.getInterestedIdentifier().equals(identifier)) {

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ChainsawColumns.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawColumns.java 
b/src/main/java/org/apache/log4j/chainsaw/ChainsawColumns.java
index 1cfa8d1..faff682 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawColumns.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawColumns.java
@@ -33,7 +33,7 @@ import org.apache.log4j.chainsaw.icons.ChainsawIcons;
  *
  */
 public class ChainsawColumns {
-  private static final List columnNames = new ArrayList();
+  private static final List<String> columnNames = new ArrayList<>();
 
   static {
     columnNames.add(ChainsawConstants.LOGGER_COL_NAME);
@@ -77,7 +77,7 @@ public class ChainsawColumns {
   private ChainsawColumns() {
   }
 
-  public static List getColumnsNames() {
+  public static List<String> getColumnsNames() {
     return columnNames;
   }
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java 
b/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
index e659f87..a33b3e3 100644
--- 
a/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
+++ 
b/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
@@ -72,7 +72,7 @@ class ChainsawCyclicBufferTableModel extends 
AbstractTableModel
   private boolean currentSortAscending;
   private int currentSortColumn;
   private final EventListenerList eventListenerList = new EventListenerList();
-  private final List columnNames = new 
ArrayList(ChainsawColumns.getColumnsNames());
+  private final List<String> columnNames = new 
ArrayList<>(ChainsawColumns.getColumnsNames());
   private boolean sortEnabled = false;
   private boolean reachedCapacity = false;
   private final Logger logger = 
LogManager.getLogger(ChainsawCyclicBufferTableModel.class);
@@ -116,8 +116,8 @@ class ChainsawCyclicBufferTableModel extends 
AbstractTableModel
     }
   }
 
-  public List getMatchingEvents(Rule rule) {
-    List list = new ArrayList();
+  public List<LoggingEventWrapper> getMatchingEvents(Rule rule) {
+    List<LoggingEventWrapper> list = new ArrayList<>();
     List unfilteredCopy;
     synchronized (mutex) {
         unfilteredCopy = new ArrayList(unfilteredList);
@@ -489,7 +489,7 @@ SwingHelper.invokeOnEDT(() -> 
propertySupport.firePropertyChange("refilter", Boo
   }
 
   public String getColumnName(int column) {
-      return (String) columnNames.get(column);
+      return columnNames.get(column);
   }
 
   public LoggingEventWrapper getRow(int row) {
@@ -584,7 +584,7 @@ SwingHelper.invokeOnEDT(() -> 
propertySupport.firePropertyChange("refilter", Boo
         String result = 
event.getProperty(columnNames.get(columnIndex).toString());
         if (result == null) {
             String lowerColName = 
columnNames.get(columnIndex).toString().toLowerCase(Locale.ENGLISH);
-            Set entrySet = event.getProperties().entrySet();
+            Set<Map.Entry> entrySet = event.getProperties().entrySet();
             for (Object anEntrySet : entrySet) {
                 Map.Entry thisEntry = (Map.Entry) anEntrySet;
                 if 
(thisEntry.getKey().toString().equalsIgnoreCase(lowerColName)) {

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ChainsawEventBatch.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawEventBatch.java 
b/src/main/java/org/apache/log4j/chainsaw/ChainsawEventBatch.java
index 56388f3..bf1a538 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawEventBatch.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawEventBatch.java
@@ -34,7 +34,7 @@ import org.apache.log4j.spi.LoggingEvent;
  *
  */
 class ChainsawEventBatch {
-  private Map identEventMap = new HashMap();
+  private Map<String, List<LoggingEvent>> identEventMap = new HashMap<>();
 
   ChainsawEventBatch() {
   }
@@ -44,10 +44,10 @@ class ChainsawEventBatch {
    * @param e
    */
   void addEvent(String ident, LoggingEvent e) {
-    List events = (List)identEventMap.get(ident);
+    List<LoggingEvent> events = identEventMap.get(ident);
 
     if (events == null) {
-      events = new ArrayList();
+      events = new ArrayList<>();
       identEventMap.put(ident, events);
     }
 
@@ -61,7 +61,7 @@ class ChainsawEventBatch {
    *
    * @return Iterator
    */
-  Iterator identifierIterator() {
+  Iterator<String> identifierIterator() {
     return identEventMap.keySet().iterator();
   }
 
@@ -71,7 +71,7 @@ class ChainsawEventBatch {
    * @param identifier
    * @return Collection of LoggingEvent instances
    */
-  List entrySet(String identifier) {
-    return (List) identEventMap.get(identifier);
+  List<LoggingEvent> entrySet(String identifier) {
+    return identEventMap.get(identifier);
   }
 }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ChainsawSplash.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ChainsawSplash.java 
b/src/main/java/org/apache/log4j/chainsaw/ChainsawSplash.java
index 4385dc7..ee0e882 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ChainsawSplash.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ChainsawSplash.java
@@ -57,7 +57,7 @@ class ChainsawSplash extends JWindow {
     String[] preferredFontNames =
       new String[] { "Arial", "Helvetica", "SansSerif" };
 
-    Set availableFontNames = new HashSet();
+    Set<String> availableFontNames = new HashSet<>();
     Font[] allFonts =
       GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/EventBatchListener.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/EventBatchListener.java 
b/src/main/java/org/apache/log4j/chainsaw/EventBatchListener.java
index e7140fe..354bee2 100644
--- a/src/main/java/org/apache/log4j/chainsaw/EventBatchListener.java
+++ b/src/main/java/org/apache/log4j/chainsaw/EventBatchListener.java
@@ -44,5 +44,5 @@ public interface EventBatchListener extends EventListener {
    * @param events List of LoggingEvent instances
    * @param identifier the identifier this list of LoggingEvents is associated 
with
    */
-  void receiveEventBatch(String identifier, List events);
+  void receiveEventBatch(String identifier, 
List<org.apache.log4j.spi.LoggingEvent> events);
 }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/EventContainer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/EventContainer.java 
b/src/main/java/org/apache/log4j/chainsaw/EventContainer.java
index db7ef82..179ec96 100644
--- a/src/main/java/org/apache/log4j/chainsaw/EventContainer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/EventContainer.java
@@ -64,7 +64,7 @@ public interface EventContainer extends SortTableModel, 
LoggerNameModel {
    */
   void clearModel();
 
-  List getMatchingEvents(Rule rule);
+  List<LoggingEventWrapper> getMatchingEvents(Rule rule);
 
   /**
    * Configures this model to use Cyclic or non-cyclic models.

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/Generator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/Generator.java 
b/src/main/java/org/apache/log4j/chainsaw/Generator.java
index 65228f3..e735e95 100644
--- a/src/main/java/org/apache/log4j/chainsaw/Generator.java
+++ b/src/main/java/org/apache/log4j/chainsaw/Generator.java
@@ -57,7 +57,7 @@ public class Generator extends Receiver implements Runnable {
   private LoggingEvent createEvent(
     Level level, Logger logger, String msg, Throwable t) {
       ThrowableInformation ti = new ThrowableInformation(t);
-      Map properties = new HashMap();
+      Map<String, String> properties = new HashMap<>();
       properties.put(Constants.APPLICATION_KEY, getName());
       properties.put(Constants.HOSTNAME_KEY, "localhost");
       LocationInfo li = new LocationInfo("file", logger.getClass().getName(), 
"method", "123");

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java 
b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
index 6357835..032c267 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
@@ -148,7 +148,7 @@ public class LogFilePatternLayoutBuilder
         return buffer.toString();
     }
 
-  public static Map getAppenderConfiguration(File file) {
+  public static Map<String, Map<String, String>> getAppenderConfiguration(File 
file) {
     try {
       return getXMLFileAppenderConfiguration(file);
     } catch (IOException | SAXException | ParserConfigurationException e) {
@@ -160,11 +160,11 @@ public class LogFilePatternLayoutBuilder
       //ignore
     }
     //don't return null
-    return new HashMap();
+    return new HashMap<>();
   }
 
-  public static Map getPropertiesFileAppenderConfiguration(File propertyFile) 
throws IOException {
-    Map result = new HashMap();
+  public static Map<String, Map<String, String>> 
getPropertiesFileAppenderConfiguration(File propertyFile) throws IOException {
+    Map<String, Map<String, String>> result = new HashMap<>();
     String appenderPrefix = "log4j.appender";
     Properties props = new Properties();
     FileInputStream inputStream = null;
@@ -172,7 +172,7 @@ public class LogFilePatternLayoutBuilder
       inputStream = new FileInputStream(propertyFile);
       props.load(inputStream);
       Enumeration propertyNames = props.propertyNames();
-      Map appenders = new HashMap();
+      Map<String, String> appenders = new HashMap<>();
       while (propertyNames.hasMoreElements()) {
         String propertyName = propertyNames.nextElement().toString();
         if (propertyName.startsWith(appenderPrefix)) {
@@ -193,7 +193,7 @@ public class LogFilePatternLayoutBuilder
                     String conversion = props.getProperty(appenderPrefix + "." 
+ appenderName + ".layout.ConversionPattern");
                     String file = props.getProperty(appenderPrefix + "." + 
appenderName + ".File");
                     if (conversion != null && file != null) {
-                        Map entry = new HashMap();
+                        Map<String, String> entry = new HashMap<>();
                         entry.put("file", file.trim());
                         entry.put("conversion", conversion.trim());
                         result.put(appenderName, entry);
@@ -222,8 +222,8 @@ public class LogFilePatternLayoutBuilder
     return result;
   }
 
-  private static Map getXMLFileAppenderConfiguration(File file) throws 
IOException, ParserConfigurationException, SAXException {
-      Map result = new HashMap();
+  private static Map<String, Map<String, String>> 
getXMLFileAppenderConfiguration(File file) throws IOException, 
ParserConfigurationException, SAXException {
+      Map<String, Map<String, String>> result = new HashMap<>();
       try (InputStream stream = file.toURI().toURL().openStream()) {
           InputSource src = new InputSource(stream);
           src.setSystemId(file.toURI().toURL().toString());
@@ -245,7 +245,7 @@ public class LogFilePatternLayoutBuilder
                   if 
(appenderClass.getNodeValue().toLowerCase(Locale.ENGLISH).endsWith("fileappender"))
 {
                       String appenderName = 
appenderAttributes.getNamedItem("name").getNodeValue();
                       //subclass of FileAppender - add it
-                      Map entry = new HashMap();
+                      Map<String, String> entry = new HashMap<>();
                       NodeList appenderChildren = appender.getChildNodes();
                       for (int j = 0; j < appenderChildren.getLength(); j++) {
                           Node appenderChild = appenderChildren.item(j);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java 
b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
index a7f8109..dcf16a0 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
@@ -278,7 +278,7 @@ public class LogPanel extends DockablePanel implements 
EventBatchListener, Profi
    * @param identifier used to load and save settings
    */
   public LogPanel(final ChainsawStatusBar statusBar, final String identifier, 
int cyclicBufferSize,
-                  Map allColorizers, final ApplicationPreferenceModel 
applicationPreferenceModel) {
+                  Map<String, RuleColorizer> allColorizers, final 
ApplicationPreferenceModel applicationPreferenceModel) {
     this.identifier = identifier;
     this.statusBar = statusBar;
     this.applicationPreferenceModel = applicationPreferenceModel;
@@ -298,7 +298,7 @@ public class LogPanel extends DockablePanel implements 
EventBatchListener, Profi
     findCombo.setPrototypeDisplayValue(prototypeValue);
     buildCombo(findCombo, false, filterCombo.model);
 
-    final Map columnNameKeywordMap = new HashMap();
+    final Map<Object, String> columnNameKeywordMap = new HashMap<>();
     columnNameKeywordMap.put(ChainsawConstants.CLASS_COL_NAME, 
LoggingEventFieldResolver.CLASS_FIELD);
     columnNameKeywordMap.put(ChainsawConstants.FILE_COL_NAME, 
LoggingEventFieldResolver.FILE_FIELD);
     columnNameKeywordMap.put(ChainsawConstants.LEVEL_COL_NAME, 
LoggingEventFieldResolver.LEVEL_FIELD);
@@ -2033,7 +2033,7 @@ 
detailPaneUpdater.setAndUpdateSelectedRow(table.getSelectedRow());
    * @param ident identifier shared by events
    * @param events list of LoggingEvent objects
    */
-  public void receiveEventBatch(String ident, final List events) {
+  public void receiveEventBatch(String ident, final List<LoggingEvent> events) 
{
 
     SwingHelper.invokeOnEDT(() -> {
       /*
@@ -2275,9 +2275,9 @@ 
detailPaneUpdater.setAndUpdateSelectedRow(table.getSelectedRow());
     preferenceModel.setHiddenExpression(logTreePanel.getHiddenExpression());
     
preferenceModel.setAlwaysDisplayExpression(logTreePanel.getAlwaysDisplayExpression());
     List visibleOrder = new ArrayList();
-    Enumeration cols = table.getColumnModel().getColumns();
+    Enumeration<TableColumn> cols = table.getColumnModel().getColumns();
     while (cols.hasMoreElements()) {
-       TableColumn c = (TableColumn)cols.nextElement();
+       TableColumn c = cols.nextElement();
        visibleOrder.add(c);
     }
     preferenceModel.setVisibleColumnOrder(visibleOrder);
@@ -2409,7 +2409,7 @@ 
detailPaneUpdater.setAndUpdateSelectedRow(table.getSelectedRow());
        return tableModel.getFilteredEvents();
   }
   
-  List getMatchingEvents(Rule rule) {
+  List<LoggingEventWrapper> getMatchingEvents(Rule rule) {
     return tableModel.getMatchingEvents(rule);
   }
 
@@ -3015,8 +3015,8 @@ 
detailPaneUpdater.setAndUpdateSelectedRow(table.getSelectedRow());
     TableColumnModel columnModel = table.getColumnModel();
     TableColumnModel searchColumnModel = searchTable.getColumnModel();
 
-    Map columnNameMap = new HashMap();
-    Map searchColumnNameMap = new HashMap();
+    Map<String, TableColumn> columnNameMap = new HashMap<>();
+    Map<String, TableColumn> searchColumnNameMap = new HashMap<>();
 
     for (int i = 0; i < columnModel.getColumnCount(); i++) {
       columnNameMap.put(table.getColumnName(i).toUpperCase(), 
columnModel.getColumn(i));
@@ -3028,7 +3028,7 @@ 
detailPaneUpdater.setAndUpdateSelectedRow(table.getSelectedRow());
 
     int index;
     StringTokenizer tok = new StringTokenizer(columnOrder, ",");
-    List sortedColumnList = new ArrayList();
+    List<TableColumn> sortedColumnList = new ArrayList<>();
 
     /*
        remove all columns from the table that exist in the model
@@ -3037,7 +3037,7 @@ 
detailPaneUpdater.setAndUpdateSelectedRow(table.getSelectedRow());
      **/
     while (tok.hasMoreElements()) {
       String element = tok.nextElement().toString().trim().toUpperCase();
-      TableColumn column = (TableColumn) columnNameMap.get(element);
+      TableColumn column = columnNameMap.get(element);
 
       if (column != null) {
         sortedColumnList.add(column);
@@ -3607,7 +3607,7 @@ lastRow = selectedRow;
     private class MarkerCellEditor implements TableCellEditor {
       JTable currentTable;
       JTextField textField = new JTextField();
-      Set cellEditorListeners = new HashSet();
+      Set<CellEditorListener> cellEditorListeners = new HashSet<>();
       private LoggingEventWrapper currentLoggingEventWrapper;
       private final Object mutex = new Object();
 
@@ -3642,9 +3642,9 @@ lastRow = selectedRow;
             }
 
             ChangeEvent event = new ChangeEvent(currentTable);
-            Set cellEditorListenersCopy;
+            Set<CellEditorListener> cellEditorListenersCopy;
             synchronized(mutex) {
-                cellEditorListenersCopy = new HashSet(cellEditorListeners);
+                cellEditorListenersCopy = new HashSet<>(cellEditorListeners);
             }
 
           for (Object aCellEditorListenersCopy : cellEditorListenersCopy) {
@@ -3658,9 +3658,9 @@ lastRow = selectedRow;
 
         public void cancelCellEditing()
         {
-            Set cellEditorListenersCopy;
+            Set<CellEditorListener> cellEditorListenersCopy;
             synchronized(mutex) {
-                cellEditorListenersCopy = new HashSet(cellEditorListeners);
+                cellEditorListenersCopy = new HashSet<>(cellEditorListeners);
             }
 
            ChangeEvent event = new ChangeEvent(currentTable);
@@ -3889,8 +3889,8 @@ lastRow = selectedRow;
     }
 
     abstract class AbstractEventMatchThumbnail extends JPanel {
-        protected List primaryList = new ArrayList();
-        protected List secondaryList = new ArrayList();
+        protected List<ThumbnailLoggingEventWrapper> primaryList = new 
ArrayList<>();
+        protected List<ThumbnailLoggingEventWrapper> secondaryList = new 
ArrayList<>();
         protected final int maxEventHeight = 6;
 
         AbstractEventMatchThumbnail() {
@@ -3956,15 +3956,15 @@ lastRow = selectedRow;
                 } else if (e.getType() == TableModelEvent.DELETE) {
                     //find each eventwrapper with an id in the deleted range 
and remove it...
 //                        System.out.println("delete- current warnings: " + 
warnings.size() + ", errors: " + errors.size() + ", first row: " + firstRow + 
", last row: " + lastRow + ", displayed event count: " + displayedEvents.size() 
);
-                    for (Iterator iter = 
secondaryList.iterator();iter.hasNext();) {
-                        ThumbnailLoggingEventWrapper wrapper = 
(ThumbnailLoggingEventWrapper)iter.next();
+                    for (Iterator<ThumbnailLoggingEventWrapper> iter = 
secondaryList.iterator(); iter.hasNext();) {
+                        ThumbnailLoggingEventWrapper wrapper = iter.next();
                         if ((wrapper.rowNum >= firstRow) && (wrapper.rowNum <= 
lastRow)) {
 //                                System.out.println("deleting find: " + 
wrapper);
                             iter.remove();
                         }
                     }
-                    for (Iterator iter = 
primaryList.iterator();iter.hasNext();) {
-                        ThumbnailLoggingEventWrapper wrapper = 
(ThumbnailLoggingEventWrapper)iter.next();
+                    for (Iterator<ThumbnailLoggingEventWrapper> iter = 
primaryList.iterator(); iter.hasNext();) {
+                        ThumbnailLoggingEventWrapper wrapper = iter.next();
                         if ((wrapper.rowNum >= firstRow) && (wrapper.rowNum <= 
lastRow)) {
 //                                System.out.println("deleting error: " + 
wrapper);
                             iter.remove();
@@ -3976,15 +3976,15 @@ lastRow = selectedRow;
                 } else if (e.getType() == TableModelEvent.UPDATE) {
 //                        System.out.println("update - about to delete old 
warnings in range: " + firstRow + " to " + lastRow + ", current warnings: " + 
warnings.size() + ", errors: " + errors.size());
                     //find each eventwrapper with an id in the deleted range 
and remove it...
-                    for (Iterator iter = 
secondaryList.iterator();iter.hasNext();) {
-                        ThumbnailLoggingEventWrapper wrapper = 
(ThumbnailLoggingEventWrapper)iter.next();
+                    for (Iterator<ThumbnailLoggingEventWrapper> iter = 
secondaryList.iterator(); iter.hasNext();) {
+                        ThumbnailLoggingEventWrapper wrapper = iter.next();
                         if ((wrapper.rowNum >= firstRow) && (wrapper.rowNum <= 
lastRow)) {
 //                                System.out.println("update - deleting 
warning: " + wrapper);
                             iter.remove();
                         }
                     }
-                    for (Iterator iter = 
primaryList.iterator();iter.hasNext();) {
-                        ThumbnailLoggingEventWrapper wrapper = 
(ThumbnailLoggingEventWrapper)iter.next();
+                    for (Iterator<ThumbnailLoggingEventWrapper> iter = 
primaryList.iterator(); iter.hasNext();) {
+                        ThumbnailLoggingEventWrapper wrapper = iter.next();
                         if ((wrapper.rowNum >= firstRow) && (wrapper.rowNum <= 
lastRow)) {
 //                                System.out.println("update - deleting error: 
" + wrapper);
                             iter.remove();

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java 
b/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
index 0c98207..6ce8bdf 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
@@ -42,7 +42,7 @@ import org.apache.log4j.Logger;
  */
 class LogPanelLoggerTreeModel extends DefaultTreeModel
   implements LoggerNameListener {
-  private Map fullPackageMap = new HashMap();
+  private Map<String, LogPanelTreeNode> fullPackageMap = new HashMap<>();
   private final Logger logger = 
LogManager.getLogger(LogPanelLoggerTreeModel.class);
 
   LogPanelLoggerTreeModel() {
@@ -144,7 +144,7 @@ outerFor:
 
   LogPanelTreeNode lookupLogger(String newLogger) {
     if (fullPackageMap.containsKey(newLogger)) {
-      return (LogPanelTreeNode) fullPackageMap.get(newLogger);
+      return fullPackageMap.get(newLogger);
     }else{
         logger.debug("No logger found matching '" + newLogger + "'");
         logger.debug("Map Dump: " + fullPackageMap);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java 
b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
index 360820c..47187da 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
@@ -51,7 +51,7 @@ public class LogPanelPreferenceModel implements Serializable{
     Properties properties = SettingsManager.getInstance().getDefaultSettings();
 
       for (Map.Entry<Object, Object> objectObjectEntry : 
properties.entrySet()) {
-          Map.Entry entry = objectObjectEntry;
+          Map.Entry<Object, Object> entry = objectObjectEntry;
 
           if (entry.getKey().toString().startsWith("DateFormat")) {
               list.add(entry.getValue());

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LogUI.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java 
b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
index cbaee9a..8ace4fd 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java
@@ -156,8 +156,8 @@ public class LogUI extends JFrame implements 
ChainsawViewer, SettingsListener {
   private ApplicationPreferenceModelPanel applicationPreferenceModelPanel;
   private final Map tableModelMap = new HashMap();
   private final Map tableMap = new HashMap();
-  private final List filterableColumns = new ArrayList();
-  private final Map panelMap = new HashMap();
+  private final List<String> filterableColumns = new ArrayList<>();
+  private final Map<String, Component> panelMap = new HashMap<>();
   ChainsawAppenderHandler handler;
   private ChainsawToolBarAndMenus tbms;
   private ChainsawAbout aboutBox;
@@ -165,7 +165,7 @@ public class LogUI extends JFrame implements 
ChainsawViewer, SettingsListener {
   private final JFrame tutorialFrame = new JFrame("Chainsaw Tutorial");
   private JSplitPane mainReceiverSplitPane;
   private double lastMainReceiverSplitLocation = 
DEFAULT_MAIN_RECEIVER_SPLIT_LOCATION;
-  private final List identifierPanels = new ArrayList();
+  private final List<LogPanel> identifierPanels = new ArrayList<>();
   private int dividerSize;
   private int cyclicBufferSize;
   private static Logger logger;
@@ -199,7 +199,7 @@ public class LogUI extends JFrame implements 
ChainsawViewer, SettingsListener {
   
   private PluginRegistry pluginRegistry;
   //map of tab names to rulecolorizers
-  private Map allColorizers = new HashMap();
+  private Map<String, RuleColorizer> allColorizers = new HashMap<>();
   private ReceiverConfigurationPanel receiverConfigurationPanel = new 
ReceiverConfigurationPanel();
 
   /**
@@ -585,8 +585,8 @@ e.printStackTrace();
 //    cc.activateOptions();
     
     try {
-        Class pluginClass = 
Class.forName("org.apache.log4j.chainsaw.zeroconf.ZeroConfPlugin");
-        Plugin plugin = (Plugin) pluginClass.newInstance();
+        Class<? extends Plugin> pluginClass = 
Class.forName("org.apache.log4j.chainsaw.zeroconf.ZeroConfPlugin").asSubclass(Plugin.class);
+        Plugin plugin = pluginClass.newInstance();
         pluginRegistry.addPlugin(plugin);
         plugin.activateOptions();
         MessageCenter.getInstance().getLogger().info("Looks like ZeroConf is 
available... WooHoo!");
@@ -705,7 +705,7 @@ e.printStackTrace();
 
     event.saveSetting(LogUI.MAIN_WINDOW_WIDTH, getWidth());
     event.saveSetting(LogUI.MAIN_WINDOW_HEIGHT, getHeight());
-    RuleColorizer colorizer = (RuleColorizer) 
allColorizers.get(ChainsawConstants.DEFAULT_COLOR_RULE_NAME);
+    RuleColorizer colorizer = 
allColorizers.get(ChainsawConstants.DEFAULT_COLOR_RULE_NAME);
     colorizer.saveColorSettings(ChainsawConstants.DEFAULT_COLOR_RULE_NAME);
     if (receiverConfigurationPanel.getModel().getLogFormat() != null ) {
       event.saveSetting("SavedConfig.logFormat", 
receiverConfigurationPanel.getModel().getLogFormat());
@@ -1360,7 +1360,7 @@ e.printStackTrace();
                           }
                           
applicationPreferenceModel.setShowNoReceiverWarning(!receiverConfigurationPanel.isDontWarnMeAgain());
                           //remove existing plugins
-                          List plugins = pluginRegistry.getPlugins();
+                          List<Plugin> plugins = pluginRegistry.getPlugins();
                           for (Object plugin1 : plugins) {
                               Plugin plugin = (Plugin) plugin1;
                               //don't stop ZeroConfPlugin if it is registered
@@ -1374,8 +1374,8 @@ e.printStackTrace();
                               int port = 
receiverConfigurationPanel.getModel().getNetworkReceiverPort();
 
                               try {
-                                  Class receiverClass = 
receiverConfigurationPanel.getModel().getNetworkReceiverClass();
-                                  Receiver networkReceiver = (Receiver) 
receiverClass.newInstance();
+                                  Class<? extends Receiver> receiverClass = 
receiverConfigurationPanel.getModel().getNetworkReceiverClass();
+                                  Receiver networkReceiver = 
receiverClass.newInstance();
                                   
networkReceiver.setName(receiverClass.getSimpleName() + "-" + port);
 
                                   Method portMethod =
@@ -1399,7 +1399,7 @@ e.printStackTrace();
                               File log4jConfigFile = 
receiverConfigurationPanel.getModel().getLog4jConfigFile();
                               if (log4jConfigFile != null) {
                                   try {
-                                      Map entries = 
LogFilePatternLayoutBuilder.getAppenderConfiguration(log4jConfigFile);
+                                      Map<String, Map<String, String>> entries 
= LogFilePatternLayoutBuilder.getAppenderConfiguration(log4jConfigFile);
                                       for (Object o : entries.entrySet()) {
                                           try {
                                               Map.Entry entry = (Map.Entry) o;
@@ -1568,7 +1568,7 @@ e.printStackTrace();
 
   Map getPanels() {
     Map m = new HashMap();
-    Set panelSet = getPanelMap().entrySet();
+    Set<Map.Entry<String, Component>> panelSet = getPanelMap().entrySet();
 
       for (Object aPanelSet : panelSet) {
           Map.Entry entry = (Map.Entry) aPanelSet;
@@ -1582,7 +1582,7 @@ e.printStackTrace();
   }
 
   void displayPanel(String panelName, boolean display) {
-    Component p = (Component)getPanelMap().get(panelName);
+    Component p = getPanelMap().get(panelName);
 
     int index = getTabbedPane().indexOfTab(panelName);
 
@@ -1779,7 +1779,7 @@ e.printStackTrace();
    *
    * @return DOCUMENT ME!
    */
-  public Map getPanelMap() {
+  public Map<String, Component> getPanelMap() {
     return panelMap;
   }
 
@@ -1801,7 +1801,7 @@ e.printStackTrace();
    *
    * @return DOCUMENT ME!
    */
-  public List getFilterableColumns() {
+  public List<String> getFilterableColumns() {
     return filterableColumns;
   }
 
@@ -1893,7 +1893,7 @@ e.printStackTrace();
   }
 
   private void buildLogPanel(
-      boolean customExpression, final String ident, final List events)
+      boolean customExpression, final String ident, final List<LoggingEvent> 
events)
       throws IllegalArgumentException {
       final LogPanel thisPanel = new LogPanel(getStatusBar(), ident, 
cyclicBufferSize, allColorizers, applicationPreferenceModel);
 
@@ -1971,7 +1971,7 @@ e.printStackTrace();
   public void createCustomExpressionLogPanel(String ident) {
     //collect events matching the rule from all of the tabs
     try {
-      List list = new ArrayList();
+      List<LoggingEvent> list = new ArrayList<>();
       Rule rule = ExpressionRule.getRule(ident);
 
         for (Object identifierPanel : identifierPanels) {
@@ -2062,7 +2062,7 @@ e.printStackTrace();
          * @param events
          */
     public void receiveEventBatch(
-      final String ident, final List events) {
+      final String ident, final List<LoggingEvent> events) {
       if (events.size() == 0) {
         return;
       }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java 
b/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java
index 5d682d4..2a835a6 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java
@@ -34,7 +34,7 @@ import javax.swing.event.EventListenerList;
  */
 public class LoggerNameModelSupport implements LoggerNameModel {
   
-  private Set loggerNameSet = new HashSet();
+  private Set<String> loggerNameSet = new HashSet<>();
   private EventListenerList listenerList = new EventListenerList();
   
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java 
b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
index b65ec41..24081ec 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
@@ -1245,7 +1245,7 @@ final class LoggerNameTreePanel extends JPanel implements 
LoggerNameListener
         break;
       }
 
-      List depths = new ArrayList();
+      List<Integer> depths = new ArrayList<>();
 
       while (depthEnum.hasMoreElements()) {
         depths.add(
@@ -1255,7 +1255,7 @@ final class LoggerNameTreePanel extends JPanel implements 
LoggerNameListener
       Collections.sort(depths);
       Collections.reverse(depths);
 
-      int maxDepth = (Integer) depths.get(0);
+      int maxDepth = depths.get(0);
 
       if (maxDepth > WARN_DEPTH) {
         logger.warn("Should warn user, depth=" + maxDepth);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java 
b/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
index 7244179..be19870 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
@@ -46,6 +46,7 @@ import org.apache.log4j.chainsaw.helper.SwingHelper;
 import org.apache.log4j.chainsaw.prefs.SettingsManager;
 import org.apache.log4j.net.SocketReceiver;
 import org.apache.log4j.net.UDPReceiver;
+import org.apache.log4j.plugins.Receiver;
 
 
 /**
@@ -59,10 +60,10 @@ class ReceiverConfigurationPanel extends JPanel {
     private final PanelModel panelModel = new PanelModel();
 
     //network receiver widgets
-    private JComboBox networkReceiverPortComboBox;
-    private JComboBox networkReceiverClassNameComboBox;
-    private DefaultComboBoxModel networkReceiverClassNameComboBoxModel;
-    private DefaultComboBoxModel networkReceiverPortComboBoxModel;
+    private JComboBox<String> networkReceiverPortComboBox;
+    private JComboBox<String> networkReceiverClassNameComboBox;
+    private DefaultComboBoxModel<String> networkReceiverClassNameComboBoxModel;
+    private DefaultComboBoxModel<String> networkReceiverPortComboBoxModel;
 
     //log4j config receiver widgets
     private JButton browseLog4jConfigButton;
@@ -70,18 +71,18 @@ class ReceiverConfigurationPanel extends JPanel {
 
     //logfile receiver widgets
     private JButton browseLogFileButton;
-    private JComboBox logFileFormatTypeComboBox;
+    private JComboBox<String> logFileFormatTypeComboBox;
 
-    private JComboBox logFileFormatComboBox;
-    private JComboBox logFileFormatTimestampFormatComboBox;
+    private JComboBox<String> logFileFormatComboBox;
+    private JComboBox<String> logFileFormatTimestampFormatComboBox;
     private JTextField logFileURLTextField;
-    private DefaultComboBoxModel logFileFormatComboBoxModel;
-    private DefaultComboBoxModel logFileFormatTimestampFormatComboBoxModel;
+    private DefaultComboBoxModel<String> logFileFormatComboBoxModel;
+    private DefaultComboBoxModel<String> 
logFileFormatTimestampFormatComboBoxModel;
 
     //use existing configuration widgets
     private JButton browseForAnExistingConfigurationButton;
-    private DefaultComboBoxModel existingConfigurationComboBoxModel;
-    private JComboBox existingConfigurationComboBox;
+    private DefaultComboBoxModel<String> existingConfigurationComboBoxModel;
+    private JComboBox<String> existingConfigurationComboBox;
 
     //don't warn again widgets
     private JCheckBox dontwarnIfNoReceiver;
@@ -215,20 +216,20 @@ class ReceiverConfigurationPanel extends JPanel {
         okButton = new JButton(" OK ");
         cancelButton = new JButton(" Cancel ");
 
-        List okCancelButtons = SwingHelper.orderOKCancelButtons(okButton, 
cancelButton);
+        List<JButton> okCancelButtons = 
SwingHelper.orderOKCancelButtons(okButton, cancelButton);
 
         c = new GridBagConstraints();
         c.fill = GridBagConstraints.HORIZONTAL;
         c.gridx = 2;
         c.gridy = 0;
         c.insets = new Insets(0, 0, 0, 10);
-        panel.add((JButton)okCancelButtons.get(0), c);
+        panel.add(okCancelButtons.get(0), c);
 
         c = new GridBagConstraints();
         c.fill = GridBagConstraints.HORIZONTAL;
         c.gridx = 3;
         c.gridy = 0;
-        panel.add((JButton)okCancelButtons.get(1), c);
+        panel.add(okCancelButtons.get(1), c);
 
         cancelButton.addActionListener(new ActionListener()
         {
@@ -292,19 +293,19 @@ class ReceiverConfigurationPanel extends JPanel {
     }
 
     private JPanel buildNetworkReceiverPanel() {
-        networkReceiverPortComboBoxModel = new DefaultComboBoxModel();
+        networkReceiverPortComboBoxModel = new DefaultComboBoxModel<>();
         networkReceiverPortComboBoxModel.addElement("4445");
         networkReceiverPortComboBoxModel.addElement("4560");
 
-        networkReceiverPortComboBox = new 
JComboBox(networkReceiverPortComboBoxModel);
+        networkReceiverPortComboBox = new 
JComboBox<>(networkReceiverPortComboBoxModel);
         networkReceiverPortComboBox.setEditable(true);
         networkReceiverPortComboBox.setOpaque(false);
 
-        networkReceiverClassNameComboBoxModel = new DefaultComboBoxModel();
+        networkReceiverClassNameComboBoxModel = new DefaultComboBoxModel<>();
         
networkReceiverClassNameComboBoxModel.addElement(SocketReceiver.class.getName());
         
networkReceiverClassNameComboBoxModel.addElement(UDPReceiver.class.getName());
 
-        networkReceiverClassNameComboBox = new 
JComboBox(networkReceiverClassNameComboBoxModel);
+        networkReceiverClassNameComboBox = new 
JComboBox<>(networkReceiverClassNameComboBoxModel);
 
         networkReceiverClassNameComboBox.setEditable(false);
         networkReceiverClassNameComboBox.setOpaque(false);
@@ -426,11 +427,11 @@ class ReceiverConfigurationPanel extends JPanel {
         c.insets = new Insets(0, 0, 5, 5);
         panel.add(new JLabel(" Log file format type "), c);
 
-        DefaultComboBoxModel comboBoxModel = new DefaultComboBoxModel();
+        DefaultComboBoxModel<String> comboBoxModel = new 
DefaultComboBoxModel<>();
         comboBoxModel.addElement("LogFilePatternReceiver LogFormat");
         comboBoxModel.addElement("PatternLayout format");
 
-        logFileFormatTypeComboBox = new JComboBox(comboBoxModel);
+        logFileFormatTypeComboBox = new JComboBox<>(comboBoxModel);
         logFileFormatTypeComboBox.setOpaque(false);
 
         c = new GridBagConstraints();
@@ -447,9 +448,9 @@ class ReceiverConfigurationPanel extends JPanel {
         c.insets = new Insets(0, 5, 5, 5);
         panel.add(new JLabel(" Log file format "), c);
 
-        logFileFormatComboBoxModel = new DefaultComboBoxModel();
+        logFileFormatComboBoxModel = new DefaultComboBoxModel<>();
         seedLogFileFormatComboBoxModel();
-        logFileFormatComboBox = new JComboBox(logFileFormatComboBoxModel);
+        logFileFormatComboBox = new JComboBox<>(logFileFormatComboBoxModel);
         logFileFormatComboBox.setEditable(true);
         logFileFormatComboBox.setOpaque(false);
         logFileFormatComboBox.setSelectedIndex(0);
@@ -469,9 +470,9 @@ class ReceiverConfigurationPanel extends JPanel {
         c.insets = new Insets(0, 5, 5, 5);
         panel.add(new JLabel(" Log file timestamp format "), c);
 
-        logFileFormatTimestampFormatComboBoxModel = new DefaultComboBoxModel();
+        logFileFormatTimestampFormatComboBoxModel = new 
DefaultComboBoxModel<>();
         seedLogFileFormatTimestampComboBoxModel();
-        logFileFormatTimestampFormatComboBox = new 
JComboBox(logFileFormatTimestampFormatComboBoxModel);
+        logFileFormatTimestampFormatComboBox = new 
JComboBox<>(logFileFormatTimestampFormatComboBoxModel);
         logFileFormatTimestampFormatComboBox.setEditable(true);
         logFileFormatTimestampFormatComboBox.setOpaque(false);
 
@@ -513,9 +514,9 @@ class ReceiverConfigurationPanel extends JPanel {
     }
 
     private JPanel buildUseExistingConfigurationPanel() {
-        existingConfigurationComboBoxModel = new DefaultComboBoxModel();
+        existingConfigurationComboBoxModel = new DefaultComboBoxModel<>();
 
-        existingConfigurationComboBox = new 
JComboBox(existingConfigurationComboBoxModel);
+        existingConfigurationComboBox = new 
JComboBox<>(existingConfigurationComboBoxModel);
         existingConfigurationComboBox.setOpaque(false);
         existingConfigurationComboBox.setToolTipText("Previously loaded 
configurations can be chosen here");
         existingConfigurationComboBox.setEditable(true);
@@ -708,8 +709,8 @@ class ReceiverConfigurationPanel extends JPanel {
             return 
Integer.parseInt(networkReceiverPortComboBoxModel.getSelectedItem().toString());
         }
 
-        Class getNetworkReceiverClass() throws ClassNotFoundException {
-            return 
Class.forName(networkReceiverClassNameComboBoxModel.getSelectedItem().toString());
+        Class<? extends Receiver> getNetworkReceiverClass() throws 
ClassNotFoundException {
+            return 
Class.forName(networkReceiverClassNameComboBoxModel.getSelectedItem().toString()).asSubclass(Receiver.class);
         }
 
         boolean isLoadConfig() {

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java 
b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
index 1b20aec..3b6a662 100644
--- a/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
@@ -78,7 +78,7 @@ import org.apache.log4j.spi.LoggingEventFieldResolver;
  */
 public class TableColorizingRenderer extends DefaultTableCellRenderer {
   private static final DateFormat DATE_FORMATTER = new 
SimpleDateFormat(Constants.SIMPLE_TIME_PATTERN);
-  private static final Map iconMap = 
LevelIconFactory.getInstance().getLevelToIconMap();
+  private static final Map<String, Icon> iconMap = 
LevelIconFactory.getInstance().getLevelToIconMap();
   private RuleColorizer colorizer;
   private boolean levelUseIcons = false;
   private boolean wrap = false;
@@ -371,7 +371,7 @@ public class TableColorizingRenderer extends 
DefaultTableCellRenderer {
     case ChainsawColumns.INDEX_LEVEL_COL_NAME:
       if (levelUseIcons) {
         levelTextPane.setText("");
-        levelTextPane.insertIcon((Icon) iconMap.get(value.toString()));
+        levelTextPane.insertIcon(iconMap.get(value.toString()));
         if (!toolTipsVisible) {
           levelTextPane.setToolTipText(value.toString());
         }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/ThresholdSlider.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/ThresholdSlider.java 
b/src/main/java/org/apache/log4j/chainsaw/ThresholdSlider.java
index a91bae9..f6fed76 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ThresholdSlider.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ThresholdSlider.java
@@ -65,7 +65,7 @@ final class ThresholdSlider extends JSlider {
       new DefaultBoundedRangeModel(
         priorityList.indexOf(Level.TRACE), 0, 0, priorityList.size() - 1));
 
-    Hashtable labelMap = new Hashtable();
+    Hashtable<Integer, JLabel> labelMap = new Hashtable<>();
 
       for (Object aPriorityList : priorityList) {
           Level item = (Level) aPriorityList;

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java 
b/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
index b74c3ef..0fef5ca 100644
--- a/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
@@ -48,7 +48,7 @@ import org.apache.log4j.chainsaw.icons.ChainsawIcons;
  * @author Scott Deboy &lt;sde...@apache.org&gt;
  */
 public class WelcomePanel extends JPanel {
-  private Stack urlStack = new Stack();
+  private Stack<URL> urlStack = new Stack<>();
   private final JEditorPane textInfo = new JEditorPane();
   private final URLToolbar urlToolbar = new URLToolbar();
 
@@ -113,7 +113,7 @@ public class WelcomePanel extends JPanel {
             return;
           }
 
-          setURL((URL) urlStack.pop());
+          setURL(urlStack.pop());
         }
       };
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
----------------------------------------------------------------------
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 41bdcf5..3d0789b 100644
--- a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
@@ -92,27 +92,27 @@ public class ColorPanel extends JPanel
   private JTable table;
   private ActionListener closeListener;
   private JLabel statusBar;
-  private Vector columns;
+  private Vector<String> columns;
   private final String noTab = "None";
   private DefaultComboBoxModel logPanelColorizersModel;
-  private Map allLogPanelColorizers;
+  private Map<String, RuleColorizer> allLogPanelColorizers;
   private RuleColorizer currentLogPanelColorizer;
   private JTable searchTable;
   private DefaultTableModel searchTableModel;
-  private Vector searchColumns;
-  private Vector searchDataVector;
-  private Vector searchDataVectorEntry;
+  private Vector<String> searchColumns;
+  private Vector<Vector<Color>> searchDataVector;
+  private Vector<Color> searchDataVectorEntry;
 
   private JTable alternatingColorTable;
   private DefaultTableModel alternatingColorTableModel;
-  private Vector alternatingColorColumns;
-  private Vector alternatingColorDataVector;
-  private Vector alternatingColorDataVectorEntry;
+  private Vector<String> alternatingColorColumns;
+  private Vector<Vector<Color>> alternatingColorDataVector;
+  private Vector<Color> alternatingColorDataVectorEntry;
   private ApplicationPreferenceModel applicationPreferenceModel;
   private JCheckBox bypassSearchColorsCheckBox;
 
   public ColorPanel(final RuleColorizer currentLogPanelColorizer, final 
FilterModel filterModel,
-                      final Map allLogPanelColorizers, final 
ApplicationPreferenceModel applicationPreferenceModel) {
+                    final Map<String, RuleColorizer> allLogPanelColorizers, 
final ApplicationPreferenceModel applicationPreferenceModel) {
     super(new BorderLayout());
 
     this.currentLogPanelColorizer = currentLogPanelColorizer;
@@ -139,29 +139,29 @@ public class ColorPanel extends JPanel
     alternatingColorTable.setRowHeight(ChainsawConstants.DEFAULT_ROW_HEIGHT);
     alternatingColorTable.setPreferredScrollableViewportSize(new Dimension(30, 
30));
 
-    columns = new Vector();
+    columns = new Vector<>();
     columns.add("Expression");
     columns.add("Background");
     columns.add("Foreground");
 
-    searchColumns = new Vector();
+    searchColumns = new Vector<>();
     searchColumns.add("Background");
     searchColumns.add("Foreground");
 
-    alternatingColorColumns = new Vector();
+    alternatingColorColumns = new Vector<>();
     alternatingColorColumns.add("Background");
     alternatingColorColumns.add("Foreground");
 
     //searchtable contains only a single-entry vector containing a two-item 
vector (foreground, background)
-    searchDataVector = new Vector();
-    searchDataVectorEntry = new Vector();
+    searchDataVector = new Vector<>();
+    searchDataVectorEntry = new Vector<>();
     
searchDataVectorEntry.add(applicationPreferenceModel.getSearchBackgroundColor());
     
searchDataVectorEntry.add(applicationPreferenceModel.getSearchForegroundColor());
     searchDataVector.add(searchDataVectorEntry);
     searchTableModel.setDataVector(searchDataVector, searchColumns);
 
-    alternatingColorDataVector = new Vector();
-    alternatingColorDataVectorEntry = new Vector();
+    alternatingColorDataVector = new Vector<>();
+    alternatingColorDataVectorEntry = new Vector<>();
     
alternatingColorDataVectorEntry.add(applicationPreferenceModel.getAlternatingColorBackgroundColor());
     
alternatingColorDataVectorEntry.add(applicationPreferenceModel.getAlternatingColorForegroundColor());
     alternatingColorDataVector.add(alternatingColorDataVectorEntry);
@@ -170,7 +170,7 @@ public class ColorPanel extends JPanel
     table.setPreferredScrollableViewportSize(new Dimension(525, 200));
     tableScrollPane = new JScrollPane(table);
 
-    Vector data = getColorizerVector();
+    Vector<Vector<java.io.Serializable>> data = getColorizerVector();
     tableModel.setDataVector(data, columns);
 
     table.sizeColumnsToFit(0);
@@ -256,7 +256,7 @@ public class ColorPanel extends JPanel
               tableModel.getDataVector().clear();
               Object selectedItem = 
loadPanelColorizersComboBox.getSelectedItem();
               if (selectedItem != null) {
-                RuleColorizer sourceColorizer = (RuleColorizer) 
allLogPanelColorizers.get(selectedItem.toString());
+                RuleColorizer sourceColorizer = 
allLogPanelColorizers.get(selectedItem.toString());
                 colorizer.setRules(sourceColorizer.getRules());
                 updateColors();
               }
@@ -344,8 +344,8 @@ public class ColorPanel extends JPanel
     tableModel.fireTableDataChanged();
   }
   
-  private Vector getColorizerVector() {
-      Vector data = new Vector();
+  private Vector<Vector<java.io.Serializable>> getColorizerVector() {
+      Vector<Vector<java.io.Serializable>> data = new Vector<>();
       Map map = colorizer.getRules();
       for (Object o1 : map.entrySet()) {
           Map.Entry entry = (Map.Entry) o1;
@@ -354,7 +354,7 @@ public class ColorPanel extends JPanel
 
               for (Object o : ((List) entry.getValue())) {
                   ColorRule rule = (ColorRule) o;
-                  Vector v = new Vector();
+                  Vector<java.io.Serializable> v = new Vector<>();
                   v.add(rule.getExpression());
                   v.add(rule.getBackgroundColor());
                   v.add(rule.getForegroundColor());
@@ -510,7 +510,7 @@ public class ColorPanel extends JPanel
     saveAsDefaultButton.addActionListener(
       new AbstractAction() {
         public void actionPerformed(ActionEvent evt) {
-          RuleColorizer defaultColorizer = (RuleColorizer) 
allLogPanelColorizers.get(ChainsawConstants.DEFAULT_COLOR_RULE_NAME);
+          RuleColorizer defaultColorizer = 
allLogPanelColorizers.get(ChainsawConstants.DEFAULT_COLOR_RULE_NAME);
           applyRules(currentRuleSet, defaultColorizer);
         }
     });
@@ -669,7 +669,7 @@ public class ColorPanel extends JPanel
       new AbstractAction() {
         public void actionPerformed(ActionEvent evt) {
           int currentRow = table.getSelectedRow();
-          Vector v = new Vector();
+          Vector<java.io.Serializable> v = new Vector<>();
           v.add("");
           v.add(Color.white);
           v.add(Color.black);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
----------------------------------------------------------------------
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 d1c00d0..9bd1078 100644
--- a/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
+++ b/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
@@ -58,7 +58,7 @@ public class FileDnDTarget implements DropTargetListener{
     private List fileList;
 
     private JComponent guiTarget;
-    private Map dropTargets = new HashMap();
+    private Map<JComponent, DropTarget> dropTargets = new HashMap<>();
     
     
     private PropertyChangeSupport propertySupport = new 
PropertyChangeSupport(this);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/filter/EventTypeEntryContainer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/filter/EventTypeEntryContainer.java 
b/src/main/java/org/apache/log4j/chainsaw/filter/EventTypeEntryContainer.java
index 561230c..37c8885 100644
--- 
a/src/main/java/org/apache/log4j/chainsaw/filter/EventTypeEntryContainer.java
+++ 
b/src/main/java/org/apache/log4j/chainsaw/filter/EventTypeEntryContainer.java
@@ -35,15 +35,15 @@ import javax.swing.ListModel;
  *
  */
 public class EventTypeEntryContainer {
-  private Set ColumnNames = new HashSet();
-  private Set Methods = new HashSet();
-  private Set Classes = new HashSet();
-  private Set NDCs = new HashSet();
+  private Set<String> ColumnNames = new HashSet<>();
+  private Set<String> Methods = new HashSet<>();
+  private Set<String> Classes = new HashSet<>();
+  private Set<String> NDCs = new HashSet<>();
   private Set Levels = new HashSet();
-  private Set Loggers = new HashSet();
-  private Set Threads = new HashSet();
-  private Set FileNames = new HashSet();
-  private DefaultListModel columnNameListModel = new DefaultListModel();
+  private Set<String> Loggers = new HashSet<>();
+  private Set<String> Threads = new HashSet<>();
+  private Set<String> FileNames = new HashSet<>();
+  private DefaultListModel<String> columnNameListModel = new 
DefaultListModel<>();
   private DefaultListModel methodListModel = new DefaultListModel();
   private DefaultListModel classesListModel = new DefaultListModel();
   private DefaultListModel propListModel = new DefaultListModel();

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/help/HelpLocator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/help/HelpLocator.java 
b/src/main/java/org/apache/log4j/chainsaw/help/HelpLocator.java
index 03d6983..2597d51 100644
--- a/src/main/java/org/apache/log4j/chainsaw/help/HelpLocator.java
+++ b/src/main/java/org/apache/log4j/chainsaw/help/HelpLocator.java
@@ -36,7 +36,7 @@ import org.apache.log4j.chainsaw.messages.MessageCenter;
  *         &lt;psm...@apache.org&gt;
  */
 class HelpLocator {
-  private List classLoaders = new ArrayList();
+  private List<ClassLoader> classLoaders = new ArrayList<>();
   private static Logger logger = LogManager.getLogger(HelpLocator.class);
   HelpLocator() {
   }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java
----------------------------------------------------------------------
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 052c693..f0882f1 100644
--- a/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java
+++ b/src/main/java/org/apache/log4j/chainsaw/helper/SwingHelper.java
@@ -96,8 +96,8 @@ public final class SwingHelper {
     return 
System.getProperty("os.name").toLowerCase(Locale.ENGLISH).startsWith("mac os 
x");
   }
 
-  public static List orderOKCancelButtons(JButton okButton, JButton 
cancelButton) {
-    List result = new ArrayList();
+  public static List<JButton> orderOKCancelButtons(JButton okButton, JButton 
cancelButton) {
+    List<JButton> result = new ArrayList<>();
     if (isMacOSX()) {
       result.add(cancelButton);
       result.add(okButton);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/helper/TableCellEditorFactory.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/helper/TableCellEditorFactory.java 
b/src/main/java/org/apache/log4j/chainsaw/helper/TableCellEditorFactory.java
index 3f00f78..50dd1e8 100644
--- a/src/main/java/org/apache/log4j/chainsaw/helper/TableCellEditorFactory.java
+++ b/src/main/java/org/apache/log4j/chainsaw/helper/TableCellEditorFactory.java
@@ -36,7 +36,7 @@ public class TableCellEditorFactory
    */ 
   public static final TableCellEditor createBooleanTableCellEditor() {
   
-    JComboBox comboBox = new JComboBox(new Boolean[] {Boolean.TRUE, 
Boolean.FALSE});
+    JComboBox<Boolean> comboBox = new JComboBox<>(new Boolean[] {Boolean.TRUE, 
Boolean.FALSE});
     return new DefaultCellEditor(comboBox);
     
   }
@@ -53,7 +53,7 @@ public class TableCellEditorFactory
    */
   public static Object createLevelTableCellEditor()
   {
-    JComboBox comboBox = new JComboBox(new Level[] {Level.TRACE, Level.DEBUG, 
Level.INFO, Level.WARN, Level.ERROR, Level.FATAL, Level.OFF, Level.ALL});
+    JComboBox<Level> comboBox = new JComboBox<>(new Level[] {Level.TRACE, 
Level.DEBUG, Level.INFO, Level.WARN, Level.ERROR, Level.FATAL, Level.OFF, 
Level.ALL});
     return new DefaultCellEditor(comboBox); 
   }
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/icons/LevelIconFactory.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/icons/LevelIconFactory.java 
b/src/main/java/org/apache/log4j/chainsaw/icons/LevelIconFactory.java
index fd28b47..1de2fda 100644
--- a/src/main/java/org/apache/log4j/chainsaw/icons/LevelIconFactory.java
+++ b/src/main/java/org/apache/log4j/chainsaw/icons/LevelIconFactory.java
@@ -30,7 +30,7 @@ import javax.swing.plaf.metal.MetalLookAndFeel;
  */
 public class LevelIconFactory {
   private static final LevelIconFactory instance = new LevelIconFactory();
-  private final Map iconMap = new HashMap();
+  private final Map<String, javax.swing.Icon> iconMap = new HashMap<>();
 
   private LevelIconFactory() {
     //reuse ERROR icon for FATAL level
@@ -69,7 +69,7 @@ public class LevelIconFactory {
     return instance;
   }
 
-  public Map getLevelToIconMap() {
+  public Map<String, javax.swing.Icon> getLevelToIconMap() {
     return iconMap;
   }
 }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java
----------------------------------------------------------------------
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 a1801ff..82e0f74 100644
--- a/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java
+++ b/src/main/java/org/apache/log4j/chainsaw/layout/EventDetailLayout.java
@@ -185,7 +185,7 @@ public class EventDetailLayout extends Layout {
     if (event.locationInformationExists()) {
         li = formatLocationInfo(event);
     }
-    Hashtable properties = formatProperties(event);
+    Hashtable<String, String> properties = formatProperties(event);
     LoggingEvent copy = new LoggingEvent(null,
           logger, event.getTimeStamp(),
           event.getLevel(),
@@ -234,9 +234,9 @@ public class EventDetailLayout extends Layout {
    * @param event
    * @return
    */
-  private static Hashtable formatProperties(LoggingEvent event) {
+  private static Hashtable<String, String> formatProperties(LoggingEvent 
event) {
     Set keySet = event.getPropertyKeySet();
-    Hashtable hashTable = new Hashtable();
+    Hashtable<String, String> hashTable = new Hashtable<>();
 
       for (Object key : keySet) {
           Object value = event.getProperty(key.toString());

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java 
b/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java
index 37fd3d6..a95635b 100644
--- a/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java
+++ b/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java
@@ -166,7 +166,7 @@ public final class LayoutEditorPane extends JPanel {
       *
       */
   private void createEvent() {
-    Hashtable hashTable = new Hashtable();
+    Hashtable<String, String> hashTable = new Hashtable<>();
     hashTable.put("key1", "val1");
     hashTable.put("key2", "val2");
     hashTable.put("key3", "val3");

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java 
b/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java
index ba782a1..f2751ee 100644
--- a/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java
+++ b/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java
@@ -73,7 +73,7 @@ public class MessageCenter {
   private static final MessageCenter instance = new MessageCenter();
   private final Logger logger = Logger.getLogger(MessageCenter.class);
   private Layout layout = new TTCCLayout();
-  private final JList messageList = new JList();
+  private final JList<org.apache.log4j.spi.LoggingEvent> messageList = new 
JList<>();
   private final ListModelAppender appender = new ListModelAppender();
   private ListCellRenderer listCellRenderer =
     new LayoutListCellRenderer(layout);
@@ -176,7 +176,7 @@ public class MessageCenter {
     return componentPanel;
   }
 
-  public ListModel getModel() {
+  public ListModel<org.apache.log4j.spi.LoggingEvent> getModel() {
     return messageList.getModel();
   }
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java 
b/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java
index 06a7505..a96dd15 100644
--- 
a/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java
+++ 
b/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java
@@ -72,7 +72,7 @@ public class PluginClassLoaderFactory {
         String[] strings = pluginDirectory.list((dir, name) -> 
name.toUpperCase().endsWith(".JAR"));
         
       
-        List list = new ArrayList();
+        List<URL> list = new ArrayList<>();
         // add the plugin directory as a resource loading path
         try {
                        list.add(pluginDirectory.toURI().toURL());

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/prefs/LoadSettingsEvent.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/prefs/LoadSettingsEvent.java 
b/src/main/java/org/apache/log4j/chainsaw/prefs/LoadSettingsEvent.java
index d0b8f0b..2a848da 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/LoadSettingsEvent.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/LoadSettingsEvent.java
@@ -66,7 +66,7 @@ public class LoadSettingsEvent extends SettingsEvent {
     Collection c = new ArrayList();
 
       for (Map.Entry<Object, Object> objectObjectEntry : 
properties.entrySet()) {
-          Map.Entry entry = objectObjectEntry;
+          Map.Entry<Object, Object> entry = objectObjectEntry;
           if (entry.getKey().toString().startsWith(string)) {
               c.add(entry.getValue());
           }

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java
----------------------------------------------------------------------
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 258918f..f93f163 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/MRUFileList.java
@@ -35,7 +35,7 @@ public class MRUFileList{
     private static MRUFileList log4jList = new MRUFileList();
     private static final int DEFAULT_MRU_SIZE = 5;
     
-    private List fileList = new ArrayList();
+    private List<URL> fileList = new ArrayList<>();
     private int size = DEFAULT_MRU_SIZE;
     
     private static transient EventListenerList listeners = new 
EventListenerList();

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
 
b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
index c1b41dc..8e4645a 100644
--- 
a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
+++ 
b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
@@ -95,8 +95,8 @@ public class ReceiverTreeCellRenderer extends 
DefaultTreeCellRenderer {
 
       if (t.getThreshold() != null) {
         levelLabel.setIcon(
-          (Icon) LevelIconFactory.getInstance().getLevelToIconMap().get(
-            t.getThreshold().toString()));
+                LevelIconFactory.getInstance().getLevelToIconMap().get(
+                  t.getThreshold().toString()));
 
         if (levelLabel.getIcon() == null) {
           levelLabel.setText(t.getThreshold().toString());

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java 
b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
index 5912aa1..18ac3a6 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
@@ -65,7 +65,7 @@ public class ReceiversHelper {
     private static final ReceiversHelper instance = new ReceiversHelper();
 
     private final Logger logger = LogManager.getLogger(ReceiversHelper.class);
-    private List receiverClassList = new ArrayList();
+    private List<Class> receiverClassList = new ArrayList<>();
     /**
      *
      */
@@ -134,8 +134,8 @@ public class ReceiversHelper {
   public void saveReceiverConfiguration(File file) {
     LoggerRepository repo = LogManager.getLoggerRepository();
     PluginRegistry pluginRegistry = ((LoggerRepositoryEx) 
repo).getPluginRegistry();
-    List fullPluginList = pluginRegistry.getPlugins();
-    List pluginList = new ArrayList();
+    List<Plugin> fullPluginList = pluginRegistry.getPlugins();
+    List<Plugin> pluginList = new ArrayList<>();
       for (Object aFullPluginList : fullPluginList) {
           Plugin thisPlugin = (Plugin) aFullPluginList;
           if (thisPlugin instanceof Receiver) {
@@ -169,7 +169,7 @@ public class ReceiversHelper {
                 pluginElement.setAttribute("class", 
receiver.getClass().getName());
 
                 BeanInfo beanInfo = 
Introspector.getBeanInfo(receiver.getClass());
-                List list = new 
ArrayList(Arrays.asList(beanInfo.getPropertyDescriptors()));
+                List<PropertyDescriptor> list = new 
ArrayList<>(Arrays.asList(beanInfo.getPropertyDescriptors()));
 
                 for (Object aList : list) {
                     PropertyDescriptor d = (PropertyDescriptor) aList;

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java 
b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
index d206fa5..aaa4642 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
@@ -801,11 +801,11 @@ public class ReceiversPanel extends JPanel implements 
SettingsListener {
 
     private JRadioButtonMenuItem createLevelRadioButton(
       final Receiver r, final Level l) {
-      Map levelIconMap = LevelIconFactory.getInstance().getLevelToIconMap();
+      Map<String, Icon> levelIconMap = 
LevelIconFactory.getInstance().getLevelToIconMap();
 
       Action action =
         new AbstractAction(
-          l.toString(), (Icon) levelIconMap.get(l.toString())) {
+          l.toString(), levelIconMap.get(l.toString())) {
           public void actionPerformed(ActionEvent e) {
             if (r != null) {
               r.setThreshold(l);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/4b8b96ff/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java
----------------------------------------------------------------------
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 f5ffe5d..27572b7 100644
--- a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfDeviceModel.java
@@ -27,7 +27,7 @@ import javax.swing.table.AbstractTableModel;
 
 public class ZeroConfDeviceModel extends AbstractTableModel implements 
ServiceListener {
 
-    private List deviceList = new ArrayList();
+    private List<ServiceInfo> deviceList = new ArrayList<>();
     private ZeroConfPreferenceModel zeroConfPreferenceModel;
     private transient ZeroConfPlugin plugin;
     
@@ -43,10 +43,10 @@ public class ZeroConfDeviceModel extends AbstractTableModel 
implements ServiceLi
     }
 
     public ServiceInfo getServiceInfoAtRow(int row) {
-        return (ServiceInfo) deviceList.get(row);
+        return deviceList.get(row);
     }
     public Object getValueAt(int rowIndex, int columnIndex) {
-        ServiceInfo info = (ServiceInfo) deviceList.get(rowIndex);
+        ServiceInfo info = deviceList.get(rowIndex);
         if(info == null) {
             return "";
         }
@@ -73,8 +73,8 @@ public class ZeroConfDeviceModel extends AbstractTableModel 
implements ServiceLi
     }
 
     public void serviceRemoved(ServiceEvent event) {
-        for (Iterator iter = deviceList.iterator(); iter.hasNext();) {
-            ServiceInfo info = (ServiceInfo) iter.next();
+        for (Iterator<ServiceInfo> iter = deviceList.iterator(); 
iter.hasNext();) {
+            ServiceInfo info = iter.next();
             if(info.getName().equals(event.getName())) {
                 iter.remove();
             }

Reply via email to