package org.openstack.atlas.service.domain.entities; import org.openstack.atlas.docs.loadbalancers.api.management.v1.ClusterStatus; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; @javax.persistence.Entity @Table(name = "cluster") public class Cluster extends Entity implements Serializable { private final static long serialVersionUID = 532512316L; @Column(name = "name", unique = true, nullable = false) private String name; @Column(name = "description", nullable = false) private String description; @Column(name = "username", nullable = false) private String username; @Column(name = "password", nullable = false) private String password; @Enumerated(EnumType.STRING) @Column(name = "cluster_status", length = 32, nullable = false) private ClusterStatus clusterStatus; @Enumerated(EnumType.STRING) @Column(name = "cluster_type", length = 32) private ClusterType clusterType = ClusterType.STANDARD; @Enumerated(EnumType.STRING) @Column(name = "data_center", length = 32, nullable = false) private DataCenter dataCenter; @OneToMany(fetch = FetchType.LAZY, mappedBy = "cluster") private Set<VirtualIp> virtualIps = new HashSet<VirtualIp>(); @Column(name = "cluster_ipv6_cidr", length = 43, nullable = true) private String clusterIpv6Cidr; public Set<VirtualIp> getVirtualIps() { if (virtualIps == null) { virtualIps = new HashSet<VirtualIp>(); } return virtualIps; } public void setVirtualIps(Set<VirtualIp> virtualIps) { this.virtualIps = virtualIps; } public String getName() { return this.name; } public String getDescription() { return this.description; } public void setName(String name) { this.name = name; } public void setDescription(String description) { this.description = description; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public DataCenter getDataCenter() { return dataCenter; } public void setDataCenter(DataCenter dataCenter) { this.dataCenter = dataCenter; } public ClusterStatus getStatus() { return clusterStatus; } public void setStatus(ClusterStatus clusterStatus) { this.clusterStatus = clusterStatus; } public void setClusterType(ClusterType clusterType) { this.clusterType = clusterType; } public ClusterType getClusterType() { return clusterType; } public String getClusterIpv6Cidr() { return clusterIpv6Cidr; } public void setClusterIpv6Cidr(String clusterIpv6Cidr) { this.clusterIpv6Cidr = clusterIpv6Cidr; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{name=").append((name == null) ? "NULL" : name). append(", description=").append((description == null) ? "NULL" : description). append(", username=").append((username == null) ? "NULL" : username). append(", password=").append("CENSORED"). append(", status=").append((clusterStatus == null) ? "NULL" : clusterStatus.toString()). append(", type=").append((clusterType == null) ? "NULL" : clusterType.toString()). append(", dataCenter=").append((dataCenter == null) ? "NULL" : dataCenter.toString()). append(", nVips=").append((virtualIps.size())). append("}"); return sb.toString(); } }