package org.vaadin.mideaas.model; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import com.vaadin.data.util.BeanItemContainer; public class ServerContainer extends BeanItemContainer<Server> implements Serializable { private static ServerContainer sc; public ServerContainer() throws InstantiationException, IllegalAccessException { super(Server.class); } public static void addServer(String ip, List<String> engines, String details, String projectName) { if (sc == null) { try { sc = new ServerContainer(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } Server p = new Server(); p.setIP(ip); p.setEngines(engines); p.setDetails(details); sc.addItem(p); XmlTestWriter.WriteTestsToXml(projectName); } public static void addServerObjectToContainer(Server server) { if (sc == null) { try { sc = new ServerContainer(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } sc.addItem(server); } public static void setServerContainer(ServerContainer container) { sc = container; } public static Server getServer(String ip) { Server server = null; for (Server p : sc.getItemIds()) { if (p.getIP().matches(ip)) { server = p; } } return server; } public static synchronized void removeServer(String serverIP, String projectName) { for (Server server : sc.getAllItemIds()) { if (server.getIP().matches(serverIP)) { sc.removeItem(server); } } XmlTestWriter.WriteTestsToXml(projectName); } public static ServerContainer getServerContainer() { return sc; } public static Server getFirstServer() { Server server = null; try { server = sc.getIdByIndex(0); } catch (Exception e) { server = null; } return server; } public static List<String> getServerEngines(String serverIP) { List<String> engines = new ArrayList<String>(); try { for (Server server : sc.getItemIds()) { if (server.getIP().matches(serverIP)) { engines = server.getEngines(); } } } catch (NullPointerException e) { engines = null; } return engines; } public static synchronized void updateServerdata(String serverIP, List<String> engines, String details, String projectName) { for (Server p : sc.getAllItemIds()) { if (p.getIP().matches(serverIP)) { p.setEngines(engines); p.setDetails(details); } } XmlTestWriter.WriteTestsToXml(projectName); } }