/* * Copyright (c) 2012 EMC Corporation * All Rights Reserved */ package com.emc.storageos.db.client.model; import java.net.URI; import com.emc.storageos.model.valid.EnumType; @Cf("StorageHADomain") public class StorageHADomain extends DiscoveredDataObject { // storageSystem, which it belongs private URI _storageDeviceURI; // Name of the Adapter (Clariion+APM156345420001+SP_A) private String _haDomainName; // Serial Number of Adapter private String _serialNumber; // Slot Number private String _slotNumber; // Number of Ports private String _numberofPorts; // Protocol private String _protocol; // SP_A private String _name; private String adapterType; private StringSet _fileSharingProtocols; // Virtual or Physical private Boolean _virtual; // parent Domain if it is virtual private URI _parentDomainURI; // Defines the supported port types. public static enum HADomainType { FRONTEND("Front End"), BACKEND("Back End"), REMOTE("Remote"), VIRTUAL("Virtual"), UNKNOWN("N/A"); private String haDomainType; private HADomainType(String haDomType) { haDomainType = haDomType; } public String getHaDomainType() { return haDomainType; } private static HADomainType[] copyValues = values(); public static String getHADomainTypeName(String name) { for (HADomainType type : copyValues) { if (type.getHaDomainType().equalsIgnoreCase(name)) { return type.name(); } } return UNKNOWN.toString(); } }; private StringMap _metrics; /********************************************** * AlternateIDIndex - HADomainName * * RelationIndex - StorageDevice * * * **********************************************/ @RelationIndex(cf = "RelationIndex", type = StorageSystem.class) @Name("storageDevice") public URI getStorageDeviceURI() { return _storageDeviceURI; } public void setStorageDeviceURI(URI storageDeviceURI) { _storageDeviceURI = storageDeviceURI; setChanged("storageDevice"); } @Name("haDomainName") public String getName() { return _haDomainName; } public void setName(String haDomainName) { _haDomainName = haDomainName; setChanged("haDomainName"); } public void setSerialNumber(String serialNumber) { _serialNumber = serialNumber; setChanged("serialNumber"); } @Name("serialNumber") public String getSerialNumber() { return _serialNumber; } public void setSlotNumber(String slotNumber) { _slotNumber = slotNumber; setChanged("slotNumber"); } @Name("slotNumber") public String getSlotNumber() { return _slotNumber; } public void setNumberofPorts(String numberofPorts) { _numberofPorts = numberofPorts; setChanged("ports"); } @Name("ports") public String getNumberofPorts() { return _numberofPorts; } public void setProtocol(String protocol) { _protocol = protocol; setChanged("protocol"); } @Name("protocol") public String getProtocol() { return _protocol; } public void setFileSharingProtocols(StringSet fileSharingProtocols) { _fileSharingProtocols = fileSharingProtocols; setChanged("fileSharingProtocols"); } @Name("fileSharingProtocols") public StringSet getFileSharingProtocols() { return _fileSharingProtocols; } public void setAdapterName(String name) { this._name = name; setChanged("adapterName"); } @Name("adapterName") public String getAdapterName() { return _name; } @EnumType(HADomainType.class) @Name("adapterType") public String getAdapterType() { return adapterType; } public void setAdapterType(String type) { this.adapterType = type; setChanged("adapterType"); } @Name("virtual") public Boolean getVirtual() { return (_virtual != null) && _virtual; } public void setVirtual(Boolean virtual) { this._virtual = virtual; setChanged("virtual"); } // @RelationIndex(cf = "RelationIndex", type = StorageHADomain.class) @Name("parentHADomain") public URI getParentHADomainURI() { return _parentDomainURI; } public void setParentHADomainURI(URI parentDomainURI) { _parentDomainURI = parentDomainURI; setChanged("parentHADomain"); } @Name("metrics") public StringMap getMetrics() { if (_metrics == null) { _metrics = new StringMap(); } return _metrics; } public void setMetrics(StringMap metrics) { this._metrics = metrics; setChanged("metrics"); } }