You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2018/04/19 18:08:34 UTC

svn commit: r1829594 [1/2] - in /felix/trunk/gogo: command/src/main/java/org/apache/felix/gogo/command/ jline/src/main/java/org/apache/felix/gogo/jline/ jline/src/test/java/org/apache/felix/gogo/jline/ jline/src/test/java/org/apache/felix/gogo/jline/ss...

Author: gnodet
Date: Thu Apr 19 18:08:33 2018
New Revision: 1829594

URL: http://svn.apache.org/viewvc?rev=1829594&view=rev
Log:
[FELIX-5835][gogo] Code cleanup

Modified:
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Base64Encoder.java
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Files.java
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect.java
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java
    felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Builtin.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Converters.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Main.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Parser.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Procedural.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Shell.java
    felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/SingleServiceTracker.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/AbstractParserTest.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/BaseConvertersTest.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/Context.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellCommand.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellFactoryImpl.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/Ssh.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Connection.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionData.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionEvent.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionManager.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Telnet.java
    felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/TelnetIO.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expression.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/CommandProcessor.java
    felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/Parameter.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/AbstractParserTest.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/ExpanderTest.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/GlobPathMatcherTest.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/ReflectiveTest.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser3.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/expr/ExpressionTest.java
    felix/trunk/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/threadio/TestThreadIO.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/options/Option.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/options/Options.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Builtin.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Converters.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/History.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Posix.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Procedural.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Shell.java
    felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Telnet.java

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java Thu Apr 19 18:08:33 2018
@@ -25,10 +25,9 @@ import org.osgi.util.tracker.ServiceTrac
 
 public class Activator implements BundleActivator
 {
-    public void start(BundleContext bc) throws Exception
-    {
+    public void start(BundleContext bc) {
         BundleContext systemBundleContext = bc.getBundle(0).getBundleContext();
-        Hashtable props = new Hashtable();
+        Hashtable<String, Object> props = new Hashtable<>();
         props.put("osgi.command.scope", "felix");
         props.put("osgi.command.function", new String[] {
             "bundlelevel", "frameworklevel", "headers",
@@ -60,7 +59,6 @@ public class Activator implements Bundle
             Files.class.getName(), new Files(bc), props);
     }
 
-    public void stop(BundleContext bc) throws Exception
-    {
+    public void stop(BundleContext bc) {
     }
 }
\ No newline at end of file

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Base64Encoder.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Base64Encoder.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Base64Encoder.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Base64Encoder.java Thu Apr 19 18:08:33 2018
@@ -46,27 +46,13 @@ public class Base64Encoder
     **/
     public static String encode(byte[] in, int len) throws IOException
     {
-        ByteArrayOutputStream baos = null;
-        ByteArrayInputStream bais = null;
-        try
+        try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
+             ByteArrayInputStream bais = new ByteArrayInputStream(in))
         {
-            baos = new ByteArrayOutputStream();
-            bais = new ByteArrayInputStream(in);
             encode(bais, baos, len);
             // ASCII byte array to String
             return (new String(baos.toByteArray()));
         }
-        finally
-        {
-            if (baos != null)
-            {
-                baos.close();
-            }
-            if (bais != null)
-            {
-                bais.close();
-            }
-        }
     }
 
     public static void encode(InputStream in, OutputStream out, int len)

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java Thu Apr 19 18:08:33 2018
@@ -68,7 +68,7 @@ public class Basic
     public void bundlelevel(@Descriptor("bundle to query") Bundle bundle)
     {
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get start level service.
         StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -98,7 +98,7 @@ public class Basic
         @Descriptor("target identifiers") Bundle[] bundles)
     {
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get start level service.
         StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -153,7 +153,7 @@ public class Basic
     public void frameworklevel()
     {
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get start level service.
         StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -169,7 +169,7 @@ public class Basic
     public void frameworklevel(@Descriptor("target start level") int level)
     {
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get start level service.
         StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -259,11 +259,11 @@ public class Basic
 
                 // Get flags and options.
                 Class<?>[] paramTypes = m.getParameterTypes();
-                Map<String, Parameter> flags = new TreeMap<String, Parameter>();
-                Map<String, String> flagDescs = new TreeMap<String, String>();
-                Map<String, Parameter> options = new TreeMap<String, Parameter>();
-                Map<String, String> optionDescs = new TreeMap<String, String>();
-                List<String> params = new ArrayList<String>();
+                Map<String, Parameter> flags = new TreeMap<>();
+                Map<String, String> flagDescs = new TreeMap<>();
+                Map<String, Parameter> options = new TreeMap<>();
+                Map<String, String> optionDescs = new TreeMap<>();
+                List<String> params = new ArrayList<>();
                 Annotation[][] anns = m.getParameterAnnotations();
                 for (int paramIdx = 0; paramIdx < anns.length; paramIdx++)
                 {
@@ -376,7 +376,7 @@ public class Basic
             // This should never happen.
         }
 
-        Map<String, List<Method>> commands = new TreeMap<String, List<Method>>();
+        Map<String, List<Method>> commands = new TreeMap<>();
 
         for (ServiceReference<?> ref : refs)
         {
@@ -426,7 +426,7 @@ public class Basic
     public void install(@Descriptor("command session")CommandSession session,
                         @Descriptor("target URLs") String[] urls) throws IOException
     {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
 
         for (String url : urls)
         {
@@ -491,7 +491,7 @@ public class Basic
         @Descriptor("subtring matched against name or symbolic name") String pattern)
     {
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get start level service.
         StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -500,7 +500,7 @@ public class Basic
             System.out.println("Start Level service is unavailable.");
         }
 
-        List<Bundle> found = new ArrayList<Bundle>();
+        List<Bundle> found = new ArrayList<>();
 
         if (pattern == null)
         {
@@ -509,14 +509,10 @@ public class Basic
         else
         {
             Bundle[] bundles = m_bc.getBundles();
-
-            for (int i = 0; i < bundles.length; i++)
-            {
-                Bundle bundle = bundles[i];
-                String name = (String) bundle.getHeaders().get(Constants.BUNDLE_NAME);
+            for (Bundle bundle : bundles) {
+                String name = bundle.getHeaders().get(Constants.BUNDLE_NAME);
                 if (matchBundleName(bundle.getSymbolicName(), pattern)
-                    || matchBundleName(name, pattern))
-                {
+                        || matchBundleName(name, pattern)) {
                     found.add(bundle);
                 }
             }
@@ -524,7 +520,7 @@ public class Basic
 
         if (found.size() > 0)
         {
-            printBundleList((Bundle[]) found.toArray(new Bundle[found.size()]), sl,
+            printBundleList(found.toArray(new Bundle[found.size()]), sl,
                 showLoc, showSymbolic, showUpdate);
         }
         else
@@ -552,7 +548,7 @@ public class Basic
         @Descriptor("minimum log level [ debug | info | warn | error ]") String logLevel)
     {
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get start level service.
         LogReaderService lrs = Util.getService(m_bc, LogReaderService.class, refs);
@@ -570,7 +566,7 @@ public class Basic
             int index = 0;
             while (entries.hasMoreElements() && (maxEntries < 0 || index < maxEntries))
             {
-                LogEntry entry = (LogEntry) entries.nextElement();
+                LogEntry entry = entries.nextElement();
                 if (entry.getLevel() <= minLevel)
                 {
                     display(entry);
@@ -586,7 +582,7 @@ public class Basic
     {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
 
-        StringBuffer buffer = new StringBuffer();
+        StringBuilder buffer = new StringBuilder();
         buffer.append(sdf.format(new Date(entry.getTime()))).append(" ");
         buffer.append(logLevelAsString(entry.getLevel())).append(" - ");
         buffer.append("Bundle: ").append(entry.getBundle().getSymbolicName());
@@ -650,7 +646,7 @@ public class Basic
         }
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get package admin service.
         PackageAdmin pa = Util.getService(m_bc, PackageAdmin.class, refs);
@@ -659,7 +655,7 @@ public class Basic
             System.out.println("Package Admin service is unavailable.");
         }
 
-        pa.refreshPackages((bundles == null) ? null : bundles);
+        pa.refreshPackages(bundles);
 
         Util.ungetServices(m_bc, refs);
     }
@@ -674,7 +670,7 @@ public class Basic
         }
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get package admin service.
         PackageAdmin pa = Util.getService(m_bc, PackageAdmin.class, refs);
@@ -999,7 +995,7 @@ public class Basic
         for (Bundle bundle : bundles)
         {
             // Get the bundle name or location.
-            String name = (String) bundle.getHeaders().get(Constants.BUNDLE_NAME);
+            String name = bundle.getHeaders().get(Constants.BUNDLE_NAME);
             // If there is no name, then default to symbolic name.
             name = (name == null) ? bundle.getSymbolicName() : name;
             // If there is no symbolic name, resort to location.
@@ -1018,7 +1014,7 @@ public class Basic
             }
             else if (showUpdate)
             {
-                name = (String) bundle.getHeaders().get(Constants.BUNDLE_UPDATELOCATION);
+                name = bundle.getHeaders().get(Constants.BUNDLE_UPDATELOCATION);
                 name = (name == null) ? bundle.getLocation() : name;
             }
 

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Files.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Files.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Files.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Files.java Thu Apr 19 18:08:33 2018
@@ -147,8 +147,8 @@ public class Files
 
     public static List<String> parseSubstring(String value)
     {
-        List<String> pieces = new ArrayList();
-        StringBuffer ss = new StringBuffer();
+        List<String> pieces = new ArrayList<>();
+        StringBuilder ss = new StringBuilder();
         // int kind = SIMPLE; // assume until proven otherwise
         boolean wasStar = false; // indicates last piece was a star
         boolean leftstar = false; // track if the initial piece is a star
@@ -265,14 +265,7 @@ loop:   for (int i = 0; i < len; i++)
             // string ends with it.
             if (i == len - 1)
             {
-                if (s.endsWith(piece))
-                {
-                    result = true;
-                }
-                else
-                {
-                    result = false;
-                }
+                result = s.endsWith(piece);
                 break loop;
             }
 

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect.java Thu Apr 19 18:08:33 2018
@@ -95,7 +95,7 @@ public class Inspect
         {
             if (separatorNeeded)
             {
-                System.out.println("");
+                System.out.println();
             }
 
             // Print out any matching generic capabilities.
@@ -194,7 +194,7 @@ public class Inspect
     {
         // Aggregate matching capabilities.
         Map<BundleCapability, List<BundleWire>> map =
-            new HashMap<BundleCapability, List<BundleWire>>();
+                new HashMap<>();
         for (BundleWire wire : wires)
         {
             if (matchNamespace(namespace, wire.getCapability().getNamespace()))
@@ -202,7 +202,7 @@ public class Inspect
                 List<BundleWire> dependents = map.get(wire.getCapability());
                 if (dependents == null)
                 {
-                    dependents = new ArrayList<BundleWire>();
+                    dependents = new ArrayList<>();
                     map.put(wire.getCapability(), dependents);
                 }
                 dependents.add(wire);
@@ -270,7 +270,7 @@ public class Inspect
         {
             if (separatorNeeded)
             {
-                System.out.println("");
+                System.out.println();
             }
 
             // Print out any matching generic requirements.
@@ -369,7 +369,7 @@ public class Inspect
     {
         // Aggregate matching capabilities.
         Map<BundleRequirement, List<BundleWire>> map =
-            new HashMap<BundleRequirement, List<BundleWire>>();
+                new HashMap<>();
         for (BundleWire wire : wires)
         {
             if (matchNamespace(namespace, wire.getRequirement().getNamespace()))
@@ -377,7 +377,7 @@ public class Inspect
                 List<BundleWire> providers = map.get(wire.getRequirement());
                 if (providers == null)
                 {
-                    providers = new ArrayList<BundleWire>();
+                    providers = new ArrayList<>();
                     map.put(wire.getRequirement(), providers);
                 }
                 providers.add(wire);

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java Thu Apr 19 18:08:33 2018
@@ -96,7 +96,7 @@ public class Inspect42
         {
             if (separatorNeeded)
             {
-                System.out.println("");
+                System.out.println();
             }
             String title = b + " provides:";
             System.out.println(title);
@@ -138,7 +138,7 @@ public class Inspect42
         {
             if (separatorNeeded)
             {
-                System.out.println("");
+                System.out.println();
             }
             String title = b + " requires:";
             System.out.println(title);
@@ -176,7 +176,7 @@ public class Inspect42
         boolean matches = false;
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Fragments cannot export packages.
         if (!isFragment(b))
@@ -243,7 +243,7 @@ public class Inspect42
         boolean matches = false;
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Fragments cannot import packages.
         if (!isFragment(b))
@@ -299,7 +299,7 @@ public class Inspect42
         boolean matches = false;
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Fragments cannot be required.
         if (!isFragment(b))
@@ -372,7 +372,7 @@ public class Inspect42
         boolean matches = false;
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Fragments cannot require bundles.
         if (!isFragment(b))
@@ -422,7 +422,7 @@ public class Inspect42
         boolean matches = false;
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get package admin service.
         PackageAdmin pa = Util.getService(bc, PackageAdmin.class, refs);
@@ -481,7 +481,7 @@ public class Inspect42
         boolean matches = false;
 
         // Keep track of service references.
-        List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
+        List<ServiceReference<?>> refs = new ArrayList<>();
 
         // Get package admin service.
         PackageAdmin pa = Util.getService(bc, PackageAdmin.class, refs);

Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java (original)
+++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java Thu Apr 19 18:08:33 2018
@@ -50,7 +50,7 @@ public class Util
     {
         if (bundle != null)
         {
-            String name = (String) bundle.getHeaders().get(Constants.BUNDLE_NAME);
+            String name = bundle.getHeaders().get(Constants.BUNDLE_NAME);
             return (name == null)
                 ? "Bundle " + Long.toString(bundle.getBundleId())
                 : name + " (" + Long.toString(bundle.getBundleId()) + ")";
@@ -90,7 +90,7 @@ public class Util
                     {
                         m_sb.append(", ");
                     }
-                    m_sb.append(array[i].toString());
+                    m_sb.append(array[i]);
                 }
                 return m_sb.toString();
             }
@@ -112,11 +112,11 @@ public class Util
             }
             else if (obj instanceof Double)
             {
-                return ((Double) obj).toString();
+                return obj.toString();
             }
             else if (obj instanceof Float)
             {
-                return ((Float) obj).toString();
+                return obj.toString();
             }
             else if (obj == null)
             {
@@ -138,7 +138,7 @@ public class Util
         {
             return null;
         }
-        T t = (T) bc.getService(ref);
+        T t = bc.getService(ref);
         if (t != null)
         {
             refs.add(ref);
@@ -326,8 +326,8 @@ public class Util
 
     public static List<String> parseSubstring(String value)
     {
-        List<String> pieces = new ArrayList<String>();
-        StringBuffer ss = new StringBuffer();
+        List<String> pieces = new ArrayList<>();
+        StringBuilder ss = new StringBuilder();
         // int kind = SIMPLE; // assume until proven otherwise
         boolean wasStar = false; // indicates last piece was a star
         boolean leftstar = false; // track if the initial piece is a star
@@ -414,7 +414,7 @@ loop:   for (;;)
 
     public static String unparseSubstring(List<String> pieces)
     {
-        StringBuffer sb = new StringBuffer();
+        StringBuilder sb = new StringBuilder();
         for (int i = 0; i < pieces.size(); i++)
         {
             if (i > 0)
@@ -468,14 +468,7 @@ loop:   for (int i = 0; i < len; i++)
             // string ends with it.
             if (i == len - 1)
             {
-                if (s.endsWith(piece))
-                {
-                    result = true;
-                }
-                else
-                {
-                    result = false;
-                }
+                result = s.endsWith(piece);
                 break loop;
             }
 

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java Thu Apr 19 18:08:33 2018
@@ -57,7 +57,7 @@ public class Activator implements Bundle
         this.commandProcessorTracker.open();
     }
 
-    public void stop(BundleContext context) throws Exception {
+    public void stop(BundleContext context) {
         Iterator<ServiceRegistration<?>> iterator = regs.iterator();
         while (iterator.hasNext()) {
             ServiceRegistration reg = iterator.next();

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Builtin.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Builtin.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Builtin.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Builtin.java Thu Apr 19 18:08:33 2018
@@ -81,15 +81,15 @@ public class Builtin {
 
     private static final String[] packages = {"java.lang", "java.io", "java.net", "java.util"};
 
-    private final static Set<String> KEYWORDS = new HashSet<String>(
-            Arrays.asList(new String[]{"abstract", "continue", "for", "new", "switch",
+    private final static Set<String> KEYWORDS = new HashSet<>(
+            Arrays.asList("abstract", "continue", "for", "new", "switch",
                     "assert", "default", "goto", "package", "synchronized", "boolean", "do",
                     "if", "private", "this", "break", "double", "implements", "protected",
                     "throw", "byte", "else", "import", "public", "throws", "case", "enum",
                     "instanceof", "return", "transient", "catch", "extends", "int", "short",
                     "try", "char", "final", "interface", "static", "void", "class",
                     "finally", "long", "strictfp", "volatile", "const", "float", "native",
-                    "super", "while"}));
+                    "super", "while"));
 
     public CharSequence format(CommandSession session) {
         return format(session, session.get("_"));    // last result
@@ -174,7 +174,7 @@ public class Builtin {
         return Class.forName(name);
     }
 
-    public void set(CommandSession session, String[] argv) throws Exception {
+    public void set(CommandSession session, String[] argv) {
         final String[] usage = {
                 "set - show session variables",
                 "Usage: set [OPTIONS] [PREFIX]",
@@ -201,7 +201,7 @@ public class Builtin {
             session.put("echo", null);
         } else {
             boolean all = opt.isSet("all");
-            for (String key : new TreeSet<String>(Shell.getVariables(session))) {
+            for (String key : new TreeSet<>(Shell.getVariables(session))) {
                 if (!key.startsWith(prefix))
                     continue;
 
@@ -213,7 +213,7 @@ public class Builtin {
                 String value = null;
 
                 if (target != null) {
-                    Class<? extends Object> clazz = target.getClass();
+                    Class<?> clazz = target.getClass();
                     type = clazz.getSimpleName();
                     value = target.toString();
                 }
@@ -268,7 +268,7 @@ public class Builtin {
         ArrayList<String> list = null;
 
         if (opt.isSet("list")) {
-            list = new ArrayList<String>();
+            list = new ArrayList<>();
         }
 
         boolean first = true;
@@ -333,7 +333,7 @@ public class Builtin {
         }
 
         if (optScope != null || (args.isEmpty() && all)) {
-            Set<String> snames = new TreeSet<String>();
+            Set<String> snames = new TreeSet<>();
 
             for (String sname : (getCommands(session))) {
                 if ((optScope == null) || sname.startsWith(optScope)) {
@@ -349,7 +349,7 @@ public class Builtin {
         }
 
         if (args.size() == 0) {
-            Map<String, Integer> scopes = new TreeMap<String, Integer>();
+            Map<String, Integer> scopes = new TreeMap<>();
 
             for (String sname : getCommands(session)) {
                 int colon = sname.indexOf(':');
@@ -374,7 +374,7 @@ public class Builtin {
         final String MAIN = "_main"; // FIXME: must match Reflective.java
 
         StringBuilder buf = new StringBuilder();
-        Set<String> cmds = new LinkedHashSet<String>();
+        Set<String> cmds = new LinkedHashSet<>();
 
         // get all commands
         if ((colon != -1) || (session.get(name) != null)) {
@@ -621,7 +621,7 @@ public class Builtin {
             target = method.invoke(target, (Object[]) null);
         }
 
-        ArrayList<Method> list = new ArrayList<Method>();
+        ArrayList<Method> list = new ArrayList<>();
         Class<?> tc = (target instanceof Class<?>) ? (Class<?>) target
                 : target.getClass();
         Method[] methods = tc.getMethods();

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Converters.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Converters.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Converters.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Converters.java Thu Apr 19 18:08:33 2018
@@ -26,6 +26,7 @@ import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
+import org.osgi.framework.startlevel.BundleStartLevel;
 import org.osgi.service.startlevel.StartLevel;
 
 public class Converters extends BaseConverters {
@@ -37,19 +38,7 @@ public class Converters extends BaseConv
 
     private CharSequence print(Bundle bundle) {
         // [ ID ] [STATE      ] [ SL ] symname
-        StartLevel sl = null;
-        ServiceReference ref = context.getServiceReference(StartLevel.class.getName());
-        if (ref != null) {
-            sl = (StartLevel) context.getService(ref);
-        }
-
-        if (sl == null) {
-            return String.format("%5d|%-11s|%s (%s)", bundle.getBundleId(),
-                    getState(bundle), bundle.getSymbolicName(), bundle.getVersion());
-        }
-
-        int level = sl.getBundleStartLevel(bundle);
-        context.ungetService(ref);
+        int level = bundle.adapt(BundleStartLevel.class).getStartLevel();
 
         return String.format("%5d|%-11s|%5d|%s (%s)", bundle.getBundleId(),
                 getState(bundle), level, bundle.getSymbolicName(), bundle.getVersion());
@@ -75,7 +64,7 @@ public class Converters extends BaseConv
         StringBuilder sb = new StringBuilder();
         String del = "";
         for (String s : list) {
-            sb.append(del + getShortName(s));
+            sb.append(del).append(getShortName(s));
             del = " | ";
         }
         return sb;

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Main.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Main.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Main.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Main.java Thu Apr 19 18:08:33 2018
@@ -57,12 +57,12 @@ public class Main {
                 register(processor, shell, Shell.functions);
                 InputStream in = new FilterInputStream(terminal.input()) {
                     @Override
-                    public void close() throws IOException {
+                    public void close() {
                     }
                 };
                 OutputStream out = new FilterOutputStream(terminal.output()) {
                     @Override
-                    public void close() throws IOException {
+                    public void close() {
                     }
                 };
                 CommandSession session = processor.createSession(in, out, out);
@@ -102,7 +102,7 @@ public class Main {
             return System.getProperty(name);
         }
 
-        public void exit() throws Exception {
+        public void exit() {
             System.exit(0);
         }
     }

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Parser.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Parser.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Parser.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Parser.java Thu Apr 19 18:08:33 2018
@@ -86,7 +86,7 @@ public class Parser implements org.jline
             return new ParsedLineImpl(program, statement, cursor, statement.tokens());
         } else {
             // TODO:
-            return new ParsedLineImpl(program, program, cursor, Collections.<Token>singletonList(program));
+            return new ParsedLineImpl(program, program, cursor, Collections.singletonList(program));
         }
     }
 

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java Thu Apr 19 18:08:33 2018
@@ -998,7 +998,7 @@ public class Posix {
         List<String> sortFields = opt.getList("key");
 
         char sep = (separator == null || separator.length() == 0) ? '\0' : separator.charAt(0);
-        Collections.sort(lines, new SortComparator(caseInsensitive, reverse, ignoreBlanks, numeric, sep, sortFields));
+        lines.sort(new SortComparator(caseInsensitive, reverse, ignoreBlanks, numeric, sep, sortFields));
         String last = null;
         for (String s : lines) {
             if (!unique || last == null || !s.equals(last)) {
@@ -1254,7 +1254,7 @@ public class Posix {
                     try {
                         Map<String, Object> ta = Files.readAttributes(path, view + ":*",
                                 getLinkOptions(opt.isSet("L")));
-                        ta.entrySet().forEach(e -> attrs.putIfAbsent(e.getKey(), e.getValue()));
+                        ta.forEach(attrs::putIfAbsent);
                     } catch (IOException e) {
                         // Ignore
                     }
@@ -1333,7 +1333,7 @@ public class Posix {
             if (expanded.size() > 1) {
                 out.println(currentDir.relativize(path).toString() + ":");
             }
-            display.accept(Stream.concat(Arrays.asList(".", "..").stream().map(path::resolve), Files.list(path))
+            display.accept(Stream.concat(Stream.of(".", "..").map(path::resolve), Files.list(path))
                             .filter(filter)
                             .map(p -> new PathEntry(p, path))
                             .sorted()
@@ -2100,7 +2100,7 @@ public class Posix {
         }
 
         @Override
-        public InputStream read() throws IOException {
+        public InputStream read() {
             return process.in();
         }
     }

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Procedural.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Procedural.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Procedural.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Procedural.java Thu Apr 19 18:08:33 2018
@@ -162,7 +162,7 @@ public class Procedural {
             } catch (BreakException b) {
                 break;
             } catch (ContinueException c) {
-                continue;
+                // Ignore
             }
         }
 
@@ -317,7 +317,7 @@ public class Procedural {
                     cause = (Throwable) opt.argObjects().get(1);
                 }
             }
-            throw new ThrownException(new Exception(message).initCause(cause));
+            throw new ThrownException(new Exception(message, cause));
         }
     }
 
@@ -453,7 +453,7 @@ public class Procedural {
             } catch (BreakException b) {
                 break;
             } catch (ContinueException c) {
-                continue;
+                // Ignore
             }
         }
         return null;
@@ -512,7 +512,7 @@ public class Procedural {
             } catch (BreakException e) {
                 break;
             } catch (ContinueException c) {
-                continue;
+                // Ignore
             }
         }
         return null;
@@ -560,10 +560,7 @@ public class Procedural {
         if ("".equals(result))
             return false;
 
-        if ("0".equals(result))
-            return false;
-
-        return true;
+        return !"0".equals(result);
     }
 
     private void checkInterrupt() throws InterruptedException {

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Shell.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Shell.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Shell.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Shell.java Thu Apr 19 18:08:33 2018
@@ -299,13 +299,13 @@ public class Shell {
                 public void write(int b) throws IOException {
                     write(new byte[]{(byte) b}, 0, 1);
                 }
-                public void write(byte b[], int off, int len) throws IOException {
+                public void write(byte b[], int off, int len) {
                     writer.write(new String(b, off, len));
                 }
-                public void flush() throws IOException {
+                public void flush() {
                     writer.flush();
                 }
-                public void close() throws IOException {
+                public void close() {
                     writer.close();
                 }
             });

Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/SingleServiceTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/SingleServiceTracker.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/SingleServiceTracker.java (original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/SingleServiceTracker.java Thu Apr 19 18:08:33 2018
@@ -35,18 +35,18 @@ import org.osgi.framework.ServiceReferen
 //This is from aries util
 public final class SingleServiceTracker<T> implements ServiceListener {
 
-    public static interface SingleServiceListener {
-        public void serviceFound();
+    public interface SingleServiceListener {
+        void serviceFound();
 
-        public void serviceLost();
+        void serviceLost();
 
-        public void serviceReplaced();
+        void serviceReplaced();
     }
 
     private final BundleContext ctx;
     private final String className;
-    private final AtomicReference<T> service = new AtomicReference<T>();
-    private final AtomicReference<ServiceReference> ref = new AtomicReference<ServiceReference>();
+    private final AtomicReference<T> service = new AtomicReference<>();
+    private final AtomicReference<ServiceReference> ref = new AtomicReference<>();
     private final AtomicBoolean open = new AtomicBoolean(false);
     private final SingleServiceListener serviceListener;
     private final String filterString;
@@ -121,7 +121,7 @@ public final class SingleServiceTracker<
                     clear = false;
 
                     // We do the unget out of the lock so we don't exit this class while holding a lock.
-                    if (!!!update(original, refs[0], service)) {
+                    if (!update(original, refs[0], service)) {
                         ctx.ungetService(refs[0]);
                     }
                 }

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/AbstractParserTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/AbstractParserTest.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/AbstractParserTest.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/AbstractParserTest.java Thu Apr 19 18:08:33 2018
@@ -36,7 +36,7 @@ public abstract class AbstractParserTest
     private PrintStream serr;
 
     @Before
-    public void setUp() throws Exception {
+    public void setUp() {
         sin = new NoCloseInputStream(System.in);
         sout = new NoClosePrintStream(System.out);
         serr = new NoClosePrintStream(System.err);
@@ -45,7 +45,7 @@ public abstract class AbstractParserTest
     }
 
     @After
-    public void tearDown() throws Exception {
+    public void tearDown() {
         threadIO.stop();
     }
 
@@ -60,7 +60,7 @@ public abstract class AbstractParserTest
             super(in);
         }
         @Override
-        public void close() throws IOException {
+        public void close() {
         }
     }
 

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/BaseConvertersTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/BaseConvertersTest.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/BaseConvertersTest.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/BaseConvertersTest.java Thu Apr 19 18:08:33 2018
@@ -32,7 +32,7 @@ public class BaseConvertersTest {
     public void testFunctionProxy() throws Exception {
         Function function = new Function() {
             @Override
-            public Object execute(CommandSession session, List<Object> arguments) throws Exception {
+            public Object execute(CommandSession session, List<Object> arguments) {
                 return "Hello ";
             }
             public String toString() {

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/Context.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/Context.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/Context.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/Context.java Thu Apr 19 18:08:33 2018
@@ -58,7 +58,7 @@ public class Context extends CommandProc
             return System.getProperty(name);
         }
 
-        public void exit() throws Exception {
+        public void exit() {
             System.exit(0);
         }
     }

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellCommand.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellCommand.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellCommand.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellCommand.java Thu Apr 19 18:08:33 2018
@@ -80,7 +80,7 @@ public class ShellCommand implements Com
         this.session = session;
     }
 
-    public void start(final Environment env) throws IOException {
+    public void start(final Environment env) {
         this.env = env;
         new Thread(this).start();
     }
@@ -117,10 +117,8 @@ public class ShellCommand implements Com
 
     private void executeScript(String scriptFileName, CommandSession session) {
         if (scriptFileName != null) {
-            Reader r = null;
-            try {
-                File scriptFile = new File(scriptFileName);
-                r = new InputStreamReader(new FileInputStream(scriptFile));
+            File scriptFile = new File(scriptFileName);
+            try (Reader r = new InputStreamReader(new FileInputStream(scriptFile))) {
                 CharArrayWriter w = new CharArrayWriter();
                 int n;
                 char[] buf = new char[8192];
@@ -130,15 +128,8 @@ public class ShellCommand implements Com
                 session.execute(new String(w.toCharArray()));
             } catch (Exception e) {
                 LOGGER.log(Level.FINE, "Error in initialization script", e);
-            } finally {
-                if (r != null) {
-                    try {
-                        r.close();
-                    } catch (IOException e) {
-                        // Ignore
-                    }
-                }
             }
+            // Ignore
         }
     }
 

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellFactoryImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellFactoryImpl.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellFactoryImpl.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/ShellFactoryImpl.java Thu Apr 19 18:08:33 2018
@@ -116,21 +116,19 @@ public class ShellFactoryImpl implements
 
         public void start(final Environment env) throws IOException {
             try {
-                new Thread() {
-                    public void run() {
-                        try {
-                            ShellImpl.this.run(env);
-                        } catch (Throwable t) {
-                            t.printStackTrace();
-                        }
+                new Thread(() -> {
+                    try {
+                        ShellImpl.this.run(env);
+                    } catch (Throwable t) {
+                        t.printStackTrace();
                     }
-                }.start();
+                }).start();
             } catch (Exception e) {
-                throw (IOException) new IOException("Unable to start shell").initCause(e);
+                throw (IOException) new IOException("Unable to start shell", e);
             }
         }
 
-        public void run(Environment env) throws Exception {
+        public void run(Environment env) {
             try {
                 Terminal terminal = TerminalBuilder.builder()
                         .name("gogo")
@@ -250,7 +248,7 @@ public class ShellFactoryImpl implements
                     }
 
                     @Override
-                    public void exit() throws Exception {
+                    public void exit() {
                         destroy();
                     }
                 };

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/Ssh.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/Ssh.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/Ssh.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/ssh/Ssh.java Thu Apr 19 18:08:33 2018
@@ -102,7 +102,7 @@ public class Ssh {
         server.setHost(ip);
         server.setShellFactory(new ShellFactoryImpl(processor));
         server.setCommandFactory(new ScpCommandFactory.Builder().withDelegate(new ShellCommandFactory(processor)).build());
-        server.setSubsystemFactories(Collections.<NamedFactory<Command>>singletonList(
+        server.setSubsystemFactories(Collections.singletonList(
                 new SftpSubsystemFactory.Builder().build()
         ));
         server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Connection.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Connection.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Connection.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Connection.java Thu Apr 19 18:08:33 2018
@@ -104,7 +104,7 @@ public abstract class Connection
         connectionData = cd;
         //init the connection listeners for events
         //(there should actually be only one or two)
-        listeners = new CopyOnWriteArrayList<ConnectionListener>();
+        listeners = new CopyOnWriteArrayList<>();
         dead = false;
     }//constructor
 
@@ -152,9 +152,7 @@ public abstract class Connection
      * resources.<br>
      */
     public synchronized void close() {
-        if (dead) {
-            return;
-        } else {
+        if (!dead) {
             try {
                 //connection dead
                 dead = true;

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionData.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionData.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionData.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionData.java Thu Apr 19 18:08:33 2018
@@ -104,7 +104,7 @@ public class ConnectionData {
         terminalGeometry[0] = 80;    //width
         terminalGeometry[1] = 25;    //height
         negotiatedTerminalType = "default";
-        environment = new HashMap<String, String>(20);
+        environment = new HashMap<>(20);
         //this will stamp the first activity for validity :)
         activity();
     }//ConnectionData
@@ -410,35 +410,50 @@ public class ConnectionData {
         String country = getHostName();
         try {
             country = country.substring(country.lastIndexOf(".") + 1);
-            if (country.equals("at")) {
-                locale = new Locale("de", "AT");
-            } else if (country.equals("de")) {
-                locale = new Locale("de", "DE");
-            } else if (country.equals("mx")) {
-                locale = new Locale("es", "MX");
-            } else if (country.equals("es")) {
-                locale = new Locale("es", "ES");
-            } else if (country.equals("it")) {
-                locale = Locale.ITALY;
-            } else if (country.equals("fr")) {
-                locale = Locale.FRANCE;
-            } else if (country.equals("uk")) {
-                locale = new Locale("en", "GB");
-            } else if (country.equals("arpa")) {
-                locale = Locale.US;
-            } else if (country.equals("com")) {
-                locale = Locale.US;
-            } else if (country.equals("edu")) {
-                locale = Locale.US;
-            } else if (country.equals("gov")) {
-                locale = Locale.US;
-            } else if (country.equals("org")) {
-                locale = Locale.US;
-            } else if (country.equals("mil")) {
-                locale = Locale.US;
-            } else {
-                //default to english
-                locale = Locale.ENGLISH;
+            switch (country) {
+                case "at":
+                    locale = new Locale("de", "AT");
+                    break;
+                case "de":
+                    locale = new Locale("de", "DE");
+                    break;
+                case "mx":
+                    locale = new Locale("es", "MX");
+                    break;
+                case "es":
+                    locale = new Locale("es", "ES");
+                    break;
+                case "it":
+                    locale = Locale.ITALY;
+                    break;
+                case "fr":
+                    locale = Locale.FRANCE;
+                    break;
+                case "uk":
+                    locale = new Locale("en", "GB");
+                    break;
+                case "arpa":
+                    locale = Locale.US;
+                    break;
+                case "com":
+                    locale = Locale.US;
+                    break;
+                case "edu":
+                    locale = Locale.US;
+                    break;
+                case "gov":
+                    locale = Locale.US;
+                    break;
+                case "org":
+                    locale = Locale.US;
+                    break;
+                case "mil":
+                    locale = Locale.US;
+                    break;
+                default:
+                    //default to english
+                    locale = Locale.ENGLISH;
+                    break;
             }
         } catch (Exception ex) {
             //default to english

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionEvent.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionEvent.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionEvent.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionEvent.java Thu Apr 19 18:08:33 2018
@@ -130,7 +130,7 @@ public class ConnectionEvent {
          * Defines the connection geometry event type.
          * It occurs when the connection sent a NAWS.
          */
-        CONNECTION_TERMINAL_GEOMETRY_CHANGED;
+        CONNECTION_TERMINAL_GEOMETRY_CHANGED
     }
 
 

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionManager.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionManager.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/ConnectionManager.java Thu Apr 19 18:08:33 2018
@@ -87,8 +87,8 @@ public abstract class ConnectionManager
 
     public ConnectionManager() {
         threadGroup = new ThreadGroup(toString() + "Connections");
-        closedConnections = new Stack<Connection>();
-        openConnections = Collections.synchronizedList(new ArrayList<Connection>(100));
+        closedConnections = new Stack<>();
+        openConnections = Collections.synchronizedList(new ArrayList<>(100));
     }
 
     public ConnectionManager(int con, int timew, int timedis, int hoke, ConnectionFilter filter, String lsh, boolean lm) {
@@ -150,7 +150,7 @@ public abstract class ConnectionManager
      *         <tt>InetAddress</tt>.
      */
     public Connection[] getConnectionsByAdddress(InetAddress addr) {
-        ArrayList<Connection> l = new ArrayList<Connection>();
+        ArrayList<Connection> l = new ArrayList<>();
         synchronized (openConnections) {
             for (Connection connection : openConnections) {
                 if (connection.getConnectionData().getInetAddress().equals(addr)) {

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Telnet.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Telnet.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Telnet.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/Telnet.java Thu Apr 19 18:08:33 2018
@@ -96,7 +96,7 @@ public class Telnet {
         }
     }
 
-    private void start(CommandSession session) throws IOException {
+    private void start(CommandSession session) {
         ConnectionManager connectionManager = new ConnectionManager(1000, 5 * 60 * 1000, 5 * 60 * 1000, 60 * 1000, null, null, false) {
             @Override
             protected Connection createConnection(ThreadGroup threadGroup, ConnectionData newCD) {
@@ -175,7 +175,7 @@ public class Telnet {
                                 return System.getProperty(name);
                             }
                             @Override
-                            public void exit() throws Exception {
+                            public void exit() {
                                 close();
                             }
                         };
@@ -183,7 +183,7 @@ public class Telnet {
                     }
 
                     @Override
-                    protected void doClose() throws Exception {
+                    protected void doClose() {
                         telnetIO.closeOutput();
                         telnetIO.closeInput();
                     }
@@ -195,7 +195,7 @@ public class Telnet {
         portListener.start();
     }
 
-    private void stop() throws IOException {
+    private void stop() {
         portListener.stop();
         portListener = null;
     }

Modified: felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/TelnetIO.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/TelnetIO.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/TelnetIO.java (original)
+++ felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/telnet/TelnetIO.java Thu Apr 19 18:08:33 2018
@@ -356,11 +356,7 @@ public class TelnetIO {
 
         out.write(b);
 
-        if (b == 13) {
-            crFlag = true;
-        } else {
-            crFlag = false;
-        }
+        crFlag = b == 13;
     }//write(byte)
 
     /**
@@ -783,7 +779,7 @@ public class TelnetIO {
         /* First switch on the Negotiation Option */
                 case WILL:
                     if (supported(buf[1]) && isEnabled(buf[1])) {
-                        ;// do nothing
+                        // do nothing
                     } else {
                         if (waitDOreply(buf[1]) && supported(buf[1])) {
                             enable(buf[1]);
@@ -810,7 +806,7 @@ public class TelnetIO {
                     break;
                 case DO:
                     if (supported(buf[1]) && isEnabled(buf[1])) {
-                        ; // do nothing
+                        // do nothing
                     } else {
                         if (waitWILLreply(buf[1]) && supported(buf[1])) {
                             enable(buf[1]);
@@ -855,14 +851,12 @@ public class TelnetIO {
                                 handleNEWENV();
                                 break;
                             default:
-                                ;
                         }
                     } else {
                         //do nothing
                     }
                     break;
                 default:
-                    ;
             }//switch
         }//parse
 
@@ -1302,7 +1296,7 @@ public class TelnetIO {
                         }
                         break;
                     case -1:
-                        return (new String("default"));
+                        return "default";
                     default:
                 }
                 if (cont) {
@@ -1365,25 +1359,13 @@ public class TelnetIO {
         private void enable(int i) throws IOException {
             switch (i) {
                 case SUPGA:
-                    if (DO_SUPGA) {
-                        DO_SUPGA = false;
-                    } else {
-                        DO_SUPGA = true;
-                    }
+                    DO_SUPGA = !DO_SUPGA;
                     break;
                 case ECHO:
-                    if (DO_ECHO) {
-                        DO_ECHO = false;
-                    } else {
-                        DO_ECHO = true;
-                    }
+                    DO_ECHO = !DO_ECHO;
                     break;
                 case NAWS:
-                    if (DO_NAWS) {
-                        DO_NAWS = false;
-                    } else {
-                        DO_NAWS = true;
-                    }
+                    DO_NAWS = !DO_NAWS;
                     break;
                 case TTYPE:
                     if (DO_TTYPE) {

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java Thu Apr 19 18:08:33 2018
@@ -549,8 +549,7 @@ public class Closure implements Function
         }
     }
 
-    private boolean bareword(Token t, Object v) throws Exception
-    {
+    private boolean bareword(Token t, Object v) {
         return v instanceof CharSequence && Token.eq(t, (CharSequence) v);
     }
 

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java Thu Apr 19 18:08:33 2018
@@ -246,7 +246,7 @@ public class CommandProcessorImpl implem
         Map<Object, Integer> cmdMap = commands.get(key);
         if (cmdMap == null)
         {
-            commands.putIfAbsent(key, new LinkedHashMap<Object, Integer>());
+            commands.putIfAbsent(key, new LinkedHashMap<>());
             cmdMap = commands.get(key);
         }
         cmdMap.put(target, ranking);

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java Thu Apr 19 18:08:33 2018
@@ -503,7 +503,7 @@ public class CommandSessionImpl implemen
     {
         synchronized (jobs)
         {
-            return Collections.<Job>unmodifiableList(jobs);
+            return Collections.unmodifiableList(jobs);
         }
     }
 
@@ -780,7 +780,7 @@ public class CommandSessionImpl implemen
 
         public List<Process> processes()
         {
-            return Collections.<Process>unmodifiableList(pipes);
+            return Collections.unmodifiableList(pipes);
         }
 
         @Override
@@ -797,7 +797,7 @@ public class CommandSessionImpl implemen
             {
                 thread.setName("job controller " + id);
 
-                List<Callable<Result>> wrapped = new ArrayList<Callable<Result>>(pipes);
+                List<Callable<Result>> wrapped = new ArrayList<>(pipes);
                 List<Future<Result>> results = executor.invokeAll(wrapped);
 
                 // Get pipe exceptions

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java Thu Apr 19 18:08:33 2018
@@ -31,10 +31,11 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.EnumSet;
-import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.function.BiFunction;
+import java.util.function.Function;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
@@ -43,14 +44,6 @@ import java.util.regex.PatternSyntaxExce
 public class Expander extends BaseTokenizer
 {
 
-    private interface Function<T, R> {
-        R apply(T t);
-    }
-    private interface BiFunction<T, U, R> {
-        R apply(T t, U u);
-    }
-
-
     /**
      * expand variables, quotes and escapes in word.
      */
@@ -467,7 +460,7 @@ public class Expander extends BaseTokeni
                 // If there's no splitting comma, expand with the braces
                 if (generators.size() < 2)
                 {
-                    generators = Collections.<CharSequence>singletonList(part.toString());
+                    generators = Collections.singletonList(part.toString());
                 }
             }
             else
@@ -648,14 +641,12 @@ public class Expander extends BaseTokeni
                     }
 
                     @Override
-                    public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException
-                    {
+                    public FileVisitResult visitFileFailed(Path file, IOException exc) {
                         return FileVisitResult.CONTINUE;
                     }
 
                     @Override
-                    public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException
-                    {
+                    public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
                         return FileVisitResult.CONTINUE;
                     }
                 });
@@ -1230,39 +1221,31 @@ public class Expander extends BaseTokeni
             // Map to List conversion
             final boolean _flagk = flagk;
             final boolean _flagv = flagv;
-            final Function<Object, Object> toCollection = new Function<Object, Object>() {
-                @Override
-                public Object apply(Object v) {
-                    return v instanceof Map
-                            ? toList(asMap(v), _flagk, _flagv)
-                            : v != null && v.getClass().isArray()
-                            ? Arrays.asList((Object[]) v)
-                            : v;
-                }
-            };
+            final Function<Object, Object> toCollection = v -> v instanceof Map
+                    ? toList(asMap(v), _flagk, _flagv)
+                    : v != null && v.getClass().isArray()
+                    ? Arrays.asList((Object[]) v)
+                    : v;
 
             //
             // String transformations
             //
-            final BiFunction<Function<String, String>, Object, Object> stringApplyer = new BiFunction<Function<String,String>, Object, Object>() {
-                @Override
-                public Object apply(Function<String, String> func, Object v) {
-                    v = toCollection.apply(v);
-                    if (v instanceof Collection)
-                    {
-                        List<String> l = new ArrayList<String>();
-                        for (Object i : asCollection(v)) {
-                            l.add(func.apply(String.valueOf(i)));
-                        }
-                        return l;
-                    }
-                    else if (v != null)
-                    {
-                        return func.apply(v.toString());
-                    }
-                    else {
-                        return null;
+            final BiFunction<Function<String, String>, Object, Object> stringApplyer = (func, v) -> {
+                v = toCollection.apply(v);
+                if (v instanceof Collection)
+                {
+                    List<String> l = new ArrayList<>();
+                    for (Object i : asCollection(v)) {
+                        l.add(func.apply(String.valueOf(i)));
                     }
+                    return l;
+                }
+                else if (v != null)
+                {
+                    return func.apply(v.toString());
+                }
+                else {
+                    return null;
                 }
             };
 
@@ -1573,12 +1556,7 @@ public class Expander extends BaseTokeni
             // Character evaluation
             if (flagSharp)
             {
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return sharp(s);
-                    }
-                }, val);
+                val = stringApplyer.apply(this::sharp, val);
             }
 
             // Length
@@ -1623,7 +1601,6 @@ public class Expander extends BaseTokeni
             // Simple word splitting
             if (flags != null)
             {
-                String _flags = flags;
                 val = toCollection.apply(val);
                 if (!(val instanceof Collection))
                 {
@@ -1631,7 +1608,7 @@ public class Expander extends BaseTokeni
                 }
                 List<String> l = new ArrayList<>();
                 for (Object i : asCollection(val)) {
-                    Collections.addAll(l, String.valueOf(i).split(_flags));
+                    Collections.addAll(l, String.valueOf(i).split(flags));
                 }
                 val = l;
             }
@@ -1639,62 +1616,32 @@ public class Expander extends BaseTokeni
             // Case modification
             if (flagC)
             {
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return toCamelCase(s);
-                    }
-                }, val);
+                val = stringApplyer.apply(this::toCamelCase, val);
             }
             else if (flagL)
             {
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return s.toLowerCase();
-                    }
-                }, val);
+                val = stringApplyer.apply(String::toLowerCase, val);
             }
             else if (flagU)
             {
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return s.toUpperCase();
-                    }
-                }, val);
+                val = stringApplyer.apply(String::toUpperCase, val);
             }
 
             // Visibility enhancement
             if (flagV)
             {
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return visible(s);
-                    }
-                }, val);
+                val = stringApplyer.apply(this::visible, val);
             }
 
             // Quote
             if (flagq != 0)
             {
                 final int _flagq = flagq;
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return quote(s, _flagq);
-                    }
-                }, val);
+                val = stringApplyer.apply(s -> quote(s, _flagq), val);
                 inQuote = true;
             }
             else if (flagQ) {
-                val = stringApplyer.apply(new Function<String, String>() {
-                    @Override
-                    public String apply(String s) {
-                        return unquote(s);
-                    }
-                }, val);
+                val = stringApplyer.apply(this::unquote, val);
             }
 
             // Uniqueness
@@ -1721,12 +1668,7 @@ public class Expander extends BaseTokeni
                         for (Object i : asCollection(val)) {
                             l.add(String.valueOf(i));
                         }
-                        Collections.sort(l, new Comparator<String>() {
-                            @Override
-                            public int compare(String s1, String s2) {
-                                return numericCompare(s1, s2, _flagi);
-                            }
-                        });
+                        l.sort((s1, s2) -> numericCompare(s1, s2, _flagi));
                         list = (List) l;
                     }
                     else if (flaga)
@@ -1735,17 +1677,12 @@ public class Expander extends BaseTokeni
                     }
                     else
                     {
-                        Comparator<String> comparator = flagi ? String.CASE_INSENSITIVE_ORDER : new Comparator<String>() {
-                            @Override
-                            public int compare(String o1, String o2) {
-                                return o1.compareTo(o2);
-                            }
-                        };
+                        Comparator<String> comparator = flagi ? String.CASE_INSENSITIVE_ORDER : String::compareTo;
                         List<String> l = new ArrayList<>();
                         for (Object i : asCollection(val)) {
                             l.add(String.valueOf(i));
                         }
-                        Collections.sort(l, comparator);
+                        l.sort(comparator);
                         list = (List) l;
                     }
                     if (flagO)
@@ -1891,30 +1828,30 @@ public class Expander extends BaseTokeni
             for (int i = 0; i < s.length(); i++)
             {
                 char ch = s.charAt(i);
-                if (ch < 32 || ch >= 127)
-                {
-                    buf.append("\\").append(Integer.toOctalString(ch));
-                }
-                else
+                switch (ch)
                 {
-                    switch (ch)
-                    {
-                        case '\n':
-                            buf.append("\\n");
-                            break;
-                        case '\t':
-                            buf.append("\\t");
-                            break;
-                        case '\r':
-                            buf.append("\\r");
-                            break;
-                        case '\'':
-                            buf.append("\\'");
-                            break;
-                        default:
+                    case '\n':
+                        buf.append("\\n");
+                        break;
+                    case '\t':
+                        buf.append("\\t");
+                        break;
+                    case '\r':
+                        buf.append("\\r");
+                        break;
+                    case '\'':
+                        buf.append("\\'");
+                        break;
+                    default:
+                        if (ch < 32 || ch >= 127)
+                        {
+                            buf.append("\\").append(Integer.toOctalString(ch));
+                        }
+                        else
+                            {
                             buf.append(ch);
-                            break;
-                    }
+                        }
+                        break;
                 }
             }
             buf.append("'");
@@ -2202,8 +2139,7 @@ public class Expander extends BaseTokeni
             {
                 inQuote = true;
                 getch();
-                Object val = getName(closing);
-                return val;
+                return getName(closing);
             }
             finally
             {
@@ -2244,8 +2180,7 @@ public class Expander extends BaseTokeni
         return expandPattern(sub).toString();
     }
 
-    private CharSequence findUntil(CharSequence text, int start, String closing) throws Exception
-    {
+    private CharSequence findUntil(CharSequence text, int start, String closing) {
         int braces = 0;
         boolean escaped = false;
         boolean doubleQuoted = false;

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expression.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expression.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expression.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expression.java Thu Apr 19 18:08:33 2018
@@ -1163,7 +1163,7 @@ public class Expression {
      * @return The result of the expression.
      */
     public Object eval() {
-        return eval(new HashMap<String, Object>());
+        return eval(new HashMap<>());
     }
 
     /**

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java Thu Apr 19 18:08:33 2018
@@ -182,12 +182,7 @@ public class Parser
     }
 
     public List<Statement> statements() {
-        Collections.sort(statements, new Comparator<Statement>() {
-                    @Override
-                    public int compare(Statement o1, Statement o2) {
-                        return Integer.compare(o1.start, o2.start);
-                    }
-                });
+        statements.sort(Comparator.comparingInt(o -> o.start));
         return Collections.unmodifiableList(statements);
     }
 

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java Thu Apr 19 18:08:33 2018
@@ -143,7 +143,7 @@ public class Pipe implements Callable<Re
     private static final int READ = 1;
     private static final int WRITE = 2;
 
-    private void setStream(Channel ch, int fd, int readWrite) throws IOException {
+    private void setStream(Channel ch, int fd, int readWrite) {
         if ((readWrite & (READ | WRITE)) == 0) {
             throw new IllegalArgumentException("Should specify READ and/or WRITE");
         }
@@ -221,7 +221,7 @@ public class Pipe implements Callable<Re
     }
 
     @Override
-    public Result call() throws Exception {
+    public Result call() {
         Thread thread = Thread.currentThread();
         String name = thread.getName();
         try {
@@ -348,8 +348,7 @@ public class Pipe implements Callable<Re
                         int index = 0;
                         boolean nl = true;
                         @Override
-                        public int read() throws IOException
-                        {
+                        public int read() {
                             if (nl && stripLeadingTabs)
                             {
                                 while (index < bytes.length && bytes[index] == '\t')

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java Thu Apr 19 18:08:33 2018
@@ -40,14 +40,14 @@ public final class Reflective
     public final static Object NO_MATCH = new Object();
     public final static String MAIN = "_main";
     public final static Set<String> KEYWORDS = new HashSet<>(
-        Arrays.asList(new String[] { "abstract", "continue", "for", "new", "switch",
+        Arrays.asList("abstract", "continue", "for", "new", "switch",
                 "assert", "default", "goto", "package", "synchronized", "boolean", "do",
                 "if", "private", "this", "break", "double", "implements", "protected",
                 "throw", "byte", "else", "import", "public", "throws", "case", "enum",
                 "instanceof", "return", "transient", "catch", "extends", "int", "short",
                 "try", "char", "final", "interface", "static", "void", "class",
                 "finally", "long", "strictfp", "volatile", "const", "float", "native",
-                "super", "while" }));
+                "super", "while"));
 
     /**
      * invokes the named method on the given target using the supplied args,

Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java?rev=1829594&r1=1829593&r2=1829594&view=diff
==============================================================================
--- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java (original)
+++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java Thu Apr 19 18:08:33 2018
@@ -124,8 +124,7 @@ public class Activator implements Bundle
         listenerTracker.open();
     }
 
-    public void stop(BundleContext context) throws Exception
-    {
+    public void stop(BundleContext context) {
         processorRegistration.unregister();
         threadioRegistration.unregister();
         commandTracker.close();