You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2018/03/10 05:40:12 UTC

[05/14] logging-chainsaw git commit: Replace anonymous classes with lambdas

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/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 2a87cd1..f475a00 100644
--- a/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/WelcomePanel.java
@@ -73,20 +73,18 @@ public class WelcomePanel extends JPanel {
         textInfo.setPage(helpURL);
         JTextComponentFormatter.applySystemFontAndSize(textInfo);
         textInfo.addHyperlinkListener(
-          new HyperlinkListener() {
-            public void hyperlinkUpdate(HyperlinkEvent e) {
-              if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
-                urlStack.add(textInfo.getPage());
-
-                try {
-                  textInfo.setPage(e.getURL());
-                  urlToolbar.updateToolbar();
-                } catch (IOException e1) {
-                  e1.printStackTrace();
-                }
-              }
-            }
-          });
+                e -> {
+                  if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
+                    urlStack.add(textInfo.getPage());
+
+                    try {
+                      textInfo.setPage(e.getURL());
+                      urlToolbar.updateToolbar();
+                    } catch (IOException e1) {
+                      e1.printStackTrace();
+                    }
+                  }
+                });
       } catch (Exception e) {
         e.printStackTrace();
       }
@@ -95,19 +93,17 @@ public class WelcomePanel extends JPanel {
 
   void setURL(final URL url) {
     SwingUtilities.invokeLater(
-      new Runnable() {
-        public void run() {
-          try {
-            urlStack.push(textInfo.getPage());
-            textInfo.setPage(url);
-            //not all pages displayed in the Welcome Panel are html-based (example receiver config is an xml file)..
-            JTextComponentFormatter.applySystemFontAndSize(textInfo);
-            urlToolbar.updateToolbar();
-          } catch (IOException e) {
-            e.printStackTrace();
-          }
-        }
-      });
+            () -> {
+              try {
+                urlStack.push(textInfo.getPage());
+                textInfo.setPage(url);
+                //not all pages displayed in the Welcome Panel are html-based (example receiver config is an xml file)..
+                JTextComponentFormatter.applySystemFontAndSize(textInfo);
+                urlToolbar.updateToolbar();
+              } catch (IOException e) {
+                e.printStackTrace();
+              }
+            });
   }
 
   private class URLToolbar extends JToolBar {

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/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 4b8c901..a1d33f6 100644
--- a/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/color/ColorPanel.java
@@ -128,11 +128,7 @@ public class ColorPanel extends JPanel
 
     currentLogPanelColorizer.addPropertyChangeListener(
     	      "colorrule",
-    	      new PropertyChangeListener() {
-    	        public void propertyChange(PropertyChangeEvent evt) {
-    	        	updateColors();
-    	        }
-    	      });
+            evt -> updateColors());
 
     tableModel = new DefaultTableModel();
     table = new JTable(tableModel);
@@ -194,11 +190,7 @@ public class ColorPanel extends JPanel
     searchTable.getColumnModel().getColumn(0).setMaxWidth(80);
     searchTable.getColumnModel().getColumn(1).setMaxWidth(80);
     //building color choosers needs to be done on the EDT
-    SwingHelper.invokeOnEDT(new Runnable() {
-      public void run() {
-        configureSingleEntryColorTable(searchTable);
-      }
-    });
+    SwingHelper.invokeOnEDT(() -> configureSingleEntryColorTable(searchTable));
 
     alternatingColorTable.sizeColumnsToFit(0);
     alternatingColorTable.getColumnModel().getColumn(0).setPreferredWidth(80);
@@ -206,11 +198,7 @@ public class ColorPanel extends JPanel
     alternatingColorTable.getColumnModel().getColumn(0).setMaxWidth(80);
     alternatingColorTable.getColumnModel().getColumn(1).setMaxWidth(80);
     //building color choosers needs to be done on the EDT
-    SwingHelper.invokeOnEDT(new Runnable() {
-      public void run() {
-        configureSingleEntryColorTable(alternatingColorTable);
-      }
-    });
+    SwingHelper.invokeOnEDT(() -> configureSingleEntryColorTable(alternatingColorTable));
 
     configureTable();
 
@@ -280,13 +268,11 @@ public class ColorPanel extends JPanel
           }
       };
         
-      loadPanelColorizersComboBox.addActionListener(new ActionListener() {
-          public void actionPerformed(ActionEvent e) {
-              Object selectedItem = loadPanelColorizersComboBox.getSelectedItem();
-              if (selectedItem != null) {
-                String selectedColorizerName = selectedItem.toString();
-                copyRulesAction.setEnabled(!(noTab.equals(selectedColorizerName)));
-              }
+      loadPanelColorizersComboBox.addActionListener(e -> {
+          Object selectedItem = loadPanelColorizersComboBox.getSelectedItem();
+          if (selectedItem != null) {
+            String selectedColorizerName = selectedItem.toString();
+            copyRulesAction.setEnabled(!(noTab.equals(selectedColorizerName)));
           }
       });
 
@@ -596,30 +582,28 @@ public class ColorPanel extends JPanel
     downButton.setEnabled(false);
 
     table.getSelectionModel().addListSelectionListener(
-      new ListSelectionListener() {
-        public void valueChanged(ListSelectionEvent e) {
-          if (!e.getValueIsAdjusting()) {
-            int index = table.getSelectionModel().getMaxSelectionIndex();
-
-            if (index < 0) {
-              downButton.setEnabled(false);
-              upButton.setEnabled(false);
-            } else if ((index == 0) && (tableModel.getRowCount() == 1)) {
-              downButton.setEnabled(false);
-              upButton.setEnabled(false);
-            } else if ((index == 0) && (tableModel.getRowCount() > 1)) {
-              downButton.setEnabled(true);
-              upButton.setEnabled(false);
-            } else if (index == (tableModel.getRowCount() - 1)) {
-              downButton.setEnabled(false);
-              upButton.setEnabled(true);
-            } else {
-              downButton.setEnabled(true);
-              upButton.setEnabled(true);
-            }
-          }
-        }
-      });
+            e -> {
+              if (!e.getValueIsAdjusting()) {
+                int index = table.getSelectionModel().getMaxSelectionIndex();
+
+                if (index < 0) {
+                  downButton.setEnabled(false);
+                  upButton.setEnabled(false);
+                } else if ((index == 0) && (tableModel.getRowCount() == 1)) {
+                  downButton.setEnabled(false);
+                  upButton.setEnabled(false);
+                } else if ((index == 0) && (tableModel.getRowCount() > 1)) {
+                  downButton.setEnabled(true);
+                  upButton.setEnabled(false);
+                } else if (index == (tableModel.getRowCount() - 1)) {
+                  downButton.setEnabled(false);
+                  upButton.setEnabled(true);
+                } else {
+                  downButton.setEnabled(true);
+                  upButton.setEnabled(true);
+                }
+              }
+            });
 
     JPanel upPanel = new JPanel();
 
@@ -733,19 +717,17 @@ public class ColorPanel extends JPanel
       });
 
     table.getSelectionModel().addListSelectionListener(
-      new ListSelectionListener() {
-        public void valueChanged(ListSelectionEvent e) {
-          if (!e.getValueIsAdjusting()) {
-            int index = table.getSelectionModel().getMaxSelectionIndex();
-
-            if (index < 0) {
-              deleteButton.setEnabled(false);
-            } else {
-              deleteButton.setEnabled(true);
-            }
-          }
-        }
-      });
+            e -> {
+              if (!e.getValueIsAdjusting()) {
+                int index = table.getSelectionModel().getMaxSelectionIndex();
+
+                if (index < 0) {
+                  deleteButton.setEnabled(false);
+                } else {
+                  deleteButton.setEnabled(true);
+                }
+              }
+            });
 
     deletePanel.add(deleteButton);
 
@@ -807,17 +789,11 @@ public class ColorPanel extends JPanel
         JColorChooser.createDialog(
           box, "Pick a Color", true, //modal
           colorChooser,
-          new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-              box.insertItemAt(colorChooser.getColor(), 0);
-              box.setSelectedIndex(0);
-            }
-          }, //OK button handler
-          new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                box.setSelectedItem(lastColor);
-            }
-          }); //CANCEL button handler
+                e -> {
+                  box.insertItemAt(colorChooser.getColor(), 0);
+                  box.setSelectedIndex(0);
+                }, //OK button handler
+                e -> box.setSelectedItem(lastColor)); //CANCEL button handler
       dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
     }
 

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/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 dd27fb9..df1cb9b 100644
--- a/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java
+++ b/src/main/java/org/apache/log4j/chainsaw/layout/LayoutEditorPane.java
@@ -146,11 +146,7 @@ public final class LayoutEditorPane extends JPanel {
       });
 
     patternEditor.addCaretListener(
-      new CaretListener() {
-        public void caretUpdate(CaretEvent e) {
-          updateTextActions(e.getMark() != e.getDot());
-        }
-      });
+            e -> updateTextActions(e.getMark() != e.getDot()));
   }
 
   private void updatePreview() {

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/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 bf858b5..5ddb7a3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java
+++ b/src/main/java/org/apache/log4j/chainsaw/messages/MessageCenter.java
@@ -129,12 +129,10 @@ public class MessageCenter {
   private void setupListeners() {
     propertySupport.addPropertyChangeListener(
       "layout",
-      new PropertyChangeListener() {
-        public void propertyChange(PropertyChangeEvent evt) {
-          Layout newLayout = (Layout) evt.getNewValue();
-          messageList.setCellRenderer(new LayoutListCellRenderer(newLayout));
-        }
-      });
+            evt -> {
+              Layout newLayout = (Layout) evt.getNewValue();
+              messageList.setCellRenderer(new LayoutListCellRenderer(newLayout));
+            });
     messageList.addMouseListener(popupListener);
 
     appender.getModel().addListDataListener(

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/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 6487d4f..6c11118 100644
--- a/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java
+++ b/src/main/java/org/apache/log4j/chainsaw/plugins/PluginClassLoaderFactory.java
@@ -70,11 +70,7 @@ public class PluginClassLoaderFactory {
          return PluginClassLoaderFactory.class.getClassLoader();
         }
         
-        String[] strings = pluginDirectory.list(new FilenameFilter() {
-
-			public boolean accept(File dir, String name) {
-                return name.toUpperCase().endsWith(".JAR");
-			}});
+        String[] strings = pluginDirectory.list((dir, name) -> name.toUpperCase().endsWith(".JAR"));
         
       
         List list = new ArrayList();

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java b/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
index fffa33e..de998b7 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
@@ -74,9 +74,7 @@ public class NewReceiverDialogPanel extends JPanel {
          * url to be the Help resource for that class
          */
         pluginEditorPanel.addPropertyChangeListener("plugin",
-            new PropertyChangeListener() {
-
-                public void propertyChange(PropertyChangeEvent evt) {
+                evt -> {
 
                     Plugin plugin = (Plugin) evt.getNewValue();
                     URL url = HelpManager.getInstance().getHelpForClass(
@@ -89,8 +87,7 @@ public class NewReceiverDialogPanel extends JPanel {
                             "Failed to load the Help resource for " +
                             plugin.getClass(), e);
                     }
-                }
-            });
+                });
     }
 
     /**
@@ -170,11 +167,7 @@ public class NewReceiverDialogPanel extends JPanel {
         JDialog dialog = new JDialog((JFrame) null, true);
         dialog.getContentPane().add(panel);
 
-        ActionListener al = new ActionListener() {
-                public void actionPerformed(ActionEvent e) {
-                    System.exit(1);
-                }
-            };
+        ActionListener al = e -> System.exit(1);
 
         panel.okPanel.getOkButton().addActionListener(al);
         panel.okPanel.getCancelButton().addActionListener(al);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
----------------------------------------------------------------------
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 b219f4e..7479931 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
@@ -100,32 +100,29 @@ public class PluginPropertyEditorPanel extends JPanel {
      *
      */
     private void setupListeners() {
-        addPropertyChangeListener("plugin", new PropertyChangeListener() {
+        addPropertyChangeListener("plugin", evt -> {
 
-                public void propertyChange(PropertyChangeEvent evt) {
+            final Plugin p = (Plugin) evt.getNewValue();
 
-                    final Plugin p = (Plugin) evt.getNewValue();
+            if (p != null) {
 
-                    if (p != null) {
-
-                        try {
-
-                            PluginPropertyTableModel model =
-                                new PluginPropertyTableModel(p);
-                            propertyTable.setModel(model);
-                            propertyTable.getColumnModel().getColumn(1)
-                            .setCellEditor(new PluginTableCellEditor());
-                            propertyTable.setEnabled(true);
-                        } catch (Throwable e) {
-                            logger.error("Failed to introspect the Plugin", e);
-                        }
-                    } else {
-                        propertyTable.setModel(defaultModel);
-                        propertyTable.setEnabled(false);
-                    }
+                try {
 
+                    PluginPropertyTableModel model =
+                        new PluginPropertyTableModel(p);
+                    propertyTable.setModel(model);
+                    propertyTable.getColumnModel().getColumn(1)
+                    .setCellEditor(new PluginTableCellEditor());
+                    propertyTable.setEnabled(true);
+                } catch (Throwable e) {
+                    logger.error("Failed to introspect the Plugin", e);
                 }
-            });
+            } else {
+                propertyTable.setModel(defaultModel);
+                propertyTable.setEnabled(false);
+            }
+
+        });
     }
 
     public static void main(String[] args) {
@@ -253,16 +250,13 @@ public class PluginPropertyEditorPanel extends JPanel {
             List list = new ArrayList(Arrays.asList(
                         beanInfo.getPropertyDescriptors()));
 
-            list.sort(new Comparator() {
+            list.sort((o1, o2) -> {
 
-                public int compare(Object o1, Object o2) {
+                PropertyDescriptor d1 = (PropertyDescriptor) o1;
+                PropertyDescriptor d2 = (PropertyDescriptor) o2;
 
-                    PropertyDescriptor d1 = (PropertyDescriptor) o1;
-                    PropertyDescriptor d2 = (PropertyDescriptor) o2;
-
-                    return d1.getDisplayName().compareToIgnoreCase(
-                            d2.getDisplayName());
-                }
+                return d1.getDisplayName().compareToIgnoreCase(
+                        d2.getDisplayName());
             });
             this.plugin = p;
             this.descriptors = (PropertyDescriptor[]) list.toArray(

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/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 4b7061a..13c7262 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversPanel.java
@@ -186,26 +186,24 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
       });
 
     receiversTree.addTreeSelectionListener(
-      new TreeSelectionListener() {
-        public void valueChanged(TreeSelectionEvent e) {
-          TreePath path = e.getNewLeadSelectionPath();
+            e -> {
+              TreePath path = e.getNewLeadSelectionPath();
 
-          if (path != null) {
-            DefaultMutableTreeNode node =
-              (DefaultMutableTreeNode) path.getLastPathComponent();
+              if (path != null) {
+                DefaultMutableTreeNode node =
+                  (DefaultMutableTreeNode) path.getLastPathComponent();
 
-            if (
-              (node != null) && (node.getUserObject() != null)
-                && (node.getUserObject() instanceof Plugin)) {
-              Plugin p = (Plugin) node.getUserObject();
-              logger.debug("plugin=" + p);
-              pluginEditorPanel.setPlugin(p);
-            } else {
-              pluginEditorPanel.setPlugin(null);
-            }
-          }
-        }
-      });
+                if (
+                  (node != null) && (node.getUserObject() != null)
+                    && (node.getUserObject() instanceof Plugin)) {
+                  Plugin p = (Plugin) node.getUserObject();
+                  logger.debug("plugin=" + p);
+                  pluginEditorPanel.setPlugin(p);
+                } else {
+                  pluginEditorPanel.setPlugin(null);
+                }
+              }
+            });
 
     receiversTree.setToolTipText("Allows you to manage Log4j Receivers");
     newReceiverButtonAction =
@@ -352,22 +350,20 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
                   "This will cause any active Receiver to stop, and disconnect.  Is this ok?",
                   "Confirm", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION) {
               new Thread(
-                new Runnable() {
-                  public void run() {
-                    Collection allReceivers =
-                        pluginRegistry.getPlugins(Receiver.class);
-
-                      for (Object allReceiver : allReceivers) {
-                          Receiver item = (Receiver) allReceiver;
-                          item.shutdown();
-                          item.activateOptions();
-                      }
-
-                    updateReceiverTreeInDispatchThread();
-                    MessageCenter.getInstance().getLogger().info(
-                      "All Receivers have been (re)started");
-                  }
-                }).start();
+                      () -> {
+                        Collection allReceivers =
+                            pluginRegistry.getPlugins(Receiver.class);
+
+                          for (Object allReceiver : allReceivers) {
+                              Receiver item = (Receiver) allReceiver;
+                              item.shutdown();
+                              item.activateOptions();
+                          }
+
+                        updateReceiverTreeInDispatchThread();
+                        MessageCenter.getInstance().getLogger().info(
+                          "All Receivers have been (re)started");
+                      }).start();
             }
           }
         };
@@ -444,20 +440,18 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
    */
   protected void updateCurrentlySelectedNodeInDispatchThread() {
     SwingUtilities.invokeLater(
-      new Runnable() {
-        public void run() {
-          DefaultMutableTreeNode node =
-            (DefaultMutableTreeNode) receiversTree
-            .getLastSelectedPathComponent();
+            () -> {
+              DefaultMutableTreeNode node =
+                (DefaultMutableTreeNode) receiversTree
+                .getLastSelectedPathComponent();
 
-          if (node == null) {
-            return;
-          }
+              if (node == null) {
+                return;
+              }
 
-          getReceiverTreeModel().nodeChanged(node);
-          updateActions();
-        }
-      });
+              getReceiverTreeModel().nodeChanged(node);
+              updateActions();
+            });
   }
 
   /**
@@ -527,16 +521,14 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
    */
   private void pauseCurrentlySelectedReceiver() {
     new Thread(
-      new Runnable() {
-        public void run() {
-          Object obj = getCurrentlySelectedUserObject();
+            () -> {
+              Object obj = getCurrentlySelectedUserObject();
 
-          if ((obj != null) && obj instanceof Pauseable) {
-            ((Pauseable) obj).setPaused(true);
-            updateCurrentlySelectedNodeInDispatchThread();
-          }
-        }
-      }).start();
+              if ((obj != null) && obj instanceof Pauseable) {
+                ((Pauseable) obj).setPaused(true);
+                updateCurrentlySelectedNodeInDispatchThread();
+              }
+            }).start();
   }
 
   /**
@@ -546,17 +538,15 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
    */
   private void playCurrentlySelectedReceiver() {
     new Thread(
-      new Runnable() {
-        public void run() {
-          Object obj = getCurrentlySelectedUserObject();
+            () -> {
+              Object obj = getCurrentlySelectedUserObject();
 
-          if ((obj != null) && obj instanceof Pauseable) {
-            ((Pauseable) obj).setPaused(false);
+              if ((obj != null) && obj instanceof Pauseable) {
+                ((Pauseable) obj).setPaused(false);
 
-            updateCurrentlySelectedNodeInDispatchThread();
-          }
-        }
-      }).start();
+                updateCurrentlySelectedNodeInDispatchThread();
+              }
+            }).start();
   }
 
   /**
@@ -573,17 +563,15 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
           "Are you sure you wish to shutdown this receiver?\n\nThis will disconnect any network resources, and remove it from the PluginRegistry.",
           "Confirm stop of Receiver", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
       new Thread(
-        new Runnable() {
-          public void run() {
-            Receiver[] receivers = getSelectedReceivers();
+              () -> {
+                Receiver[] receivers = getSelectedReceivers();
 
-            if (receivers != null) {
-                for (Receiver receiver : receivers) {
-                    pluginRegistry.stopPlugin(receiver.getName());
+                if (receivers != null) {
+                    for (Receiver receiver : receivers) {
+                        pluginRegistry.stopPlugin(receiver.getName());
+                    }
                 }
-            }
-          }
-        }).start();
+              }).start();
     }
   }
 
@@ -713,17 +701,15 @@ public class ReceiversPanel extends JPanel implements SettingsListener {
 
 
                                   panel.getOkPanel().getOkButton().addActionListener(
-                                          new ActionListener() {
-                                              public void actionPerformed(ActionEvent e2) {
-                                                  Plugin plugin = panel.getPlugin();
-                                                  if (plugin.getName() != null && !plugin.getName().trim().equals("")) {
-                                                      dialog.dispose();
-                                                      pluginRegistry.addPlugin(plugin);
-                                                      plugin.activateOptions();
-                                                      MessageCenter.getInstance().addMessage("Plugin '" + plugin.getName() + "' started");
-                                                  } else {
-                                                      MessageCenter.getInstance().getLogger().error("Name required to create receiver");
-                                                  }
+                                          e2 -> {
+                                              Plugin plugin = panel.getPlugin();
+                                              if (plugin.getName() != null && !plugin.getName().trim().equals("")) {
+                                                  dialog.dispose();
+                                                  pluginRegistry.addPlugin(plugin);
+                                                  plugin.activateOptions();
+                                                  MessageCenter.getInstance().addMessage("Plugin '" + plugin.getName() + "' started");
+                                              } else {
+                                                  MessageCenter.getInstance().getLogger().error("Name required to create receiver");
                                               }
                                           });
                                   dialog.setVisible(true);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java
index e0d3f7e..4eb0793 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversTreeModel.java
@@ -103,14 +103,11 @@ public class ReceiversTreeModel extends DefaultTreeModel
 
   private PropertyChangeListener creatPluginPropertyChangeListener(final Receiver item, final DefaultMutableTreeNode receiverNode)
   {
-    return new PropertyChangeListener() {
-
-      public void propertyChange(PropertyChangeEvent evt)
-      {
-        logger.debug(evt.toString());
-        ReceiversTreeModel.this.fireTreeNodesChanged(item, receiverNode.getPath(), null, null);
-        
-      }};
+    return evt -> {
+      logger.debug(evt.toString());
+      ReceiversTreeModel.this.fireTreeNodesChanged(item, receiverNode.getPath(), null, null);
+
+    };
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java b/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
index 4f5779e..c109fe9 100644
--- a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
+++ b/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
@@ -247,61 +247,58 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements
     	  */
 
     	  //get a reference to the container
-    	  new Thread(new Runnable() {
-    		  public void run() {
-    	  synchronized(waitForContainerLock) {
-    		  while (container == null) {
-    			  try {
-    				  waitForContainerLock.wait(1000);
-    				  getLogger().debug("waiting for setContainer call");
-    			  } catch (InterruptedException ie){}
-    		  }
-    	  }
-
-    	  Frame containerFrame1;
-          if (container instanceof Frame) {
-              containerFrame1 = (Frame)container;
-          } else {
-              synchronized(waitForContainerLock) {
-                  //loop until the container has a frame
-                  while ((containerFrame1 = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, container)) == null) {
-                      try {
-                          waitForContainerLock.wait(1000);
-                          getLogger().debug("waiting for container's frame to be available");
-                      } catch (InterruptedException ie) {}
-                  }
-              }
+    	  new Thread(() -> {
+      synchronized(waitForContainerLock) {
+          while (container == null) {
+              try {
+                  waitForContainerLock.wait(1000);
+                  getLogger().debug("waiting for setContainer call");
+              } catch (InterruptedException ie){}
           }
-            final Frame containerFrame = containerFrame1;
-    	  	  //create the dialog
-    	  	  SwingUtilities.invokeLater(new Runnable() {
-    	  		public void run() {
-    	  			  Frame owner = null;
-    	  			  if (container != null) {
-    	  				  owner = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, containerFrame);
-    	  			  }
-    	  			  final UserNamePasswordDialog f = new UserNamePasswordDialog(owner);
-    	  			  f.pack();
-    	  			  Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
-    	  			  f.setLocation(d.width /2, d.height/2);
-    	  			  f.setVisible(true);
-    	  				if (null == f.getUserName() || null == f.getPassword()) {
-    	  					getLogger().info("Username and password not both provided, not using credentials");
-    	  				} else {
-    	  				    String oldURL = getFileURL();
-    	  					int index = oldURL.indexOf("://");
-    	  					String firstPart = oldURL.substring(0, index);
-    	  					String lastPart = oldURL.substring(index + "://".length());
-    	  					setFileURL(firstPart + "://" + f.getUserName()+ ":" + new String(f.getPassword()) + "@" + lastPart);
-
-    	  			        setHost(oldURL.substring(0, index + "://".length()));
-    	  		            setPath(oldURL.substring(index + "://".length()));
-    	  				}
-                        vfsReader = new VFSReader();
-    	  				new Thread(vfsReader).start();
-    	  			  }
-    	  		  });
-    		  }}).start();
+      }
+
+      Frame containerFrame1;
+if (container instanceof Frame) {
+containerFrame1 = (Frame)container;
+} else {
+synchronized(waitForContainerLock) {
+//loop until the container has a frame
+while ((containerFrame1 = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, container)) == null) {
+try {
+waitForContainerLock.wait(1000);
+getLogger().debug("waiting for container's frame to be available");
+} catch (InterruptedException ie) {}
+}
+}
+}
+final Frame containerFrame = containerFrame1;
+            //create the dialog
+            SwingUtilities.invokeLater(() -> {
+                Frame owner = null;
+                if (container != null) {
+                    owner = (Frame) SwingUtilities.getAncestorOfClass(Frame.class, containerFrame);
+                }
+                final UserNamePasswordDialog f = new UserNamePasswordDialog(owner);
+                f.pack();
+                Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
+                f.setLocation(d.width / 2, d.height / 2);
+                f.setVisible(true);
+                if (null == f.getUserName() || null == f.getPassword()) {
+                    getLogger().info("Username and password not both provided, not using credentials");
+                } else {
+                    String oldURL = getFileURL();
+                    int index = oldURL.indexOf("://");
+                    String firstPart = oldURL.substring(0, index);
+                    String lastPart = oldURL.substring(index + "://".length());
+                    setFileURL(firstPart + "://" + f.getUserName() + ":" + new String(f.getPassword()) + "@" + lastPart);
+
+                    setHost(oldURL.substring(0, index + "://".length()));
+                    setPath(oldURL.substring(index + "://".length()));
+                }
+                vfsReader = new VFSReader();
+                new Thread(vfsReader).start();
+            });
+          }).start();
       } else {
         //starts with protocol:/  but not protocol://
         String oldURL = getFileURL();
@@ -542,14 +539,12 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements
 		  panel.add(submitButton, gc);
 
 		  getContentPane().add(panel);
-		  submitButton.addActionListener(new ActionListener(){
-			  public void actionPerformed(ActionEvent evt) {
-				  userName = userNameTextField.getText();
-				  password = passwordTextField.getPassword();
-				  getContentPane().setVisible(false);
-				  UserNamePasswordDialog.this.dispose();
-			  }
-		  });
+		  submitButton.addActionListener(evt -> {
+              userName = userNameTextField.getText();
+              password = passwordTextField.getPassword();
+              getContentPane().setVisible(false);
+              UserNamePasswordDialog.this.dispose();
+          });
 	  }
 	 
 	  public String getUserName() {

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java
----------------------------------------------------------------------
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 cf032e1..cb1160a 100644
--- a/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java
+++ b/src/main/java/org/apache/log4j/chainsaw/zeroconf/ZeroConfPlugin.java
@@ -249,16 +249,14 @@ public class ZeroConfPlugin extends GUIPluginSkeleton {
             insertToLeftOfHelp(menuBar, connectToMenu);
             connectToMenu.add(nothingToConnectTo);
             
-            discoveredDevices.addTableModelListener(new TableModelListener (){
+            discoveredDevices.addTableModelListener(e -> {
+                if(discoveredDevices.getRowCount()==0) {
+                    connectToMenu.add(nothingToConnectTo,0);
+                }else if(discoveredDevices.getRowCount()>0) {
+                    connectToMenu.remove(nothingToConnectTo);
+                }
 
-                public void tableChanged(TableModelEvent e) {
-                    if(discoveredDevices.getRowCount()==0) {
-                        connectToMenu.add(nothingToConnectTo,0);
-                    }else if(discoveredDevices.getRowCount()>0) {
-                        connectToMenu.remove(nothingToConnectTo);
-                    }
-                    
-                }});
+            });
             
             nothingToConnectTo.setEnabled(false);
 
@@ -323,12 +321,9 @@ public class ZeroConfPlugin extends GUIPluginSkeleton {
         }
 //         if the device name is one of the autoconnect devices, then connect immediately
         if (preferenceModel != null && preferenceModel.getAutoConnectDevices() != null && preferenceModel.getAutoConnectDevices().contains(name)) {
-            new Thread(new Runnable() {
-
-                public void run() {
-                    LOG.info("Auto-connecting to " + name);
-                    connectTo(info);
-                }
+            new Thread(() -> {
+                LOG.info("Auto-connecting to " + name);
+                connectTo(info);
             }).start();
         }
     }
@@ -364,12 +359,8 @@ public class ZeroConfPlugin extends GUIPluginSkeleton {
              * background thread or not.. All it says is to NOT do it in the AWT
              * thread, so I'm thinking it probably should be a background thread
              */
-            Runnable runnable = new Runnable() {
-                public void run() {
-                    ZeroConfPlugin.this.jmDNS.requestServiceInfo(event
-                            .getType(), event.getName());
-                }
-            };
+            Runnable runnable = () -> ZeroConfPlugin.this.jmDNS.requestServiceInfo(event
+                    .getType(), event.getName());
             Thread thread = new Thread(runnable,
                     "ChainsawZeroConfRequestResolutionThread");
             thread.setPriority(Thread.MIN_PRIORITY);

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/25eb0012/src/main/java/org/apache/log4j/xml/LogFileXMLReceiver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/xml/LogFileXMLReceiver.java b/src/main/java/org/apache/log4j/xml/LogFileXMLReceiver.java
index 3fcb7c1..35d71c7 100644
--- a/src/main/java/org/apache/log4j/xml/LogFileXMLReceiver.java
+++ b/src/main/java/org/apache/log4j/xml/LogFileXMLReceiver.java
@@ -183,49 +183,47 @@ public class LogFileXMLReceiver extends Receiver {
      * Process the file
      */
     public void activateOptions() {
-        Runnable runnable = new Runnable() {
-            public void run() {
-                try {
-                    URL url = new URL(fileURL);
-                    host = url.getHost();
-                    if (host != null && host.equals("")) {
-                        host = FILE_KEY;
-                    }
-                    path = url.getPath();
-                } catch (MalformedURLException e1) {
-                    // TODO Auto-generated catch block
-                    e1.printStackTrace();
+        Runnable runnable = () -> {
+            try {
+                URL url = new URL(fileURL);
+                host = url.getHost();
+                if (host != null && host.equals("")) {
+                    host = FILE_KEY;
                 }
+                path = url.getPath();
+            } catch (MalformedURLException e1) {
+                // TODO Auto-generated catch block
+                e1.printStackTrace();
+            }
 
-                try {
-                    if (filterExpression != null) {
-                        expressionRule = ExpressionRule.getRule(filterExpression);
-                    }
-                } catch (Exception e) {
-                    getLogger().warn("Invalid filter expression: " + filterExpression, e);
+            try {
+                if (filterExpression != null) {
+                    expressionRule = ExpressionRule.getRule(filterExpression);
                 }
+            } catch (Exception e) {
+                getLogger().warn("Invalid filter expression: " + filterExpression, e);
+            }
 
-                Class c;
-                try {
-                    c = Class.forName(decoder);
-                    Object o = c.newInstance();
-                    if (o instanceof Decoder) {
-                        decoderInstance = (Decoder) o;
-                    }
-                } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
-                    // TODO Auto-generated catch block
-                    e.printStackTrace();
+            Class c;
+            try {
+                c = Class.forName(decoder);
+                Object o = c.newInstance();
+                if (o instanceof Decoder) {
+                    decoderInstance = (Decoder) o;
                 }
+            } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
 
-                try {
-                    reader = new InputStreamReader(new URL(getFileURL()).openStream());
-                    process(reader);
-                } catch (FileNotFoundException fnfe) {
-                    getLogger().info("file not available");
-                } catch (IOException ioe) {
-                    getLogger().warn("unable to load file", ioe);
-                    return;
-                }
+            try {
+                reader = new InputStreamReader(new URL(getFileURL()).openStream());
+                process(reader);
+            } catch (FileNotFoundException fnfe) {
+                getLogger().info("file not available");
+            } catch (IOException ioe) {
+                getLogger().warn("unable to load file", ioe);
+                return;
             }
         };
         if (useCurrentThread) {