package jas2.jds.module;
import java.util.*;
import java.awt.Frame;
import java.rmi.server.*;
import jas2.util.*;
import jas2.job.*;
import hepjas.analysis.*;
import jas2.util.tree.TreeItem;
public class ServerRegistry
{
public static void registerServer(AbstractDIM d)
{
// System.out.println("ServerRegistry - registering dataserver: "+d);
serverList.addElement(d);
}
static public TreeItem[] listDatasets()
{
// First pass we just make a listing of all the dataservers
// Client can come back and ask for more information if needed
TreeItem[] result = new TreeItem[serverList.size()];
Enumeration e = serverList.elements();
for (int i=0; e.hasMoreElements(); i++)
{
result[i] = new TreeItem();
result[i].path = new String[1];
result[i].path[0] = e.nextElement().toString();
result[i].flags = TreeItem.HAS_SUB_ITEMS;
}
return result;
}
static public TreeItem[] getSubItems(TreeItem item)
{
// Currently we only support one level of indirection
AbstractDIM dim = findDIM(item.path[0]);
if (dim == null) return null;
if (dim instanceof DIM)
{
Vector v = ((DIM) dim).getDataSets();
TreeItem[] result = new TreeItem[v.size()];
Enumeration e = v.elements();
for (int i=0; e.hasMoreElements(); i++)
{
result[i] = new TreeItem();
result[i].path = new String[1];
result[i].path[0] = e.nextElement().toString();
result[i].flags = 0;
}
return result;
}
else if (dim instanceof DIM2)
{
TreeItem subItem = new TreeItem();
subItem.path = new String[item.path.length-1];
for (int i=0; i
Ads help maintain this website.