/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.iwave.ext.linux.model; import java.io.Serializable; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import org.apache.commons.lang.math.NumberUtils; public class IScsiTarget implements Serializable { private static final long serialVersionUID = 5790949345532206626L; /** The target's IQN. */ private String iqn; /** The target portal (IP:port,targetPortalTagGroup) . */ private String portal; /** The interface name. */ private String ifaceName; public IScsiTarget() { } public IScsiTarget(String iqn, String portal, String ifaceName) { this.iqn = iqn; this.portal = portal; this.ifaceName = ifaceName; } public String getIqn() { return iqn; } public void setIqn(String iqn) { this.iqn = iqn; } public String getPortal() { return portal; } public void setPortal(String portal) { this.portal = portal; } public String getPortalIp() { return StringUtils.substringBefore(portal, ":"); } public Integer getPortalPort() { String port = StringUtils.substringBetween(portal, ":", ","); if (StringUtils.isNotBlank(port)) { return NumberUtils.toInt(port); } return null; } public String getPortalGroupTag() { return StringUtils.substringAfter(portal, ","); } public String getIfaceName() { return ifaceName; } public void setIfaceName(String ifaceName) { this.ifaceName = ifaceName; } @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof IScsiTarget)) { return false; } IScsiTarget target = (IScsiTarget) obj; EqualsBuilder builder = new EqualsBuilder(); builder.append(iqn, target.iqn); builder.append(portal, target.portal); builder.append(ifaceName, target.ifaceName); return builder.isEquals(); } @Override public int hashCode() { HashCodeBuilder builder = new HashCodeBuilder(); builder.append(iqn); builder.append(portal); builder.append(ifaceName); return builder.toHashCode(); } @Override public String toString() { return toString(ToStringStyle.SHORT_PREFIX_STYLE); } public String toString(ToStringStyle style) { ToStringBuilder builder = new ToStringBuilder(this, style); builder.append("iqn", iqn); builder.append("portal", portal); builder.append("ifaceName", ifaceName); return builder.toString(); } }