package org.infosec.ismp.applet.manager.utilities; import java.util.HashMap; import java.util.List; import java.util.Map; import org.infosec.ismp.applet.manager.model.NodeModel; import org.infosec.ismp.applet.manager.model.TopoDatabaseModel; import org.infosec.ismp.applet.manager.model.TopoFirewallModel; import org.infosec.ismp.applet.manager.model.TopoIdsModel; import org.infosec.ismp.applet.manager.model.TopoRouterModel; import org.infosec.ismp.applet.manager.model.TopoSealedModel; import org.infosec.ismp.applet.manager.model.TopoSensorModel; import org.infosec.ismp.applet.manager.model.TopoServerModel; import org.infosec.ismp.applet.manager.model.TopoSwitchModel; import org.infosec.ismp.applet.manager.model.TopoWeblogicModel; import org.infosec.ismp.manager.rmi.tm.manager.model.NodeTypeEntity; public class TypeUtil { private static Map<String, NodeTypeEntity> typeMap = new HashMap<String, NodeTypeEntity>(); public static NodeModel getType(String typeEnglish) { NodeModel node = null; if (typeEnglish.equals("router")) { node = new TopoRouterModel(); } else if (typeEnglish.equals("switch")) { node = new TopoSwitchModel(); } else if (typeEnglish.equals("pc")) { node = new TopoSensorModel(); } else if (typeEnglish.equals("firewall")) { node = new TopoFirewallModel(); } else if (typeEnglish.equals("server")) { node = new TopoServerModel(); } else if (typeEnglish.equals("ids")) { node = new TopoIdsModel(); } else if (typeEnglish.equals("weblogic")) { node = new TopoWeblogicModel(); } else if (typeEnglish.equals("database")) { node = new TopoDatabaseModel(); } else if (typeEnglish.equals("sealed")) { node = new TopoSealedModel(); }else { node = new NodeModel(); } return node; } public static void putType(List<NodeTypeEntity> types) { if (types == null) return; for (NodeTypeEntity type : types) { typeMap.put(type.getEnglishTag(), type); } } public static NodeTypeEntity getNodeTypeBySimpleClassName(String simpleName) { if (simpleName.equals("TopoRouterModel")) { return typeMap.get("router"); } else if (simpleName.equals("TopoSwitchModel")) { return typeMap.get("switch"); } else if (simpleName.equals("TopoSensorModel")) { return typeMap.get("pc"); } else if (simpleName.equals("TopoFirewallModel")) { return typeMap.get("firewall"); } else if (simpleName.equals("TopoIdsModel")) { return typeMap.get("ids"); } else if (simpleName.equals("TopoServerModel")) { return typeMap.get("server"); } else if (simpleName.equals("TopoWeblogicModel")) { return typeMap.get("weblogic"); } else if (simpleName.equals("TopoDatabaseModel")) { return typeMap.get("database"); } else if(simpleName.equals("TopoSealedModel")) { return typeMap.get("sealed"); } return null; } }