00001
00002
00003
00004
00005
package org.nees.rbnb;
00006
00007
import com.rbnb.sapi.*;
00008
import com.rbnb.utility.ArgHandler;
00009
import com.rbnb.utility.RBNBProcess;
00010
00011
00012
00013
00014
00019 public class ChannelList {
00020
private static final String SERVER =
"localhost:3333";
00021
00022
private String server = SERVER;
00023
00024 Sink sink = null;
00025 ChannelMap sMap;
00026
boolean connected =
false;
00027
00028
public static void main(String[] args) {
00029
ChannelList cl =
new ChannelList(args);
00030 cl.
exec();
00031 cl.
printChannelList();
00032 }
00033
00034
private void printUsage() {
00035 System.out.println(
"ChannelList: usage is...");
00036 System.out.print(
"ChannelList ");
00037 System.out.print(
"[-s server_hostname *" + SERVER +
"] ");
00038 System.out.println();
00039 }
00040
00041
public ChannelList(String[] args) {
00042
00043
try {
00044 ArgHandler ah=
new ArgHandler(args);
00045
if (ah.checkFlag(
'h')) {
00046 printUsage();
00047 RBNBProcess.exit(0);
00048 }
00049
if (ah.checkFlag(
's')) {
00050 String a=ah.getOption(
's');
00051
if (a!=null) server=a;
00052 }
00053 }
catch (Exception e) {
00054 System.err.println(
"ChannelList argument exception "+e.getMessage());
00055 e.printStackTrace();
00056 RBNBProcess.exit(0);
00057 }
00058
00059 System.out.println(
"Starting ChannelList on " + server);
00060 System.out.println(
" Use ChannelList -h to see optional parameters");
00061 }
00062
00063
public ChannelList(String server_host)
00064 {
00065 server = server_host;
00066
00067 System.out.println(
"Starting ChannelList on " + server);
00068 System.out.println(
" Use ChannelList -h to see optional parameters");
00069 }
00070
00071
public ChannelList()
00072 {
00073
this(SERVER);
00074 }
00075
00076
public void exec()
00077 {
00078
try {
00079
00080 sink=
new Sink();
00081 sink.OpenRBNBConnection(server,
"ChannelListRequest");
00082 connected =
true;
00083 System.out.println(
"ChannelList: Connection made to server = "
00084 + server +
" requesting channel list.");
00085 }
catch (SAPIException se) { se.printStackTrace(); }
00086 }
00087
00088
private void printChannelList() {
00089
try {
00090 sMap =
new ChannelMap();
00091 sink.RequestRegistration();
00092 sMap = sink.Fetch(-1,sMap);
00093 ChannelTree tr = ChannelTree.createFromChannelMap(sMap);
00094 System.out.println(tr);
00095 }
catch (SAPIException se) { se.printStackTrace(); }
00096 }
00097
00098
00099 }