mirror of https://github.com/apache/jclouds.git
cleaned up toString/equals/hashCode in base options objects
This commit is contained in:
parent
6fda2580f5
commit
2373f89c78
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package org.jclouds.vcloud.compute.options;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jclouds.compute.options.TemplateOptions;
|
||||
|
@ -290,7 +289,7 @@ public class VCloudTemplateOptions extends TemplateOptions implements Cloneable
|
|||
public String toString() {
|
||||
return "[customizationScript=" + (customizationScript != null) + ", description=" + description
|
||||
+ ", ipAddressAllocationMode=" + ipAddressAllocationMode + ", inboundPorts="
|
||||
+ Arrays.toString(inboundPorts) + ", privateKey=" + (privateKey != null) + ", publicKey="
|
||||
+ inboundPorts + ", privateKey=" + (privateKey != null) + ", publicKey="
|
||||
+ (publicKey != null) + ", runScript=" + (script != null) + ", port:seconds=" + port + ":" + seconds
|
||||
+ ", userMetadata: " + userMetadata + "]";
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ package org.jclouds.trmk.vcloud_0_8.compute.options;
|
|||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Preconditions.checkState;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jclouds.compute.options.TemplateOptions;
|
||||
|
@ -278,7 +277,7 @@ public class TerremarkVCloudTemplateOptions extends TemplateOptions implements C
|
|||
@Override
|
||||
public String toString() {
|
||||
return "TerremarkVCloudTemplateOptions [keyPair=" + keyPair + ", noKeyPair=" + noKeyPair + ", inboundPorts="
|
||||
+ Arrays.toString(inboundPorts) + ", privateKey=" + (privateKey != null) + ", publicKey="
|
||||
+ inboundPorts + ", privateKey=" + (privateKey != null) + ", publicKey="
|
||||
+ (publicKey != null) + ", runScript=" + (script != null) + ", port:seconds=" + port + ":" + seconds
|
||||
+ ", userMetadata: " + userMetadata + "]";
|
||||
}
|
||||
|
|
|
@ -18,16 +18,20 @@
|
|||
*/
|
||||
package org.jclouds.compute.options;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import org.jclouds.compute.functions.DefaultCredentialsFromImageOrOverridingCredentials;
|
||||
import org.jclouds.domain.Credentials;
|
||||
import org.jclouds.domain.LoginCredentials;
|
||||
import org.jclouds.javax.annotation.Nullable;
|
||||
import org.jclouds.util.CredentialUtils;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.base.Optional;
|
||||
|
||||
/**
|
||||
* Enables additional options for running a script.
|
||||
*
|
||||
|
@ -509,75 +513,36 @@ public class RunScriptOptions {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[loginUser=" + loginUser + ", loginPasswordPresent=" + (loginPassword != null)
|
||||
+ ", loginPrivateKeyPresent=" + (loginPrivateKey != null) + ", shouldAuthenticateSudo=" + authenticateSudo
|
||||
+ ", port:seconds=" + port + ":" + seconds + ", runAsRoot=" + runAsRoot + ", blockOnComplete="
|
||||
+ blockOnComplete + ", wrapInInitScript=" + wrapInInitScript + "]";
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null || getClass() != o.getClass())
|
||||
return false;
|
||||
RunScriptOptions that = RunScriptOptions.class.cast(o);
|
||||
return equal(this.loginUser, that.loginUser) && equal(this.loginPassword, that.loginPassword)
|
||||
&& equal(this.loginPrivateKey, that.loginPrivateKey) && equal(this.authenticateSudo, that.authenticateSudo)
|
||||
&& equal(this.port, that.port) && equal(this.seconds, that.seconds) && equal(this.taskName, that.taskName)
|
||||
&& equal(this.runAsRoot, that.runAsRoot) && equal(this.blockOnComplete, that.blockOnComplete)
|
||||
&& equal(this.wrapInInitScript, that.wrapInInitScript);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((authenticateSudo == null) ? 0 : authenticateSudo.hashCode());
|
||||
result = prime * result + (blockOnComplete ? 1231 : 1237);
|
||||
result = prime * result + ((loginPassword == null) ? 0 : loginPassword.hashCode());
|
||||
result = prime * result + ((loginPrivateKey == null) ? 0 : loginPrivateKey.hashCode());
|
||||
result = prime * result + ((loginUser == null) ? 0 : loginUser.hashCode());
|
||||
result = prime * result + port;
|
||||
result = prime * result + (runAsRoot ? 1231 : 1237);
|
||||
result = prime * result + seconds;
|
||||
result = prime * result + ((taskName == null) ? 0 : taskName.hashCode());
|
||||
result = prime * result + (wrapInInitScript ? 1231 : 1237);
|
||||
return result;
|
||||
return Objects.hashCode(loginUser, loginPassword, loginPrivateKey, authenticateSudo, port, seconds, taskName,
|
||||
taskName, blockOnComplete, wrapInInitScript);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
RunScriptOptions other = (RunScriptOptions) obj;
|
||||
if (authenticateSudo == null) {
|
||||
if (other.authenticateSudo != null)
|
||||
return false;
|
||||
} else if (!authenticateSudo.equals(other.authenticateSudo))
|
||||
return false;
|
||||
if (blockOnComplete != other.blockOnComplete)
|
||||
return false;
|
||||
if (loginPassword == null) {
|
||||
if (other.loginPassword != null)
|
||||
return false;
|
||||
} else if (!loginPassword.equals(other.loginPassword))
|
||||
return false;
|
||||
if (loginPrivateKey == null) {
|
||||
if (other.loginPrivateKey != null)
|
||||
return false;
|
||||
} else if (!loginPrivateKey.equals(other.loginPrivateKey))
|
||||
return false;
|
||||
if (loginUser == null) {
|
||||
if (other.loginUser != null)
|
||||
return false;
|
||||
} else if (!loginUser.equals(other.loginUser))
|
||||
return false;
|
||||
if (port != other.port)
|
||||
return false;
|
||||
if (runAsRoot != other.runAsRoot)
|
||||
return false;
|
||||
if (seconds != other.seconds)
|
||||
return false;
|
||||
if (taskName == null) {
|
||||
if (other.taskName != null)
|
||||
return false;
|
||||
} else if (!taskName.equals(other.taskName))
|
||||
return false;
|
||||
if (wrapInInitScript != other.wrapInInitScript)
|
||||
return false;
|
||||
return true;
|
||||
public String toString() {
|
||||
return string().toString();
|
||||
}
|
||||
|
||||
protected ToStringHelper string() {
|
||||
return Objects.toStringHelper("").add("loginUser", loginUser)
|
||||
.add("loginPasswordPresent", (loginPassword != null))
|
||||
.add("loginPrivateKeyPresent", (loginPrivateKey != null)).add("authenticateSudo", authenticateSudo)
|
||||
.add("port:seconds", port + ":" + seconds).add("taskName", taskName).add("runAsRoot", runAsRoot)
|
||||
.add("blockOnComplete", blockOnComplete).add("wrapInInitScript", wrapInInitScript);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
package org.jclouds.compute.options;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
|
@ -34,9 +35,12 @@ import org.jclouds.scriptbuilder.domain.Statement;
|
|||
import org.jclouds.scriptbuilder.domain.Statements;
|
||||
import org.jclouds.util.Strings2;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.primitives.Ints;
|
||||
|
||||
/**
|
||||
* Contains options supported in the {@code ComputeService#createNodesInGroup}
|
||||
|
@ -334,7 +338,7 @@ public class TemplateOptions extends RunScriptOptions implements Cloneable {
|
|||
|
||||
}
|
||||
|
||||
protected int[] inboundPorts = new int[] { 22 };
|
||||
protected Set<Integer> inboundPorts = ImmutableSet.of(22);
|
||||
|
||||
protected Statement script;
|
||||
|
||||
|
@ -348,8 +352,34 @@ public class TemplateOptions extends RunScriptOptions implements Cloneable {
|
|||
|
||||
protected Map<String, String> userMetadata = Maps.newLinkedHashMap();
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (o == null || getClass() != o.getClass())
|
||||
return false;
|
||||
TemplateOptions that = TemplateOptions.class.cast(o);
|
||||
return super.equals(that) && equal(this.inboundPorts, that.inboundPorts) && equal(this.script, that.script)
|
||||
&& equal(this.publicKey, that.publicKey) && equal(this.privateKey, that.privateKey)
|
||||
&& equal(this.blockUntilRunning, that.blockUntilRunning) && equal(this.tags, that.tags)
|
||||
&& equal(this.userMetadata, that.userMetadata);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), inboundPorts, script, publicKey, privateKey, blockUntilRunning, tags,
|
||||
userMetadata);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ToStringHelper string() {
|
||||
return super.string().add("inboundPorts", inboundPorts).add("scriptPresent", script != null)
|
||||
.add("publicKeyPresent", publicKey != null).add("privateKeyPresent", privateKey != null).add("tags", tags)
|
||||
.add("blockUntilRunning", blockUntilRunning).add("tags", tags).add("userMetadata", userMetadata);
|
||||
}
|
||||
|
||||
public int[] getInboundPorts() {
|
||||
return inboundPorts;
|
||||
return Ints.toArray(inboundPorts);
|
||||
}
|
||||
|
||||
public Statement getRunScript() {
|
||||
|
@ -453,7 +483,7 @@ public class TemplateOptions extends RunScriptOptions implements Cloneable {
|
|||
public TemplateOptions inboundPorts(int... ports) {
|
||||
for (int port : ports)
|
||||
checkArgument(port > 0 && port < 65536, "port must be a positive integer < 65535");
|
||||
this.inboundPorts = ports;
|
||||
this.inboundPorts = ImmutableSet.copyOf(Ints.asList(ports));
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -615,15 +645,7 @@ public class TemplateOptions extends RunScriptOptions implements Cloneable {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[inboundPorts=" + Arrays.toString(inboundPorts) + ", privateKey=" + (privateKey != null) + ", publicKey="
|
||||
+ (publicKey != null) + ", runScript=" + (script != null) + ", blockUntilRunning=" + blockUntilRunning
|
||||
+ ", blockOnComplete=" + blockOnComplete + ", port:seconds=" + port + ":" + seconds + ", userMetadata: "
|
||||
+ userMetadata + "]";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <h4>Note</h4> As of version 1.1.0, this option is incompatible with
|
||||
* {@link TemplateOptions#runScript(Statement)} and
|
||||
|
@ -669,62 +691,7 @@ public class TemplateOptions extends RunScriptOptions implements Cloneable {
|
|||
public Map<String, String> getUserMetadata() {
|
||||
return userMetadata;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + (blockUntilRunning ? 1231 : 1237);
|
||||
result = prime * result + Arrays.hashCode(inboundPorts);
|
||||
result = prime * result + port;
|
||||
result = prime * result + ((userMetadata == null) ? 0 : userMetadata.hashCode());
|
||||
result = prime * result + ((privateKey == null) ? 0 : privateKey.hashCode());
|
||||
result = prime * result + ((publicKey == null) ? 0 : publicKey.hashCode());
|
||||
result = prime * result + ((script == null) ? 0 : script.hashCode());
|
||||
result = prime * result + seconds;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
TemplateOptions other = (TemplateOptions) obj;
|
||||
if (blockUntilRunning != other.blockUntilRunning)
|
||||
return false;
|
||||
if (!Arrays.equals(inboundPorts, other.inboundPorts))
|
||||
return false;
|
||||
if (userMetadata == null) {
|
||||
if (other.userMetadata != null)
|
||||
return false;
|
||||
} else if (!userMetadata.equals(other.userMetadata))
|
||||
return false;
|
||||
if (port != other.port)
|
||||
return false;
|
||||
if (privateKey == null) {
|
||||
if (other.privateKey != null)
|
||||
return false;
|
||||
} else if (!privateKey.equals(other.privateKey))
|
||||
return false;
|
||||
if (publicKey == null) {
|
||||
if (other.publicKey != null)
|
||||
return false;
|
||||
} else if (!publicKey.equals(other.publicKey))
|
||||
return false;
|
||||
if (script == null) {
|
||||
if (other.script != null)
|
||||
return false;
|
||||
} else if (!script.equals(other.script))
|
||||
return false;
|
||||
if (seconds != other.seconds)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public TemplateOptions blockOnPort(int port, int seconds) {
|
||||
return TemplateOptions.class.cast(super.blockOnPort(port, seconds));
|
||||
|
|
Loading…
Reference in New Issue