CommandProcessor cp = (CommandProcessor) shell;
if(sessionOp == null) {
if("asadmin-osgi-shell".equals(cmdName)) {
out.println("gogo");
} else {
CommandSession session = cp.createSession(in, out, err);
session.execute(cmd);
session.close();
}
} else if("new".equals(sessionOp)) {
CommandSession session = cp.createSession(null, null, null);
RemoteCommandSession remote = new RemoteCommandSession(session);
log.log(Level.FINE, "Remote session established: {0}",
remote.getId());
sessions.put(remote.getId(), remote);
out.println(remote.getId());
} else if("list".equals(sessionOp)) {
for(String id : sessions.keySet()) {
out.println(id);
}
} else if("execute".equals(sessionOp)) {
RemoteCommandSession remote = sessions.get(sessionId);
CommandSession session = remote.attach(in, out, err);
session.execute(cmd);
remote.detach();
} else if("stop".equals(sessionOp)) {
RemoteCommandSession remote = sessions.remove(sessionId);
CommandSession session = remote.attach(in, out, err);
session.close();
log.log(Level.FINE, "Remote session closed: {0}",
remote.getId());
}
}