/* * Copyright (c) 2013 EMC Corporation * All Rights Reserved */ package com.emc.storageos.hds.model; import java.util.List; import com.emc.storageos.hds.HDSConstants; import com.emc.storageos.hds.xmlgen.XMLConstants; public class HostStorageDomain { private String objectID; private String name; private String portID; private String domainID; private String hostMode; private String hostMode2; private String hostModeOption; private String displayName; private String domainType; private String nickname; private List<Path> pathList; private List<WorldWideName> wwnList; private List<ISCSIName> iscsiList; private List<FreeLun> freeLunList; public HostStorageDomain(String portID, String name, String domainType, String nickName) { this.portID = portID; this.name = name; this.domainType = domainType; this.nickname = nickName; } public HostStorageDomain(HostStorageDomain oldHSD) { this.setObjectID(oldHSD.getObjectID()); this.setPortID(oldHSD.getPortID()); this.setDomainID(oldHSD.getDomainID()); } public HostStorageDomain(String objectID) { this.objectID = objectID; } public HostStorageDomain() { // TODO Auto-generated constructor stub } public String getObjectID() { return objectID; } public void setObjectID(String objectID) { this.objectID = objectID; } /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } public String getPortID() { return portID; } public void setPortID(String portID) { this.portID = portID; } public String getDomainID() { return domainID; } public void setDomainID(String domainID) { this.domainID = domainID; } public String getHostMode() { return hostMode; } public void setHostMode(String hostMode) { this.hostMode = hostMode; } public String getHostMode2() { return hostMode2; } public void setHostMode2(String hostMode2) { this.hostMode2 = hostMode2; } public String getHostModeOption() { return hostModeOption; } public void setHostModeOption(String hostModeOption) { this.hostModeOption = hostModeOption; } public String getDisplayName() { return displayName; } public void setDisplayName(String displayName) { this.displayName = displayName; } public String getDomainType() { return domainType; } public void setDomainType(String domainType) { this.domainType = domainType; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } /** * @return the pathList */ public List<Path> getPathList() { return pathList; } /** * @param pathList the pathList to set */ public void setPathList(List<Path> pathList) { this.pathList = pathList; } /** * @return the wwnList */ public List<WorldWideName> getWwnList() { return wwnList; } /** * @param wwnList the wwnList to set */ public void setWwnList(List<WorldWideName> wwnList) { this.wwnList = wwnList; } /** * @return the iscsciList */ public List<ISCSIName> getIscsiList() { return iscsiList; } /** * @param iscsciList the iscsciList to set */ public void setIscsiList(List<ISCSIName> iscsiList) { this.iscsiList = iscsiList; } /** * @return the freeLunList */ public List<FreeLun> getFreeLunList() { return freeLunList; } /** * @param freeLunList the freeLunList to set */ public void setFreeLunList(List<FreeLun> freeLunList) { this.freeLunList = freeLunList; } public String toXMLString() { StringBuilder xmlString = new StringBuilder(); if (null != this.name) { xmlString.append(HDSConstants.SPACE_STR).append("name=") .append(HDSConstants.QUOTATION_STR).append(this.name) .append(HDSConstants.QUOTATION_STR); } if (null != this.portID) { xmlString.append(HDSConstants.SPACE_STR).append("portID=") .append(HDSConstants.QUOTATION_STR).append(this.portID) .append(HDSConstants.QUOTATION_STR); } if (null != this.domainType) { xmlString.append(HDSConstants.SPACE_STR).append("domainType=") .append(HDSConstants.QUOTATION_STR).append(this.domainType) .append(HDSConstants.QUOTATION_STR); } if (null != this.nickname) { xmlString.append(HDSConstants.SPACE_STR).append("nickname=") .append(HDSConstants.QUOTATION_STR).append(this.nickname) .append(HDSConstants.QUOTATION_STR); } if (null != this.hostMode) { xmlString.append(HDSConstants.SPACE_STR).append("hostMode=") .append(HDSConstants.QUOTATION_STR).append(this.hostMode) .append(HDSConstants.QUOTATION_STR); } if (null != this.hostModeOption) { xmlString.append(HDSConstants.SPACE_STR).append("hostModeOption=") .append(HDSConstants.QUOTATION_STR).append(this.hostModeOption) .append(HDSConstants.QUOTATION_STR); } if (null != this.objectID) { xmlString.append(HDSConstants.SPACE_STR).append("objectID=") .append(HDSConstants.QUOTATION_STR).append(this.objectID) .append(HDSConstants.QUOTATION_STR); } return xmlString.toString(); } /** * Generates the XML String for the child nodes. * * @return */ public String getChildNodeXMLString() { StringBuilder childNodeXmlString = new StringBuilder(); if (null != this.wwnList && !this.wwnList.isEmpty()) { for (WorldWideName wwnName : this.wwnList) { childNodeXmlString.append(XMLConstants.LESS_THAN_OP); childNodeXmlString.append(HDSConstants.WORLDWIDENAME); childNodeXmlString.append(wwnName.toXMLString()); childNodeXmlString.append(XMLConstants.XML_CLOSING_TAG); } } if (null != this.iscsiList && !this.iscsiList.isEmpty()) { for (ISCSIName iscsiName : this.iscsiList) { childNodeXmlString.append(XMLConstants.LESS_THAN_OP); childNodeXmlString.append(HDSConstants.ISCSINAME); childNodeXmlString.append(iscsiName.toXMLString()); childNodeXmlString.append(XMLConstants.XML_CLOSING_TAG); } } return childNodeXmlString.toString(); } }