You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by db...@apache.org on 2010/05/14 11:57:01 UTC
svn commit: r944181 - in
/felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell:
Activator.java Shell.java Telnet.java
Author: dbaum
Date: Fri May 14 09:57:00 2010
New Revision: 944181
URL: http://svn.apache.org/viewvc?rev=944181&view=rev
Log:
register telnetd command directly, rather than via Shell.
Modified:
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/Shell.java
felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Telnet.java
Modified: felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java?rev=944181&r1=944180&r2=944181&view=diff
==============================================================================
--- felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java (original)
+++ felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java Fri May 14 09:57:00 2010
@@ -43,8 +43,6 @@ public class Activator implements Bundle
public void start(final BundleContext context) throws Exception
{
- shell = new Shell(context);
- registerCommands(context);
commandProcessorTracker = processorTracker(context);
}
@@ -91,25 +89,16 @@ public class Activator implements Bundle
}
}
- private void startShell(CommandProcessor processor)
+ private void startShell(BundleContext context, CommandProcessor processor)
{
- session = processor.createSession(System.in, System.out, System.err);
- shell.setProcessor(processor);
- thread = new Thread(this, "Gogo shell");
- thread.start();
- }
-
- private void registerCommands(BundleContext context)
- {
- // default converters
- regs.add(context.registerService(Converter.class.getName(), new Converters(context), null));
-
Dictionary<String, Object> dict = new Hashtable<String, Object>();
dict.put(CommandProcessor.COMMAND_SCOPE, "gogo");
- dict.put(CommandProcessor.COMMAND_FUNCTION, Shell.functions);
- regs.add(context.registerService(Shell.class.getName(), shell, dict));
-
+ // register converters
+ regs.add(context.registerService(Converter.class.getName(), new Converters(context), null));
+
+ // register commands
+
dict.put(CommandProcessor.COMMAND_FUNCTION, Builtin.functions);
regs.add(context.registerService(Builtin.class.getName(), new Builtin(), dict));
@@ -118,6 +107,18 @@ public class Activator implements Bundle
dict.put(CommandProcessor.COMMAND_FUNCTION, Posix.functions);
regs.add(context.registerService(Posix.class.getName(), new Posix(), dict));
+
+ dict.put(CommandProcessor.COMMAND_FUNCTION, Telnet.functions);
+ regs.add(context.registerService(Telnet.class.getName(), new Telnet(processor), dict));
+
+ shell = new Shell(context, processor);
+ dict.put(CommandProcessor.COMMAND_FUNCTION, Shell.functions);
+ regs.add(context.registerService(Shell.class.getName(), shell, dict));
+
+ // start shell
+ session = processor.createSession(System.in, System.out, System.err);
+ thread = new Thread(this, "Gogo shell");
+ thread.start();
}
private ServiceTracker processorTracker(BundleContext context)
@@ -129,7 +130,7 @@ public class Activator implements Bundle
public Object addingService(ServiceReference reference)
{
CommandProcessor processor = (CommandProcessor) super.addingService(reference);
- startShell(processor);
+ startShell(context, processor);
return processor;
}
Modified: felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Shell.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Shell.java?rev=944181&r1=944180&r2=944181&view=diff
==============================================================================
--- felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Shell.java (original)
+++ felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Shell.java Fri May 14 09:57:00 2010
@@ -19,7 +19,6 @@
package org.apache.felix.gogo.shell;
import java.io.File;
-import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
@@ -38,28 +37,22 @@ import org.osgi.service.command.CommandS
public class Shell
{
- static final String[] functions = { "gosh", "sh", "source", "telnetd" };
+ static final String[] functions = { "gosh", "sh", "source" };
private final static URI CWD = new File(".").toURI();
private final URI baseURI;
private final BundleContext context;
+ private final CommandProcessor processor;
- private CommandProcessor processor;
- private Telnet telnet;
-
- public Shell(BundleContext context)
+ public Shell(BundleContext context, CommandProcessor processor)
{
this.context = context;
+ this.processor = processor;
String baseDir = System.getProperty("gosh.home", System.getProperty("user.dir"));
baseURI = new File(baseDir).toURI();
}
- public void setProcessor(CommandProcessor processor)
- {
- this.processor = processor;
- }
-
public Object gosh(final CommandSession session, String[] argv) throws Exception
{
final String[] usage = {
@@ -198,15 +191,6 @@ public class Shell
}
}
- public void telnetd(String[] argv) throws IOException
- {
- if (telnet == null)
- {
- telnet = new Telnet(processor);
- }
- telnet.telnetd(argv);
- }
-
private Object console(CommandSession session)
{
Console console = new Console(session);
Modified: felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Telnet.java
URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Telnet.java?rev=944181&r1=944180&r2=944181&view=diff
==============================================================================
--- felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Telnet.java (original)
+++ felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Telnet.java Fri May 14 09:57:00 2010
@@ -35,6 +35,8 @@ import org.osgi.service.command.CommandS
*/
public class Telnet implements Runnable
{
+ static final String[] functions = { "telnetd" };
+
private static final int defaultPort = 2019;
private final CommandProcessor processor;
private ServerSocket server;