/* * JBoss, Home of Professional Open Source * Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors * as indicated by the @author tags. All rights reserved. * See the copyright.txt in the distribution for a * full listing of individual contributors. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU Lesser General Public License, v. 2.1. * This program is distributed in the hope that it will be useful, but WITHOUT A * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public License, * v.2.1 along with this distribution; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ package org.infinispan.distribution; import org.infinispan.remoting.transport.TopologyAwareAddress; /** * Mock TopologyAwareAddress to be used in tests. * We only care about the addressNum for equality, so we don't override equals() and hashCode(). * * @author Dan Berindei <dberinde@redhat.com> * @since 5.0 */ public class TestTopologyAwareAddress extends TestAddress implements TopologyAwareAddress { String siteId, rackId, machineId; public TestTopologyAwareAddress(int addressNum, String siteId, String rackId, String machineId) { super(addressNum); this.siteId = siteId; this.rackId = rackId; this.machineId = machineId; } public TestTopologyAwareAddress(int addressNum) { this(addressNum, null, null, null); } @Override public String toString() { return "TestTopologyAwareAddress{" + "siteId='" + siteId + '\'' + ", rackId='" + rackId + '\'' + ", machineId='" + machineId + '\'' + "} " + super.toString(); } public int compareTo(Object o) { return this.addressNum - ((TestTopologyAwareAddress) o).addressNum; } @Override public boolean isSameSite(TopologyAwareAddress addr) { return siteId != null ? siteId.equals(addr.getSiteId()) : addr.getSiteId() == null; } @Override public boolean isSameRack(TopologyAwareAddress addr) { if (!isSameSite(addr)) return false; return rackId != null ? rackId.equals(addr.getRackId()) : addr.getRackId() == null; } @Override public boolean isSameMachine(TopologyAwareAddress addr) { if (!isSameSite(addr) || !isSameRack(addr)) return false; return machineId != null ? machineId.equals(addr.getMachineId()) : addr.getMachineId() == null; } public String getSiteId() { return siteId; } public void setSiteId(String siteId) { this.siteId = siteId; } public String getRackId() { return rackId; } public void setRackId(String rackId) { this.rackId = rackId; } public String getMachineId() { return machineId; } public void setMachineId(String machineId) { this.machineId = machineId; } }