/*
* Copyright (c) 2012-2015 iWave Software LLC
* All Rights Reserved
*/
package com.iwave.ext.netapp.utils;
import java.net.URI;
import java.util.Set;
public class ExportRule {
// Part of payload Model Attributes
private URI fsID;
private URI snapShotID;
private String exportPath;
private String anon;
private String secFlavor;
private Set<String> readOnlyHosts;
private Set<String> readWriteHosts;
private Set<String> rootHosts;
public URI getFsID() {
return fsID;
}
public void setFsID(URI fsID) {
this.fsID = fsID;
}
public URI getSnapShotID() {
return snapShotID;
}
public void setSnapShotID(URI snapShotID) {
this.snapShotID = snapShotID;
}
public String getExportPath() {
return exportPath;
}
public void setExportPath(String exportPath) {
this.exportPath = exportPath;
}
public Set<String> getReadOnlyHosts() {
return readOnlyHosts;
}
public void setReadOnlyHosts(Set<String> readOnlyHosts) {
this.readOnlyHosts = readOnlyHosts;
}
public Set<String> getReadWriteHosts() {
return readWriteHosts;
}
public void setReadWriteHosts(Set<String> readWriteHosts) {
this.readWriteHosts = readWriteHosts;
}
public Set<String> getRootHosts() {
return rootHosts;
}
public void setRootHosts(Set<String> rootHosts) {
this.rootHosts = rootHosts;
}
/**
* Security flavor of an export e.g. sys, krb, krbp or krbi
*
* @valid none
*/
public String getSecFlavor() {
return secFlavor;
}
public void setSecFlavor(String secFlavor) {
this.secFlavor = secFlavor;
}
/**
* Anonymous root user mapping e.g. "root", "nobody" or "anyUserName"
*
* @valid none
*/
public String getAnon() {
return anon;
}
public void setAnon(String anon) {
this.anon = anon;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[ secFlavor : ")
.append((secFlavor != null) ? secFlavor : "").append("] ");
sb.append("[anon : ").append((anon != null) ? anon : "").append("] ");
sb.append("[ number of readOnlyHosts : ")
.append((readOnlyHosts != null) ? readOnlyHosts.size() : 0)
.append("] ").append(getHostsPrintLog(readOnlyHosts));
sb.append("[ number of readWriteHosts : ")
.append((readWriteHosts != null) ? readWriteHosts.size() : 0)
.append("] ").append(getHostsPrintLog(readWriteHosts));
sb.append("[ number of rootHosts : ")
.append((rootHosts != null) ? rootHosts.size() : 0).append("]")
.append(getHostsPrintLog(rootHosts));
return sb.toString();
}
private String getHostsPrintLog(Set<String> hosts) {
StringBuilder sb = new StringBuilder();
if (hosts != null && !hosts.isEmpty()) {
for (String endPoint : hosts) {
sb.append("{").append(endPoint).append("}");
}
}
return sb.toString();
}
/*
* private ExportRule(URI fsID, URI snapShotID, String exportPath, String
* anon, String secFlavor, Set<String> readOnlyHosts, Set<String>
* readWriteHosts, Set<String> rootHosts) { super(); this.fsID = fsID;
* this.snapShotID = snapShotID; this.exportPath = exportPath; this.anon =
* anon; this.secFlavor = secFlavor; this.readOnlyHosts = readOnlyHosts;
* this.readWriteHosts = readWriteHosts; this.rootHosts = rootHosts; }
*/
// Empty constructor used for certain container purposes
public ExportRule() {
}
}