+ /**
+ * Mockup of switch manager that only maintains existence of node
+ * connector.
+ */
+ private final class TestSwitchManager implements ISwitchManager {
+ private final Set<Node> nodeSet = new HashSet<Node>();
+ private final Set<NodeConnector> nodeConnectorSet =
+ new HashSet<NodeConnector>();
+
+ private void addNodeConnectors(NodeConnector ... connectors) {
+ for (NodeConnector nc: connectors) {
+ if (nc != null) {
+ nodeSet.add(nc.getNode());
+ nodeConnectorSet.add(nc);
+ }
+ }
+ }
+
+ private void addNodeConnectors(TopologyUserLinkConfig ... links) {
+ for (TopologyUserLinkConfig link: links) {
+ NodeConnector src =
+ NodeConnector.fromString(link.getSrcNodeConnector());
+ NodeConnector dst =
+ NodeConnector.fromString(link.getDstNodeConnector());
+ addNodeConnectors(src, dst);
+ }
+ }
+
+ @Override
+ public Status addSubnet(SubnetConfig configObject) {
+ return null;
+ }
+
+ @Override
+ public Status removeSubnet(SubnetConfig configObject) {
+ return null;
+ }
+
+ @Override
+ public Status modifySubnet(SubnetConfig configObject) {
+ return null;
+ }
+
+ @Override
+ public Status removeSubnet(String name) {
+ return null;
+ }
+
+ @Override
+ public List<Switch> getNetworkDevices() {
+ return null;
+ }
+
+ @Override
+ public List<SubnetConfig> getSubnetsConfigList() {
+ return null;
+ }
+
+ @Override
+ public SubnetConfig getSubnetConfig(String subnet) {
+ return null;
+ }
+
+ @Override
+ public Subnet getSubnetByNetworkAddress(InetAddress networkAddress) {
+ return null;
+ }
+
+ @Override
+ public Status saveSwitchConfig() {
+ return null;
+ }
+
+ @Override
+ public Status addSpanConfig(SpanConfig configObject) {
+ return null;
+ }
+
+ @Override
+ public Status removeSpanConfig(SpanConfig cfgObject) {
+ return null;
+ }
+
+ @Override
+ public List<SpanConfig> getSpanConfigList() {
+ return null;
+ }
+
+ @Override
+ public List<NodeConnector> getSpanPorts(Node node) {
+ return null;
+ }
+
+ @Override
+ public void updateSwitchConfig(SwitchConfig cfgObject) {
+ }
+
+ @Override
+ public Status updateNodeConfig(SwitchConfig switchConfig) {
+ return null;
+ }
+
+ @Override
+ public Status removeNodeConfig(String nodeId) {
+ return null;
+ }
+
+ @Override
+ public SwitchConfig getSwitchConfig(String nodeId) {
+ return null;
+ }
+
+ @Override
+ public Status addPortsToSubnet(String name, List<String> nodeConnectors) {
+ return null;
+ }
+
+ @Override
+ public Status removePortsFromSubnet(String name, List<String> nodeConnectors) {
+ return null;
+ }
+
+ @Override
+ public Set<Node> getNodes() {
+ return new HashSet<Node>(nodeSet);
+ }
+
+ @Override
+ public Map<String, Property> getNodeProps(Node node) {
+ return new HashMap<String, Property>();
+ }
+
+ @Override
+ public Property getNodeProp(Node node, String propName) {
+ return null;
+ }
+
+ @Override
+ public void setNodeProp(Node node, Property prop) {
+ }
+
+ @Override
+ public Status removeNodeProp(Node node, String propName) {
+ return null;
+ }
+
+ @Override
+ public Status removeNodeAllProps(Node node) {
+ return null;
+ }
+
+ @Override
+ public Set<NodeConnector> getUpNodeConnectors(Node node) {
+ return getNodeConnectors(node);
+ }
+
+ @Override
+ public Set<NodeConnector> getNodeConnectors(Node node) {
+ Set<NodeConnector> set = new HashSet<NodeConnector>();
+ for (NodeConnector nc: nodeConnectorSet) {
+ if (nc.getNode().equals(node)) {
+ set.add(nc);
+ }
+ }
+
+ return set;
+ }
+
+ @Override
+ public Set<NodeConnector> getPhysicalNodeConnectors(Node node) {
+ return getNodeConnectors(node);
+ }
+
+ @Override
+ public Map<String, Property> getNodeConnectorProps(NodeConnector nodeConnector) {
+ return new HashMap<String, Property>();
+ }
+
+ @Override
+ public Property getNodeConnectorProp(NodeConnector nodeConnector, String propName) {
+ return null;
+ }
+
+ @Override
+ public Status addNodeConnectorProp(NodeConnector nodeConnector, Property prop) {
+ return null;
+ }
+
+ @Override
+ public Status removeNodeConnectorProp(NodeConnector nc, String propName) {
+ return null;
+ }
+
+ @Override
+ public Status removeNodeConnectorAllProps(NodeConnector nodeConnector) {
+ return null;
+ }
+
+ @Override
+ public NodeConnector getNodeConnector(Node node, String nodeConnectorName) {
+ return null;
+ }
+
+ @Override
+ public boolean isSpecial(NodeConnector p) {
+ String type = p.getType();
+ return (type.equals(NodeConnectorIDType.CONTROLLER)
+ || type.equals(NodeConnectorIDType.ALL)
+ || type.equals(NodeConnectorIDType.SWSTACK)
+ || type.equals(NodeConnectorIDType.HWPATH));
+ }
+
+ @Override
+ public Boolean isNodeConnectorEnabled(NodeConnector nodeConnector) {
+ if (doesNodeConnectorExist(nodeConnector)) {
+ return Boolean.TRUE;
+ }
+ return Boolean.FALSE;
+ }
+
+ @Override
+ public boolean doesNodeConnectorExist(NodeConnector nc) {
+ return (nc != null && nodeConnectorSet.contains(nc));
+ }
+
+ @Override
+ public byte[] getControllerMAC() {
+ return new byte[6];
+ }
+
+ @Override
+ public byte[] getNodeMAC(Node node) {
+ return new byte[6];
+ }
+
+ @Override
+ public Property createProperty(String propName, String propValue) {
+ return null;
+ }
+
+ @Override
+ public String getNodeDescription(Node node) {
+ return null;
+ }
+ }