diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/RuntimeInfoSection.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/RuntimeInfoSection.java index 20a310a1f8..466729ac3f 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/RuntimeInfoSection.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/RuntimeInfoSection.java @@ -26,6 +26,7 @@ import javax.xml.bind.annotation.XmlAnyElement; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; +import org.jclouds.javax.annotation.Nullable; import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType; import com.google.common.base.Objects; @@ -77,7 +78,7 @@ public class RuntimeInfoSection extends SectionType { @Override public RuntimeInfoSection build() { - RuntimeInfoSection runtimeInfoSection = new RuntimeInfoSection(vmWareTools, any); + RuntimeInfoSection runtimeInfoSection = new RuntimeInfoSection(info, required, vmWareTools, any); return runtimeInfoSection; } @@ -97,16 +98,17 @@ public class RuntimeInfoSection extends SectionType { // For JAXB and builder use } - public RuntimeInfoSection(VMWareTools vmWareTools, List any) { + public RuntimeInfoSection(@Nullable String info, @Nullable Boolean required, VMWareTools vmWareTools, List any) { + super(info, required); this.vmWareTools = vmWareTools; this.any = any; } @XmlElement(name = "VMWareTools") - protected VMWareTools vmWareTools; + private VMWareTools vmWareTools; @XmlAnyElement(lax = true) - protected List any = Lists.newArrayList(); + private List any = Lists.newArrayList(); /** * Gets the value of the vmWareTools property. diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/ScreenTicket.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/ScreenTicket.java index fbd840b4fa..a866d5be1e 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/ScreenTicket.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/ScreenTicket.java @@ -19,11 +19,15 @@ package org.jclouds.vcloud.director.v1_5.domain; +import static com.google.common.base.Objects.equal; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlValue; +import com.google.common.base.Objects; + /** * The ticket for accessing the console of a VM. * @@ -35,8 +39,44 @@ import javax.xml.bind.annotation.XmlValue; @XmlType(name = "ScreenTicket") public class ScreenTicket { + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return builder().fromScreenTicket(this); + } + + public static class Builder { + private String value; + + /** + * @see VmQuestionAnswer#getChoiceId() + */ + public Builder value(String value) { + this.value = value; + return this; + } + + public ScreenTicket build() { + return new ScreenTicket(value); + } + + public Builder fromScreenTicket(ScreenTicket in) { + return value(in.getValue()); + } + } + + protected ScreenTicket() { + // For JAXB + } + + public ScreenTicket(String value) { + this.value = value; + } + @XmlValue - protected String value; + private String value; /** * Gets the value of the value property. @@ -44,4 +84,24 @@ public class ScreenTicket { public String getValue() { return value; } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + ScreenTicket that = ScreenTicket.class.cast(o); + return equal(this.value, that.value); + } + + @Override + public int hashCode() { + return Objects.hashCode(value); + } + + @Override + public String toString() { + return Objects.toStringHelper("").add("value", value).toString(); + } } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/StartupSection.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/StartupSection.java index 25907d0974..3f6c592c46 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/StartupSection.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/StartupSection.java @@ -7,18 +7,24 @@ package org.jclouds.vcloud.director.v1_5.domain; +import static com.google.common.base.Objects.equal; import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.*; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.xml.bind.annotation.XmlAnyElement; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import org.jclouds.javax.annotation.Nullable; import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType; import org.jclouds.vcloud.director.v1_5.domain.ovf.StartupSectionItem; -import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType.Builder; + +import com.google.common.base.Objects; +import com.google.common.base.Objects.ToStringHelper; +import com.google.common.collect.ImmutableList; /** * Specifies the order in which entities in a VirtualSystemCollection are powered on and shut down @@ -30,16 +36,60 @@ import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType.Builder; @XmlRootElement(name = "StartupSection", namespace = VCLOUD_OVF_NS) public class StartupSection extends SectionType { - /** @see org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType#toBuilder() */ + public static Builder builder() { + return new Builder(); + } + @Override - public org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType.Builder toBuilder() { - return null; + public Builder toBuilder() { + return builder().fromStartupSection(this); + } + + public static class Builder extends SectionType.Builder { + + private List item = Collections.emptyList(); + private List any = Collections.emptyList(); + + /** + * @see StartupSection#getItem() + */ + public Builder item(List item) { + this.item = item; + return this; + } + + /** + * @see StartupSection#getAny() + */ + public Builder any(List any) { + this.any = any; + return this; + } + + @Override + public StartupSection build() { + return new StartupSection(info, required, item, any); + } + + public Builder fromStartupSection(StartupSection in) { + return Builder.class.cast(super.fromSectionType(in)).item(item).any(any); + } } @XmlElement(name = "Item") - protected List item; + private List item; @XmlAnyElement(lax = true) - protected List any; + private List any; + + protected StartupSection() { + // For JAXB + } + + public StartupSection(@Nullable String info, @Nullable Boolean required, List item, List any) { + super(info, required); + this.item = (item != null) ? ImmutableList.copyOf(item) : Collections.emptyList(); + this.any = (any != null) ? ImmutableList.copyOf(any) : Collections.emptyList(); + } /** * Gets the value of the item property. @@ -82,4 +132,25 @@ public class StartupSection extends SectionType { } return this.any; } + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + StartupSection that = StartupSection.class.cast(o); + return super.equals(that) && + equal(this.item, that.item) && equal(this.any, that.any); + } + + @Override + public int hashCode() { + return Objects.hashCode(super.hashCode(), item, any); + } + + @Override + public ToStringHelper string() { + return super.string().add("item", item).add("any", any); + } } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswer.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswer.java index 5066cda843..edff39b489 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswer.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswer.java @@ -19,11 +19,15 @@ package org.jclouds.vcloud.director.v1_5.domain; +import static com.google.common.base.Objects.equal; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; +import com.google.common.base.Objects; + /** * @@ -57,12 +61,56 @@ import javax.xml.bind.annotation.XmlType; }) public class VmQuestionAnswer { - // TODO builder + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return builder().fromVmQuestionAnswer(this); + } + + public static class Builder { + private int choiceId; + private String questionId; + + /** + * @see VmQuestionAnswer#getChoiceId() + */ + public Builder choiceId(int choiceId) { + this.choiceId = choiceId; + return this; + } + + /** + * @see VmQuestionAnswer#getQuestionId() + */ + public Builder questionId(String questionId) { + this.questionId = questionId; + return this; + } + + public VmQuestionAnswer build() { + return new VmQuestionAnswer(choiceId, questionId); + } + + public Builder fromVmQuestionAnswer(VmQuestionAnswer in) { + return choiceId(in.getChoiceId()).questionId(in.getQuestionId()); + } + } @XmlElement(name = "ChoiceId") - protected int choiceId; + private int choiceId; @XmlElement(name = "QuestionId", required = true) - protected String questionId; + private String questionId; + + protected VmQuestionAnswer() { + // For JAXB + } + + public VmQuestionAnswer(int choiceId, String questionId) { + this.choiceId = choiceId; + this.questionId = questionId; + } /** * Gets the value of the choiceId property. @@ -72,14 +120,6 @@ public class VmQuestionAnswer { return choiceId; } - /** - * Sets the value of the choiceId property. - * - */ - public void setChoiceId(int value) { - this.choiceId = value; - } - /** * Gets the value of the questionId property. * @@ -91,17 +131,24 @@ public class VmQuestionAnswer { public String getQuestionId() { return questionId; } - - /** - * Sets the value of the questionId property. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setQuestionId(String value) { - this.questionId = value; + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + VmQuestionAnswer that = VmQuestionAnswer.class.cast(o); + return equal(this.choiceId, that.choiceId) && equal(this.questionId, that.questionId); } + @Override + public int hashCode() { + return Objects.hashCode(choiceId, questionId); + } + + @Override + public String toString() { + return Objects.toStringHelper("").add("choiceId", choiceId).add("questionId", questionId).toString(); + } } diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswerChoice.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswerChoice.java index dc3c790baf..fe598ff8e8 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswerChoice.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/domain/VmQuestionAnswerChoice.java @@ -19,11 +19,15 @@ package org.jclouds.vcloud.director.v1_5.domain; +import static com.google.common.base.Objects.equal; + import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; +import com.google.common.base.Objects; + /** * @@ -56,10 +60,56 @@ import javax.xml.bind.annotation.XmlType; }) public class VmQuestionAnswerChoice { + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return builder().fromVmQuestionAnswerChoice(this); + } + + public static class Builder { + private int id; + private String text; + + /** + * @see VmQuestionAnswer#getChoiceId() + */ + public Builder id(int id) { + this.id = id; + return this; + } + + /** + * @see VmQuestionAnswer#getQuestionId() + */ + public Builder text(String text) { + this.text = text; + return this; + } + + public VmQuestionAnswerChoice build() { + return new VmQuestionAnswerChoice(id, text); + } + + public Builder fromVmQuestionAnswerChoice(VmQuestionAnswerChoice in) { + return id(in.getId()).text(in.getText()); + } + } + + protected VmQuestionAnswerChoice() { + // For JAXB + } + + public VmQuestionAnswerChoice(int id, String text) { + this.id = id; + this.text = text; + } + @XmlElement(name = "Id") - protected int id; + private int id; @XmlElement(name = "Text") - protected String text; + private String text; /** * Gets the value of the id property. @@ -69,14 +119,6 @@ public class VmQuestionAnswerChoice { return id; } - /** - * Sets the value of the id property. - * - */ - public void setId(int value) { - this.id = value; - } - /** * Gets the value of the text property. * @@ -88,17 +130,25 @@ public class VmQuestionAnswerChoice { public String getText() { return text; } - - /** - * Sets the value of the text property. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setText(String value) { - this.text = value; + + + @Override + public boolean equals(Object o) { + if (this == o) + return true; + if (o == null || getClass() != o.getClass()) + return false; + VmQuestionAnswerChoice that = VmQuestionAnswerChoice.class.cast(o); + return equal(this.id, that.id) && equal(this.text, that.text); } + @Override + public int hashCode() { + return Objects.hashCode(id, text); + } + + @Override + public String toString() { + return Objects.toStringHelper("").add("id", id).add("text", text).toString(); + } }