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.