mirror of https://github.com/apache/jclouds.git
Creation of DMTF labs project
This commit is contained in:
parent
9cd9e4feeb
commit
74b5ef76e7
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Licensed to jclouds, Inc. (jclouds) under one or more
|
||||
contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. jclouds licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.jclouds</groupId>
|
||||
<artifactId>jclouds-project</artifactId>
|
||||
<version>1.5.0-SNAPSHOT</version>
|
||||
<relativePath>../../project/pom.xml</relativePath>
|
||||
</parent>
|
||||
<groupId>org.jclouds.labs</groupId>
|
||||
<artifactId>dmtf</artifactId>
|
||||
<name>jclouds dmtf domain objects</name>
|
||||
<description>jclouds implementation of DMTF OVF and CIM domain objects</description>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<properties>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jclouds</groupId>
|
||||
<artifactId>jclouds-compute</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jclouds</groupId>
|
||||
<artifactId>jclouds-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jclouds.driver</groupId>
|
||||
<artifactId>jclouds-log4j</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
|
||||
<Export-Package>org.jclouds.dmtf.*;version="${project.version}"</Export-Package>
|
||||
<Import-Package>
|
||||
org.jclouds*;version="${project.version}",
|
||||
*
|
||||
</Import-Package>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||
* contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. jclouds licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.dmtf;
|
||||
|
||||
/**
|
||||
* Constants used by DMTF.
|
||||
*
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
public class DMTFConstants {
|
||||
|
||||
public static final String OVF_NS = "http://schemas.dmtf.org/ovf/envelope/1";
|
||||
|
||||
public static final String OVF_ENV_NS = "http://schemas.dmtf.org/ovf/environment/1";
|
||||
|
||||
public static final String CIM_NS = "http://schemas.dmtf.org/wbem/wscim/1/common";
|
||||
|
||||
public static final String CIM_VSSD_NS = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData";
|
||||
|
||||
public static final String CIM_RASD_NS = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData";
|
||||
}
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -37,7 +37,7 @@ import javax.xml.namespace.QName;
|
|||
* <complexType name="cimAnySimpleType" />
|
||||
* </pre>
|
||||
*/
|
||||
@XmlType(name = "cimAnySimpleType", namespace = VCLOUD_CIM_NS)
|
||||
@XmlType(name = "cimAnySimpleType", namespace = CIM_NS)
|
||||
public class CimAnySimpleType {
|
||||
|
||||
@XmlValue
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import javax.xml.bind.annotation.adapters.XmlAdapter;
|
||||
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -35,7 +35,7 @@ import javax.xml.namespace.QName;
|
|||
* <complexType name="cimBoolean" />
|
||||
* </pre>
|
||||
*/
|
||||
@XmlType(name = "cimBoolean", namespace = VCLOUD_CIM_NS)
|
||||
@XmlType(name = "cimBoolean", namespace = CIM_NS)
|
||||
public class CimBoolean {
|
||||
|
||||
@XmlValue
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
@ -37,7 +37,7 @@ import javax.xml.namespace.QName;
|
|||
* <complexType name="cimReference" />
|
||||
* </pre>
|
||||
*/
|
||||
@XmlType(name = "cimReference", namespace = VCLOUD_CIM_NS)
|
||||
@XmlType(name = "cimReference", namespace = CIM_NS)
|
||||
public class CimReference {
|
||||
|
||||
@XmlAnyElement(lax = true)
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.HashMap;
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
|
||||
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import org.jclouds.compute.domain.OsFamily;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
|
@ -16,35 +16,27 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_RASD_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_RASD_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.net.URI;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlEnum;
|
||||
import javax.xml.bind.annotation.XmlEnumValue;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
|
@ -61,10 +53,9 @@ import com.google.common.collect.Sets;
|
|||
*
|
||||
* @author Adrian Cole
|
||||
* @author grkvlt@apache.org
|
||||
* @see http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_ResourceAllocationSettingData.xsd
|
||||
* @see <a href="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_ResourceAllocationSettingData.xsd">CIM_ResourceAllocationSettingData</a>
|
||||
*/
|
||||
@XmlRootElement(name = "Item", namespace = VCLOUD_1_5_NS)
|
||||
@XmlType(name = "CIM_ResourceAllocationSettingData_Type", namespace = VCLOUD_OVF_NS,
|
||||
@XmlType(name = "CIM_ResourceAllocationSettingData_Type", namespace = OVF_NS,
|
||||
propOrder = {
|
||||
"address",
|
||||
"addressOnParent",
|
||||
|
@ -88,21 +79,23 @@ import com.google.common.collect.Sets;
|
|||
"resourceType",
|
||||
"virtualQuantity",
|
||||
"virtualQuantityUnits",
|
||||
"weight",
|
||||
"links"
|
||||
"weight"
|
||||
}
|
||||
)
|
||||
public class ResourceAllocationSettingData {
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
public Builder toBuilder() {
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromResourceAllocationSettingData(this);
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static class Builder<B extends Builder<B>> {
|
||||
|
||||
private String elementName;
|
||||
private String instanceID;
|
||||
|
@ -125,254 +118,219 @@ public class ResourceAllocationSettingData {
|
|||
private BigInteger virtualQuantity;
|
||||
private String virtualQuantityUnits;
|
||||
private Long weight;
|
||||
private List<CimString> connections = Lists.newArrayList();
|
||||
private List<CimString> hostResources = Lists.newArrayList();
|
||||
private URI href;
|
||||
private String type;
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
private Set<CimString> connections = Sets.newLinkedHashSet();
|
||||
private Set<CimString> hostResources = Sets.newLinkedHashSet();
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
protected B self() {
|
||||
return (B) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getElementName()
|
||||
*/
|
||||
public Builder elementName(String elementName) {
|
||||
public B elementName(String elementName) {
|
||||
this.elementName = elementName;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
*@see ResourceAllocationSettingData#getInstanceId()
|
||||
*/
|
||||
public Builder instanceID(String instanceID) {
|
||||
public B instanceID(String instanceID) {
|
||||
this.instanceID = instanceID;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getCaption()
|
||||
*/
|
||||
public Builder caption(String caption) {
|
||||
public B caption(String caption) {
|
||||
this.caption = caption;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getDescription()
|
||||
*/
|
||||
public Builder description(String description) {
|
||||
public B description(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getAddress
|
||||
*/
|
||||
public Builder address(String address) {
|
||||
public B address(String address) {
|
||||
this.address = address;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getAddressOnParent
|
||||
*/
|
||||
public Builder addressOnParent(String addressOnParent) {
|
||||
public B addressOnParent(String addressOnParent) {
|
||||
this.addressOnParent = addressOnParent;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getAllocationUnits
|
||||
*/
|
||||
public Builder allocationUnits(String allocationUnits) {
|
||||
public B allocationUnits(String allocationUnits) {
|
||||
this.allocationUnits = allocationUnits;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#isAutomaticAllocation()
|
||||
*/
|
||||
public Builder automaticAllocation(Boolean automaticAllocation) {
|
||||
public B automaticAllocation(Boolean automaticAllocation) {
|
||||
this.automaticAllocation = automaticAllocation;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#isAutomaticDeallocation()
|
||||
*/
|
||||
public Builder automaticDeallocation(Boolean automaticDeallocation) {
|
||||
public B automaticDeallocation(Boolean automaticDeallocation) {
|
||||
this.automaticDeallocation = automaticDeallocation;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getConsumerVisibility
|
||||
*/
|
||||
public Builder consumerVisibility(ConsumerVisibility consumerVisibility) {
|
||||
public B consumerVisibility(ConsumerVisibility consumerVisibility) {
|
||||
this.consumerVisibility = consumerVisibility;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getLimit
|
||||
*/
|
||||
public Builder limit(BigInteger limit) {
|
||||
public B limit(BigInteger limit) {
|
||||
this.limit = limit;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getMappingBehavior
|
||||
*/
|
||||
public Builder mappingBehavior(MappingBehavior mappingBehavior) {
|
||||
public B mappingBehavior(MappingBehavior mappingBehavior) {
|
||||
this.mappingBehavior = mappingBehavior;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getOtherResourceType
|
||||
*/
|
||||
public Builder otherResourceType(String otherResourceType) {
|
||||
public B otherResourceType(String otherResourceType) {
|
||||
this.otherResourceType = otherResourceType;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getParent
|
||||
*/
|
||||
public Builder parent(String parent) {
|
||||
public B parent(String parent) {
|
||||
this.parent = parent;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getPoolID
|
||||
*/
|
||||
public Builder poolID(String poolID) {
|
||||
public B poolID(String poolID) {
|
||||
this.poolID = poolID;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getReservation
|
||||
*/
|
||||
public Builder reservation(BigInteger reservation) {
|
||||
public B reservation(BigInteger reservation) {
|
||||
this.reservation = reservation;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getResourceSubType
|
||||
*/
|
||||
public Builder resourceSubType(String resourceSubType) {
|
||||
public B resourceSubType(String resourceSubType) {
|
||||
this.resourceSubType = resourceSubType;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getResourceType
|
||||
*/
|
||||
public Builder resourceType(ResourceType resourceType) {
|
||||
public B resourceType(ResourceType resourceType) {
|
||||
this.resourceType = resourceType;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getVirtualQuantity
|
||||
*/
|
||||
public Builder virtualQuantity(BigInteger virtualQuantity) {
|
||||
public B virtualQuantity(BigInteger virtualQuantity) {
|
||||
this.virtualQuantity = virtualQuantity;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getVirtualQuantityUnits
|
||||
*/
|
||||
public Builder virtualQuantityUnits(String virtualQuantityUnits) {
|
||||
public B virtualQuantityUnits(String virtualQuantityUnits) {
|
||||
this.virtualQuantityUnits = virtualQuantityUnits;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getWeight
|
||||
*/
|
||||
public Builder weight(Long weight) {
|
||||
public B weight(Long weight) {
|
||||
this.weight = weight;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getConnections()
|
||||
*/
|
||||
public Builder connection(CimString connection) {
|
||||
public B connection(CimString connection) {
|
||||
this.connections.add(checkNotNull(connection, "connection"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getConnections
|
||||
*/
|
||||
public Builder connections(List<CimString> connections) {
|
||||
this.connections = Lists.newArrayList(checkNotNull(connections, "connections"));
|
||||
return this;
|
||||
public B connections(Iterable<CimString> connections) {
|
||||
this.connections = Sets.newLinkedHashSet(checkNotNull(connections, "connections"));
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getHostResources()
|
||||
*/
|
||||
public Builder hostResource(CimString hostResource) {
|
||||
public B hostResource(CimString hostResource) {
|
||||
this.hostResources.add(checkNotNull(hostResource, "hostResource"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getHostResources
|
||||
*/
|
||||
public Builder hostResources(List<CimString> hostResources) {
|
||||
this.hostResources = Lists.newArrayList(checkNotNull(hostResources, "hostResources"));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getType()
|
||||
*/
|
||||
public Builder type(String type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getHref()
|
||||
*/
|
||||
public Builder href(URI href) {
|
||||
this.href = href;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getLinks()
|
||||
*/
|
||||
public Builder links(Set<Link> links) {
|
||||
this.links = Sets.newLinkedHashSet(checkNotNull(links, "links"));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getLinks()
|
||||
*/
|
||||
public Builder link(Link link) {
|
||||
if (links == null)
|
||||
links = Sets.newLinkedHashSet();
|
||||
this.links.add(checkNotNull(link, "link"));
|
||||
return this;
|
||||
public B hostResources(Iterable<CimString> hostResources) {
|
||||
this.hostResources = Sets.newLinkedHashSet(checkNotNull(hostResources, "hostResources"));
|
||||
return self();
|
||||
}
|
||||
|
||||
public ResourceAllocationSettingData build() {
|
||||
return new ResourceAllocationSettingData(elementName, instanceID, caption, description, address,
|
||||
addressOnParent, allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit,
|
||||
mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
|
||||
virtualQuantity, virtualQuantityUnits, weight, connections, hostResources, type, href, links);
|
||||
return new ResourceAllocationSettingData(this);
|
||||
}
|
||||
|
||||
public Builder fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
|
||||
public B fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
|
||||
return elementName(in.getElementName())
|
||||
.instanceID(in.getInstanceID())
|
||||
.caption(in.getCaption())
|
||||
|
@ -395,10 +353,7 @@ public class ResourceAllocationSettingData {
|
|||
.virtualQuantityUnits(in.getVirtualQuantityUnits())
|
||||
.weight(in.getWeight())
|
||||
.connections(in.getConnections())
|
||||
.hostResources(in.getHostResources())
|
||||
.type(in.getType())
|
||||
.href(in.getHref())
|
||||
.links(Sets.newLinkedHashSet(in.getLinks()));
|
||||
.hostResources(in.getHostResources());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -560,96 +515,80 @@ public class ResourceAllocationSettingData {
|
|||
}
|
||||
}
|
||||
|
||||
// <rasd:Elementname>foo</rasd:ElementName>
|
||||
|
||||
@XmlElement(name = "ElementName", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "ElementName", namespace = CIM_RASD_NS)
|
||||
private String elementName;
|
||||
@XmlElement(name = "InstanceID", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "InstanceID", namespace = CIM_RASD_NS)
|
||||
private String instanceID;
|
||||
@XmlElement(name = "Caption", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Caption", namespace = CIM_RASD_NS)
|
||||
private String caption;
|
||||
@XmlElement(name = "Description", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Description", namespace = CIM_RASD_NS)
|
||||
private String description;
|
||||
@XmlElement(name = "Address", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Address", namespace = CIM_RASD_NS)
|
||||
private String address;
|
||||
@XmlElement(name = "AddressOnParent", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "AddressOnParent", namespace = CIM_RASD_NS)
|
||||
private String addressOnParent;
|
||||
@XmlElement(name = "AllocationUnits", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "AllocationUnits", namespace = CIM_RASD_NS)
|
||||
private String allocationUnits;
|
||||
@XmlElement(name = "AutomaticAllocation", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "AutomaticAllocation", namespace = CIM_RASD_NS)
|
||||
private Boolean automaticAllocation;
|
||||
@XmlElement(name = "AutomaticDeallocation", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "AutomaticDeallocation", namespace = CIM_RASD_NS)
|
||||
private Boolean automaticDeallocation;
|
||||
@XmlElement(name = "ConsumerVisibility", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "ConsumerVisibility", namespace = CIM_RASD_NS)
|
||||
private ConsumerVisibility consumerVisibility;
|
||||
@XmlElement(name = "Limit", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Limit", namespace = CIM_RASD_NS)
|
||||
private BigInteger limit;
|
||||
@XmlElement(name = "MappingBehavior", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "MappingBehavior", namespace = CIM_RASD_NS)
|
||||
private MappingBehavior mappingBehavior;
|
||||
@XmlElement(name = "OtherResourceType", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "OtherResourceType", namespace = CIM_RASD_NS)
|
||||
private String otherResourceType;
|
||||
@XmlElement(name = "Parent", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Parent", namespace = CIM_RASD_NS)
|
||||
private String parent;
|
||||
@XmlElement(name = "PoolID", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "PoolID", namespace = CIM_RASD_NS)
|
||||
private String poolID;
|
||||
@XmlElement(name = "Reservation", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Reservation", namespace = CIM_RASD_NS)
|
||||
private BigInteger reservation;
|
||||
@XmlElement(name = "ResourceSubType", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "ResourceSubType", namespace = CIM_RASD_NS)
|
||||
private String resourceSubType;
|
||||
@XmlElement(name = "ResourceType", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "ResourceType", namespace = CIM_RASD_NS)
|
||||
private ResourceType resourceType;
|
||||
@XmlElement(name = "VirtualQuantity", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "VirtualQuantity", namespace = CIM_RASD_NS)
|
||||
private BigInteger virtualQuantity;
|
||||
@XmlElement(name = "VirtualQuantityUnits", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "VirtualQuantityUnits", namespace = CIM_RASD_NS)
|
||||
private String virtualQuantityUnits;
|
||||
@XmlElement(name = "Weight", namespace = VCLOUD_CIM_RASD_NS)
|
||||
@XmlElement(name = "Weight", namespace = CIM_RASD_NS)
|
||||
private Long weight;
|
||||
@XmlElement(name = "Connection", namespace = VCLOUD_CIM_RASD_NS)
|
||||
private List<CimString> connections = Lists.newArrayList();
|
||||
@XmlElement(name = "HostResource", namespace = VCLOUD_CIM_RASD_NS)
|
||||
private List<CimString> hostResources = Lists.newArrayList();
|
||||
@XmlAttribute(name = "type", namespace = VCLOUD_1_5_NS)
|
||||
private String type;
|
||||
@XmlAttribute(name = "href", namespace = VCLOUD_1_5_NS)
|
||||
private URI href;
|
||||
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
@XmlElement(name = "Connection", namespace = CIM_RASD_NS)
|
||||
private Set<CimString> connections = Sets.newLinkedHashSet();
|
||||
@XmlElement(name = "HostResource", namespace = CIM_RASD_NS)
|
||||
private Set<CimString> hostResources = Sets.newLinkedHashSet();
|
||||
|
||||
private ResourceAllocationSettingData(String elementName, String instanceID, String caption, String description,
|
||||
String address, String addressOnParent, String allocationUnits, Boolean automaticAllocation,
|
||||
Boolean automaticDeallocation, ConsumerVisibility consumerVisibility, BigInteger limit,
|
||||
MappingBehavior mappingBehavior, String otherResourceType, String parent, String poolID, BigInteger reservation,
|
||||
String resourceSubType, ResourceType resourceType, BigInteger virtualQuantity, String virtualQuantityUnits,
|
||||
Long weight, List<CimString> connections, List<CimString> hostResources, String type, URI href, Set<Link> links) {
|
||||
this.elementName = elementName;
|
||||
this.instanceID = instanceID;
|
||||
this.caption = caption;
|
||||
this.description = description;
|
||||
this.address = address;
|
||||
this.addressOnParent = addressOnParent;
|
||||
this.allocationUnits = allocationUnits;
|
||||
this.automaticAllocation = automaticAllocation;
|
||||
this.automaticDeallocation = automaticDeallocation;
|
||||
this.consumerVisibility = consumerVisibility;
|
||||
this.limit = limit;
|
||||
this.mappingBehavior = mappingBehavior;
|
||||
this.otherResourceType = otherResourceType;
|
||||
this.parent = parent;
|
||||
this.poolID = poolID;
|
||||
this.reservation = reservation;
|
||||
this.resourceSubType = resourceSubType;
|
||||
this.resourceType = resourceType;
|
||||
this.virtualQuantity = virtualQuantity;
|
||||
this.virtualQuantityUnits = virtualQuantityUnits;
|
||||
this.weight = weight;
|
||||
this.connections = ImmutableList.copyOf(connections);
|
||||
this.hostResources = ImmutableList.copyOf(hostResources);
|
||||
this.type = type;
|
||||
this.href = href;
|
||||
this.links = links != null ? ImmutableSet.copyOf(links) : Collections.<Link>emptySet();
|
||||
protected ResourceAllocationSettingData(Builder<?> builder) {
|
||||
this.elementName = builder.elementName;
|
||||
this.instanceID = builder.instanceID;
|
||||
this.caption = builder.caption;
|
||||
this.description = builder.description;
|
||||
this.address = builder.address;
|
||||
this.addressOnParent = builder.addressOnParent;
|
||||
this.allocationUnits = builder.allocationUnits;
|
||||
this.automaticAllocation = builder.automaticAllocation;
|
||||
this.automaticDeallocation = builder.automaticDeallocation;
|
||||
this.consumerVisibility = builder.consumerVisibility;
|
||||
this.limit = builder.limit;
|
||||
this.mappingBehavior = builder.mappingBehavior;
|
||||
this.otherResourceType = builder.otherResourceType;
|
||||
this.parent = builder.parent;
|
||||
this.poolID = builder.poolID;
|
||||
this.reservation = builder.reservation;
|
||||
this.resourceSubType = builder.resourceSubType;
|
||||
this.resourceType = builder.resourceType;
|
||||
this.virtualQuantity = builder.virtualQuantity;
|
||||
this.virtualQuantityUnits = builder.virtualQuantityUnits;
|
||||
this.weight = builder.weight;
|
||||
this.connections = builder.connections != null ? ImmutableSet.copyOf(builder.connections) : Collections.<CimString>emptySet();
|
||||
this.hostResources = builder.hostResources != null ? ImmutableSet.copyOf(builder.hostResources) : Collections.<CimString>emptySet();
|
||||
}
|
||||
|
||||
private ResourceAllocationSettingData() {
|
||||
protected ResourceAllocationSettingData() {
|
||||
// for JAXB
|
||||
}
|
||||
|
||||
|
@ -808,7 +747,6 @@ public class ResourceAllocationSettingData {
|
|||
|
||||
/**
|
||||
* A string describing an implementation specific sub-type for this resource.
|
||||
* F
|
||||
*/
|
||||
public String getResourceSubType() {
|
||||
return resourceSubType;
|
||||
|
@ -864,8 +802,8 @@ public class ResourceAllocationSettingData {
|
|||
* The thing to which this resource is connected. For example, a named
|
||||
* network or switch port.
|
||||
*/
|
||||
public List<CimString> getConnections() {
|
||||
return Collections.unmodifiableList(connections);
|
||||
public Set<CimString> getConnections() {
|
||||
return ImmutableSet.copyOf(connections);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -886,30 +824,19 @@ public class ResourceAllocationSettingData {
|
|||
* value(s) to indicate that the requested virtual resource allocation be
|
||||
* based on host resources that are identified by element values.
|
||||
*/
|
||||
public List<CimString> getHostResources() {
|
||||
return Collections.unmodifiableList(hostResources);
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public URI getHref() {
|
||||
return href;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set of optional links to an entity or operation associated with this object.
|
||||
*/
|
||||
public Set<Link> getLinks() {
|
||||
return links != null ? ImmutableSet.copyOf(links) : Collections.<Link>emptySet();
|
||||
public Set<CimString> getHostResources() {
|
||||
return ImmutableSet.copyOf(hostResources);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return string().toString();
|
||||
}
|
||||
|
||||
public ToStringHelper string() {
|
||||
return Objects.toStringHelper("")
|
||||
.add("elementname", elementName)
|
||||
.add("instanceId", instanceID)
|
||||
.add("elementName", elementName)
|
||||
.add("instanceID", instanceID)
|
||||
.add("caption", caption)
|
||||
.add("description", description)
|
||||
.add("address", address)
|
||||
|
@ -930,11 +857,7 @@ public class ResourceAllocationSettingData {
|
|||
.add("resourceType", resourceType)
|
||||
.add("virtualQuantity", virtualQuantity)
|
||||
.add("virtualQuantityUnits", virtualQuantityUnits)
|
||||
.add("weight", weight)
|
||||
.add("type", type)
|
||||
.add("href", href)
|
||||
.add("links", links)
|
||||
.toString();
|
||||
.add("weight", weight);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -944,7 +867,7 @@ public class ResourceAllocationSettingData {
|
|||
automaticAllocation, automaticDeallocation, connections,
|
||||
consumerVisibility, hostResources, limit, mappingBehavior,
|
||||
otherResourceType, parent, poolID, reservation, resourceSubType,
|
||||
resourceType, virtualQuantity, virtualQuantityUnits, weight, type, href, links);
|
||||
resourceType, virtualQuantity, virtualQuantityUnits, weight);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -978,10 +901,7 @@ public class ResourceAllocationSettingData {
|
|||
equal(this.resourceType, that.resourceType) &&
|
||||
equal(this.virtualQuantity, that.virtualQuantity) &&
|
||||
equal(this.virtualQuantityUnits, that.virtualQuantityUnits) &&
|
||||
equal(this.weight, that.weight) &&
|
||||
equal(this.type, that.type) &&
|
||||
equal(this.href, that.href) &&
|
||||
equal(this.links, that.links);
|
||||
equal(this.weight, that.weight);
|
||||
}
|
||||
|
||||
}
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
|
@ -16,12 +16,12 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_VSSD_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_VSSD_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.Date;
|
||||
|
@ -58,9 +58,9 @@ import com.google.common.collect.Maps;
|
|||
*
|
||||
* @author Adrian Cole
|
||||
* @author grkvlt@apache.org
|
||||
* @see http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_VirtualSystemSettingData.xsd
|
||||
* @see <a href="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_VirtualSystemSettingData.xsd">CIM_VirtualSystemSettingData</a>
|
||||
*/
|
||||
@XmlType(name = "CIM_VirtualSystemSettingData_Type", namespace = VCLOUD_OVF_NS,
|
||||
@XmlType(name = "CIM_VirtualSystemSettingData_Type", namespace = OVF_NS,
|
||||
propOrder = {
|
||||
"automaticRecoveryAction",
|
||||
"automaticShutdownAction",
|
||||
|
@ -87,15 +87,18 @@ import com.google.common.collect.Maps;
|
|||
)
|
||||
public class VirtualSystemSettingData {
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
public Builder toBuilder() {
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromVirtualSystemSettingData(this);
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static class Builder<B extends Builder<B>> {
|
||||
|
||||
private String elementName;
|
||||
private String instanceID;
|
||||
|
@ -119,120 +122,121 @@ public class VirtualSystemSettingData {
|
|||
private String virtualSystemType;
|
||||
private String notes;
|
||||
|
||||
public Builder elementName(String elementName) {
|
||||
@SuppressWarnings("unchecked")
|
||||
protected B self() {
|
||||
return (B) this;
|
||||
}
|
||||
|
||||
public B elementName(String elementName) {
|
||||
this.elementName = elementName;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder instanceID(String instanceID) {
|
||||
public B instanceID(String instanceID) {
|
||||
this.instanceID = instanceID;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder caption(String caption) {
|
||||
public B caption(String caption) {
|
||||
this.caption = caption;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder description(String description) {
|
||||
public B description(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder automaticRecoveryAction(AutomaticRecoveryAction automaticRecoveryAction) {
|
||||
public B automaticRecoveryAction(AutomaticRecoveryAction automaticRecoveryAction) {
|
||||
this.automaticRecoveryAction = automaticRecoveryAction;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder automaticShutdownAction(AutomaticShutdownAction automaticShutdownAction) {
|
||||
public B automaticShutdownAction(AutomaticShutdownAction automaticShutdownAction) {
|
||||
this.automaticShutdownAction = automaticShutdownAction;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder automaticStartupAction(AutomaticStartupAction automaticStartupAction) {
|
||||
public B automaticStartupAction(AutomaticStartupAction automaticStartupAction) {
|
||||
this.automaticStartupAction = automaticStartupAction;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder automaticStartupActionDelay(BigInteger automaticStartupActionDelay) {
|
||||
public B automaticStartupActionDelay(BigInteger automaticStartupActionDelay) {
|
||||
this.automaticStartupActionDelay = automaticStartupActionDelay;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder automaticStartupActionSequenceNumber(Long automaticStartupActionSequenceNumber) {
|
||||
public B automaticStartupActionSequenceNumber(Long automaticStartupActionSequenceNumber) {
|
||||
this.automaticStartupActionSequenceNumber = automaticStartupActionSequenceNumber;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder configurationDataRoot(String configurationDataRoot) {
|
||||
public B configurationDataRoot(String configurationDataRoot) {
|
||||
this.configurationDataRoot = configurationDataRoot;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder configurationFile(String configurationFile) {
|
||||
public B configurationFile(String configurationFile) {
|
||||
this.configurationFile = configurationFile;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder configurationID(String configurationID) {
|
||||
public B configurationID(String configurationID) {
|
||||
this.configurationID = configurationID;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder creationTime(Date creationTime) {
|
||||
public B creationTime(Date creationTime) {
|
||||
this.creationTime = creationTime;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder logDataRoot(String logDataRoot) {
|
||||
public B logDataRoot(String logDataRoot) {
|
||||
this.logDataRoot = logDataRoot;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder recoveryFile(String recoveryFile) {
|
||||
public B recoveryFile(String recoveryFile) {
|
||||
this.recoveryFile = recoveryFile;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder snapshotDataRoot(String snapshotDataRoot) {
|
||||
public B snapshotDataRoot(String snapshotDataRoot) {
|
||||
this.snapshotDataRoot = snapshotDataRoot;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder suspendDataRoot(String suspendDataRoot) {
|
||||
public B suspendDataRoot(String suspendDataRoot) {
|
||||
this.suspendDataRoot = suspendDataRoot;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder swapFileDataRoot(String swapFileDataRoot) {
|
||||
public B swapFileDataRoot(String swapFileDataRoot) {
|
||||
this.swapFileDataRoot = swapFileDataRoot;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder virtualSystemIdentifier(String virtualSystemIdentifier) {
|
||||
public B virtualSystemIdentifier(String virtualSystemIdentifier) {
|
||||
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder virtualSystemType(String virtualSystemType) {
|
||||
public B virtualSystemType(String virtualSystemType) {
|
||||
this.virtualSystemType = virtualSystemType;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public Builder notes(String notes) {
|
||||
public B notes(String notes) {
|
||||
this.notes = notes;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public VirtualSystemSettingData build() {
|
||||
return new VirtualSystemSettingData(elementName, instanceID, caption, description, automaticRecoveryAction,
|
||||
automaticShutdownAction, automaticStartupAction, automaticStartupActionDelay,
|
||||
automaticStartupActionSequenceNumber, configurationDataRoot, configurationFile, configurationID,
|
||||
creationTime, logDataRoot, recoveryFile, snapshotDataRoot, suspendDataRoot, swapFileDataRoot,
|
||||
virtualSystemIdentifier, virtualSystemType, notes);
|
||||
return new VirtualSystemSettingData(this);
|
||||
}
|
||||
|
||||
public Builder fromVirtualSystemSettingData(VirtualSystemSettingData in) {
|
||||
public B fromVirtualSystemSettingData(VirtualSystemSettingData in) {
|
||||
return elementName(in.getElementName())
|
||||
.instanceID(in.getInstanceID())
|
||||
.caption(in.getCaption())
|
||||
|
@ -363,49 +367,73 @@ public class VirtualSystemSettingData {
|
|||
}
|
||||
}
|
||||
|
||||
@XmlElement(name = "ElementName", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "ElementName", namespace = CIM_VSSD_NS)
|
||||
private String elementName;
|
||||
@XmlElement(name = "InstanceID", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "InstanceID", namespace = CIM_VSSD_NS)
|
||||
private String instanceID;
|
||||
@XmlElement(name = "Caption", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "Caption", namespace = CIM_VSSD_NS)
|
||||
private String caption;
|
||||
@XmlElement(name = "Description", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "Description", namespace = CIM_VSSD_NS)
|
||||
private String description;
|
||||
@XmlElement(name = "VirtualSystemIdentifier", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "VirtualSystemIdentifier", namespace = CIM_VSSD_NS)
|
||||
private String virtualSystemIdentifier;
|
||||
@XmlElement(name = "VirtualSystemType", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "VirtualSystemType", namespace = CIM_VSSD_NS)
|
||||
private String virtualSystemType;
|
||||
@XmlElement(name = "AutomaticRecoveryAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "AutomaticRecoveryAction", namespace = CIM_VSSD_NS)
|
||||
private AutomaticRecoveryAction automaticRecoveryAction;
|
||||
@XmlElement(name = "AutomaticShutdownAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "AutomaticShutdownAction", namespace = CIM_VSSD_NS)
|
||||
private AutomaticShutdownAction automaticShutdownAction;
|
||||
@XmlElement(name = "AutomaticStartupAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "AutomaticStartupAction", namespace = CIM_VSSD_NS)
|
||||
private AutomaticStartupAction automaticStartupAction;
|
||||
@XmlElement(name = "AutomaticStartupActionDelay", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "AutomaticStartupActionDelay", namespace = CIM_VSSD_NS)
|
||||
private BigInteger automaticStartupActionDelay;
|
||||
@XmlElement(name = "AutomaticStartupActionSequenceNumber", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "AutomaticStartupActionSequenceNumber", namespace = CIM_VSSD_NS)
|
||||
private Long automaticStartupActionSequenceNumber;
|
||||
@XmlElement(name = "ConfigurationDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "ConfigurationDataRoot", namespace = CIM_VSSD_NS)
|
||||
private String configurationDataRoot;
|
||||
@XmlElement(name = "ConfigurationFile", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "ConfigurationFile", namespace = CIM_VSSD_NS)
|
||||
private String configurationFile;
|
||||
@XmlElement(name = "ConfigurationID", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "ConfigurationID", namespace = CIM_VSSD_NS)
|
||||
private String configurationID;
|
||||
@XmlElement(name = "CreationTime", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "CreationTime", namespace = CIM_VSSD_NS)
|
||||
private Date creationTime;
|
||||
@XmlElement(name = "LogDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "LogDataRoot", namespace = CIM_VSSD_NS)
|
||||
private String logDataRoot;
|
||||
@XmlElement(name = "RecoveryFile", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "RecoveryFile", namespace = CIM_VSSD_NS)
|
||||
private String recoveryFile;
|
||||
@XmlElement(name = "SnapshotDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "SnapshotDataRoot", namespace = CIM_VSSD_NS)
|
||||
private String snapshotDataRoot;
|
||||
@XmlElement(name = "SuspendDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "SuspendDataRoot", namespace = CIM_VSSD_NS)
|
||||
private String suspendDataRoot;
|
||||
@XmlElement(name = "SwapFileDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "SwapFileDataRoot", namespace = CIM_VSSD_NS)
|
||||
private String swapFileDataRoot;
|
||||
@XmlElement(name = "Notes", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
@XmlElement(name = "Notes", namespace = CIM_VSSD_NS)
|
||||
private String notes;
|
||||
|
||||
private VirtualSystemSettingData(Builder<?> builder) {
|
||||
this.elementName = builder.elementName;
|
||||
this.instanceID = builder.instanceID;
|
||||
this.caption = builder.caption;
|
||||
this.description = builder.description;
|
||||
this.automaticRecoveryAction = builder.automaticRecoveryAction;
|
||||
this.automaticShutdownAction = builder.automaticShutdownAction;
|
||||
this.automaticStartupAction = builder.automaticStartupAction;
|
||||
this.automaticStartupActionDelay = builder.automaticStartupActionDelay;
|
||||
this.automaticStartupActionSequenceNumber = builder.automaticStartupActionSequenceNumber;
|
||||
this.configurationDataRoot = builder.configurationDataRoot;
|
||||
this.configurationFile = builder.configurationFile;
|
||||
this.configurationID = builder.configurationID;
|
||||
this.creationTime = builder.creationTime;
|
||||
this.logDataRoot = builder.logDataRoot;
|
||||
this.recoveryFile = builder.recoveryFile;
|
||||
this.snapshotDataRoot = builder.snapshotDataRoot;
|
||||
this.suspendDataRoot = builder.suspendDataRoot;
|
||||
this.swapFileDataRoot = builder.swapFileDataRoot;
|
||||
this.virtualSystemIdentifier = builder.virtualSystemIdentifier;
|
||||
this.virtualSystemType = builder.virtualSystemType;
|
||||
this.notes = builder.notes;
|
||||
}
|
||||
|
||||
private VirtualSystemSettingData(String elementName, String instanceID, String caption, String description,
|
||||
AutomaticRecoveryAction automaticRecoveryAction, AutomaticShutdownAction automaticShutdownAction,
|
||||
AutomaticStartupAction automaticStartupAction, BigInteger automaticStartupActionDelay,
|
||||
|
@ -644,26 +672,26 @@ public class VirtualSystemSettingData {
|
|||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VirtualSystemSettingData that = VirtualSystemSettingData.class.cast(obj);
|
||||
return equal(this.elementName, that.elementName) &&
|
||||
equal(this.instanceID, that.instanceID) &&
|
||||
equal(this.caption, that.caption) &&
|
||||
equal(this.description, that.description) &&
|
||||
equal(this.automaticRecoveryAction, that.automaticRecoveryAction) &&
|
||||
equal(this.automaticShutdownAction, that.automaticShutdownAction) &&
|
||||
equal(this.automaticStartupAction, that.automaticStartupAction) &&
|
||||
equal(this.automaticStartupActionDelay, that.automaticStartupActionDelay) &&
|
||||
equal(this.automaticStartupActionSequenceNumber, that.automaticStartupActionSequenceNumber) &&
|
||||
equal(this.configurationDataRoot, that.configurationDataRoot) &&
|
||||
equal(this.configurationFile, that.configurationFile) &&
|
||||
equal(this.configurationID, that.configurationID) &&
|
||||
equal(this.creationTime, that.creationTime) &&
|
||||
equal(this.logDataRoot, that.logDataRoot) &&
|
||||
equal(this.recoveryFile, that.recoveryFile) &&
|
||||
equal(this.snapshotDataRoot, that.snapshotDataRoot) &&
|
||||
equal(this.suspendDataRoot, that.suspendDataRoot) &&
|
||||
equal(this.swapFileDataRoot, that.swapFileDataRoot) &&
|
||||
equal(this.virtualSystemIdentifier, that.virtualSystemIdentifier) &&
|
||||
equal(this.virtualSystemType, that.virtualSystemType);
|
||||
return equal(this.elementName, that.elementName)
|
||||
&& equal(this.instanceID, that.instanceID)
|
||||
&& equal(this.caption, that.caption)
|
||||
&& equal(this.description, that.description)
|
||||
&& equal(this.automaticRecoveryAction, that.automaticRecoveryAction)
|
||||
&& equal(this.automaticShutdownAction, that.automaticShutdownAction)
|
||||
&& equal(this.automaticStartupAction, that.automaticStartupAction)
|
||||
&& equal(this.automaticStartupActionDelay, that.automaticStartupActionDelay)
|
||||
&& equal(this.automaticStartupActionSequenceNumber, that.automaticStartupActionSequenceNumber)
|
||||
&& equal(this.configurationDataRoot, that.configurationDataRoot)
|
||||
&& equal(this.configurationFile, that.configurationFile)
|
||||
&& equal(this.configurationID, that.configurationID)
|
||||
&& equal(this.creationTime, that.creationTime)
|
||||
&& equal(this.logDataRoot, that.logDataRoot)
|
||||
&& equal(this.recoveryFile, that.recoveryFile)
|
||||
&& equal(this.snapshotDataRoot, that.snapshotDataRoot)
|
||||
&& equal(this.suspendDataRoot, that.suspendDataRoot)
|
||||
&& equal(this.swapFileDataRoot, that.swapFileDataRoot)
|
||||
&& equal(this.virtualSystemIdentifier, that.virtualSystemIdentifier)
|
||||
&& equal(this.virtualSystemType, that.virtualSystemType);
|
||||
}
|
||||
|
||||
@Override
|
|
@ -16,22 +16,21 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
@XmlSchema(namespace = VCLOUD_CIM_NS, elementFormDefault = XmlNsForm.QUALIFIED,
|
||||
@XmlSchema(namespace = CIM_NS, elementFormDefault = XmlNsForm.QUALIFIED,
|
||||
xmlns = {
|
||||
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS),
|
||||
@XmlNs(prefix = "ovf", namespaceURI = VCLOUD_OVF_NS),
|
||||
@XmlNs(prefix = "vssd", namespaceURI = VCLOUD_CIM_VSSD_NS),
|
||||
@XmlNs(prefix = "rasd", namespaceURI = VCLOUD_CIM_RASD_NS),
|
||||
@XmlNs(prefix = "vcloud", namespaceURI = VCLOUD_1_5_NS)
|
||||
@XmlNs(prefix = "cim", namespaceURI = CIM_NS),
|
||||
@XmlNs(prefix = "ovf", namespaceURI = OVF_NS),
|
||||
@XmlNs(prefix = "vssd", namespaceURI = CIM_VSSD_NS),
|
||||
@XmlNs(prefix = "rasd", namespaceURI = CIM_RASD_NS)
|
||||
}
|
||||
)
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_RASD_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_VSSD_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
package org.jclouds.dmtf.cim;
|
||||
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_RASD_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_VSSD_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
@ -30,7 +30,7 @@ import com.google.common.base.Objects;
|
|||
* @author Adrian Cole
|
||||
* @author Adam Lowe
|
||||
*/
|
||||
@XmlType(name = "Configuration", namespace = VCLOUD_OVF_NS, propOrder = {
|
||||
@XmlType(name = "Configuration", namespace = OVF_NS, propOrder = {
|
||||
"label", "description"
|
||||
})
|
||||
public class Configuration {
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import java.net.URI;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
|
@ -84,7 +84,7 @@ public class NetworkSection extends SectionType {
|
|||
|
||||
private NetworkSection(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.networks = ImmutableSet.<Network> copyOf(checkNotNull(networks, "networks"));
|
||||
this.networks = ImmutableSet.copyOf(checkNotNull(networks, "networks"));
|
||||
}
|
||||
|
||||
private NetworkSection() {
|
||||
|
@ -94,8 +94,6 @@ public class NetworkSection extends SectionType {
|
|||
/**
|
||||
* All networks referred to from Connection elements in all {@link VirtualHardwareSection}
|
||||
* elements shall be defined in the NetworkSection.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Set<Network> getNetworks() {
|
||||
return networks;
|
||||
|
@ -115,12 +113,14 @@ public class NetworkSection extends SectionType {
|
|||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
NetworkSection other = (NetworkSection) obj;
|
||||
return super.equals(other) && Objects.equal(networks, other.networks);
|
||||
return super.equals(other)
|
||||
&& Objects.equal(networks, other.networks);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Objects.ToStringHelper string() {
|
||||
return super.string().add("networks", networks);
|
||||
return super.string()
|
||||
.add("networks", networks);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,164 @@
|
|||
/*
|
||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||
* contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. jclouds licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
|
||||
/**
|
||||
* An OperatingSystemSection specifies the operating system installed on a virtual machine.
|
||||
*
|
||||
* @author Adrian Cole
|
||||
* @author Adam Lowe
|
||||
*/
|
||||
@XmlRootElement(name = "OperatingSystemSection")
|
||||
@XmlType(name = "OperatingSystemSection_Type")
|
||||
public class OperatingSystemSection extends SectionType {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromOperatingSystemSection(this);
|
||||
}
|
||||
|
||||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||
|
||||
private int id;
|
||||
private String description;
|
||||
private String version;
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getId()
|
||||
*/
|
||||
public B id(int id) {
|
||||
this.id = id;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getVersion()
|
||||
*/
|
||||
public B version(String version) {
|
||||
this.version = version;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getDescription
|
||||
*/
|
||||
public B description(String description) {
|
||||
this.description = description;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public OperatingSystemSection build() {
|
||||
return new OperatingSystemSection(this);
|
||||
}
|
||||
|
||||
public B fromOperatingSystemSection(OperatingSystemSection in) {
|
||||
return fromSectionType(in)
|
||||
.id(in.getId())
|
||||
.version(in.getVersion())
|
||||
.description(in.getDescription());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlAttribute(namespace = OVF_NS, required = true)
|
||||
protected int id;
|
||||
@XmlAttribute(namespace = OVF_NS)
|
||||
protected String version;
|
||||
@XmlElement(name = "Description")
|
||||
protected String description;
|
||||
|
||||
public OperatingSystemSection(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.id = builder.id;
|
||||
this.description = builder.description;
|
||||
this.version = builder.version;
|
||||
}
|
||||
|
||||
protected OperatingSystemSection() {
|
||||
// For Builders and JAXB
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the OVF id
|
||||
*
|
||||
* @see org.jclouds.vcloud.director.v1_5.domain.cim.OSType#getCode()
|
||||
*/
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the version
|
||||
*/
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the description or null
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), id, version, description);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) return true;
|
||||
if (obj == null) return false;
|
||||
if (getClass() != obj.getClass()) return false;
|
||||
|
||||
OperatingSystemSection that = (OperatingSystemSection) obj;
|
||||
return super.equals(that)
|
||||
&& equal(this.id, that.id)
|
||||
&& equal(this.version, that.version)
|
||||
&& equal(this.description, that.description);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Objects.ToStringHelper string() {
|
||||
return super.string()
|
||||
.add("id", id)
|
||||
.add("version", version)
|
||||
.add("description", description);
|
||||
}
|
||||
}
|
|
@ -16,11 +16,11 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
@ -29,7 +29,7 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.cim.CimString;
|
||||
import org.jclouds.dmtf.cim.CimString;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
@ -69,6 +69,12 @@ public class ProductSection extends SectionType {
|
|||
private CimString appUrl;
|
||||
protected Set<ProductSectionProperty> properties = Sets.newLinkedHashSet();
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
protected B self() {
|
||||
return (B) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ProductSection#getProduct()
|
||||
*/
|
||||
|
@ -190,15 +196,15 @@ public class ProductSection extends SectionType {
|
|||
private MsgType product;
|
||||
@XmlElement(name = "Vendor")
|
||||
private MsgType vendor;
|
||||
@XmlElement(name = "Version", namespace = VCLOUD_CIM_NS)
|
||||
@XmlElement(name = "Version", namespace = CIM_NS)
|
||||
private CimString version;
|
||||
@XmlElement(name = "FullVersion", namespace = VCLOUD_CIM_NS)
|
||||
@XmlElement(name = "FullVersion", namespace = CIM_NS)
|
||||
private CimString fullVersion;
|
||||
@XmlElement(name = "ProductUrl", namespace = VCLOUD_CIM_NS)
|
||||
@XmlElement(name = "ProductUrl", namespace = CIM_NS)
|
||||
private CimString productUrl;
|
||||
@XmlElement(name = "VendorUrl", namespace = VCLOUD_CIM_NS)
|
||||
@XmlElement(name = "VendorUrl", namespace = CIM_NS)
|
||||
private CimString vendorUrl;
|
||||
@XmlElement(name = "AppUrl", namespace = VCLOUD_CIM_NS)
|
||||
@XmlElement(name = "AppUrl", namespace = CIM_NS)
|
||||
private CimString appUrl;
|
||||
@XmlElement(name = "Property")
|
||||
private Set<ProductSectionProperty> properties = Sets.newLinkedHashSet();
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlType;
|
|
@ -16,23 +16,16 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlSeeAlso;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.CustomizationSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.GuestCustomizationSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.LeaseSettingsSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.RuntimeInfoSection;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
|
||||
/**
|
||||
|
@ -45,21 +38,6 @@ import com.google.common.base.Objects;
|
|||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlType(name = "Section_Type")
|
||||
@XmlSeeAlso({
|
||||
CustomizationSection.class,
|
||||
DeploymentOptionSection.class,
|
||||
DiskSection.class,
|
||||
LeaseSettingsSection.class,
|
||||
GuestCustomizationSection.class,
|
||||
NetworkSection.class,
|
||||
NetworkConfigSection.class,
|
||||
NetworkConnectionSection.class,
|
||||
OperatingSystemSection.class,
|
||||
ProductSection.class,
|
||||
RuntimeInfoSection.class,
|
||||
StartupSection.class,
|
||||
VirtualHardwareSection.class,
|
||||
VirtualSystem.class })
|
||||
public abstract class SectionType {
|
||||
|
||||
public static abstract class Builder<B extends Builder<B>> {
|
||||
|
@ -112,7 +90,7 @@ public abstract class SectionType {
|
|||
|
||||
@XmlElement(name = "Info", required = true)
|
||||
private String info;
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_NS)
|
||||
@XmlAttribute(namespace = OVF_NS)
|
||||
private Boolean required;
|
||||
|
||||
protected SectionType(Builder<?> builder) {
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
|
@ -16,24 +16,20 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.cim.VirtualSystemSettingData;
|
||||
import org.jclouds.dmtf.cim.ResourceAllocationSettingData;
|
||||
import org.jclouds.dmtf.cim.VirtualSystemSettingData;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Objects;
|
||||
|
@ -71,12 +67,9 @@ public class VirtualHardwareSection extends SectionType {
|
|||
private VirtualSystemSettingData virtualSystem;
|
||||
private String transport;
|
||||
private Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
private URI href;
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* @see VirtualHardwareSection#getSystem
|
||||
* @see VirtualHardwareSection#getSystem()
|
||||
*/
|
||||
public B system(VirtualSystemSettingData virtualSystem) {
|
||||
this.virtualSystem = virtualSystem;
|
||||
|
@ -123,38 +116,6 @@ public class VirtualHardwareSection extends SectionType {
|
|||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see VirtualHardwareSection#getLinks()
|
||||
*/
|
||||
public B links(Set<Link> links) {
|
||||
this.links = checkNotNull(links, "links");
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see VirtualHardwareSection#getLinks()
|
||||
*/
|
||||
public B link(Link link) {
|
||||
this.links.add(checkNotNull(link, "link"));
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see VirtualHardwareSection#getHref()
|
||||
*/
|
||||
public B href(URI href) {
|
||||
this.href = href;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see VirtualHardwareSection#getType()
|
||||
*/
|
||||
public B type(String type) {
|
||||
this.type = type;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
|
@ -167,38 +128,25 @@ public class VirtualHardwareSection extends SectionType {
|
|||
return fromSectionType(in)
|
||||
.items(in.getItems())
|
||||
.transport(in.getTransport())
|
||||
.system(in.getSystem())
|
||||
.links(Sets.newLinkedHashSet(in.getLinks()))
|
||||
.href(in.getHref())
|
||||
.type(in.getType());
|
||||
.system(in.getSystem());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlElement(name = "System")
|
||||
private VirtualSystemSettingData virtualSystem;
|
||||
protected VirtualSystemSettingData virtualSystem;
|
||||
@XmlAttribute(name = "transport")
|
||||
private String transport;
|
||||
protected String transport;
|
||||
@XmlElement(name = "Item")
|
||||
private Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||
protected Set<Link> links = Sets.newLinkedHashSet();
|
||||
@XmlAttribute(namespace = VCLOUD_1_5_NS)
|
||||
@XmlSchemaType(name = "anyURI")
|
||||
protected URI href;
|
||||
@XmlAttribute(namespace = VCLOUD_1_5_NS)
|
||||
protected String type;
|
||||
protected Set<? extends ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||
|
||||
private VirtualHardwareSection(Builder<?> builder) {
|
||||
protected VirtualHardwareSection(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.virtualSystem = builder.virtualSystem;
|
||||
this.transport = builder.transport;
|
||||
this.items = builder.items != null ? ImmutableSet.copyOf(builder.items) : Sets.<ResourceAllocationSettingData>newLinkedHashSet();
|
||||
this.links = builder.links != null ? ImmutableSet.copyOf(builder.links) : Sets.<Link>newLinkedHashSet();
|
||||
this.href = builder.href;
|
||||
this.type = builder.type;
|
||||
}
|
||||
|
||||
private VirtualHardwareSection() {
|
||||
protected VirtualHardwareSection() {
|
||||
// For JAXB
|
||||
}
|
||||
|
||||
|
@ -229,36 +177,13 @@ public class VirtualHardwareSection extends SectionType {
|
|||
return virtualSystem;
|
||||
}
|
||||
|
||||
public Set<ResourceAllocationSettingData> getItems() {
|
||||
public Set<? extends ResourceAllocationSettingData> getItems() {
|
||||
return ImmutableSet.copyOf(items);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of the link property.
|
||||
*/
|
||||
public Set<Link> getLinks() {
|
||||
return ImmutableSet.copyOf(links);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the value of the href property.
|
||||
*/
|
||||
public URI getHref() {
|
||||
return href;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of the type property.
|
||||
*
|
||||
* @return possible object is {@link String }
|
||||
*/
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), transport, virtualSystem, items, links, href, type);
|
||||
return Objects.hashCode(super.hashCode(), transport, virtualSystem, items);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -267,17 +192,17 @@ public class VirtualHardwareSection extends SectionType {
|
|||
if (obj == null) return false;
|
||||
if (getClass() != obj.getClass()) return false;
|
||||
VirtualHardwareSection that = VirtualHardwareSection.class.cast(obj);
|
||||
return super.equals(that) &&
|
||||
equal(this.transport, that.transport) &&
|
||||
equal(this.virtualSystem, that.virtualSystem) &&
|
||||
equal(this.items, that.items) &&
|
||||
equal(this.links, that.links) &&
|
||||
equal(this.href, that.href) &&
|
||||
equal(this.type, that.type);
|
||||
return super.equals(that)
|
||||
&& equal(this.transport, that.transport)
|
||||
&& equal(this.virtualSystem, that.virtualSystem)
|
||||
&& equal(this.items, that.items);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Objects.ToStringHelper string() {
|
||||
return super.string().add("transport", transport).add("virtualSystem", virtualSystem).add("items", items).add("links", links).add("href", href).add("type", type);
|
||||
return super.string()
|
||||
.add("transport", transport)
|
||||
.add("virtualSystem", virtualSystem)
|
||||
.add("items", items);
|
||||
}
|
||||
}
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_ENV_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_ENV_NS;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
@ -54,11 +54,11 @@ import com.google.common.collect.Sets;
|
|||
@XmlType(name = "Entity_Type")
|
||||
public class EntityType {
|
||||
|
||||
@XmlElementRef(name = "Section", namespace = VCLOUD_OVF_ENV_NS)
|
||||
@XmlElementRef(name = "Section", namespace = OVF_ENV_NS)
|
||||
protected Set<SectionType<?>> sections = Sets.newLinkedHashSet();
|
||||
@XmlAnyElement(lax = true)
|
||||
protected Set<Object> any = Sets.newLinkedHashSet();
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_ENV_NS, required = true)
|
||||
@XmlAttribute(namespace = OVF_ENV_NS, required = true)
|
||||
protected String id;
|
||||
@XmlAnyAttribute
|
||||
private Map<QName, String> otherAttributes = Maps.newLinkedHashMap();
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_ENV_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_ENV_NS;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
@ -56,13 +56,13 @@ import com.google.common.collect.Sets;
|
|||
@XmlType(name = "Environment_Type")
|
||||
public class EnvironmentType {
|
||||
|
||||
@XmlElementRef(name = "Section", namespace = VCLOUD_OVF_ENV_NS)
|
||||
@XmlElementRef(name = "Section", namespace = OVF_ENV_NS)
|
||||
protected Set<SectionType<?>> sections = Sets.newLinkedHashSet();
|
||||
@XmlElement(name = "Entity")
|
||||
protected Set<EntityType> entities = Sets.newLinkedHashSet();
|
||||
@XmlAnyElement(lax = true)
|
||||
protected Set<Object> any = Sets.newLinkedHashSet();
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_ENV_NS)
|
||||
@XmlAttribute(namespace = OVF_ENV_NS)
|
||||
protected String id;
|
||||
@XmlAnyAttribute
|
||||
private Map<QName, String> otherAttributes = Maps.newLinkedHashMap();
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.cim.CimString;
|
||||
import org.jclouds.dmtf.cim.CimString;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.Sets;
|
|
@ -16,9 +16,9 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_ENV_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_ENV_NS;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -34,9 +34,9 @@ import javax.xml.namespace.QName;
|
|||
@XmlType(name = "")
|
||||
public class Property {
|
||||
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_ENV_NS, required = true)
|
||||
@XmlAttribute(namespace = OVF_ENV_NS, required = true)
|
||||
protected String key;
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_ENV_NS, required = true)
|
||||
@XmlAttribute(namespace = OVF_ENV_NS, required = true)
|
||||
protected String value;
|
||||
@XmlAnyAttribute
|
||||
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import java.util.Set;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import java.util.Map;
|
||||
|
|
@ -16,19 +16,20 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
@XmlSchema(namespace = VCLOUD_OVF_ENV_NS,
|
||||
@XmlSchema(namespace = OVF_ENV_NS,
|
||||
elementFormDefault = XmlNsForm.QUALIFIED,
|
||||
xmlns = {
|
||||
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS),
|
||||
@XmlNs(prefix = "ovf", namespaceURI = VCLOUD_OVF_NS)
|
||||
@XmlNs(prefix = "cim", namespaceURI = CIM_NS),
|
||||
@XmlNs(prefix = "ovf", namespaceURI = OVF_NS),
|
||||
@XmlNs(prefix = "env", namespaceURI = OVF_ENV_NS)
|
||||
}
|
||||
)
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.environment;
|
||||
package org.jclouds.dmtf.ovf.environment;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_ENV_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_ENV_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
|
@ -16,15 +16,15 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.internal;
|
||||
package org.jclouds.dmtf.ovf.internal;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.DiskSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.NetworkSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.DiskSection;
|
||||
import org.jclouds.dmtf.ovf.NetworkSection;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
@ -32,80 +32,87 @@ import com.google.common.collect.Sets;
|
|||
|
||||
/**
|
||||
* @author Adrian Cole
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
public abstract class BaseEnvelope<V extends BaseVirtualSystem, E extends BaseEnvelope<V, E>> {
|
||||
|
||||
// FIXME Fix builder pattern used
|
||||
|
||||
public abstract Builder<V, E> toBuilder();
|
||||
public abstract Builder<?, V, E> toBuilder();
|
||||
|
||||
public static abstract class Builder<B extends Builder<B, V, E>, V extends BaseVirtualSystem, E extends BaseEnvelope<V, E>> {
|
||||
|
||||
public static abstract class Builder<V extends BaseVirtualSystem, E extends BaseEnvelope<V, E>> {
|
||||
protected Set<DiskSection> diskSections = Sets.newLinkedHashSet();
|
||||
protected Set<NetworkSection> networkSections = Sets.newLinkedHashSet();
|
||||
protected Set<SectionType> additionalSections = Sets.newLinkedHashSet();
|
||||
protected V virtualSystem;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
protected B self() {
|
||||
return (B) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getDiskSections
|
||||
*/
|
||||
public Builder<V, E> diskSection(DiskSection diskSection) {
|
||||
public B diskSection(DiskSection diskSection) {
|
||||
this.diskSections.add(checkNotNull(diskSection, "diskSection"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getDiskSections
|
||||
*/
|
||||
public Builder<V, E> diskSections(Iterable<? extends DiskSection> diskSections) {
|
||||
public B diskSections(Iterable<? extends DiskSection> diskSections) {
|
||||
this.diskSections = ImmutableSet.<DiskSection> copyOf(checkNotNull(diskSections, "diskSections"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getNetworkSections
|
||||
*/
|
||||
public Builder<V, E> networkSection(NetworkSection networkSection) {
|
||||
public B networkSection(NetworkSection networkSection) {
|
||||
this.networkSections.add(checkNotNull(networkSection, "networkSection"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getNetworkSections
|
||||
*/
|
||||
public Builder<V, E> networkSections(Iterable<? extends NetworkSection> networkSections) {
|
||||
public B networkSections(Iterable<? extends NetworkSection> networkSections) {
|
||||
this.networkSections = ImmutableSet.<NetworkSection> copyOf(checkNotNull(networkSections, "networkSections"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getAdditionalSections
|
||||
*/
|
||||
public Builder<V, E> additionalSection(SectionType additionalSection) {
|
||||
public B additionalSection(SectionType additionalSection) {
|
||||
this.additionalSections.add(checkNotNull(additionalSection, "additionalSection"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getAdditionalSections
|
||||
*/
|
||||
public Builder<V, E> additionalSections(Iterable<? extends SectionType> additionalSections) {
|
||||
public B additionalSections(Iterable<? extends SectionType> additionalSections) {
|
||||
this.additionalSections = ImmutableSet.<SectionType> copyOf(checkNotNull(additionalSections, "additionalSections"));
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseEnvelope#getVirtualSystem
|
||||
*/
|
||||
public Builder<V, E> virtualSystem(V virtualSystem) {
|
||||
public B virtualSystem(V virtualSystem) {
|
||||
this.virtualSystem = virtualSystem;
|
||||
return this;
|
||||
return self();
|
||||
}
|
||||
|
||||
public abstract E build() ;
|
||||
public abstract E build();
|
||||
|
||||
public Builder<V, E> fromEnvelope(BaseEnvelope<V, E> in) {
|
||||
return virtualSystem(in.getVirtualSystem()).diskSections(in.getDiskSections())
|
||||
.networkSections(networkSections).additionalSections(in.getAdditionalSections());
|
||||
public B fromEnvelope(BaseEnvelope<V, E> in) {
|
||||
return virtualSystem(in.getVirtualSystem())
|
||||
.diskSections(in.getDiskSections())
|
||||
.networkSections(networkSections)
|
||||
.additionalSections(in.getAdditionalSections());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -115,12 +122,11 @@ public abstract class BaseEnvelope<V extends BaseVirtualSystem, E extends BaseEn
|
|||
private Set<SectionType> additionalSections;
|
||||
private V virtualSystem;
|
||||
|
||||
protected BaseEnvelope(Iterable<? extends DiskSection> diskSections, Iterable<? extends NetworkSection> networkSections,
|
||||
Iterable<? extends SectionType> additionalSections, V virtualSystem) {
|
||||
this.diskSections = ImmutableSet.copyOf(checkNotNull(diskSections, "diskSections"));
|
||||
this.networkSections = ImmutableSet.copyOf(checkNotNull(networkSections, "networkSections"));
|
||||
this.additionalSections = ImmutableSet.copyOf(checkNotNull(additionalSections, "additionalSections"));
|
||||
this.virtualSystem = checkNotNull(virtualSystem, "virtualSystem");
|
||||
protected BaseEnvelope(Builder<?, V, E> builder) {
|
||||
this.diskSections = ImmutableSet.copyOf(checkNotNull(builder.diskSections, "diskSections"));
|
||||
this.networkSections = ImmutableSet.copyOf(checkNotNull(builder.networkSections, "networkSections"));
|
||||
this.additionalSections = ImmutableSet.copyOf(checkNotNull(builder.additionalSections, "additionalSections"));
|
||||
this.virtualSystem = checkNotNull(builder.virtualSystem, "virtualSystem");
|
||||
}
|
||||
|
||||
protected BaseEnvelope() {
|
||||
|
@ -134,6 +140,10 @@ public abstract class BaseEnvelope<V extends BaseVirtualSystem, E extends BaseEn
|
|||
public Set<? extends DiskSection> getDiskSections() {
|
||||
return diskSections;
|
||||
}
|
||||
|
||||
public Set<NetworkSection> getNetworkSections() {
|
||||
return networkSections;
|
||||
}
|
||||
|
||||
public Set<SectionType> getAdditionalSections() {
|
||||
return additionalSections;
|
||||
|
@ -163,11 +173,10 @@ public abstract class BaseEnvelope<V extends BaseVirtualSystem, E extends BaseEn
|
|||
}
|
||||
|
||||
protected Objects.ToStringHelper string() {
|
||||
return Objects.toStringHelper("").add("diskSections", diskSections).add("networkSections", networkSections)
|
||||
.add("additionalSections", additionalSections).add("virtualSystem", virtualSystem);
|
||||
}
|
||||
|
||||
public Set<NetworkSection> getNetworkSections() {
|
||||
return networkSections;
|
||||
return Objects.toStringHelper("")
|
||||
.add("diskSections", diskSections)
|
||||
.add("networkSections", networkSections)
|
||||
.add("additionalSections", additionalSections)
|
||||
.add("virtualSystem", virtualSystem);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,175 @@
|
|||
/**
|
||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||
* contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. jclouds licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.dmtf.ovf.internal;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlElementRef;
|
||||
|
||||
import org.jclouds.dmtf.ovf.ProductSection;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
/**
|
||||
* @author Adrian Cole
|
||||
*/
|
||||
public abstract class BaseVirtualSystem extends SectionType {
|
||||
|
||||
public static abstract class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||
|
||||
private String id;
|
||||
private String name;
|
||||
private Set<ProductSection> productSections = Sets.newLinkedHashSet();
|
||||
private Set<SectionType> additionalSections = Sets.newLinkedHashSet();
|
||||
|
||||
/**
|
||||
* @see BaseVirtualSystem#getName()
|
||||
*/
|
||||
public B name(String name) {
|
||||
this.name = name;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseVirtualSystem#getId()
|
||||
*/
|
||||
public B id(String id) {
|
||||
this.id = id;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseVirtualSystem#getProductSections()
|
||||
*/
|
||||
public B productSection(ProductSection productSection) {
|
||||
this.productSections.add(checkNotNull(productSection, "productSection"));
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseVirtualSystem#getProductSections()
|
||||
*/
|
||||
public B productSections(Iterable<? extends ProductSection> productSections) {
|
||||
this.productSections = Sets.newLinkedHashSet(checkNotNull(productSections, "productSections"));
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseVirtualSystem#getAdditionalSections()
|
||||
*/
|
||||
public B additionalSection(SectionType additionalSection) {
|
||||
this.additionalSections.add(checkNotNull(additionalSection, "additionalSection"));
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see BaseVirtualSystem#getAdditionalSections()
|
||||
*/
|
||||
public B additionalSections(Iterable<? extends SectionType> additionalSections) {
|
||||
this.additionalSections = Sets.newLinkedHashSet(checkNotNull(additionalSections, "additionalSections"));
|
||||
return self();
|
||||
}
|
||||
|
||||
public B fromBaseVirtualSystem(BaseVirtualSystem in) {
|
||||
return fromSectionType(in)
|
||||
.id(in.getId())
|
||||
.name(in.getName())
|
||||
.productSections(in.getProductSections())
|
||||
.additionalSections(in.getAdditionalSections());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlAttribute(namespace = OVF_NS)
|
||||
private String id;
|
||||
@XmlElement(name = "Name")
|
||||
private String name;
|
||||
@XmlElement(name = "ProductSection")
|
||||
private Set<? extends ProductSection> productSections;
|
||||
@XmlElementRef
|
||||
private Set<? extends SectionType> additionalSections;
|
||||
|
||||
protected BaseVirtualSystem(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.id = builder.id;
|
||||
this.name = builder.name;
|
||||
this.productSections = ImmutableSet.copyOf(checkNotNull(builder.productSections, "productSections"));
|
||||
this.additionalSections = ImmutableSet.copyOf(checkNotNull(builder.additionalSections, "additionalSections"));
|
||||
}
|
||||
|
||||
protected BaseVirtualSystem() {
|
||||
// For JAXB
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies product-information for a package, such as product name and version, along with a
|
||||
* set of properties that can be configured
|
||||
*/
|
||||
public Set<? extends ProductSection> getProductSections() {
|
||||
return productSections;
|
||||
}
|
||||
|
||||
public Set<? extends SectionType> getAdditionalSections() {
|
||||
return additionalSections;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), id, name, productSections, additionalSections);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) return true;
|
||||
if (obj == null) return false;
|
||||
if (getClass() != obj.getClass()) return false;
|
||||
|
||||
BaseVirtualSystem other = (BaseVirtualSystem) obj;
|
||||
return super.equals(other)
|
||||
&& equal(id, other.id)
|
||||
&& equal(name, other.name)
|
||||
&& equal(productSections, other.productSections)
|
||||
&& equal(additionalSections, other.additionalSections);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Objects.ToStringHelper string() {
|
||||
return super.string()
|
||||
.add("id", id)
|
||||
.add("name", name)
|
||||
.add("productSections", productSections)
|
||||
.add("additionalSections", additionalSections);
|
||||
}
|
||||
}
|
|
@ -16,17 +16,18 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
@XmlSchema(namespace = VCLOUD_OVF_NS,
|
||||
@XmlSchema(namespace = OVF_NS,
|
||||
elementFormDefault = XmlNsForm.QUALIFIED,
|
||||
xmlns = {
|
||||
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS)
|
||||
@XmlNs(prefix = "cim", namespaceURI = CIM_NS),
|
||||
@XmlNs(prefix = "ovf", namespaceURI = OVF_NS)
|
||||
}
|
||||
)
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf.internal;
|
||||
package org.jclouds.dmtf.ovf.internal;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
|
@ -16,21 +16,18 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
@XmlSchema(namespace = VCLOUD_OVF_NS,
|
||||
@XmlSchema(namespace = OVF_NS,
|
||||
elementFormDefault = XmlNsForm.QUALIFIED,
|
||||
xmlns = {
|
||||
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS),
|
||||
@XmlNs(prefix = "vmv", namespaceURI = VCLOUD_VMW_NS),
|
||||
@XmlNs(prefix = "vcloud", namespaceURI = VCLOUD_1_5_NS)
|
||||
@XmlNs(prefix = "cim", namespaceURI = CIM_NS),
|
||||
@XmlNs(prefix = "ovf", namespaceURI = OVF_NS)
|
||||
}
|
||||
)
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.dmtf.ovf;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_VMW_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.CIM_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
|
@ -0,0 +1,151 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
|
||||
|
||||
<!--
|
||||
For more configuration infromation and examples see the Apache
|
||||
Log4j website: http://logging.apache.org/log4j/
|
||||
-->
|
||||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
|
||||
debug="false">
|
||||
|
||||
<!-- A time/date based rolling appender -->
|
||||
<appender name="WIREFILE" class="org.apache.log4j.DailyRollingFileAppender">
|
||||
<param name="File" value="target/test-data/jclouds-wire.log" />
|
||||
<param name="Append" value="true" />
|
||||
|
||||
<!-- Rollover at midnight each day -->
|
||||
<param name="DatePattern" value="'.'yyyy-MM-dd" />
|
||||
|
||||
<param name="Threshold" value="TRACE" />
|
||||
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<!-- The default pattern: Date Priority [Category] Message\n -->
|
||||
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
|
||||
|
||||
<!--
|
||||
The full pattern: Date MS Priority [Category]
|
||||
(Thread:NDC) Message\n <param name="ConversionPattern"
|
||||
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
|
||||
-->
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!-- A time/date based rolling appender -->
|
||||
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
|
||||
<param name="File" value="target/test-data/jclouds.log" />
|
||||
<param name="Append" value="true" />
|
||||
|
||||
<!-- Rollover at midnight each day -->
|
||||
<param name="DatePattern" value="'.'yyyy-MM-dd" />
|
||||
|
||||
<param name="Threshold" value="TRACE" />
|
||||
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<!-- The default pattern: Date Priority [Category] Message\n -->
|
||||
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
|
||||
|
||||
<!--
|
||||
The full pattern: Date MS Priority [Category]
|
||||
(Thread:NDC) Message\n <param name="ConversionPattern"
|
||||
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
|
||||
-->
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!-- A time/date based rolling appender -->
|
||||
<appender name="COMPUTEFILE" class="org.apache.log4j.DailyRollingFileAppender">
|
||||
<param name="File" value="target/test-data/jclouds-compute.log" />
|
||||
<param name="Append" value="true" />
|
||||
|
||||
<!-- Rollover at midnight each day -->
|
||||
<param name="DatePattern" value="'.'yyyy-MM-dd" />
|
||||
|
||||
<param name="Threshold" value="TRACE" />
|
||||
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<!-- The default pattern: Date Priority [Category] Message\n -->
|
||||
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
|
||||
|
||||
<!--
|
||||
The full pattern: Date MS Priority [Category]
|
||||
(Thread:NDC) Message\n <param name="ConversionPattern"
|
||||
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
|
||||
-->
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!-- A time/date based rolling appender -->
|
||||
<appender name="SSHFILE" class="org.apache.log4j.DailyRollingFileAppender">
|
||||
<param name="File" value="target/test-data/jclouds-ssh.log" />
|
||||
<param name="Append" value="true" />
|
||||
|
||||
<!-- Rollover at midnight each day -->
|
||||
<param name="DatePattern" value="'.'yyyy-MM-dd" />
|
||||
|
||||
<param name="Threshold" value="TRACE" />
|
||||
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<!-- The default pattern: Date Priority [Category] Message\n -->
|
||||
<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
|
||||
|
||||
<!--
|
||||
The full pattern: Date MS Priority [Category]
|
||||
(Thread:NDC) Message\n <param name="ConversionPattern"
|
||||
value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
|
||||
-->
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
|
||||
<appender-ref ref="COMPUTEFILE" />
|
||||
</appender>
|
||||
|
||||
<appender name="ASYNCSSH" class="org.apache.log4j.AsyncAppender">
|
||||
<appender-ref ref="SSHFILE" />
|
||||
</appender>
|
||||
|
||||
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
|
||||
<appender-ref ref="FILE" />
|
||||
</appender>
|
||||
|
||||
<appender name="ASYNCWIRE" class="org.apache.log4j.AsyncAppender">
|
||||
<appender-ref ref="WIREFILE" />
|
||||
</appender>
|
||||
|
||||
<!-- ================ -->
|
||||
<!-- Limit categories -->
|
||||
<!-- ================ -->
|
||||
|
||||
<category name="org.jclouds">
|
||||
<priority value="DEBUG" />
|
||||
<appender-ref ref="ASYNC" />
|
||||
</category>
|
||||
|
||||
<category name="jclouds.headers">
|
||||
<priority value="DEBUG" />
|
||||
<appender-ref ref="ASYNCWIRE" />
|
||||
</category>
|
||||
|
||||
<category name="jclouds.ssh">
|
||||
<priority value="DEBUG" />
|
||||
<appender-ref ref="ASYNCSSH" />
|
||||
</category>
|
||||
|
||||
<category name="jclouds.wire">
|
||||
<priority value="DEBUG" />
|
||||
<appender-ref ref="ASYNCWIRE" />
|
||||
</category>
|
||||
|
||||
<category name="jclouds.compute">
|
||||
<priority value="TRACE" />
|
||||
<appender-ref ref="ASYNCCOMPUTE" />
|
||||
</category>
|
||||
<!-- ======================= -->
|
||||
<!-- Setup the Root category -->
|
||||
<!-- ======================= -->
|
||||
|
||||
<root>
|
||||
<priority value="WARN" />
|
||||
</root>
|
||||
|
||||
</log4j:configuration>
|
|
@ -39,5 +39,6 @@
|
|||
<module>elb</module>
|
||||
<module>aws-elb</module>
|
||||
<module>savvis-symphonyvpdc</module>
|
||||
<module>dmtf</module>
|
||||
</modules>
|
||||
</project>
|
||||
|
|
|
@ -57,6 +57,11 @@
|
|||
<artifactId>jclouds-compute</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jclouds.labs</groupId>
|
||||
<artifactId>dmtf</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jclouds</groupId>
|
||||
<artifactId>jclouds-core</artifactId>
|
||||
|
|
|
@ -20,7 +20,6 @@ package org.jclouds.vcloud.director.v1_5;
|
|||
|
||||
import java.net.URI;
|
||||
|
||||
import org.jclouds.apis.ApiMetadata;
|
||||
import org.jclouds.apis.ApiType;
|
||||
import org.jclouds.apis.BaseApiMetadata;
|
||||
|
||||
|
|
|
@ -30,16 +30,6 @@ public class VCloudDirectorConstants {
|
|||
|
||||
public static final String VCLOUD_VMW_NS = "http://www.vmware.com/schema/ovf";
|
||||
|
||||
public static final String VCLOUD_OVF_NS = "http://schemas.dmtf.org/ovf/envelope/1";
|
||||
|
||||
public static final String VCLOUD_OVF_ENV_NS = "http://schemas.dmtf.org/ovf/environment/1";
|
||||
|
||||
public static final String VCLOUD_CIM_NS = "http://schemas.dmtf.org/wbem/wscim/1/common";
|
||||
|
||||
public static final String VCLOUD_CIM_VSSD_NS = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData";
|
||||
|
||||
public static final String VCLOUD_CIM_RASD_NS = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData";
|
||||
|
||||
/** The property used to configure the timeout for task completion. */
|
||||
public static final String PROPERTY_VCLOUD_DIRECTOR_TIMEOUT_TASK_COMPLETED = "jclouds.vcloud-director.timeout.task-complete";
|
||||
|
||||
|
|
|
@ -19,12 +19,6 @@
|
|||
package org.jclouds.vcloud.director.v1_5.admin;
|
||||
|
||||
import org.jclouds.rest.annotations.Delegate;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminVdc;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Group;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.User;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminCatalogAsyncClient;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminNetworkAsyncClient;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminOrgAsyncClient;
|
||||
|
|
|
@ -22,12 +22,6 @@ import java.util.concurrent.TimeUnit;
|
|||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
import org.jclouds.rest.annotations.Delegate;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminOrg;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.AdminVdc;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Catalog;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Group;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.User;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.Network;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminCatalogClient;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminNetworkClient;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminOrgClient;
|
||||
|
@ -35,7 +29,6 @@ import org.jclouds.vcloud.director.v1_5.features.admin.AdminQueryClient;
|
|||
import org.jclouds.vcloud.director.v1_5.features.admin.AdminVdcClient;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.GroupClient;
|
||||
import org.jclouds.vcloud.director.v1_5.features.admin.UserClient;
|
||||
import org.jclouds.vcloud.director.v1_5.user.VCloudDirectorAsyncClient;
|
||||
import org.jclouds.vcloud.director.v1_5.user.VCloudDirectorClient;
|
||||
|
||||
/**
|
||||
|
@ -82,6 +75,7 @@ public interface VCloudDirectorAdminClient extends VCloudDirectorClient {
|
|||
/**
|
||||
* @return synchronous access to {@link AdminVdc} features
|
||||
*/
|
||||
@Override
|
||||
@Delegate
|
||||
AdminVdcClient getVdcClient();
|
||||
|
||||
|
|
|
@ -28,8 +28,8 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlElementRef;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.DMTFConstants;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
|
@ -100,9 +100,8 @@ public abstract class AbstractVAppType extends ResourceEntityType {
|
|||
/**
|
||||
* @see AbstractVAppType#getSections()
|
||||
*/
|
||||
public B sections(List<SectionType> sections) {
|
||||
if (checkNotNull(sections, "sections").size() > 0)
|
||||
this.sections = Lists.newArrayList(sections);
|
||||
public B sections(Iterable<? extends SectionType> sections) {
|
||||
this.sections = Lists.newArrayList(checkNotNull(sections, "sections"));
|
||||
return self();
|
||||
}
|
||||
|
||||
|
@ -123,8 +122,8 @@ public abstract class AbstractVAppType extends ResourceEntityType {
|
|||
|
||||
@XmlElement(name = "VAppParent")
|
||||
private Reference vAppParent;
|
||||
@XmlElementRef(name = "Section", namespace = VCloudDirectorConstants.VCLOUD_OVF_NS)
|
||||
private List<SectionType> sections = Lists.newArrayList();
|
||||
@XmlElementRef(namespace = DMTFConstants.OVF_NS)
|
||||
private List<? extends SectionType> sections = Lists.newArrayList();
|
||||
@XmlAttribute
|
||||
private Boolean deployed;
|
||||
|
||||
|
@ -171,7 +170,7 @@ public abstract class AbstractVAppType extends ResourceEntityType {
|
|||
* <li>InstallSectionType
|
||||
* </ul>
|
||||
*/
|
||||
public List<SectionType> getSections() {
|
||||
public List<? extends SectionType> getSections() {
|
||||
return this.sections;
|
||||
}
|
||||
|
||||
|
@ -189,8 +188,10 @@ public abstract class AbstractVAppType extends ResourceEntityType {
|
|||
if (o == null || getClass() != o.getClass())
|
||||
return false;
|
||||
AbstractVAppType that = AbstractVAppType.class.cast(o);
|
||||
return super.equals(that) &&
|
||||
equal(this.vAppParent, that.vAppParent) && equal(this.sections, that.sections) && equal(this.deployed, that.deployed);
|
||||
return super.equals(that)
|
||||
&& equal(this.vAppParent, that.vAppParent)
|
||||
&& equal(this.sections, that.sections)
|
||||
&& equal(this.deployed, that.deployed);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -200,6 +201,9 @@ public abstract class AbstractVAppType extends ResourceEntityType {
|
|||
|
||||
@Override
|
||||
public ToStringHelper string() {
|
||||
return super.string().add("vAppParent", vAppParent).add("sections", sections).add("deployed", deployed);
|
||||
return super.string()
|
||||
.add("vAppParent", vAppParent)
|
||||
.add("sections", sections)
|
||||
.add("deployed", deployed);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,6 +131,7 @@ public class AdminVdc extends Vdc {
|
|||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminVdc build() {
|
||||
return new AdminVdc(this);
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ public class CapacityWithUsage extends CapacityType<CapacityWithUsage>
|
|||
return new Builder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return new Builder().fromCapacityWithUsage(this);
|
||||
}
|
||||
|
@ -87,6 +88,7 @@ public class CapacityWithUsage extends CapacityType<CapacityWithUsage>
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CapacityWithUsage build() {
|
||||
return new CapacityWithUsage(units, allocated, limit, used, overhead);
|
||||
}
|
||||
|
@ -94,6 +96,7 @@ public class CapacityWithUsage extends CapacityType<CapacityWithUsage>
|
|||
/**
|
||||
* @see CapacityType#getUnits()
|
||||
*/
|
||||
@Override
|
||||
public Builder units(String units) {
|
||||
this.units = units;
|
||||
return this;
|
||||
|
@ -102,6 +105,7 @@ public class CapacityWithUsage extends CapacityType<CapacityWithUsage>
|
|||
/**
|
||||
* @see CapacityType#getAllocated()
|
||||
*/
|
||||
@Override
|
||||
public Builder allocated(Long allocated) {
|
||||
this.allocated = allocated;
|
||||
return this;
|
||||
|
@ -110,6 +114,7 @@ public class CapacityWithUsage extends CapacityType<CapacityWithUsage>
|
|||
/**
|
||||
* @see CapacityType#getLimit()
|
||||
*/
|
||||
@Override
|
||||
public Builder limit(Long limit) {
|
||||
this.limit = limit;
|
||||
return this;
|
||||
|
|
|
@ -31,8 +31,7 @@ import javax.xml.bind.annotation.XmlElementRef;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.StartupSection;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
@ -111,6 +110,7 @@ public class CaptureVAppParams extends ParamsType {
|
|||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CaptureVAppParams build() {
|
||||
return new CaptureVAppParams(this);
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ public class Catalog extends CatalogType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromCatalog(this);
|
||||
}
|
||||
|
|
|
@ -49,6 +49,7 @@ public class CatalogItem extends EntityType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromCatalogItem(this);
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ public class CloneMediaParams extends ParamsType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromCloneMediaParams(this);
|
||||
}
|
||||
|
@ -89,6 +90,7 @@ public class CloneMediaParams extends ParamsType {
|
|||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CloneMediaParams build() {
|
||||
return new CloneMediaParams(this);
|
||||
}
|
||||
|
|
|
@ -44,12 +44,13 @@ import com.google.common.collect.Lists;
|
|||
*/
|
||||
@XmlRootElement(name = "ComposeVAppParams")
|
||||
@XmlType(name = "ComposeVAppParamsType")
|
||||
public class ComposeVAppParams extends VAppCreationParamsType {
|
||||
public class ComposeVAppParams extends VAppCreationParams {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromComposeVAppParams(this);
|
||||
}
|
||||
|
@ -57,7 +58,7 @@ public class ComposeVAppParams extends VAppCreationParamsType {
|
|||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static abstract class Builder<B extends Builder<B>> extends VAppCreationParamsType.Builder<B> {
|
||||
public static abstract class Builder<B extends Builder<B>> extends VAppCreationParams.Builder<B> {
|
||||
|
||||
private List<SourcedCompositionItemParam> sourcedItems = Lists.newArrayList();
|
||||
private Boolean allEULAsAccepted;
|
||||
|
|
|
@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
|
|
@ -88,6 +88,7 @@ public class DhcpService extends NetworkServiceType<DhcpService> {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DhcpService build() {
|
||||
return new DhcpService(isEnabled, defaultLeaseTime, maxLeaseTime, ipRange);
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ public class Entity extends EntityType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromEntity(this);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/**
|
||||
/*
|
||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||
* contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
|
@ -16,52 +16,49 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
package org.jclouds.vcloud.director.v1_5.domain;
|
||||
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.dmtf.DMTFConstants.OVF_NS;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.internal.BaseVirtualSystem;
|
||||
import org.jclouds.dmtf.ovf.internal.BaseEnvelope;
|
||||
|
||||
/**
|
||||
* @author Adrian Cole
|
||||
* @author Adam Lowe
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlRootElement(name = "VirtualSystem", namespace = VCLOUD_OVF_NS)
|
||||
public class VirtualSystem extends BaseVirtualSystem {
|
||||
@XmlRootElement(name = "Envelope", namespace = OVF_NS)
|
||||
public class Envelope extends BaseEnvelope<VirtualSystem, Envelope> {
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromVirtualSystem(this);
|
||||
return builder().fromEnvelope(this);
|
||||
}
|
||||
|
||||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static class Builder<B extends Builder<B>> extends BaseVirtualSystem.Builder<B> {
|
||||
public static class Builder<B extends Builder<B>> extends BaseEnvelope.Builder<B, VirtualSystem, Envelope> {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public VirtualSystem build() {
|
||||
return new VirtualSystem(this);
|
||||
}
|
||||
|
||||
public B fromVirtualSystem(VirtualSystem in) {
|
||||
return fromBaseVirtualSystem(in);
|
||||
public Envelope build() {
|
||||
return new Envelope(this);
|
||||
}
|
||||
}
|
||||
|
||||
private VirtualSystem(Builder<?> builder) {
|
||||
protected Envelope(Builder<?> builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
private VirtualSystem() {
|
||||
// for JAXB
|
||||
protected Envelope() {
|
||||
// For JaxB
|
||||
}
|
||||
}
|
|
@ -59,6 +59,7 @@ public class File extends EntityType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromFile(this);
|
||||
}
|
||||
|
@ -96,12 +97,13 @@ public class File extends EntityType {
|
|||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public File build() {
|
||||
return new File(this);
|
||||
|
||||
}
|
||||
|
||||
public Builder fromFile(File in) {
|
||||
public B fromFile(File in) {
|
||||
return fromEntityType(in)
|
||||
.size(in.getSize())
|
||||
.bytesTransferred(in.getBytesTransferred())
|
||||
|
|
|
@ -69,6 +69,7 @@ public class FirewallService extends NetworkServiceType<FirewallService> {
|
|||
return new Builder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return new Builder().fromFirewallService(this);
|
||||
}
|
||||
|
@ -102,6 +103,7 @@ public class FirewallService extends NetworkServiceType<FirewallService> {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FirewallService build() {
|
||||
return new FirewallService(isEnabled, defaultAction, logDefaultAction, firewallRules);
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
|
|
@ -37,12 +37,13 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlType(name = "InstantiateOvfParams")
|
||||
public class InstantiateOvfParams extends VAppCreationParamsType {
|
||||
public class InstantiateOvfParams extends VAppCreationParams {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromInstantiateOvfParams(this);
|
||||
}
|
||||
|
@ -50,7 +51,7 @@ public class InstantiateOvfParams extends VAppCreationParamsType {
|
|||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static abstract class Builder<B extends Builder<B>> extends VAppCreationParamsType.Builder<B> {
|
||||
public static abstract class Builder<B extends Builder<B>> extends VAppCreationParams.Builder<B> {
|
||||
|
||||
private Boolean allEULAsAccepted;
|
||||
private String transferFormat;
|
||||
|
|
|
@ -42,7 +42,7 @@ import com.google.common.base.Objects.ToStringHelper;
|
|||
*/
|
||||
@XmlRootElement(name = "InstantiateVAppParams")
|
||||
@XmlType(name = "InstantiateVAppParamsType")
|
||||
public class InstantiateVAppParams extends VAppCreationParamsType {
|
||||
public class InstantiateVAppParams extends VAppCreationParams {
|
||||
|
||||
public static final String MEDIA_TYPe = VCloudDirectorMediaType.INSTANTIATE_VAPP_TEMPLATE_PARAMS;
|
||||
|
||||
|
@ -58,7 +58,7 @@ public class InstantiateVAppParams extends VAppCreationParamsType {
|
|||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static abstract class Builder<B extends Builder<B>> extends VAppCreationParamsType.Builder<B> {
|
||||
public static abstract class Builder<B extends Builder<B>> extends VAppCreationParams.Builder<B> {
|
||||
|
||||
private Reference source;
|
||||
private Boolean sourceDelete;
|
||||
|
|
|
@ -40,6 +40,7 @@ public class InstantiateVAppTemplateParams extends InstantiateVAppParams {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromInstantiateVAppTemplateParams(this);
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlElementRef;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
|
|
@ -39,7 +39,7 @@ public abstract class IpsecVpnManagedPeerType<T extends IpsecVpnManagedPeerType<
|
|||
/**
|
||||
* @see IpRange#getStartAddress()
|
||||
*/
|
||||
public Builder id(String id) {
|
||||
public Builder<T> id(String id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
@ -47,13 +47,14 @@ public abstract class IpsecVpnManagedPeerType<T extends IpsecVpnManagedPeerType<
|
|||
/**
|
||||
* @see IpRange#getEndAddress()
|
||||
*/
|
||||
public Builder name(String name) {
|
||||
public Builder<T> name(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder<T> fromIpsecVpnManagedPeerType(IpsecVpnManagedPeerType<T> in) {
|
||||
return id(in.getId()).name(in.getName());
|
||||
return id(in.getId())
|
||||
.name(in.getName());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ import com.google.common.base.Objects;
|
|||
"vcdUsername"
|
||||
})
|
||||
public class IpsecVpnRemotePeer extends IpsecVpnManagedPeerType<IpsecVpnRemotePeer> {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
|
|
@ -69,6 +69,7 @@ public class IpsecVpnService extends NetworkServiceType<IpsecVpnService> {
|
|||
return new Builder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return new Builder().fromIpsecVpnService(this);
|
||||
}
|
||||
|
@ -103,6 +104,7 @@ public class IpsecVpnService extends NetworkServiceType<IpsecVpnService> {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IpsecVpnService build() {
|
||||
return new IpsecVpnService(isEnabled, externalIpAddress, publicIpAddress, ipsecVpnTunnels);
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
|
|
@ -153,6 +153,7 @@ public class Link extends Reference {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromLink(this);
|
||||
}
|
||||
|
|
|
@ -85,6 +85,7 @@ public class Media extends ResourceEntityType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromMedia(this);
|
||||
}
|
||||
|
|
|
@ -52,6 +52,7 @@ public class Metadata extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromMetadata(this);
|
||||
}
|
||||
|
|
|
@ -51,6 +51,7 @@ public class MetadataEntry extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromMetadataEntry(this);
|
||||
}
|
||||
|
|
|
@ -51,6 +51,7 @@ public class MetadataValue extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromMetadataValue(this);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ import com.google.common.base.Objects;
|
|||
"vmRule"
|
||||
})
|
||||
public class NatRule {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@ public class NatService extends NetworkServiceType<NatService> {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NatService build() {
|
||||
return new NatService(isEnabled, natType, policy, natRules);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
|
|
@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
|
|
@ -16,12 +16,11 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||
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.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_VMW_NS;
|
||||
|
||||
import java.net.URI;
|
||||
|
@ -30,11 +29,10 @@ import java.util.Set;
|
|||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||
import javax.xml.bind.annotation.XmlSeeAlso;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
|
@ -43,15 +41,17 @@ import com.google.common.collect.Sets;
|
|||
*
|
||||
* @author Adrian Cole
|
||||
* @author Adam Lowe
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlRootElement(name = "OperatingSystemSection")
|
||||
@XmlType
|
||||
public class OperatingSystemSection extends SectionType {
|
||||
@XmlSeeAlso({ org.jclouds.dmtf.ovf.OperatingSystemSection.class })
|
||||
public class OperatingSystemSection extends org.jclouds.dmtf.ovf.OperatingSystemSection {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromOperatingSystemSection(this);
|
||||
}
|
||||
|
@ -59,39 +59,13 @@ public class OperatingSystemSection extends SectionType {
|
|||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||
private int id;
|
||||
private String description;
|
||||
private String version;
|
||||
public static class Builder<B extends Builder<B>> extends org.jclouds.dmtf.ovf.OperatingSystemSection.Builder<B> {
|
||||
|
||||
private String osType;
|
||||
private URI href;
|
||||
private String type;
|
||||
private Set<Link> links;
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getId()
|
||||
*/
|
||||
public B id(int id) {
|
||||
this.id = id;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getVersion()
|
||||
*/
|
||||
public B version(String version) {
|
||||
this.version = version;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getDescription
|
||||
*/
|
||||
public B description(String description) {
|
||||
this.description = description;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see OperatingSystemSection#getOsType()
|
||||
*/
|
||||
|
@ -125,11 +99,9 @@ public class OperatingSystemSection extends SectionType {
|
|||
}
|
||||
|
||||
/**
|
||||
* @see ResourceType#getLinks()
|
||||
* @see OperatingSystemSection#getLinks()
|
||||
*/
|
||||
public B link(Link link) {
|
||||
if (links == null)
|
||||
links = Sets.newLinkedHashSet();
|
||||
this.links.add(checkNotNull(link, "link"));
|
||||
return self();
|
||||
}
|
||||
|
@ -143,18 +115,14 @@ public class OperatingSystemSection extends SectionType {
|
|||
}
|
||||
|
||||
public B fromOperatingSystemSection(OperatingSystemSection in) {
|
||||
return fromSectionType(in)
|
||||
.id(in.getId()).version(in.getVersion()).description(in.getDescription())
|
||||
.osType(in.getOsType()).href(in.getHref()).type(in.getType()).links(in.getLinks());
|
||||
return super.fromOperatingSystemSection(in)
|
||||
.osType(in.getOsType())
|
||||
.href(in.getHref())
|
||||
.type(in.getType())
|
||||
.links(in.getLinks());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_NS, required = true)
|
||||
protected int id;
|
||||
@XmlAttribute
|
||||
protected String version;
|
||||
@XmlElement(name = "Description")
|
||||
protected String description;
|
||||
@XmlAttribute(namespace = VCLOUD_VMW_NS)
|
||||
protected String osType;
|
||||
@XmlAttribute(namespace = VCLOUD_1_5_NS)
|
||||
|
@ -162,46 +130,20 @@ public class OperatingSystemSection extends SectionType {
|
|||
@XmlAttribute(namespace = VCLOUD_1_5_NS)
|
||||
private String type;
|
||||
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||
private Set<Link> links;
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
|
||||
public OperatingSystemSection(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.id = builder.id;
|
||||
this.description = builder.description;
|
||||
this.version = builder.version;
|
||||
this.osType = builder.osType;
|
||||
this.href = builder.href;
|
||||
this.type = builder.type;
|
||||
this.links = builder.links;
|
||||
this.links = builder.links != null && builder.links.isEmpty() ? null : builder.links;;
|
||||
}
|
||||
|
||||
protected OperatingSystemSection() {
|
||||
// For Builders and JAXB
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the OVF id
|
||||
*
|
||||
* @see org.jclouds.vcloud.director.v1_5.domain.cim.OSType#getCode()
|
||||
*/
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the version
|
||||
*/
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the description or null
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the osType
|
||||
*/
|
||||
|
@ -233,12 +175,12 @@ public class OperatingSystemSection extends SectionType {
|
|||
* @see ResourceType#getLinks()
|
||||
*/
|
||||
public Set<Link> getLinks() {
|
||||
return links == null ? Sets.<Link>newLinkedHashSet() : ImmutableSet.copyOf(links);
|
||||
return links != null ? ImmutableSet.copyOf(links) : Sets.<Link>newLinkedHashSet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), id, version, description, osType, href, type, links);
|
||||
return Objects.hashCode(super.hashCode(), osType, href, type, links);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -246,16 +188,21 @@ public class OperatingSystemSection extends SectionType {
|
|||
if (this == obj) return true;
|
||||
if (obj == null) return false;
|
||||
if (getClass() != obj.getClass()) return false;
|
||||
|
||||
|
||||
OperatingSystemSection that = (OperatingSystemSection) obj;
|
||||
return super.equals(that) &&
|
||||
equal(this.id, that.id) && equal(this.version, that.version) && equal(this.description, that.description) &&
|
||||
equal(this.osType, that.osType) && equal(this.href, that.href) && equal(this.links, that.links) && equal(this.type, that.type);
|
||||
return super.equals(that)
|
||||
&& equal(this.osType, that.osType)
|
||||
&& equal(this.href, that.href)
|
||||
&& equal(this.links, that.links)
|
||||
&& equal(this.type, that.type);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Objects.ToStringHelper string() {
|
||||
return super.string().add("id", id).add("version", version).add("description", description).add("osType", osType)
|
||||
.add("href", href).add("links", links).add("type", type);
|
||||
public ToStringHelper string() {
|
||||
return super.string()
|
||||
.add("osType", osType)
|
||||
.add("type", type)
|
||||
.add("href", href)
|
||||
.add("links", links);
|
||||
}
|
||||
}
|
|
@ -50,6 +50,7 @@ public class Org extends EntityType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromOrg(this);
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ public class OrgGeneralSettings extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromOrgGeneralSettings(this);
|
||||
}
|
||||
|
@ -116,6 +117,7 @@ public class OrgGeneralSettings extends ResourceType {
|
|||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrgGeneralSettings build() {
|
||||
return new OrgGeneralSettings(this);
|
||||
}
|
||||
|
|
|
@ -64,6 +64,7 @@ public class OrgSettings extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromOrgSettings(this);
|
||||
}
|
||||
|
@ -128,6 +129,7 @@ public class OrgSettings extends ResourceType {
|
|||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrgSettings build() {
|
||||
return new OrgSettings(this);
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@ public class Owner extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromOwner(this);
|
||||
}
|
||||
|
|
|
@ -30,8 +30,8 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.ProductSection;
|
||||
import org.jclouds.dmtf.DMTFConstants;
|
||||
import org.jclouds.dmtf.ovf.ProductSection;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
|
@ -78,8 +78,7 @@ public class ProductSectionList extends ResourceType implements Set<ProductSecti
|
|||
* @see ProductSectionList#getProductSections()
|
||||
*/
|
||||
public B productSections(Set<ProductSection> productSections) {
|
||||
if (checkNotNull(productSections, "productSections").size() > 0)
|
||||
this.productSections = Sets.newLinkedHashSet(productSections);
|
||||
this.productSections = Sets.newLinkedHashSet(checkNotNull(productSections, "productSections"));
|
||||
return self();
|
||||
}
|
||||
|
||||
|
@ -87,8 +86,6 @@ public class ProductSectionList extends ResourceType implements Set<ProductSecti
|
|||
* @see ProductSectionList#getProductSections()
|
||||
*/
|
||||
public B productSection(ProductSection productSection) {
|
||||
if (productSections == null)
|
||||
productSections = Sets.newLinkedHashSet();
|
||||
this.productSections.add(checkNotNull(productSection, "productSection"));
|
||||
return self();
|
||||
}
|
||||
|
@ -114,7 +111,7 @@ public class ProductSectionList extends ResourceType implements Set<ProductSecti
|
|||
}
|
||||
|
||||
|
||||
@XmlElement(name = "ProductSection", namespace = VCloudDirectorConstants.VCLOUD_OVF_NS)
|
||||
@XmlElement(name = "ProductSection", namespace = DMTFConstants.OVF_NS)
|
||||
private Set<ProductSection> productSections;
|
||||
|
||||
/**
|
||||
|
@ -131,7 +128,8 @@ public class ProductSectionList extends ResourceType implements Set<ProductSecti
|
|||
if (o == null || getClass() != o.getClass())
|
||||
return false;
|
||||
ProductSectionList that = ProductSectionList.class.cast(o);
|
||||
return super.equals(that) && equal(this.productSections, that.productSections);
|
||||
return super.equals(that)
|
||||
&& equal(this.productSections, that.productSections);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,191 @@
|
|||
/*
|
||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||
* contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. jclouds licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
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.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlSchemaType;
|
||||
|
||||
import org.jclouds.dmtf.cim.ResourceAllocationSettingData;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
/**
|
||||
* The ResourceAllocationSettingData class represents settings specifically
|
||||
* related to an allocated resource that are outside the scope of the CIM class
|
||||
* typically used to represent the resource itself.
|
||||
*
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlRootElement(name = "Item", namespace = VCLOUD_1_5_NS)
|
||||
public class RasdItem extends ResourceAllocationSettingData {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromRasdItem(this);
|
||||
}
|
||||
|
||||
private static class ConcreteBuilder extends Builder<ConcreteBuilder> {
|
||||
}
|
||||
|
||||
public static class Builder<B extends Builder<B>> extends ResourceAllocationSettingData.Builder<Builder<B>>{
|
||||
|
||||
private URI href;
|
||||
private String type;
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
protected B self() {
|
||||
return (B) this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getType()
|
||||
*/
|
||||
public B type(String type) {
|
||||
this.type = type;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getHref()
|
||||
*/
|
||||
public B href(URI href) {
|
||||
this.href = href;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getLinks()
|
||||
*/
|
||||
public B links(Set<Link> links) {
|
||||
this.links = Sets.newLinkedHashSet(checkNotNull(links, "links"));
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ResourceAllocationSettingData#getLinks()
|
||||
*/
|
||||
public B link(Link link) {
|
||||
this.links.add(checkNotNull(link, "link"));
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public RasdItem build() {
|
||||
return new RasdItem(this);
|
||||
}
|
||||
|
||||
public B fromRasdItem(RasdItem in) {
|
||||
return fromResourceAllocationSettingData(in)
|
||||
.type(in.getType())
|
||||
.href(in.getHref())
|
||||
.links(in.getLinks());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlAttribute(name = "type", namespace = VCLOUD_1_5_NS)
|
||||
private String type;
|
||||
@XmlAttribute(name = "href", namespace = VCLOUD_1_5_NS)
|
||||
@XmlSchemaType(name = "anyURI")
|
||||
private URI href;
|
||||
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
|
||||
protected RasdItem(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.type = builder.type;
|
||||
this.href = builder.href;
|
||||
this.links = builder.links != null && builder.links.isEmpty() ? null : builder.links;;
|
||||
}
|
||||
|
||||
protected RasdItem() {
|
||||
// for JAXB
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains the URI to the entity.
|
||||
*
|
||||
* @see ResourceType#getHref()
|
||||
*/
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains the type of the the entity.
|
||||
*
|
||||
* @see ResourceType#getType()
|
||||
*/
|
||||
public URI getHref() {
|
||||
return href;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set of optional links to an entity or operation associated with this object.
|
||||
*
|
||||
* @see ResourceType#getLinks()
|
||||
*/
|
||||
public Set<Link> getLinks() {
|
||||
return links != null ? ImmutableSet.copyOf(links) : Sets.<Link>newLinkedHashSet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ToStringHelper string() {
|
||||
return super.string()
|
||||
.add("type", type)
|
||||
.add("href", href)
|
||||
.add("links", links);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), type, href, links);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) return true;
|
||||
if (obj == null) return false;
|
||||
if (getClass() != obj.getClass()) return false;
|
||||
|
||||
RasdItem that = RasdItem.class.cast(obj);
|
||||
return super.equals(that)
|
||||
&& equal(this.type, that.type)
|
||||
&& equal(this.href, that.href)
|
||||
&& equal(this.links, that.links);
|
||||
}
|
||||
|
||||
}
|
|
@ -29,8 +29,6 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.collect.Sets;
|
||||
|
@ -46,7 +44,7 @@ import com.google.common.collect.Sets;
|
|||
*/
|
||||
@XmlRootElement(name = "RasdItemsList")
|
||||
@XmlType(name = "RasdItemsList")
|
||||
public class RasdItemsList extends ResourceType implements Set<ResourceAllocationSettingData> {
|
||||
public class RasdItemsList extends ResourceType implements Set<RasdItem> {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
|
@ -62,12 +60,12 @@ public class RasdItemsList extends ResourceType implements Set<ResourceAllocatio
|
|||
|
||||
public static abstract class Builder<B extends Builder<B>> extends ResourceType.Builder<B> {
|
||||
|
||||
private Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||
private Set<RasdItem> items = Sets.newLinkedHashSet();
|
||||
|
||||
/**
|
||||
* @see RasdItemsList#getItems()
|
||||
*/
|
||||
public B items(Set<ResourceAllocationSettingData> items) {
|
||||
public B items(Set<RasdItem> items) {
|
||||
this.items = checkNotNull(items, "items");
|
||||
return self();
|
||||
}
|
||||
|
@ -75,7 +73,7 @@ public class RasdItemsList extends ResourceType implements Set<ResourceAllocatio
|
|||
/**
|
||||
* @see RasdItemsList#getItems()
|
||||
*/
|
||||
public B item(ResourceAllocationSettingData item) {
|
||||
public B item(RasdItem item) {
|
||||
this.items.add(checkNotNull(item, "item"));
|
||||
return self();
|
||||
}
|
||||
|
@ -101,12 +99,12 @@ public class RasdItemsList extends ResourceType implements Set<ResourceAllocatio
|
|||
}
|
||||
|
||||
@XmlElement(name = "Item")
|
||||
protected Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||
protected Set<RasdItem> items = Sets.newLinkedHashSet();
|
||||
|
||||
/**
|
||||
* A RASD item content.
|
||||
*/
|
||||
public Set<ResourceAllocationSettingData> getItems() {
|
||||
public Set<RasdItem> getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
|
@ -137,17 +135,17 @@ public class RasdItemsList extends ResourceType implements Set<ResourceAllocatio
|
|||
* <p>
|
||||
* NOTE Annoying lack of multiple inheritance for using ForwardingList!
|
||||
*/
|
||||
private Set<ResourceAllocationSettingData> delegate() {
|
||||
private Set<RasdItem> delegate() {
|
||||
return getItems();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean add(ResourceAllocationSettingData arg0) {
|
||||
public boolean add(RasdItem arg0) {
|
||||
return delegate().add(arg0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(Collection<? extends ResourceAllocationSettingData> arg0) {
|
||||
public boolean addAll(Collection<? extends RasdItem> arg0) {
|
||||
return delegate().addAll(arg0);
|
||||
}
|
||||
|
||||
|
@ -172,7 +170,7 @@ public class RasdItemsList extends ResourceType implements Set<ResourceAllocatio
|
|||
}
|
||||
|
||||
@Override
|
||||
public Iterator<ResourceAllocationSettingData> iterator() {
|
||||
public Iterator<RasdItem> iterator() {
|
||||
return delegate().iterator();
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ public class RecomposeVAppParams extends ComposeVAppParams {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromRecomposeVAppParams(this);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ import static com.google.common.base.Objects.equal;
|
|||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.JAXBElement;
|
||||
import javax.xml.bind.annotation.XmlElementRef;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
|
|
@ -32,6 +32,7 @@ public class Resource extends ResourceType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromResource(this);
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlElement;
|
|||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.SectionType;
|
||||
import org.jclouds.dmtf.ovf.SectionType;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
|
|
|
@ -65,6 +65,7 @@ public class StaticRoutingService extends NetworkServiceType<StaticRoutingServic
|
|||
return new Builder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return new Builder().fromStaticRoutingService(this);
|
||||
}
|
||||
|
@ -82,6 +83,7 @@ public class StaticRoutingService extends NetworkServiceType<StaticRoutingServic
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public StaticRoutingService build() {
|
||||
return new StaticRoutingService(isEnabled, staticRoutes);
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ public class Task extends EntityType {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromTask(this);
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ public class TasksList extends ResourceType implements Set<Task> {
|
|||
return new ConcreteBuilder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<?> toBuilder() {
|
||||
return builder().fromTasksList(this);
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue