http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Server.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Server.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Server.java index 027e016..a36112d 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Server.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Server.java @@ -16,24 +16,20 @@ */ package org.jclouds.profitbricks.domain; -import org.jclouds.profitbricks.domain.internal.ServerCommonProperties; - -import com.google.auto.value.AutoValue; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; +import static org.jclouds.profitbricks.util.Preconditions.checkCores; +import static org.jclouds.profitbricks.util.Preconditions.checkRam; import java.util.Date; import java.util.List; -import org.jclouds.javax.annotation.Nullable; -import org.jclouds.profitbricks.domain.internal.HotPluggable; - +import com.google.auto.value.AutoValue; +import com.google.common.base.Enums; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; + +import org.jclouds.javax.annotation.Nullable; @AutoValue -public abstract class Server implements ServerCommonProperties { +public abstract class Server { public enum Status { @@ -44,11 +40,7 @@ public abstract class Server implements ServerCommonProperties { } public static Status fromValue(String v) { - try { - return valueOf(v); - } catch (IllegalArgumentException ex) { - return UNRECOGNIZED; - } + return Enums.getIfPresent(Status.class, v).or(UNRECOGNIZED); } } @@ -59,10 +51,15 @@ public abstract class Server implements ServerCommonProperties { public abstract String id(); @Nullable - @Override public abstract String name(); @Nullable + public abstract Integer cores(); + + @Nullable + public abstract Integer ram(); + + @Nullable public abstract Boolean hasInternetAccess(); @Nullable @@ -96,178 +93,129 @@ public abstract class Server implements ServerCommonProperties { public abstract Boolean loadBalanced(); @Nullable + public abstract Boolean isCpuHotPlug(); + + @Nullable + public abstract Boolean isCpuHotUnPlug(); + + @Nullable + public abstract Boolean isRamHotPlug(); + + @Nullable + public abstract Boolean isRamHotUnPlug(); + + @Nullable + public abstract Boolean isNicHotPlug(); + + @Nullable + public abstract Boolean isNicHotUnPlug(); + + @Nullable + public abstract Boolean isDiscVirtioHotPlug(); + + @Nullable + public abstract Boolean isDiscVirtioHotUnPlug(); + + @Nullable public abstract String hostname(); // Non-profitbricks property; Added to hold hostname parsed from image temporarily - public static Server create(DataCenter dataCenter, String id, String name, int cores, int ram, - Boolean hasInternetAccess, ProvisioningState state, Status status, OsType osType, - AvailabilityZone availabilityZone, Date creationTime, Date lastModificationTime, List<Storage> storages, - List<Nic> nics, Boolean isCpuHotPlug, Boolean isRamHotPlug, Boolean isNicHotPlug, Boolean isNicHotUnPlug, - Boolean isDiscVirtioHotPlug, Boolean isDiscVirtioHotUnPlug, String balancedNicId, Boolean loadBalanced, - String hostname) { - return new AutoValue_Server(isCpuHotPlug, null, isRamHotPlug, null, isNicHotPlug, isNicHotUnPlug, isDiscVirtioHotPlug, - isDiscVirtioHotUnPlug, cores, ram, dataCenter, id, name, hasInternetAccess, state, status, osType, - availabilityZone, creationTime, lastModificationTime, - storages != null ? ImmutableList.copyOf(storages) : Lists.<Storage>newArrayList(), - nics != null ? ImmutableList.copyOf(nics) : Lists.<Nic>newArrayList(), - balancedNicId, loadBalanced, hostname); + public static Builder builder() { + return new AutoValue_Server.Builder() + .storages(ImmutableList.<Storage>of()) + .nics(ImmutableList.<Nic>of()); } - public static DescribingBuilder builder() { - return new DescribingBuilder(); - } + public abstract Builder toBuilder(); - public DescribingBuilder toBuilder() { - return builder().fromServer(this); - } + @AutoValue.Builder + public abstract static class Builder { - public abstract static class Builder<B extends Builder, D extends ServerCommonProperties> extends HotPluggable.Builder<B, D> { + public abstract Builder dataCenter(DataCenter dataCenter); - protected String name; - protected int cores; - protected int ram; + public abstract Builder id(String id); - public B name(String name) { - this.name = name; - return self(); - } + public abstract Builder name(String name); - public B cores(int cores) { - this.cores = cores; - return self(); - } + public abstract Builder cores(Integer cores); - public B ram(int ram) { - this.ram = ram; - return self(); - } - } + public abstract Builder ram(Integer ram); - public static class DescribingBuilder extends Builder<DescribingBuilder, Server> { - - private DataCenter dataCenter; - private String id; - private ProvisioningState state; - private Status status; - private OsType osType; - private AvailabilityZone zone; - private Date creationTime; - private Date lastModificationTime; - private Boolean hasInternetAccess; - private List<Storage> storages; - private List<Nic> nics; - private Boolean loadBalanced; - private String balancedNicId; - private String hostname; - - public DescribingBuilder dataCenter(DataCenter dataCenter) { - this.dataCenter = dataCenter; - return this; - } + public abstract Builder hasInternetAccess(Boolean internetAccess); - public DescribingBuilder id(String id) { - this.id = id; - return this; - } + public abstract Builder state(ProvisioningState state); - public DescribingBuilder state(ProvisioningState state) { - this.state = state; - return this; - } + public abstract Builder status(Status status); - public DescribingBuilder status(Status status) { - this.status = status; - return this; - } + public abstract Builder osType(OsType osType); - public DescribingBuilder osType(OsType osType) { - this.osType = osType; - return this; - } + public abstract Builder availabilityZone(AvailabilityZone availabilityZone); - public DescribingBuilder availabilityZone(AvailabilityZone zone) { - this.zone = zone; - return this; - } + public abstract Builder creationTime(Date creationTime); - public DescribingBuilder creationTime(Date creationTime) { - this.creationTime = creationTime; - return this; - } + public abstract Builder lastModificationTime(Date lastModificationTime); - public DescribingBuilder lastModificationTime(Date lastModificationTime) { - this.lastModificationTime = lastModificationTime; - return this; - } + public abstract Builder storages(List<Storage> storages); - public DescribingBuilder hasInternetAccess(Boolean hasInternetAccess) { - this.hasInternetAccess = hasInternetAccess; - return this; - } + public abstract Builder nics(List<Nic> nics); - public DescribingBuilder storages(List<Storage> storages) { - this.storages = storages; - return this; - } + public abstract Builder balancedNicId(String balancedNicIds); - public DescribingBuilder nics(List<Nic> nics) { - this.nics = nics; - return this; - } + public abstract Builder loadBalanced(Boolean isLoadBalanced); - public DescribingBuilder balancedNicId(String balancedNicId) { - this.balancedNicId = balancedNicId; - return this; - } + public abstract Builder isCpuHotPlug(Boolean isCpuHotPlug); - public DescribingBuilder loadBalanced(Boolean loadBalanced) { - this.loadBalanced = loadBalanced; - return this; - } + public abstract Builder isCpuHotUnPlug(Boolean isCpuHotUnPlug); - public DescribingBuilder hostname(String hostname) { - this.hostname = hostname; - return this; - } + public abstract Builder isRamHotPlug(Boolean isRamHotPlug); - @Override - public Server build() { - return Server.create(dataCenter, id, name, cores, ram, hasInternetAccess, state, status, osType, zone, creationTime, - lastModificationTime, storages, nics, cpuHotPlug, ramHotPlug, nicHotPlug, nicHotUnPlug, - discVirtioHotPlug, discVirtioHotUnPlug, balancedNicId, loadBalanced, hostname); - } + public abstract Builder isRamHotUnPlug(Boolean isRamHotUnPlug); - private DescribingBuilder fromServer(Server in) { - return this.id(in.id()).cores(in.cores()).creationTime(in.creationTime()).hasInternetAccess(in.hasInternetAccess()) - .isCpuHotPlug(in.isCpuHotPlug()).isDiscVirtioHotPlug(in.isDiscVirtioHotPlug()) - .isDiscVirtioHotUnPlug(in.isDiscVirtioHotUnPlug()).isNicHotPlug(in.isNicHotPlug()) - .isNicHotUnPlug(in.isNicHotUnPlug()).isRamHotPlug(in.isRamHotPlug()) - .lastModificationTime(in.lastModificationTime()).name(in.name()).osType(in.osType()).ram(in.ram()) - .state(in.state()).status(in.status()).storages(in.storages()).nics(in.nics()).dataCenter(in.dataCenter()) - .balancedNicId(balancedNicId).loadBalanced(loadBalanced).hostname(hostname); - } + public abstract Builder isNicHotPlug(Boolean isNicHotPlug); - @Override - public DescribingBuilder self() { - return this; - } + public abstract Builder isNicHotUnPlug(Boolean isNicHotUnPlug); + + public abstract Builder isDiscVirtioHotPlug(Boolean isDiscVirtioHotPlug); + public abstract Builder isDiscVirtioHotUnPlug(Boolean isDiscVirtioHotUnPlug); + + public abstract Builder hostname(String hostname); + + abstract Server autoBuild(); + + public Server build() { + Server server = autoBuild(); + if (server.cores() != null) + checkCores(server.cores()); + if (server.ram() != null) + checkRam(server.ram(), server.isRamHotUnPlug()); + return server.toBuilder() + .storages(ImmutableList.copyOf(server.storages())) + .nics(ImmutableList.copyOf(server.nics())) + .autoBuild(); + } } public static final class Request { public static CreatePayload.Builder creatingBuilder() { - return new CreatePayload.Builder(); + return new AutoValue_Server_Request_CreatePayload.Builder(); } public static UpdatePayload.Builder updatingBuilder() { - return new UpdatePayload.Builder(); + return new AutoValue_Server_Request_UpdatePayload.Builder(); } @AutoValue - public abstract static class CreatePayload implements ServerCommonProperties { + public abstract static class CreatePayload { + + public abstract int cores(); + + public abstract int ram(); public abstract String dataCenterId(); + public abstract String name(); + @Nullable public abstract String bootFromStorageId(); @@ -286,93 +234,94 @@ public abstract class Server implements ServerCommonProperties { @Nullable public abstract OsType osType(); - public static CreatePayload create(String dataCenterId, String name, int core, int ram) { - return create(dataCenterId, name, core, ram, "", "", null, false, null, null, null, null, null, null, null, null); - } + @Nullable + public abstract Boolean isCpuHotPlug(); - public static CreatePayload create(String dataCenterId, String name, int cores, int ram, String bootFromStorageId, - String bootFromImageId, Integer lanId, Boolean hasInternetAccess, AvailabilityZone availabilityZone, - OsType osType, Boolean isCpuHotPlug, Boolean isRamHotPlug, Boolean isNicHotPlug, Boolean isNicHotUnPlug, - Boolean isDiscVirtioHotPlug, Boolean isDiscVirtioHotUnPlug) { - validateCores(cores); - validateRam(ram, isRamHotPlug); - return new AutoValue_Server_Request_CreatePayload(isCpuHotPlug, null, isRamHotPlug, null, isNicHotPlug, - isNicHotUnPlug, isDiscVirtioHotPlug, isDiscVirtioHotUnPlug, name, cores, ram, dataCenterId, - bootFromStorageId, bootFromImageId, lanId, hasInternetAccess, availabilityZone, osType); - } + @Nullable + public abstract Boolean isCpuHotUnPlug(); - public static class Builder extends Server.Builder<Builder, CreatePayload> { + @Nullable + public abstract Boolean isRamHotPlug(); - private String dataCenterId; - private String bootFromStorageId; - private String bootFromImageId; - private Integer lanId; - private Boolean hasInternetAccess; - private AvailabilityZone availabilityZone; - private OsType osType; + @Nullable + public abstract Boolean isRamHotUnPlug(); - public Builder dataCenterId(String dataCenterId) { - this.dataCenterId = dataCenterId; - return this; - } + @Nullable + public abstract Boolean isNicHotPlug(); - public Builder dataCenterId(DataCenter dataCenter) { - this.dataCenterId = checkNotNull(dataCenter, "Cannot pass null datacenter").id(); - return this; - } + @Nullable + public abstract Boolean isNicHotUnPlug(); - public Builder bootFromStorageId(String storageId) { - this.bootFromStorageId = storageId; - return this; - } + @Nullable + public abstract Boolean isDiscVirtioHotPlug(); - public Builder bootFromImageId(String image) { - this.bootFromImageId = image; - return this; - } + @Nullable + public abstract Boolean isDiscVirtioHotUnPlug(); - public Builder lanId(Integer lanId) { - this.lanId = lanId; - return this; - } + @AutoValue.Builder + public abstract static class Builder { - public Builder availabilityZone(AvailabilityZone zone) { - this.availabilityZone = zone; - return this; - } + public abstract Builder cores(int cores); - public Builder osType(OsType osType) { - this.osType = osType; - return this; - } + public abstract Builder ram(int ram); - public Builder hasInternetAccess(Boolean hasInternetAccess) { - this.hasInternetAccess = hasInternetAccess; - return this; - } + public abstract Builder dataCenterId(String dataCenterId); - @Override - public Builder self() { - return this; - } + public abstract Builder name(String name); + + public abstract Builder bootFromStorageId(String bootFromStorageId); + + public abstract Builder bootFromImageId(String bootFromImageId); + + public abstract Builder lanId(Integer lanId); + + public abstract Builder hasInternetAccess(Boolean hasInternetAccess); + + public abstract Builder availabilityZone(AvailabilityZone availabilityZone); + + public abstract Builder osType(OsType osType); + + public abstract Builder isCpuHotPlug(Boolean isCpuHotPlug); + + public abstract Builder isCpuHotUnPlug(Boolean isCpuHotUnPlug); + + public abstract Builder isRamHotPlug(Boolean isRamHotPlug); + + public abstract Builder isRamHotUnPlug(Boolean isRamHotUnPlug); + + public abstract Builder isNicHotPlug(Boolean isNicHotPlug); + + public abstract Builder isNicHotUnPlug(Boolean isNicHotUnPlug); + + public abstract Builder isDiscVirtioHotPlug(Boolean isDiscVirtioHotPlug); + + public abstract Builder isDiscVirtioHotUnPlug(Boolean isDiscVirtioHotUnPlug); + + abstract CreatePayload autoBuild(); - @Override public CreatePayload build() { - return CreatePayload.create(dataCenterId, name, cores, ram, bootFromStorageId, bootFromImageId, lanId, hasInternetAccess, - availabilityZone, osType, cpuHotPlug, ramHotPlug, nicHotPlug, nicHotUnPlug, discVirtioHotPlug, discVirtioHotUnPlug); + CreatePayload payload = autoBuild(); + checkCores(payload.cores()); + checkRam(payload.ram(), payload.isRamHotUnPlug()); + return payload; } - } + } @AutoValue - public abstract static class UpdatePayload implements ServerCommonProperties { + public abstract static class UpdatePayload { + + public abstract String id(); @Nullable - @Override - public abstract String name(); + public abstract Integer cores(); - public abstract String id(); + @Nullable + public abstract Integer ram(); + + @Nullable + public abstract String name(); @Nullable public abstract String bootFromStorageId(); @@ -386,71 +335,76 @@ public abstract class Server implements ServerCommonProperties { @Nullable public abstract OsType osType(); - public static UpdatePayload create(String id, String name, int cores, int ram, String bootFromStorageId, String bootFromImageId, - AvailabilityZone availabilityZone, OsType osType, Boolean isCpuHotPlug, Boolean isRamHotPlug, Boolean isNicHotPlug, - Boolean isNicHotUnPlug, Boolean isDiscVirtioHotPlug, Boolean isDiscVirtioHotUnPlug) { - return new AutoValue_Server_Request_UpdatePayload(isCpuHotPlug, null, isRamHotPlug, null, isNicHotPlug, - isNicHotUnPlug, isDiscVirtioHotPlug, isDiscVirtioHotUnPlug, cores, ram, name, id, bootFromStorageId, - bootFromImageId, availabilityZone, osType); - } + @Nullable + public abstract Boolean isCpuHotPlug(); - public static class Builder extends Server.Builder<Builder, UpdatePayload> { + @Nullable + public abstract Boolean isCpuHotUnPlug(); - private String id; - private String bootFromStorageId; - private String bootFromImageId; - private AvailabilityZone availabilityZone; - private OsType osType; + @Nullable + public abstract Boolean isRamHotPlug(); - public Builder id(String id) { - this.id = id; - return this; - } + @Nullable + public abstract Boolean isRamHotUnPlug(); - public Builder bootFromStorageId(String storageId) { - this.bootFromStorageId = storageId; - return this; - } + @Nullable + public abstract Boolean isNicHotPlug(); - public Builder bootFromImageId(String image) { - this.bootFromImageId = image; - return this; - } + @Nullable + public abstract Boolean isNicHotUnPlug(); - public Builder availabilityZone(AvailabilityZone zone) { - this.availabilityZone = zone; - return this; - } + @Nullable + public abstract Boolean isDiscVirtioHotPlug(); - public Builder osType(OsType osType) { - this.osType = osType; - return this; - } + @Nullable + public abstract Boolean isDiscVirtioHotUnPlug(); - @Override - public Builder self() { - return this; - } + @AutoValue.Builder + public abstract static class Builder { - @Override - public UpdatePayload build() { - return UpdatePayload.create(id, name, cores, ram, bootFromStorageId, bootFromImageId, availabilityZone, osType, - cpuHotPlug, ramHotPlug, nicHotPlug, nicHotUnPlug, discVirtioHotPlug, discVirtioHotUnPlug); + public abstract Builder id(String id); - } + public abstract Builder cores(Integer cores); - } - } + public abstract Builder ram(Integer ram); - } + public abstract Builder name(String name); - private static void validateCores(int cores) { - checkArgument(cores > 0, "Core must be atleast 1."); - } + public abstract Builder bootFromStorageId(String bootFromStorageId); + + public abstract Builder bootFromImageId(String bootFromImageId); + + public abstract Builder availabilityZone(AvailabilityZone availabilityZone); + + public abstract Builder osType(OsType osType); + + public abstract Builder isCpuHotPlug(Boolean isCpuHotPlug); + + public abstract Builder isCpuHotUnPlug(Boolean isCpuHotUnPlug); + + public abstract Builder isRamHotPlug(Boolean isRamHotPlug); + + public abstract Builder isRamHotUnPlug(Boolean isRamHotUnPlug); - private static void validateRam(int ram, Boolean isRamHotPlug) { - int minRam = (isRamHotPlug == null || !isRamHotPlug) ? 256 : 1024; - checkArgument(ram >= minRam && ram % 256 == 0, "RAM must be multiples of 256 with minimum of 256 MB (1024 MB if ramHotPlug is enabled)"); + public abstract Builder isNicHotPlug(Boolean isNicHotPlug); + public abstract Builder isNicHotUnPlug(Boolean isNicHotUnPlug); + + public abstract Builder isDiscVirtioHotPlug(Boolean isDiscVirtioHotPlug); + + public abstract Builder isDiscVirtioHotUnPlug(Boolean isDiscVirtioHotUnPlug); + + abstract UpdatePayload autoBuild(); + + public UpdatePayload build() { + UpdatePayload payload = autoBuild(); + if (payload.cores() != null) + checkCores(payload.cores()); + if (payload.ram() != null) + checkRam(payload.ram(), payload.isRamHotUnPlug()); + return payload; + } + } + } } }
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ServiceFault.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ServiceFault.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ServiceFault.java index dac8f0b..bcf9774 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ServiceFault.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ServiceFault.java @@ -17,6 +17,7 @@ package org.jclouds.profitbricks.domain; import com.google.auto.value.AutoValue; +import com.google.common.base.Enums; @AutoValue public abstract class ServiceFault { @@ -36,11 +37,7 @@ public abstract class ServiceFault { UNRECOGNIZED; public static FaultCode fromValue(String v) { - try { - return valueOf(v); - } catch (IllegalArgumentException ex) { - return UNRECOGNIZED; - } + return Enums.getIfPresent(FaultCode.class, v).or(UNRECOGNIZED); } } @@ -52,44 +49,22 @@ public abstract class ServiceFault { public abstract int requestId(); - public static ServiceFault create(FaultCode faultCode, int httpCode, String message, int requestId) { - return new AutoValue_ServiceFault(faultCode, httpCode, message, requestId); - } - public static Builder builder() { - return new Builder(); + return new AutoValue_ServiceFault.Builder(); } - public static final class Builder { + @AutoValue.Builder + public abstract static class Builder { - private FaultCode faultCode; - private int httpCode; - private String message; - private int requestId; - - public Builder faultCode(FaultCode code) { - this.faultCode = code; - return this; - } + public abstract Builder faultCode(FaultCode faultCode); - public Builder httpCode(int httpCode) { - this.httpCode = httpCode; - return this; - } + public abstract Builder httpCode(int httpCode); - public Builder message(String message) { - this.message = message; - return this; - } + public abstract Builder message(String message); - public Builder requestId(int requestId) { - this.requestId = requestId; - return this; - } + public abstract Builder requestId(int requestId); - public ServiceFault build() { - return create(faultCode, httpCode, message, requestId); - } + public abstract ServiceFault build(); } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Snapshot.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Snapshot.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Snapshot.java index 60738d0..7f0be59 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Snapshot.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Snapshot.java @@ -16,36 +16,37 @@ */ package org.jclouds.profitbricks.domain; +import java.util.Date; + import com.google.auto.value.AutoValue; import org.jclouds.javax.annotation.Nullable; -import java.util.Date; - -import org.jclouds.profitbricks.domain.internal.HotPluggable; -import org.jclouds.profitbricks.domain.internal.Provisionable; - @AutoValue public abstract class Snapshot implements Provisionable { @Nullable - @Override public abstract String id(); @Nullable - @Override public abstract String name(); - public abstract boolean bootable(); + @Nullable + public abstract Float size(); @Nullable - public abstract String description(); + public abstract Location location(); @Nullable - @Override public abstract OsType osType(); @Nullable + public abstract Boolean isBootable(); + + @Nullable + public abstract String description(); + + @Nullable public abstract Date creationTime(); @Nullable @@ -55,89 +56,89 @@ public abstract class Snapshot implements Provisionable { public abstract ProvisioningState state(); @Nullable - @Override - public abstract Location location(); + public abstract Boolean isCpuHotPlug(); - public static Snapshot create(String id, String name, float size, boolean bootable, String description, OsType osType, - Boolean cpuHotPlug, Boolean cpuHotUnPlug, Boolean discVirtioHotPlug, Boolean discVirtioHotUnPlug, - Boolean ramHotPlug, Boolean ramHotUnPlug, Boolean nicHotPlug, Boolean nicHotUnPlug, Date creationTime, - Date lastModificationTime, ProvisioningState state, Location location) { - return new AutoValue_Snapshot(cpuHotPlug, cpuHotUnPlug, discVirtioHotPlug, discVirtioHotUnPlug, ramHotPlug, - ramHotUnPlug, nicHotPlug, nicHotUnPlug, size, id, name, bootable, description, osType, creationTime, - lastModificationTime, state, location); - } + @Nullable + public abstract Boolean isCpuHotUnPlug(); + + @Nullable + public abstract Boolean isRamHotPlug(); + + @Nullable + public abstract Boolean isRamHotUnPlug(); + + @Nullable + public abstract Boolean isNicHotPlug(); + + @Nullable + public abstract Boolean isNicHotUnPlug(); + + @Nullable + public abstract Boolean isDiscVirtioHotPlug(); + + @Nullable + public abstract Boolean isDiscVirtioHotUnPlug(); public static Builder builder() { - return new Builder(); + return new AutoValue_Snapshot.Builder(); } - public static class Builder extends Provisionable.Builder<Builder, Snapshot> { + public abstract Builder toBuilder(); - private Date creationTime; - private Date lastModificationTime; - private ProvisioningState state; - private boolean bootable; - private String description; + @AutoValue.Builder + public abstract static class Builder { - public Builder creationTime(Date creationTime) { - this.creationTime = creationTime; - return this; - } + public abstract Builder id(String id); - public Builder lastModificationTime(Date lastModificationTime) { - this.lastModificationTime = lastModificationTime; - return this; - } + public abstract Builder name(String name); - public Builder state(ProvisioningState state) { - this.state = state; - return this; - } + public abstract Builder size(Float size); - public Builder description(String description) { - this.description = description; - return this; - } + public abstract Builder location(Location location); - public Builder isBootable(boolean bootable) { - this.bootable = bootable; - return this; - } + public abstract Builder osType(OsType osType); - private Builder fromSnapshot(Snapshot in) { - return this.id(in.id()).name(in.name()).size(in.size()).creationTime(in.creationTime()) - .lastModificationTime(in.lastModificationTime()).state(in.state()).isBootable(in.bootable()) - .description(in.description()).isCpuHotPlug(in.isCpuHotPlug()).isCpuHotUnPlug(in.isCpuHotUnPlug()) - .isDiscVirtioHotPlug(in.isDiscVirtioHotPlug()).isDiscVirtioHotUnPlug(in.isDiscVirtioHotUnPlug()) - .isRamHotPlug(in.isRamHotPlug()).isRamHotUnPlug(in.isRamHotUnPlug()) - .isNicHotPlug(in.isNicHotPlug()).isNicHotUnPlug(in.isNicHotUnPlug()); - } + public abstract Builder isBootable(Boolean bootable); - @Override - public Snapshot build() { - return Snapshot.create(id, name, size, bootable, description, osType, cpuHotPlug, cpuHotUnPlug, - discVirtioHotPlug, discVirtioHotUnPlug, ramHotPlug, ramHotUnPlug, nicHotPlug, nicHotUnPlug, - creationTime, lastModificationTime, state, location); - } + public abstract Builder description(String description); - @Override - public Builder self() { - return this; - } + public abstract Builder creationTime(Date creationTime); + + public abstract Builder lastModificationTime(Date lastModificationTime); + + public abstract Builder state(ProvisioningState state); + + public abstract Builder isCpuHotPlug(Boolean isCpuHotPlug); + + public abstract Builder isCpuHotUnPlug(Boolean isCpuHotUnPlug); + + public abstract Builder isRamHotPlug(Boolean isRamHotPlug); + + public abstract Builder isRamHotUnPlug(Boolean isRamHotUnPlug); + + public abstract Builder isNicHotPlug(Boolean isNicHotPlug); + + public abstract Builder isNicHotUnPlug(Boolean isNicHotUnPlug); + + public abstract Builder isDiscVirtioHotPlug(Boolean isDiscVirtioHotPlug); + + public abstract Builder isDiscVirtioHotUnPlug(Boolean isDiscVirtioHotUnPlug); + + public abstract Snapshot build(); } public static final class Request { public static CreatePayload.Builder creatingBuilder() { - return new CreatePayload.Builder(); + return new AutoValue_Snapshot_Request_CreatePayload.Builder(); } public static UpdatePayload.Builder updatingBuilder() { - return new UpdatePayload.Builder(); + return new AutoValue_Snapshot_Request_UpdatePayload.Builder(); } - public static RollbackPayload.Builder rollbackBuilder() { - return new RollbackPayload.Builder(); + public static RollbackPayload createRollbackPayload(String snapshotId, String storageId) { + return new AutoValue_Snapshot_Request_RollbackPayload(snapshotId, storageId); } @AutoValue @@ -145,147 +146,106 @@ public abstract class Snapshot implements Provisionable { public abstract String storageId(); - public abstract String description(); - public abstract String name(); - public static CreatePayload create(String storageId, String description, String name) { - return new AutoValue_Snapshot_Request_CreatePayload(storageId, description, name); - } - - public static class Builder { + @Nullable + public abstract String description(); - private String storageId; - private String description; - private String name; + @AutoValue.Builder + public abstract static class Builder { - public Builder storageId(String storageId) { - this.storageId = storageId; - return this; - } + public abstract Builder storageId(String storageId); - public Builder description(String description) { - this.description = description; - return this; - } + public abstract Builder name(String name); - public Builder name(String name) { - this.name = name; - return this; - } + public abstract Builder description(String description); - public CreatePayload build() { - return CreatePayload.create(storageId, description, name); - } + public abstract CreatePayload build(); } } @AutoValue - public abstract static class UpdatePayload implements HotPluggable { + public abstract static class UpdatePayload { - public abstract String snapshotId(); + public abstract String id(); + @Nullable public abstract String description(); + @Nullable public abstract String name(); - public abstract boolean bootable(); + @Nullable + public abstract Boolean bootable(); @Nullable public abstract OsType osType(); - public static UpdatePayload create(String snapshotId, String description, String name, boolean bootable, - OsType osType, Boolean cpuHotplug, Boolean cpuHotunplug, Boolean ramHotplug, Boolean ramHotunplug, - Boolean nicHotplug, Boolean nicHotunplug, Boolean discVirtioHotplug, Boolean discVirtioHotunplug) { - return new AutoValue_Snapshot_Request_UpdatePayload( - cpuHotplug, cpuHotunplug, ramHotplug, ramHotunplug, nicHotplug, nicHotunplug, discVirtioHotplug, - discVirtioHotunplug, snapshotId, description, name, bootable, osType); - } + @Nullable + public abstract Boolean isCpuHotPlug(); - public static class Builder extends HotPluggable.Builder<Builder, UpdatePayload> { + @Nullable + public abstract Boolean isCpuHotUnPlug(); - private String snapshotId; + @Nullable + public abstract Boolean isRamHotPlug(); - @Nullable - private String description; + @Nullable + public abstract Boolean isRamHotUnPlug(); - @Nullable - private String name; + @Nullable + public abstract Boolean isNicHotPlug(); - private boolean bootable; + @Nullable + public abstract Boolean isNicHotUnPlug(); - private OsType osType; + @Nullable + public abstract Boolean isDiscVirtioHotPlug(); - public Builder snapshotId(String snapshotId) { - this.snapshotId = snapshotId; - return this; - } + @Nullable + public abstract Boolean isDiscVirtioHotUnPlug(); - public Builder description(String description) { - this.description = description; - return this; - } + @AutoValue.Builder + public abstract static class Builder { - public Builder name(String name) { - this.name = name; - return this; - } + public abstract Builder id(String snapshotId); - public Builder bootable(boolean bootable) { - this.bootable = bootable; - return this; - } + public abstract Builder description(String description); - public Builder osType(OsType osType) { - this.osType = osType; - return this; - } + public abstract Builder name(String name); - @Override - public UpdatePayload build() { - return UpdatePayload.create(snapshotId, description, name, bootable, osType, cpuHotPlug, cpuHotUnPlug, - ramHotPlug, ramHotUnPlug, nicHotUnPlug, nicHotUnPlug, discVirtioHotPlug, discVirtioHotUnPlug); - } + public abstract Builder bootable(Boolean bootable); - @Override - public Builder self() { - return this; - } - } + public abstract Builder osType(OsType osType); - } + public abstract Builder isCpuHotPlug(Boolean isCpuHotPlug); - @AutoValue - public abstract static class RollbackPayload { + public abstract Builder isCpuHotUnPlug(Boolean isCpuHotUnPlug); - public abstract String snapshotId(); + public abstract Builder isRamHotPlug(Boolean isRamHotPlug); - public abstract String storageId(); + public abstract Builder isRamHotUnPlug(Boolean isRamHotUnPlug); - public static RollbackPayload create(String snapshotId, String storageId) { - return new AutoValue_Snapshot_Request_RollbackPayload(snapshotId, storageId); - } + public abstract Builder isNicHotPlug(Boolean isNicHotPlug); - public static class Builder { + public abstract Builder isNicHotUnPlug(Boolean isNicHotUnPlug); - private String snapshotId; + public abstract Builder isDiscVirtioHotPlug(Boolean isDiscVirtioHotPlug); - private String storageId; + public abstract Builder isDiscVirtioHotUnPlug(Boolean isDiscVirtioHotUnPlug); - public Builder snapshotId(String snapshotId) { - this.snapshotId = snapshotId; - return this; - } + public abstract UpdatePayload build(); + } - public Builder storageId(String storageId) { - this.storageId = storageId; - return this; - } + } + + @AutoValue + public abstract static class RollbackPayload { + + public abstract String snapshotId(); + + public abstract String storageId(); - public RollbackPayload build() { - return RollbackPayload.create(snapshotId, storageId); - } - } } } } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Storage.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Storage.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Storage.java index 21664a5..6a0e8a9 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Storage.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Storage.java @@ -16,19 +16,17 @@ */ package org.jclouds.profitbricks.domain; -import com.google.auto.value.AutoValue; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; +import static org.jclouds.profitbricks.util.Preconditions.checkPassword; +import static org.jclouds.profitbricks.util.Preconditions.checkSize; import java.util.Date; import java.util.List; +import com.google.auto.value.AutoValue; +import com.google.common.base.Enums; +import com.google.common.collect.ImmutableList; import org.jclouds.javax.annotation.Nullable; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import static org.jclouds.profitbricks.util.Passwords.isValidPassword; @AutoValue public abstract class Storage { @@ -38,11 +36,7 @@ public abstract class Storage { IDE, SCSI, VIRTIO, UNRECOGNIZED; public static BusType fromValue(String value) { - try { - return valueOf(value); - } catch (IllegalArgumentException ex) { - return UNRECOGNIZED; - } + return Enums.getIfPresent(BusType.class, value).or(UNRECOGNIZED); } } @@ -74,92 +68,43 @@ public abstract class Storage { @Nullable public abstract Integer deviceNumber(); - public static Storage create(String id, String name, float size, Date creationTime, Date lastModificationTime, - ProvisioningState state, List<String> serverIds, Boolean bootDevice, BusType busType, Integer deviceNumber) { - return new AutoValue_Storage(id, name, size, creationTime, lastModificationTime, state, - serverIds != null ? ImmutableList.copyOf(serverIds) : Lists.<String>newArrayList(), - bootDevice, busType, deviceNumber); - } - public static Builder builder() { - return new Builder(); + return new AutoValue_Storage.Builder() + .serverIds(ImmutableList.<String>of()); } - public Builder toBuilder() { - return builder().fromStorage(this); - } + public abstract Builder toBuilder(); - public static class Builder { - - private String id; - private String name; - private float size; - private Date creationTime; - private Date lastModificationTime; - private ProvisioningState state; - private List<String> serverIds; - private Boolean bootDevice; - private BusType busType; - private Integer deviceNumber; - - public Builder id(String id) { - this.id = id; - return this; - } + @AutoValue.Builder + public abstract static class Builder { - public Builder name(String name) { - this.name = name; - return this; - } + public abstract Builder id(String id); - public Builder size(float size) { - this.size = size; - return this; - } + public abstract Builder name(String name); - public Builder creationTime(Date creationTime) { - this.creationTime = creationTime; - return this; - } + public abstract Builder size(float size); - public Builder lastModificationTime(Date lastModificationTime) { - this.lastModificationTime = lastModificationTime; - return this; - } + public abstract Builder creationTime(Date creationTime); - public Builder state(ProvisioningState state) { - this.state = state; - return this; - } + public abstract Builder lastModificationTime(Date lastModificationTime); - public Builder serverIds(List<String> serverIds) { - this.serverIds = serverIds; - return this; - } + public abstract Builder state(ProvisioningState state); - public Builder bootDevice(Boolean bootDevice) { - this.bootDevice = bootDevice; - return this; - } + public abstract Builder serverIds(List<String> serverIds); - public Builder busType(BusType busType) { - this.busType = busType; - return this; - } + public abstract Builder bootDevice(Boolean bootDevice); - public Builder deviceNumber(Integer deviceNumber) { - this.deviceNumber = deviceNumber; - return this; - } + public abstract Builder busType(BusType busType); - private Builder fromStorage(Storage in) { - return this.id(in.id()).name(in.name()).size(in.size()).creationTime(in.creationTime()) - .lastModificationTime(in.lastModificationTime()).state(in.state()).serverIds(in.serverIds()) - .bootDevice(in.bootDevice()).busType(in.busType()).deviceNumber(in.deviceNumber()); - } + public abstract Builder deviceNumber(Integer deviceNumber); - public Storage build() { - return Storage.create(id, name, size, creationTime, lastModificationTime, state, serverIds, bootDevice, busType, deviceNumber); + abstract Storage autoBuild(); + + public Storage build(){ + Storage built = autoBuild(); + return built.toBuilder() + .serverIds(ImmutableList.copyOf(built.serverIds())) + .autoBuild(); } } @@ -167,15 +112,15 @@ public abstract class Storage { public static final class Request { public static CreatePayload.Builder creatingBuilder() { - return new CreatePayload.Builder(); + return new AutoValue_Storage_Request_CreatePayload.Builder(); } public static UpdatePayload.Builder updatingBuilder() { - return new UpdatePayload.Builder(); + return new AutoValue_Storage_Request_UpdatePayload.Builder(); } public static ConnectPayload.Builder connectingBuilder() { - return new ConnectPayload.Builder(); + return new AutoValue_Storage_Request_ConnectPayload.Builder(); } @AutoValue @@ -192,57 +137,32 @@ public abstract class Storage { public abstract String mountImageId(); @Nullable - public abstract String profitBricksImagePassword(); + public abstract String imagePassword(); - public static CreatePayload create(String dataCenterId, float size, String name, String mountImageId, String imagePassword) { - checkSize(size); - checkPassword(imagePassword); - return new AutoValue_Storage_Request_CreatePayload(dataCenterId, size, name, mountImageId, imagePassword); - } + @AutoValue.Builder + public abstract static class Builder { - public static class Builder { + public abstract Builder dataCenterId(String dataCenterId); - private String dataCenterId; - private float size; - private String name; - private String mountImageId; - private String profitBricksImagePassword; + public abstract Builder size(float size); - public Builder dataCenterId(String dataCenterId) { - this.dataCenterId = dataCenterId; - return this; - } + public abstract Builder name(String name); - public Builder dataCenterId(DataCenter dataCenter) { - this.dataCenterId = checkNotNull(dataCenter, "Cannot pass null datacenter").id(); - return this; - } + public abstract Builder mountImageId(String mountImageId); - public Builder size(float size) { - this.size = size; - return this; - } + public abstract Builder imagePassword(String profitBricksImagePassword); - public Builder mountImageId(String mountImageId) { - this.mountImageId = mountImageId; - return this; - } - - public Builder name(String name) { - this.name = name; - return this; - } - - public Builder imagePassword(String password) { - this.profitBricksImagePassword = password; - return this; - } + abstract CreatePayload autoBuild(); public CreatePayload build() { - return CreatePayload.create(dataCenterId, size, name, mountImageId, profitBricksImagePassword); + CreatePayload payload = autoBuild(); + if (payload.imagePassword() != null) + checkPassword(payload.imagePassword()); + checkSize(payload.size()); + + return payload; } } - } @AutoValue @@ -259,40 +179,25 @@ public abstract class Storage { @Nullable public abstract String mountImageId(); - public static UpdatePayload create(String id, Float size, String name, String mountImageId) { - checkSize(size); - return new AutoValue_Storage_Request_UpdatePayload(id, size, name, mountImageId); - } + @AutoValue.Builder + public abstract static class Builder { - public static class Builder { + public abstract Builder id(String id); - private String id; - private Float size; - private String name; - private String mountImageId; + public abstract Builder size(Float size); - public Builder id(String id) { - this.id = id; - return this; - } + public abstract Builder name(String name); - public Builder size(float size) { - this.size = size; - return this; - } - - public Builder name(String name) { - this.name = name; - return this; - } + public abstract Builder mountImageId(String mountImageId); - public Builder mountImageId(String mountImageId) { - this.mountImageId = mountImageId; - return this; - } + abstract UpdatePayload autoBuild(); public UpdatePayload build() { - return UpdatePayload.create(id, size, name, mountImageId); + UpdatePayload payload = autoBuild(); + if (payload.size() != null) + checkSize(payload.size()); + + return payload; } } } @@ -310,54 +215,20 @@ public abstract class Storage { @Nullable public abstract Integer deviceNumber(); - public static ConnectPayload create(String storageId, String serverId, BusType busType, Integer deviceNumber) { - return new AutoValue_Storage_Request_ConnectPayload(storageId, serverId, busType, deviceNumber); - } + @AutoValue.Builder + public abstract static class Builder { - public static class Builder { + public abstract Builder storageId(String storageId); - private String storageId; - private String serverId; - private BusType busType; - private Integer deviceNumber; + public abstract Builder serverId(String serverId); - public Builder storageId(String storageId) { - this.storageId = storageId; - return this; - } - - public Builder serverId(String serverId) { - this.serverId = serverId; - return this; - } - - public Builder busType(BusType busType) { - this.busType = busType; - return this; - } - - public Builder deviceNumber(Integer deviceNumber) { - this.deviceNumber = deviceNumber; - return this; - } + public abstract Builder busType(BusType busType); - public ConnectPayload build() { - return ConnectPayload.create(storageId, serverId, busType, deviceNumber); - } + public abstract Builder deviceNumber(Integer deviceNumber); + public abstract ConnectPayload build(); } } - private static void checkSize(Float size) { - if (size != null) - checkArgument(size > 1, "Storage size must be > 1GB"); - } - - private static void checkPassword(String password) { - if (password != null) - checkArgument(isValidPassword(password), "Password must be between 8 and 50 characters, " - + "only a-z, A-Z, 0-9 without characters i, I, l, o, O, w, W, y, Y, z, Z and 1, 0"); - } } - } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/BaseIpBlockResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/BaseIpBlockResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/BaseIpBlockResponseHandler.java index a4af29f..50adfe4 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/BaseIpBlockResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/BaseIpBlockResponseHandler.java @@ -16,8 +16,10 @@ */ package org.jclouds.profitbricks.http.parser.ipblock; -import com.google.common.collect.Lists; import java.util.List; + +import com.google.common.collect.Lists; + import org.jclouds.profitbricks.domain.IpBlock; import org.jclouds.profitbricks.domain.Location; import org.jclouds.profitbricks.http.parser.BaseProfitBricksResponseHandler; @@ -28,7 +30,6 @@ import org.xml.sax.SAXException; public abstract class BaseIpBlockResponseHandler<T> extends BaseProfitBricksResponseHandler<T> { protected final PublicIpListResponseHandler publicIpListResponseHandler; - protected final List<IpBlock.PublicIp> publicIps = Lists.newArrayList(); protected List<String> ips; protected IpBlock.Builder builder; @@ -37,7 +38,7 @@ public abstract class BaseIpBlockResponseHandler<T> extends BaseProfitBricksResp BaseIpBlockResponseHandler(PublicIpListResponseHandler publicIpListResponseHandler) { this.builder = IpBlock.builder(); this.publicIpListResponseHandler = publicIpListResponseHandler; - ips = Lists.newArrayList(); + this.ips = Lists.newArrayList(); } @Override http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/IpBlockResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/IpBlockResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/IpBlockResponseHandler.java index 307db14..95bc81a 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/IpBlockResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/ipblock/IpBlockResponseHandler.java @@ -41,8 +41,8 @@ public class IpBlockResponseHandler extends BaseIpBlockResponseHandler<IpBlock> setPropertyOnEndTag(qName); if ("return".equals(qName)) { done = true; - builder.publicIps(publicIpListResponseHandler.getResult()); - builder.ips(ips); + builder.publicIps(publicIpListResponseHandler.getResult()) + .ips(ips); } clearTextBuffer(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/loadbalancer/BaseLoadBalancerResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/loadbalancer/BaseLoadBalancerResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/loadbalancer/BaseLoadBalancerResponseHandler.java index 96256bb..b796125 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/loadbalancer/BaseLoadBalancerResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/loadbalancer/BaseLoadBalancerResponseHandler.java @@ -103,7 +103,7 @@ public abstract class BaseLoadBalancerResponseHandler<T> extends BaseProfitBrick else if ("ip".equals(qName)) builder.ip(textToStringValue()); else if ("lanId".equals(qName)) - builder.lanId(textToStringValue()); + builder.lanId(textToIntValue()); else if ("provisioningState".equals(qName)) builder.state(ProvisioningState.fromValue(textToStringValue())); else if ("creationTime".equals(qName)) http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/BaseNicResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/BaseNicResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/BaseNicResponseHandler.java index 83efca3..0b4b537 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/BaseNicResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/BaseNicResponseHandler.java @@ -16,6 +16,9 @@ */ package org.jclouds.profitbricks.http.parser.nic; +import java.util.ArrayList; +import java.util.List; + import com.google.inject.Inject; import org.jclouds.profitbricks.domain.Nic; @@ -31,11 +34,13 @@ public abstract class BaseNicResponseHandler<T> extends BaseProfitBricksResponse protected boolean useFirewallParser = false; protected Nic.Builder builder; + protected List<String> ips; @Inject BaseNicResponseHandler(FirewallResponseHandler firewallResponseHandler) { this.builder = Nic.builder(); this.firewallResponseHandler = firewallResponseHandler; + this.ips = new ArrayList<String>(); } @Override @@ -69,7 +74,7 @@ public abstract class BaseNicResponseHandler<T> extends BaseProfitBricksResponse else if ("serverId".equals(qName)) builder.serverId(textToStringValue()); else if ("ips".equals(qName)) - builder.ip(textToStringValue()); + ips.add(textToStringValue()); else if ("macAddress".equals(qName)) builder.macAddress(textToStringValue()); else if ("dhcpActive".equals(qName)) http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicListResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicListResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicListResponseHandler.java index 4a3ab66..87e7f43 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicListResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicListResponseHandler.java @@ -16,6 +16,8 @@ */ package org.jclouds.profitbricks.http.parser.nic; +import java.util.ArrayList; + import com.google.common.collect.Lists; import com.google.inject.Inject; @@ -44,9 +46,12 @@ public class NicListResponseHandler extends BaseNicResponseHandler<List<Nic>> { setPropertyOnEndTag(qName); if ("return".equals(qName) || "nics".equals(qName)) { nics.add(builder + .ips(ips) .firewall(firewallResponseHandler.getResult()) .build()); builder = Nic.builder(); + ips = new ArrayList<String>(); + firewallResponseHandler.reset(); } clearTextBuffer(); } @@ -57,6 +62,7 @@ public class NicListResponseHandler extends BaseNicResponseHandler<List<Nic>> { @Override public void reset() { + this.ips = new ArrayList<String>(); this.nics = Lists.newArrayList(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicResponseHandler.java index 690ecc1..ec4dd10 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/nic/NicResponseHandler.java @@ -16,7 +16,10 @@ */ package org.jclouds.profitbricks.http.parser.nic; +import java.util.ArrayList; + import com.google.inject.Inject; + import org.jclouds.profitbricks.domain.Nic; import org.jclouds.profitbricks.http.parser.firewall.FirewallResponseHandler; import org.xml.sax.SAXException; @@ -41,7 +44,9 @@ public class NicResponseHandler extends BaseNicResponseHandler<Nic> { setPropertyOnEndTag(qName); if ("return".equals(qName)) { done = true; - builder.firewall(firewallResponseHandler.getResult()); + builder.ips(ips) + .firewall(firewallResponseHandler.getResult()); + ips = new ArrayList<String>(); firewallResponseHandler.reset(); } clearTextBuffer(); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/publicip/PublicIpListResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/publicip/PublicIpListResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/publicip/PublicIpListResponseHandler.java index c68e7e6..8b01be9 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/publicip/PublicIpListResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/publicip/PublicIpListResponseHandler.java @@ -33,8 +33,10 @@ public class PublicIpListResponseHandler extends BasePublicIpResponseHandler<Lis public void endElement(String uri, String localName, String qName) throws SAXException { setPropertyOnEndTag(qName); - if ("publicIps".equals(qName)) + if ("publicIps".equals(qName)){ publicIps.add(builder.build()); + this.builder = PublicIp.builder(); + } clearTextBuffer(); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/BaseServerResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/BaseServerResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/BaseServerResponseHandler.java index 37aabd5..2185aed 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/BaseServerResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/BaseServerResponseHandler.java @@ -38,7 +38,7 @@ public abstract class BaseServerResponseHandler<T> extends BaseProfitBricksRespo protected final NicListResponseHandler nicListResponseHandler; protected DataCenter.Builder dataCenterBuilder; - protected Server.DescribingBuilder builder; + protected Server.Builder builder; protected final DateService dateService; http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/ServerListResponseHandler.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/ServerListResponseHandler.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/ServerListResponseHandler.java index 24a5daa..d39fbad 100644 --- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/ServerListResponseHandler.java +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/http/parser/server/ServerListResponseHandler.java @@ -49,7 +49,7 @@ public class ServerListResponseHandler extends BaseServerResponseHandler<List<Se else { setPropertyOnEndTag(qName); if ("return".equals(qName) || "servers".equals(qName) || "balancedServers".equals(qName)) { - Server.DescribingBuilder sdb = null; + Server.Builder sdb = null; try { sdb = builder .storages(storageListResponseHandler.getResult()) @@ -58,7 +58,7 @@ public class ServerListResponseHandler extends BaseServerResponseHandler<List<Se // For LoadBalancer's case, there's no DataCenter (may throw NPE on #build()). .dataCenter(dataCenterBuilder.build()) .build()); - } catch (NullPointerException ex) { + } catch (Exception ex) { servers.add(sdb.build()); } storageListResponseHandler.reset(); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/util/Preconditions.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/util/Preconditions.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/util/Preconditions.java new file mode 100644 index 0000000..b15689d --- /dev/null +++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/util/Preconditions.java @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF 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.profitbricks.util; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.base.Strings.isNullOrEmpty; +import static com.google.common.net.InetAddresses.isInetAddress; +import static org.jclouds.profitbricks.util.MacAddresses.isMacAddress; +import static org.jclouds.profitbricks.util.Passwords.isValidPassword; + +import java.util.List; +import java.util.regex.Pattern; + +import org.jclouds.profitbricks.domain.Firewall; +import org.jclouds.profitbricks.domain.Firewall.Protocol; + +/** + * Static convenience methods for validating various ProfitBricks domain preconditions + */ +public final class Preconditions { + + private static final Pattern INVALID_CHARS = Pattern.compile("^.*[@/\\|'`â^].*$"); + + public static void checkInvalidChars(String name) { + checkArgument(!isNullOrEmpty(name), "Name is required."); + checkArgument(!INVALID_CHARS.matcher(name).matches(), "Name must not contain any of: @ / \\ | ' ` â ^"); + } + + public static void checkIp(String ip) { + checkArgument(isInetAddress(ip), "IP '%s' is invalid", ip); + } + + public static void checkIps(List<String> ips) { + checkNotNull(ips, "Null ip list"); + for (String ip : ips) + checkIp(ip); + } + + public static void checkPortRange(Integer portRangeStart, Integer portRangeEnd, Firewall.Protocol protocol) { + checkArgument(!(portRangeEnd == null ^ portRangeStart == null), "Port range must be both present or null"); + if (portRangeEnd != null) { + checkArgument(protocol == Firewall.Protocol.TCP || protocol == Firewall.Protocol.UDP, "Port range can only be set for TCP or UDP"); + checkArgument(portRangeEnd > portRangeStart, "portRangeEnd must be greater than portRangeStart"); + checkArgument(portRangeEnd >= 1 && portRangeEnd <= 65534, "Port range end must be 1 to 65534"); + checkArgument(portRangeStart >= 1 && portRangeStart <= 65534, "Port range start must be 1 to 65534"); + } + } + + public static void checkMacAddress(String macAddress) { + checkArgument(isMacAddress(macAddress), "MAC must match pattern 'aa:bb:cc:dd:ee:ff'"); + } + + public static void checkIcmp(Integer icmpType, Integer icmpCode, Protocol protocol) { + checkNotNull(protocol, "Protocol can't be null"); + if (protocol == Protocol.ICMP) { + if (icmpType != null) + checkArgument(icmpType >= 1 && icmpType <= 254, "ICMP type must be 1 to 254"); + if (icmpCode != null) + checkArgument(icmpCode >= 1 && icmpCode <= 254, "ICMP code must be 1 to 254"); + } + } + + public static void checkLanId(Integer id) { + checkArgument(id >= 0, "LAN ID must be non-negative"); + } + + public static void checkCores(Integer cores) { + checkArgument(cores > 0, "Number of cores must be atleast 1."); + } + + public static void checkRam(Integer ram, Boolean isRamHotPlug) { + int minRam = (isRamHotPlug == null || !isRamHotPlug) ? 256 : 1024; + checkArgument(ram >= minRam && ram % 256 == 0, "RAM must be multiples of 256 with minimum of 256 MB " + + "(1024 MB if ramHotPlug is enabled)"); + } + + public static void checkSize(Float size) { + checkArgument(size > 1, "Storage size must be > 1GB"); + } + + public static void checkPassword(String password) { + checkArgument(isValidPassword(password), "Password must be between 8 and 50 characters, " + + "only a-z, A-Z, 0-9 without characters i, I, l, o, O, w, W, y, Y, z, Z and 1, 0"); + } +} http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/CreateDataCenterRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/CreateDataCenterRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/CreateDataCenterRequestBinderTest.java index 6c4815f..5190d6f 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/CreateDataCenterRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/CreateDataCenterRequestBinderTest.java @@ -30,7 +30,7 @@ public class CreateDataCenterRequestBinderTest { public void testCreatePayload() { CreateDataCenterRequestBinder binder = new CreateDataCenterRequestBinder(); - DataCenter.Request.CreatePayload payload = DataCenter.Request.CreatePayload.create("JClouds-DC", Location.DE_FKB); + DataCenter.Request.CreatePayload payload = DataCenter.Request.creatingPayload("JClouds-DC", Location.DE_FKB); String actual = binder.createPayload(payload); assertNotNull(actual, "Binder returned null payload"); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/UpdateDataCenterRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/UpdateDataCenterRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/UpdateDataCenterRequestBinderTest.java index 3f989ce..589fc69 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/UpdateDataCenterRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/datacenter/UpdateDataCenterRequestBinderTest.java @@ -29,7 +29,7 @@ public class UpdateDataCenterRequestBinderTest { public void testCreatePayload() { UpdateDataCenterRequestBinder binder = new UpdateDataCenterRequestBinder(); - DataCenter.Request.UpdatePayload payload = DataCenter.Request.UpdatePayload.create("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "Apache-DC"); + DataCenter.Request.UpdatePayload payload = DataCenter.Request.updatingPayload("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "Apache-DC"); String actual = binder.createPayload(payload); assertNotNull(actual, "Binder returned null payload"); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/drive/AddRomDriveToServerRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/drive/AddRomDriveToServerRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/drive/AddRomDriveToServerRequestBinderTest.java index 13fb7f1..134b62f 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/drive/AddRomDriveToServerRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/drive/AddRomDriveToServerRequestBinderTest.java @@ -29,7 +29,7 @@ public class AddRomDriveToServerRequestBinderTest { Drive.Request.AddRomDriveToServerPayload payload = Drive.Request.AddRomDriveToServerPayload.builder() .serverId("server-id") - .storageId("image-id") + .imageId("image-id") .deviceNumber("device-number") .build(); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinderTest.java index daedc36..0e074a6 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinderTest.java @@ -21,7 +21,8 @@ import org.jclouds.profitbricks.domain.Firewall; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; -import org.jclouds.profitbricks.domain.Firewall.Protocol; +import com.google.common.collect.ImmutableList; + import org.testng.annotations.Test; @Test(groups = "unit", testName = "AddFirewallRuleToNicRequestBinderTest") @@ -31,18 +32,18 @@ public class AddFirewallRuleToNicRequestBinderTest { public void testCreatePayload() { AddFirewallRuleToNicRequestBinder binder = new AddFirewallRuleToNicRequestBinder(); - Firewall.Request.AddRulePayload payload = Firewall.Request.ruleAddingBuilder() - .nicId("nic-id") - .newRule() - .name("name") - .portRangeEnd(45678) - .portRangeStart(12345) - .protocol(Protocol.TCP) - .sourceIp("192.168.0.1") - .sourceMac("aa:bb:cc:dd:ee:ff") - .targetIp("192.168.0.2") - .endRule() - .build(); + Firewall.Request.AddRulePayload payload = Firewall.Request.createAddRulePayload( + "nic-id", ImmutableList.of( + Firewall.Rule.builder() + .name("name") + .portRangeEnd(45678) + .portRangeStart(12345) + .protocol(Firewall.Protocol.TCP) + .sourceIp("192.168.0.1") + .sourceMac("aa:bb:cc:dd:ee:ff") + .targetIp("192.168.0.2") + .build() + )); String actual = binder.createPayload(payload); assertNotNull(actual, "Binder returned null payload"); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinderTest.java index f959be1..4744986 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinderTest.java @@ -16,13 +16,17 @@ */ package org.jclouds.profitbricks.binder.loadbalancer; -import com.google.common.collect.Lists; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; + import java.util.List; + +import com.google.common.collect.Lists; +import com.google.common.collect.ImmutableList; + import org.testng.annotations.Test; import org.jclouds.profitbricks.domain.LoadBalancer; import org.jclouds.profitbricks.domain.LoadBalancer.Algorithm; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; @Test(groups = "unit", testName = "CreateLoadBalancerRequestBinderTest") public class CreateLoadBalancerRequestBinderTest { @@ -34,7 +38,16 @@ public class CreateLoadBalancerRequestBinderTest { List<String> serverIds = Lists.newArrayList(); serverIds.add("server-ids"); - String actual = binder.createPayload(LoadBalancer.Request.CreatePayload.create("datacenter-id", "load-balancer-name", Algorithm.ROUND_ROBIN, "-ip", "lan-id", serverIds)); + String actual = binder.createPayload( + LoadBalancer.Request.creatingBuilder() + .dataCenterId("datacenter-id") + .name("load-balancer-name") + .algorithm(Algorithm.ROUND_ROBIN) + .ip("10.0.0.1") + .lanId(2) + .serverIds(ImmutableList.<String>of( + "server-id-1", "server-id-2")) + .build()); assertNotNull(actual, "Binder returned null payload"); assertEquals(expectedPayload, actual); @@ -46,9 +59,10 @@ public class CreateLoadBalancerRequestBinderTest { + " <dataCenterId>datacenter-id</dataCenterId>\n" + " <loadBalancerName>load-balancer-name</loadBalancerName>\n" + " <loadBalancerAlgorithm>ROUND_ROBIN</loadBalancerAlgorithm>\n" - + " <ip>-ip</ip>\n" - + " <lanId>lan-id</lanId>\n" - + " <serverIds>server-ids</serverIds>\n" + + " <ip>10.0.0.1</ip>\n" + + " <lanId>2</lanId>\n" + + " <serverIds>server-id-1</serverIds>\n" + + " <serverIds>server-id-2</serverIds>\n" + " </request>\n" + " </ws:createLoadBalancer>").replaceAll("\\s+", ""); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/DeregisterLoadBalancerRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/DeregisterLoadBalancerRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/DeregisterLoadBalancerRequestBinderTest.java index dbf0271..b1fa5c3 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/DeregisterLoadBalancerRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/DeregisterLoadBalancerRequestBinderTest.java @@ -33,7 +33,7 @@ public class DeregisterLoadBalancerRequestBinderTest { serverIds.add("1"); serverIds.add("2"); - LoadBalancer.Request.DeregisterPayload payload = LoadBalancer.Request.DeregisterPayload.create(serverIds, "load-balancer-id"); + LoadBalancer.Request.DeregisterPayload payload = LoadBalancer.Request.createDeregisteringPayload("load-balancer-id", serverIds); String actual = binder.createPayload(payload); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/RegisterLoadBalancerRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/RegisterLoadBalancerRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/RegisterLoadBalancerRequestBinderTest.java index 2bbf6fd..db42403 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/RegisterLoadBalancerRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/RegisterLoadBalancerRequestBinderTest.java @@ -33,7 +33,7 @@ public class RegisterLoadBalancerRequestBinderTest { serverIds.add("1"); serverIds.add("2"); - LoadBalancer.Request.RegisterPayload payload = LoadBalancer.Request.RegisterPayload.create(serverIds, "load-balancer-id"); + LoadBalancer.Request.RegisterPayload payload = LoadBalancer.Request.createRegisteringPaylod("load-balancer-id", serverIds); String actual = binder.createPayload(payload); http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinderTest.java index 21c08d0..b638c89 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinderTest.java @@ -16,11 +16,14 @@ */ package org.jclouds.profitbricks.binder.loadbalancer; -import com.google.common.collect.Lists; -import java.util.List; -import org.jclouds.profitbricks.domain.LoadBalancer; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; + +import java.util.List; + +import com.google.common.collect.Lists; + +import org.jclouds.profitbricks.domain.LoadBalancer; import org.testng.annotations.Test; @Test(groups = "unit", testName = "UpdateLoadBalancerRequestBinderTest") @@ -33,8 +36,12 @@ public class UpdateLoadBalancerRequestBinderTest { serverIds.add("1"); serverIds.add("2"); - LoadBalancer.Request.UpdatePayload payload = LoadBalancer.Request.UpdatePayload.create("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "load-balancer-name", - LoadBalancer.Algorithm.ROUND_ROBIN, "ip"); + LoadBalancer.Request.UpdatePayload payload = LoadBalancer.Request.updatingBuilder() + .id("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee") + .name("load-balancer-name") + .algorithm(LoadBalancer.Algorithm.ROUND_ROBIN) + .ip("10.0.0.2") + .build(); String actual = binder.createPayload(payload); @@ -48,7 +55,7 @@ public class UpdateLoadBalancerRequestBinderTest { + " <loadBalancerId>aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee</loadBalancerId>\n" + " <loadBalancerName>load-balancer-name</loadBalancerName>\n" + " <loadBalancerAlgorithm>ROUND_ROBIN</loadBalancerAlgorithm>\n" - + " <ip>ip</ip> \n" + + " <ip>10.0.0.2</ip> \n" + " </request>\n" + " </ws:updateLoadBalancer>").replaceAll("\\s+", ""); } http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/snapshot/CreateSnapshotRequestBinderTest.java ---------------------------------------------------------------------- diff --git a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/snapshot/CreateSnapshotRequestBinderTest.java b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/snapshot/CreateSnapshotRequestBinderTest.java index 42a1ad9..8a9c581 100644 --- a/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/snapshot/CreateSnapshotRequestBinderTest.java +++ b/providers/profitbricks/src/test/java/org/jclouds/profitbricks/binder/snapshot/CreateSnapshotRequestBinderTest.java @@ -29,7 +29,11 @@ public class CreateSnapshotRequestBinderTest { public void testCreatePayload() { CreateSnapshotRequestBinder binder = new CreateSnapshotRequestBinder(); - Snapshot.Request.CreatePayload payload = Snapshot.Request.CreatePayload.create("123-1233-1324", "describingthesnapshot", "snapshotname"); + Snapshot.Request.CreatePayload payload = Snapshot.Request.creatingBuilder() + .storageId("123-1233-1324") + .name("snapshot-name") + .description("describing-the-snapshot") + .build(); String actual = binder.createPayload(payload); assertNotNull(actual, "Binder returned null payload"); @@ -40,8 +44,8 @@ public class CreateSnapshotRequestBinderTest { = (" <ws:createSnapshot>\n" + "<request>\n" + "<storageId>123-1233-1324</storageId>\n" - + "<description>describing the snapshot</description>\n" - + "<snapshotName>snapshot name</snapshotName>\n" + + "<description>describing-the-snapshot</description>\n" + + "<snapshotName>snapshot-name</snapshotName>\n" + "</request>\n" + "</ws:createSnapshot>").replaceAll("\\s+", ""); }
