FELIX-615 Use framework properties instead of system properties for configuration
and some import list optimizations.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@687061 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/shell.remote/src/main/java/org/apache/felix/shell/remote/Activator.java b/shell.remote/src/main/java/org/apache/felix/shell/remote/Activator.java
index d418b82..a41f4eb 100644
--- a/shell.remote/src/main/java/org/apache/felix/shell/remote/Activator.java
+++ b/shell.remote/src/main/java/org/apache/felix/shell/remote/Activator.java
@@ -41,7 +41,7 @@
 
         //2. Prepare the listener
         m_Listener = new Listener();
-        m_Listener.activate();
+        m_Listener.activate( bundleContext );
     }
 
 
diff --git a/shell.remote/src/main/java/org/apache/felix/shell/remote/Listener.java b/shell.remote/src/main/java/org/apache/felix/shell/remote/Listener.java
index 65db291..a3d778a 100644
--- a/shell.remote/src/main/java/org/apache/felix/shell/remote/Listener.java
+++ b/shell.remote/src/main/java/org/apache/felix/shell/remote/Listener.java
@@ -23,6 +23,8 @@
 import java.net.Socket;
 import java.net.SocketException;
 
+import org.osgi.framework.BundleContext;
+
 
 /**
  * Implements a simple listener that will accept a single connection.
@@ -44,25 +46,11 @@
     /**
      * Activates this listener on a listener thread (telnetconsole.Listener).
      */
-    public void activate()
+    public void activate( BundleContext bundleContext )
     {
-        //configure from system property
-        try
-        {
-            m_Port = Integer.parseInt( System.getProperty( "osgi.shell.telnet.port", "6666" ) );
-        }
-        catch ( NumberFormatException ex )
-        {
-            Activator.getServices().error( "Listener::activate()", ex );
-        }
-        try
-        {
-            m_MaxConnections = Integer.parseInt( System.getProperty( "osgi.shell.telnet.maxconn", "2" ) );
-        }
-        catch ( NumberFormatException ex )
-        {
-            Activator.getServices().error( "Listener::activate()", ex );
-        }
+        //configure from framework property
+        m_Port = getProperty( bundleContext, "osgi.shell.telnet.port", 6666 );
+        m_MaxConnections = getProperty( bundleContext, "osgi.shell.telnet.maxconn", 2 );
         m_UseCounter = new AtomicInteger( 0 );
         m_ListenerThread = new Thread( new Acceptor(), "telnetconsole.Listener" );
         m_ListenerThread.start();
@@ -158,4 +146,23 @@
     private static final String INUSE_MESSAGE = "Connection refused.\r\n"
         + "All possible connections are currently being used.\r\n";
 
+
+    private int getProperty( BundleContext bundleContext, String propName, int defaultValue )
+    {
+        String propValue = bundleContext.getProperty( propName );
+        if ( propValue != null )
+        {
+            try
+            {
+                return Integer.parseInt( propValue );
+            }
+            catch ( NumberFormatException ex )
+            {
+                Activator.getServices().error( "Listener::activate()", ex );
+            }
+        }
+
+        return defaultValue;
+    }
+
 }//class Listener
diff --git a/shell.remote/src/main/java/org/apache/felix/shell/remote/ServiceMediator.java b/shell.remote/src/main/java/org/apache/felix/shell/remote/ServiceMediator.java
index fa0d90a..faa0d0b 100644
--- a/shell.remote/src/main/java/org/apache/felix/shell/remote/ServiceMediator.java
+++ b/shell.remote/src/main/java/org/apache/felix/shell/remote/ServiceMediator.java
@@ -18,7 +18,13 @@
 
 
 import org.apache.felix.shell.ShellService;
-import org.osgi.framework.*;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
 import org.osgi.service.log.LogService;
 
 
diff --git a/shell.remote/src/main/java/org/apache/felix/shell/remote/Shell.java b/shell.remote/src/main/java/org/apache/felix/shell/remote/Shell.java
index f7b487e..e1413f7 100644
--- a/shell.remote/src/main/java/org/apache/felix/shell/remote/Shell.java
+++ b/shell.remote/src/main/java/org/apache/felix/shell/remote/Shell.java
@@ -17,13 +17,13 @@
 package org.apache.felix.shell.remote;
 
 
-import org.apache.felix.shell.ShellService;
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.net.Socket;
 
+import org.apache.felix.shell.ShellService;
+
 
 /**
  * Implements the shell.