From 24bd9f72e320229e1862198a0c92c2bd70d2e9b0 Mon Sep 17 00:00:00 2001 From: danikov Date: Tue, 7 Feb 2012 17:22:18 +0000 Subject: [PATCH] add domain classes and media type --- .../v1_5/VCloudDirectorMediaType.java | 2 + .../vcloud/director/v1_5/domain/IpScope.java | 5 + .../v1_5/domain/NetworkConfiguration.java | 5 + .../director/v1_5/domain/OrgNetwork.java | 174 ++++++++++++++++++ 4 files changed, 186 insertions(+) create mode 100644 labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/IpScope.java create mode 100644 labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/NetworkConfiguration.java create mode 100644 labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/OrgNetwork.java diff --git a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/VCloudDirectorMediaType.java b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/VCloudDirectorMediaType.java index 078e95672c..d50ec22299 100644 --- a/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/VCloudDirectorMediaType.java +++ b/labs/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/VCloudDirectorMediaType.java @@ -42,4 +42,6 @@ public interface VCloudDirectorMediaType { public final static String ORG_XML = "application/vnd.vmware.vcloud.org+xml"; + public static final String ORG_NETWORK_XML = "application/vnd.vmware.vcloud.orgNetwork+xml"; + } diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/IpScope.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/IpScope.java new file mode 100644 index 0000000000..fe795cf14c --- /dev/null +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/IpScope.java @@ -0,0 +1,5 @@ +package org.jclouds.vcloud.director.v1_5.domain; + +public class IpScope { + +} diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/NetworkConfiguration.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/NetworkConfiguration.java new file mode 100644 index 0000000000..7df61c2d21 --- /dev/null +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/NetworkConfiguration.java @@ -0,0 +1,5 @@ +package org.jclouds.vcloud.director.v1_5.domain; + +public class NetworkConfiguration{ + +} diff --git a/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/OrgNetwork.java b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/OrgNetwork.java new file mode 100644 index 0000000000..d1630c40ea --- /dev/null +++ b/labs/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/domain/OrgNetwork.java @@ -0,0 +1,174 @@ +package org.jclouds.vcloud.director.v1_5.domain; + +import static com.google.common.base.Objects.equal; +import static com.google.common.base.Preconditions.checkNotNull; +import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.NS; + +import java.net.URI; +import java.util.Set; + +import javax.xml.bind.annotation.XmlElement; + +import org.jclouds.vcloud.director.v1_5.domain.Org.Builder; + +import com.google.common.base.Objects; +import com.google.common.base.Objects.ToStringHelper; +import com.google.common.collect.Sets; + +public class OrgNetwork extends EntityType { + + @SuppressWarnings("unchecked") + public static Builder builder() { + return new Builder(); + } + + @Override + public Builder toBuilder() { + return new Builder().fromOrgNetwork(this); + } + + public static class Builder extends EntityType.Builder { + + private boolean allowedExternalIpAddresses; + + /** + * @see Network#getAllowedExternalIpAddresses() + */ + public Builder allowedExternalIpAddresses(boolean ExternalIpAddresses) { + this.allowedExternalIpAddresses = allowedExternalIpAddresses; + return this; + } + + @Override + public OrgNetwork build() { + Org org = new OrgNetwork(href, name); + org.setNetworkPool(network); + org.setDescription(description); + org.setId(id); + org.setType(type); + org.setLinks(links); + org.setTasksInProgress(tasksInProgress); + return org; + } + + /** + * @see EntityType#getName() + */ + @Override + public Builder name(String name) { + this.name = name; + return this; + } + + /** + * @see EntityType#getDescription() + */ + @Override + public Builder description(String description) { + this.description = description; + return this; + } + + /** + * @see EntityType#getId() + */ + @Override + public Builder id(String id) { + this.id = id; + return this; + } + + /** + * @see EntityType#getTasksInProgress() + */ + @Override + public Builder tasksInProgress(TasksInProgress tasksInProgress) { + this.tasksInProgress = tasksInProgress; + return this; + } + + /** + * @see ReferenceType#getHref() + */ + @Override + public Builder href(URI href) { + this.href = href; + return this; + } + + /** + * @see ReferenceType#getType() + */ + @Override + public Builder type(String type) { + this.type = type; + return this; + } + + /** + * @see ReferenceType#getLinks() + */ + @Override + public Builder links(Set links) { + this.links = Sets.newLinkedHashSet(checkNotNull(links, "links")); + return this; + } + + /** + * @see ReferenceType#getLinks() + */ + @Override + public Builder link(Link link) { + this.links.add(checkNotNull(link, "link")); + return this; + } + + @Override + public Builder fromEntityType(EntityType in) { + return Builder.class.cast(super.fromEntityType(in)); + } + + public Builder fromOrgNetwork(OrgNetwork in) { + return fromEntityType(in).fullName(in.getFullName()); + } + } + + private OrgNetwork() { + // For JAXB and builder use + } + + private OrgNetwork(URI href, String name, String fullName) { + super(href, name); + this.fullName = fullName; + } + + @XmlElement(namespace = NS, name = "FullName") + private String fullName; + + /** + * + * @return fullName of the org + */ + public String getFullName() { + return fullName; + } + + @Override + public boolean equals(Object o) { + if (!super.equals(o)) + return false; + Org that = Org.class.cast(o); + return super.equals(that) && equal(fullName, that.fullName); + } + + @Override + public int hashCode() { + return super.hashCode() + Objects.hashCode(fullName); + } + + @Override + public ToStringHelper string() { + return super.string().add("fullName", fullName); + } + +}