package com.plectix.simulator.util; import java.util.Collection; import com.plectix.simulator.interfaces.ConnectedComponentInterface; import com.plectix.simulator.util.string.ConnectedComponentToSmilesString; public class CComponentComparator { public static ConnectedComponentInterface findComponent( ConnectedComponentInterface c, Collection<ConnectedComponentInterface> list) { int size = c.getAgents().size(); for (ConnectedComponentInterface tmpC : list) { if (tmpC.getAgents().size() == size) { if (compareComponents(c, tmpC)) return tmpC; } } return null; } private static boolean compareComponents(ConnectedComponentInterface firstComponent, ConnectedComponentInterface secondComponent) { String firstString = ConnectedComponentToSmilesString.getInstance() .toUniqueString(firstComponent); String secondString = ConnectedComponentToSmilesString.getInstance() .toUniqueString(secondComponent); if (firstString != null) { return firstString.equals(secondString); } else { return secondString == null; } } }