00001
00004 package cast.server;
00005
00006 import java.util.Hashtable;
00007 import java.util.Map;
00008
00009 import Ice.Current;
00010 import cast.CASTException;
00011 import cast.cdl.ComponentDescription;
00012 import cast.interfaces._ComponentManagerDisp;
00013
00018 public class CASTComponentManager extends _ComponentManagerDisp {
00019
00020 private final Hashtable<String, ComponentDescription> m_descriptions;
00021
00025 private static final long serialVersionUID = 1L;
00026
00027 public CASTComponentManager() {
00028 m_descriptions = new Hashtable<String, ComponentDescription>();
00029 }
00030
00031 public void addComponentDescription(ComponentDescription _description,
00032 Current __current) {
00033 m_descriptions.put(_description.componentName, _description);
00034 }
00035
00036 public Map<String, ComponentDescription> getComponentDescriptions(
00037 Current __current) {
00038 return m_descriptions;
00039 }
00040
00041 public ComponentDescription getComponentDescription(String _componentID,
00042 Current __current) throws CASTException {
00043
00044 ComponentDescription desc = m_descriptions.get(_componentID);
00045
00046 if (desc == null) {
00047 throw new CASTException("No description for: " + _componentID
00048 + ": " + m_descriptions.keySet());
00049 }
00050 return desc;
00051 }
00052
00053 }