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.