/*
* RHQ Management Platform
* Copyright (C) 2005-2014 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License, version 2, as
* published by the Free Software Foundation, and/or the GNU Lesser
* General Public License, version 2.1, also as published by the Free
* Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License and the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License
* and the GNU Lesser General Public License along with this program;
* if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.rhq.core.domain.cloud;
import java.io.Serializable;
/**
* @author John Sanda
*/
public class StorageClusterSettings implements Serializable {
private static final long serialVersionUID = 1;
private int rhqReplicationFactor;
private int systemAuthReplicationFactor;
private int cqlPort;
private int gossipPort;
private Boolean automaticDeployment;
private String username;
private String passwordHash;
private RegularSnapshots regularSnapshots;
public void setRegularSnapshots(RegularSnapshots regularSnapshots) {
this.regularSnapshots = regularSnapshots;
}
public RegularSnapshots getRegularSnapshots() {
return regularSnapshots;
}
public int getCqlPort() {
return cqlPort;
}
public void setCqlPort(int cqlPort) {
this.cqlPort = cqlPort;
}
public int getGossipPort() {
return gossipPort;
}
public void setGossipPort(int gossipPort) {
this.gossipPort = gossipPort;
}
public Boolean getAutomaticDeployment() {
return automaticDeployment;
}
public void setAutomaticDeployment(Boolean automaticDeployment) {
this.automaticDeployment = automaticDeployment;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswordHash() {
return passwordHash;
}
public void setPasswordHash(String passwordHash) {
this.passwordHash = passwordHash;
}
public int getRhqReplicationFactor() {
return rhqReplicationFactor;
}
public void setRhqReplicationFactor(int rhqReplicationFactor) {
this.rhqReplicationFactor = rhqReplicationFactor;
}
public int getSystemAuthReplicationFactor() {
return systemAuthReplicationFactor;
}
public void setSystemAuthReplicationFactor(int systemAuthReplicationFactor) {
this.systemAuthReplicationFactor = systemAuthReplicationFactor;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
StorageClusterSettings that = (StorageClusterSettings) o;
if (rhqReplicationFactor != that.rhqReplicationFactor) return false;
if (systemAuthReplicationFactor != that.systemAuthReplicationFactor) return false;
if (cqlPort != that.cqlPort) return false;
if (gossipPort != that.gossipPort) return false;
if (automaticDeployment != that.automaticDeployment) return false;
if (username != that.username) return false;
if (passwordHash != that.passwordHash) return false;
if (regularSnapshots != null && !regularSnapshots.equals(that.regularSnapshots))
return false;
if (regularSnapshots == null && that.regularSnapshots != null)
return false;
return true;
}
@Override
public int hashCode() {
int result = cqlPort;
result = 29 * result + rhqReplicationFactor;
result = 29 * result + systemAuthReplicationFactor;
result = 29 * result + gossipPort;
result = 29 * result + (automaticDeployment ? 1231 : 1237);
result = 29 * result + (username == null ? 0 : username.hashCode());
result = 29 * result + (passwordHash == null ? 0 : passwordHash.hashCode());
result = 29 * result + (regularSnapshots == null ? 0 : regularSnapshots.hashCode());
return result;
}
@Override
public String toString() {
return "StorageClusterSettings[cqlPort=" + cqlPort + ", gossipPort=" + gossipPort + ", automaticDeployment="
+ automaticDeployment + ", username (read-only)=" + username + ", passwordHash=********, regularSnapshots="
+ regularSnapshots + ", rhqReplicationFactor=" + rhqReplicationFactor + ", systemAuthReplicationFactor="
+ systemAuthReplicationFactor + "]";
}
public static class RegularSnapshots implements Serializable {
private static final long serialVersionUID = 1L;
private Boolean enabled = Boolean.FALSE;
private String schedule;
private String retention;
private int count;
private String deletion;
private String location;
@Override
public int hashCode() {
int result = count;
result = 29 * result + (enabled ? 1231 : 1237);
result = 29 * result + (schedule == null ? 0 : schedule.hashCode());
result = 29 * result + (retention == null ? 0 : retention.hashCode());
result = 29 * result + (deletion == null ? 0 : deletion.hashCode());
result = 29 * result + (location == null ? 0 : location.hashCode());
return result;
}
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
RegularSnapshots that = (RegularSnapshots) o;
if (enabled != that.enabled)
return false;
if (schedule != that.schedule)
return false;
if (retention != that.retention)
return false;
if (count != that.count)
return false;
if (deletion != that.deletion)
return false;
if (location != that.location)
return false;
return true;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public String getSchedule() {
return schedule;
}
public void setSchedule(String schedule) {
this.schedule = schedule;
}
public String getRetention() {
return retention;
}
public void setRetention(String retention) {
this.retention = retention;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getDeletion() {
return deletion;
}
public void setDeletion(String deletion) {
this.deletion = deletion;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
@Override
public String toString() {
return new StringBuilder("RegularSnapshots[enabled=" + enabled)
.append(", schedule=" + schedule).append(", retention=" + retention)
.append(", count=" + count).append(", deletion=" + deletion).append(", location=" + location)
.toString();
}
}
}