diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Actions.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Actions.java index 0e803c396f..29b80c90a2 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Actions.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Actions.java @@ -22,7 +22,6 @@ import com.google.common.collect.Sets; import javax.xml.bind.annotation.XmlElement; import java.util.Collections; -import java.util.LinkedHashSet; import java.util.Set; import static com.google.common.base.Preconditions.checkNotNull; @@ -34,37 +33,74 @@ import static com.google.common.base.Preconditions.checkNotNull; */ public class Actions { - @XmlElement(name = "Action") - private LinkedHashSet actions = Sets.newLinkedHashSet(); + @SuppressWarnings("unchecked") + public static Builder builder() { + return new Builder(); + } - void addAction(Action action) { - checkNotNull(action,"action"); - this.actions.add(action); - } + public Builder toBuilder() { + return new Builder().fromActions(this); + } - public Set getActions() { - return Collections.unmodifiableSet(actions); - } + public static class Builder { - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + private Set actions = Sets.newLinkedHashSet(); - Actions actions1 = (Actions) o; + /** + * @see Actions#getActions + */ + public Builder actions(Set actions) { + this.actions = Sets.newLinkedHashSet(checkNotNull(actions, "actions")); + return this; + } - if (!actions.equals(actions1.actions)) return false; + public Builder addAction(Action action) { + actions.add(checkNotNull(action,"action")); + return this; + } - return true; - } + public Actions build() { + return new Actions(actions); + } - @Override - public int hashCode() { - return actions.hashCode(); - } + public Builder fromActions(Actions in) { + return actions(in.getActions()); + } + } - public String toString() { - return "["+ actions.toString()+"]"; - } + public Actions() { + //For JAXB and builder use + } + private Actions(Set actions) { + this.actions = Sets.newLinkedHashSet(actions); + } + + @XmlElement(name = "Action") + private Set actions = Sets.newLinkedHashSet(); + + public Set getActions() { + return Collections.unmodifiableSet(actions); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Actions actions1 = (Actions) o; + + if (!actions.equals(actions1.actions)) return false; + + return true; + } + + @Override + public int hashCode() { + return actions.hashCode(); + } + + public String toString() { + return "["+ actions.toString()+"]"; + } } diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Disks.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/Disks.java similarity index 97% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Disks.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/Disks.java index 0e2bc2f370..3f336e6392 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Disks.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/Disks.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.hardware; import com.google.common.collect.Sets; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/HardwareConfiguration.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/HardwareConfiguration.java similarity index 94% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/HardwareConfiguration.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/HardwareConfiguration.java index cb8193383d..6378452550 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/HardwareConfiguration.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/HardwareConfiguration.java @@ -16,12 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.hardware; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import org.jclouds.javax.annotation.Nullable; +import org.jclouds.tmrk.enterprisecloud.domain.Action; +import org.jclouds.tmrk.enterprisecloud.domain.Actions; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseResource; +import org.jclouds.tmrk.enterprisecloud.domain.network.Nics; +import org.jclouds.tmrk.enterprisecloud.domain.network.VirtualNic; import javax.xml.bind.annotation.XmlElement; import java.net.URI; @@ -162,7 +166,7 @@ public class HardwareConfiguration extends BaseResource { private Nics virtualNics = new Nics(); public HardwareConfiguration(Set actions, int processorCount, @Nullable Memory memory, Set virtualDisks, Set virtualNics) { - for( Action action: checkNotNull(actions, "actions")) this.actions.addAction(action); + this.actions = Actions.builder().actions(checkNotNull(actions, "actions")).build(); for( VirtualDisk disk: checkNotNull(virtualDisks, "virtualDisks")) this.virtualDisks.setVirtualDisk(disk); for( VirtualNic virtualNic: checkNotNull(virtualNics, "virtualNics")) this.virtualNics.setVirtualNic(virtualNic); diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Memory.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/Memory.java similarity index 97% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Memory.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/Memory.java index 8aaf5c7bd1..875216acad 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Memory.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/Memory.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.hardware; import org.jclouds.tmrk.enterprisecloud.domain.internal.ResourceCapacity; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualDisk.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/VirtualDisk.java similarity index 96% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualDisk.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/VirtualDisk.java index b61465c020..59ddbd648c 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualDisk.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/hardware/VirtualDisk.java @@ -16,9 +16,10 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.hardware; import org.jclouds.javax.annotation.Nullable; +import org.jclouds.tmrk.enterprisecloud.domain.Size; import javax.xml.bind.annotation.XmlElement; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/AssignedIpAddresses.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/AssignedIpAddresses.java similarity index 94% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/AssignedIpAddresses.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/AssignedIpAddresses.java index af211e735a..301a1b7f91 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/AssignedIpAddresses.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/AssignedIpAddresses.java @@ -16,8 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; +import org.jclouds.tmrk.enterprisecloud.domain.Actions; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseResource; import javax.xml.bind.annotation.XmlElement; @@ -47,7 +48,7 @@ public class AssignedIpAddresses extends BaseResource { checkNotNull(networks,"networks"); } - protected AssignedIpAddresses() { + public AssignedIpAddresses() { //For JAXB } diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceIps.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceIps.java similarity index 97% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceIps.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceIps.java index 5a2b5af4a4..c19118c568 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceIps.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceIps.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; import com.google.common.collect.Sets; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceNetwork.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceNetwork.java similarity index 96% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceNetwork.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceNetwork.java index eb4d9e15b2..d2e18a4fd6 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceNetwork.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceNetwork.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseNamedResource; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceNetworks.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceNetworks.java similarity index 96% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceNetworks.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceNetworks.java index ebdcd10a73..260fc7df71 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/DeviceNetworks.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/DeviceNetworks.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; import com.google.common.collect.Sets; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/NetworkReference.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/NetworkReference.java similarity index 98% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/NetworkReference.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/NetworkReference.java index a17d496095..57ab774346 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/NetworkReference.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/NetworkReference.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; import org.jclouds.javax.annotation.Nullable; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseNamedResource; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Nics.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/Nics.java similarity index 94% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Nics.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/Nics.java index 3c4e984786..eb11a8f34b 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/Nics.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/Nics.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; import com.google.common.collect.Sets; @@ -36,7 +36,7 @@ public class Nics { private LinkedHashSet nics = Sets.newLinkedHashSet(); @XmlElement(name = "Nic") - void setVirtualNic(VirtualNic nic) { + public void setVirtualNic(VirtualNic nic) { this.nics.add(nic); } diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualNic.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/VirtualNic.java similarity index 98% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualNic.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/VirtualNic.java index 617880941f..03bb25cd1e 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualNic.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/network/VirtualNic.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.network; import org.jclouds.javax.annotation.Nullable; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/OperatingSystem.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/software/OperatingSystem.java similarity index 98% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/OperatingSystem.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/software/OperatingSystem.java index 3fb94572c5..8d559faef7 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/OperatingSystem.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/software/OperatingSystem.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.software; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseNamedResource; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseResource; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/ToolsStatus.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/software/ToolsStatus.java similarity index 96% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/ToolsStatus.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/software/ToolsStatus.java index fc452876d4..b3d7d1ff55 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/ToolsStatus.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/software/ToolsStatus.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.software; import javax.xml.bind.annotation.XmlEnum; import javax.xml.bind.annotation.XmlEnumValue; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachine.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachine.java similarity index 97% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachine.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachine.java index 93e24ce748..29ff17e012 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachine.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachine.java @@ -16,11 +16,15 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.vm; import org.jclouds.javax.annotation.Nullable; +import org.jclouds.tmrk.enterprisecloud.domain.*; +import org.jclouds.tmrk.enterprisecloud.domain.hardware.HardwareConfiguration; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseNamedResource; import org.jclouds.tmrk.enterprisecloud.domain.internal.BaseResource; +import org.jclouds.tmrk.enterprisecloud.domain.software.OperatingSystem; +import org.jclouds.tmrk.enterprisecloud.domain.software.ToolsStatus; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlEnum; @@ -87,7 +91,7 @@ public class VirtualMachine extends BaseNamedResource { */ public Builder actions(Set actions) { checkNotNull(actions,"actions"); - for(Action action:actions) this.actions.addAction(action); + this.actions = Actions.builder().actions(actions).build(); return this; } diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachineIpAddresses.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachineIpAddresses.java similarity index 86% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachineIpAddresses.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachineIpAddresses.java index eb736b061e..fd7f048284 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachineIpAddresses.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachineIpAddresses.java @@ -16,15 +16,11 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.vm; -import com.google.common.collect.Sets; +import org.jclouds.tmrk.enterprisecloud.domain.network.AssignedIpAddresses; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.Set; /** * diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachines.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachines.java similarity index 97% rename from sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachines.java rename to sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachines.java index 282df14474..09a12eefd3 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/VirtualMachines.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/domain/vm/VirtualMachines.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.jclouds.tmrk.enterprisecloud.domain; +package org.jclouds.tmrk.enterprisecloud.domain.vm; import com.google.common.collect.Sets; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineAsyncClient.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineAsyncClient.java index 0cb443f947..1fdb2f38ce 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineAsyncClient.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineAsyncClient.java @@ -22,9 +22,9 @@ import com.google.common.util.concurrent.ListenableFuture; import org.jclouds.http.filters.BasicAuthentication; import org.jclouds.rest.annotations.*; import org.jclouds.rest.functions.ReturnNullOnNotFoundOr404; -import org.jclouds.tmrk.enterprisecloud.domain.AssignedIpAddresses; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachine; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachines; +import org.jclouds.tmrk.enterprisecloud.domain.network.AssignedIpAddresses; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachine; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachines; import javax.ws.rs.Consumes; import javax.ws.rs.GET; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClient.java b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClient.java index ee0b9dd720..49f743e800 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClient.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/main/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClient.java @@ -19,9 +19,9 @@ package org.jclouds.tmrk.enterprisecloud.features; import org.jclouds.concurrent.Timeout; -import org.jclouds.tmrk.enterprisecloud.domain.AssignedIpAddresses; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachine; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachines; +import org.jclouds.tmrk.enterprisecloud.domain.network.AssignedIpAddresses; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachine; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachines; import java.net.URI; import java.util.concurrent.TimeUnit; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/domain/ActionsTest.java b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/domain/ActionsTest.java new file mode 100644 index 0000000000..a3812e22c4 --- /dev/null +++ b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/domain/ActionsTest.java @@ -0,0 +1,57 @@ +/** + * 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.tmrk.enterprisecloud.domain; + +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Set; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; + +/** + * @author Jason King + */ +@Test(groups = "unit", testName = "ActionsTest") +public class ActionsTest { + + private Action action; + private Actions actions; + + @BeforeMethod() + public void setUp() throws URISyntaxException { + action = Action.builder().href(new URI("/1")).name("my action").type("test action").build(); + actions = Actions.builder().addAction(action).build(); + } + + @Test + public void testAddAction() throws URISyntaxException { + Action action2 = Action.builder().href(new URI("/2")).name("my action 2").type("test action 2").build(); + Actions twoActions = actions.toBuilder().addAction(action2).build(); + Set actionSet = twoActions.getActions(); + + assertEquals(2,actionSet.size()); + assertTrue(actionSet.contains(action)); + assertTrue(actionSet.contains(action2)); + } + +} diff --git a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClientLiveTest.java b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClientLiveTest.java index b7cdc046e9..2d56910add 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClientLiveTest.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/features/VirtualMachineClientLiveTest.java @@ -19,10 +19,10 @@ package org.jclouds.tmrk.enterprisecloud.features; import com.google.common.collect.Iterables; -import org.jclouds.tmrk.enterprisecloud.domain.AssignedIpAddresses; -import org.jclouds.tmrk.enterprisecloud.domain.DeviceNetwork; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachine; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachines; +import org.jclouds.tmrk.enterprisecloud.domain.network.AssignedIpAddresses; +import org.jclouds.tmrk.enterprisecloud.domain.network.DeviceNetwork; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachine; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachines; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; @@ -63,7 +63,7 @@ public class VirtualMachineClientLiveTest extends BaseTerremarkEnterpriseCloudCl // TODO: don't hard-code uri VirtualMachine virtualMachine = client.getVirtualMachine(new URI("/cloudapi/ecloud/virtualMachines/5504")); assert null != virtualMachine; - assertEquals(virtualMachine.getStatus(),VirtualMachine.VirtualMachineStatus.DEPLOYED); + assertEquals(virtualMachine.getStatus(), VirtualMachine.VirtualMachineStatus.DEPLOYED); } @Test diff --git a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/AssignedIpAddressesJAXBParsingTest.java b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/AssignedIpAddressesJAXBParsingTest.java index a5e84baae0..032767002b 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/AssignedIpAddressesJAXBParsingTest.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/AssignedIpAddressesJAXBParsingTest.java @@ -35,8 +35,8 @@ import org.jclouds.rest.AuthorizationException; import org.jclouds.rest.BaseRestClientTest; import org.jclouds.rest.RestContextSpec; import org.jclouds.rest.internal.RestAnnotationProcessor; -import org.jclouds.tmrk.enterprisecloud.domain.*; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachine.VirtualMachineStatus; +import org.jclouds.tmrk.enterprisecloud.domain.network.AssignedIpAddresses; +import org.jclouds.tmrk.enterprisecloud.domain.network.DeviceNetwork; import org.jclouds.tmrk.enterprisecloud.features.VirtualMachineAsyncClient; import org.testng.Assert; import org.testng.annotations.BeforeClass; diff --git a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/VirtualMachineJAXBParsingTest.java b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/VirtualMachineJAXBParsingTest.java index 3fbd14098c..35cc8db05b 100644 --- a/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/VirtualMachineJAXBParsingTest.java +++ b/sandbox-providers/tmrk-enterprisecloud/src/test/java/org/jclouds/tmrk/enterprisecloud/xml/VirtualMachineJAXBParsingTest.java @@ -36,7 +36,18 @@ import org.jclouds.rest.BaseRestClientTest; import org.jclouds.rest.RestContextSpec; import org.jclouds.rest.internal.RestAnnotationProcessor; import org.jclouds.tmrk.enterprisecloud.domain.*; -import org.jclouds.tmrk.enterprisecloud.domain.VirtualMachine.VirtualMachineStatus; +import org.jclouds.tmrk.enterprisecloud.domain.hardware.HardwareConfiguration; +import org.jclouds.tmrk.enterprisecloud.domain.hardware.Memory; +import org.jclouds.tmrk.enterprisecloud.domain.hardware.VirtualDisk; +import org.jclouds.tmrk.enterprisecloud.domain.network.AssignedIpAddresses; +import org.jclouds.tmrk.enterprisecloud.domain.network.DeviceNetwork; +import org.jclouds.tmrk.enterprisecloud.domain.network.NetworkReference; +import org.jclouds.tmrk.enterprisecloud.domain.network.VirtualNic; +import org.jclouds.tmrk.enterprisecloud.domain.software.OperatingSystem; +import org.jclouds.tmrk.enterprisecloud.domain.software.ToolsStatus; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachine.VirtualMachineStatus; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachine; +import org.jclouds.tmrk.enterprisecloud.domain.vm.VirtualMachineIpAddresses; import org.jclouds.tmrk.enterprisecloud.features.VirtualMachineAsyncClient; import org.testng.Assert; import org.testng.annotations.BeforeClass;