package com.plectix.simulator.util; //package com.plectix.simulator.parser; // //import java.util.LinkedHashMap; //import java.util.List; // //import com.plectix.simulator.component.Agent; //import com.plectix.simulator.component.ConnectedComponent; //import com.plectix.simulator.component.InternalState; //import com.plectix.simulator.component.LinkStatus; //import com.plectix.simulator.component.Site; //import com.plectix.simulator.interfaces.ConnectedComponentInterface; // //public class SubstanceConstructor { // private int myAgentIndexGenerator; // // public Site createSite(String name, String internalStateName, // String linkIndex) { // Site site = new Site(name); // if (!internalStateName.equals("null")) { // site.setInternalState(new InternalState(internalStateName)); // } // if (!linkIndex.equals("null")) { // if ("?".equals(linkIndex)) { // site.getLinkState().setStatusLink(LinkStatus.WILDCARD); // } else { // site.getLinkState().setStatusLink(LinkStatus.BOUND); // if (!"_".equals(linkIndex)) { // site.setLinkIndex(Integer.valueOf(linkIndex)); // } // } // } // return site; // } // // public Agent createAgent(String name, List<Site> sites) { // Agent agent = new Agent(name, myAgentIndexGenerator++); // for (Site site : sites) { // agent.addSite(site); // } // return agent; // } // // private void bound(Site site1, Site site2) { // site1.getLinkState().connectSite(site2); // site2.getLinkState().connectSite(site1); // } // // public ConnectedComponentInterface createCC(List<Agent> list) { // ConnectedComponentInterface cc = new ConnectedComponent(list); // LinkedHashMap<Integer, Site> map = new LinkedHashMap<Integer, Site>(); // for (Agent agent : cc.getAgents()) { // for (Site site : agent.getSites()) { // int linkIndex = site.getLinkIndex(); // if (linkIndex != -1) { // Site boundedSite = map.get(linkIndex); // if (boundedSite != null) { // bound(site, boundedSite); // map.remove(linkIndex); // } else { // map.put(linkIndex, site); // } // } // } // } // return cc; // } //}