You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by de...@apache.org on 2016/02/19 16:33:39 UTC
[29/35] jclouds git commit: JCLOUDS-951: Remove inheritance in
ProfitBrick's AutoValue classes
JCLOUDS-951: Remove inheritance in ProfitBrick's AutoValue classes
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/5e82bbfa
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/5e82bbfa
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/5e82bbfa
Branch: refs/heads/master
Commit: 5e82bbfa462cf3a537fef4d6a42eba7bed87de55
Parents: ed247e7
Author: Reijhanniel Jearl Campos <de...@gmail.com>
Authored: Wed Oct 21 22:55:39 2015 +0800
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Tue Oct 27 13:12:23 2015 -0500
----------------------------------------------------------------------
.../AddFirewallRuleToNicRequestBinder.java | 2 +-
.../CreateLoadBalancerRequestBinder.java | 4 +-
.../UpdateLoadBalancerRequestBinder.java | 2 +-
.../snapshot/UpdateSnapshotRequestBinder.java | 2 +-
.../storage/CreateStorageRequestBinder.java | 2 +-
.../ProfitBricksComputeServiceAdapter.java | 2 +-
...ProfitBricksComputeServiceContextModule.java | 2 +-
.../compute/function/ProvisionableToImage.java | 2 +-
.../profitbricks/domain/AvailabilityZone.java | 9 +-
.../jclouds/profitbricks/domain/DataCenter.java | 112 ++---
.../org/jclouds/profitbricks/domain/Drive.java | 37 +-
.../jclouds/profitbricks/domain/Firewall.java | 332 +++----------
.../org/jclouds/profitbricks/domain/Image.java | 134 +++---
.../jclouds/profitbricks/domain/IpBlock.java | 90 ++--
.../profitbricks/domain/LoadBalancer.java | 321 ++++---------
.../jclouds/profitbricks/domain/Location.java | 8 +-
.../org/jclouds/profitbricks/domain/Nic.java | 303 ++++--------
.../org/jclouds/profitbricks/domain/OsType.java | 8 +-
.../profitbricks/domain/Provisionable.java | 25 +
.../profitbricks/domain/ProvisioningState.java | 8 +-
.../org/jclouds/profitbricks/domain/Server.java | 480 +++++++++----------
.../profitbricks/domain/ServiceFault.java | 45 +-
.../jclouds/profitbricks/domain/Snapshot.java | 290 +++++------
.../jclouds/profitbricks/domain/Storage.java | 259 +++-------
.../ipblock/BaseIpBlockResponseHandler.java | 7 +-
.../parser/ipblock/IpBlockResponseHandler.java | 4 +-
.../BaseLoadBalancerResponseHandler.java | 2 +-
.../http/parser/nic/BaseNicResponseHandler.java | 7 +-
.../http/parser/nic/NicListResponseHandler.java | 6 +
.../http/parser/nic/NicResponseHandler.java | 7 +-
.../publicip/PublicIpListResponseHandler.java | 4 +-
.../server/BaseServerResponseHandler.java | 2 +-
.../server/ServerListResponseHandler.java | 4 +-
.../profitbricks/util/Preconditions.java | 100 ++++
.../CreateDataCenterRequestBinderTest.java | 2 +-
.../UpdateDataCenterRequestBinderTest.java | 2 +-
.../AddRomDriveToServerRequestBinderTest.java | 2 +-
.../AddFirewallRuleToNicRequestBinderTest.java | 27 +-
.../CreateLoadBalancerRequestBinderTest.java | 28 +-
...DeregisterLoadBalancerRequestBinderTest.java | 2 +-
.../RegisterLoadBalancerRequestBinderTest.java | 2 +-
.../UpdateLoadBalancerRequestBinderTest.java | 19 +-
.../CreateSnapshotRequestBinderTest.java | 10 +-
.../RollbackSnapshotRequestBinderTest.java | 5 +-
.../UpdateSnapshotRequestBinderTest.java | 16 +-
.../function/ServerToNodeMetadataTest.java | 2 +-
.../domain/FirewallRuleBuilderTest.java | 2 +-
.../profitbricks/domain/ServerBuilderTest.java | 8 +-
.../features/DataCenterApiLiveTest.java | 4 +-
.../features/DataCenterApiMockTest.java | 6 +-
.../features/DrivesApiLiveTest.java | 2 +-
.../features/DrivesApiMockTest.java | 2 +-
.../features/FirewallApiLiveTest.java | 14 +-
.../features/FirewallApiMockTest.java | 24 +-
.../features/LoadBalancerApiLiveTest.java | 134 ++++++
.../features/LoadBalancerApiMockTest.java | 290 +++++++++++
.../features/LoadbalancerApiLiveTest.java | 135 ------
.../features/LoadbalancerApiMockTest.java | 285 -----------
.../profitbricks/features/NicApiMockTest.java | 18 +-
.../features/ServerApiLiveTest.java | 7 +-
.../features/SnapshotApiLiveTest.java | 10 +-
.../features/SnapshotApiMockTest.java | 10 +-
.../features/StorageApiLiveTest.java | 6 +-
...omPayloadHttpCommandExecutorServiceTest.java | 10 +-
.../DataCenterInfoResponseHandlerTest.java | 2 +-
.../ipblock/IpBlockListResponseHandlerTest.java | 19 +-
.../ipblock/IpBlockResponseHandlerTest.java | 5 +-
.../LoadBalancerListResponseHandlerTest.java | 4 +-
.../LoadBalancerResponseHandlerTest.java | 2 +-
.../parser/nic/NicListResponseHandlerTest.java | 6 +-
.../http/parser/nic/NicResponseHandlerTest.java | 8 +-
.../server/ServerInfoResponseHandlerTest.java | 2 +-
.../server/ServerListResponseHandlerTest.java | 4 +-
.../SnapshotListResponseHandlerTest.java | 4 +-
.../snapshot/SnapshotResponseHandlerTest.java | 2 +-
.../test/resources/ipblock/ipblock-reserve.xml | 2 +-
.../src/test/resources/ipblock/ipblock.xml | 4 +-
.../src/test/resources/ipblock/ipblocks.xml | 18 +-
.../loadbalancer/loadbalancer-create.xml | 2 +-
.../loadbalancer/loadbalancer-delete.xml | 2 +-
.../resources/loadbalancer/loadbalancer.xml | 2 +-
.../resources/loadbalancer/loadbalancers.xml | 4 +-
.../profitbricks/src/test/resources/nic/nic.xml | 4 +-
.../src/test/resources/nic/nics.xml | 4 +-
84 files changed, 1629 insertions(+), 2177 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinder.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinder.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinder.java
index 9bdbf76..8f4db03 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinder.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/firewall/AddFirewallRuleToNicRequestBinder.java
@@ -33,7 +33,7 @@ public class AddFirewallRuleToNicRequestBinder extends BaseProfitBricksRequestBi
protected String createPayload(Firewall.Request.AddRulePayload payload) {
requestBuilder.append("<ws:addFirewallRulesToNic>")
.append(format("<nicId>%s</nicId>", payload.nicId()));
- for (Firewall.RuleWithIcmp rule : payload.rules())
+ for (Firewall.Rule rule : payload.rules())
requestBuilder
.append("<request>")
.append(formatIfNotEmpty("<icmpCode>%s</icmpCode>", rule.icmpCode()))
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinder.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinder.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinder.java
index 90eb93f..e3d13a1 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinder.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/CreateLoadBalancerRequestBinder.java
@@ -35,8 +35,8 @@ public class CreateLoadBalancerRequestBinder extends BaseProfitBricksRequestBind
requestBuilder.append("<ws:createLoadBalancer>")
.append("<request>")
.append(format("<dataCenterId>%s</dataCenterId>", payload.dataCenterId()))
- .append(format("<loadBalancerName>%s</loadBalancerName>", payload.loadBalancerName()))
- .append(format("<loadBalancerAlgorithm>%s</loadBalancerAlgorithm>", payload.loadBalancerAlgorithm()))
+ .append(format("<loadBalancerName>%s</loadBalancerName>", payload.name()))
+ .append(format("<loadBalancerAlgorithm>%s</loadBalancerAlgorithm>", payload.algorithm()))
.append(format("<ip>%s</ip>", payload.ip()))
.append(format("<lanId>%s</lanId>", payload.lanId()));
for (String serverId : payload.serverIds())
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinder.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinder.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinder.java
index 0496655..c093f23 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinder.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/loadbalancer/UpdateLoadBalancerRequestBinder.java
@@ -36,7 +36,7 @@ public class UpdateLoadBalancerRequestBinder extends BaseProfitBricksRequestBind
.append("<request>")
.append(format("<loadBalancerId>%s</loadBalancerId>", payload.id()))
.append(formatIfNotEmpty("<loadBalancerName>%s</loadBalancerName>", payload.name()))
- .append(formatIfNotEmpty("<loadBalancerAlgorithm>%s</loadBalancerAlgorithm>", payload.loadBalancerAlgorithm()))
+ .append(formatIfNotEmpty("<loadBalancerAlgorithm>%s</loadBalancerAlgorithm>", payload.algorithm()))
.append(formatIfNotEmpty("<ip>%s</ip>", payload.ip()))
.append("</request>")
.append("</ws:updateLoadBalancer>").toString();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/snapshot/UpdateSnapshotRequestBinder.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/snapshot/UpdateSnapshotRequestBinder.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/snapshot/UpdateSnapshotRequestBinder.java
index df1b7cd..1414c69 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/snapshot/UpdateSnapshotRequestBinder.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/snapshot/UpdateSnapshotRequestBinder.java
@@ -33,7 +33,7 @@ public class UpdateSnapshotRequestBinder extends BaseProfitBricksRequestBinder<S
protected String createPayload(Snapshot.Request.UpdatePayload payload) {
requestBuilder.append("<ws:updateSnapshot>")
.append("<request>")
- .append(format("<snapshotId>%s</snapshotId>", payload.snapshotId()))
+ .append(format("<snapshotId>%s</snapshotId>", payload.id()))
.append(format("<description>%s</description>", payload.description()))
.append(format("<snapshotName>%s</snapshotName>", payload.name()))
.append(formatIfNotEmpty("<bootable>%s</bootable>", payload.bootable()))
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/storage/CreateStorageRequestBinder.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/storage/CreateStorageRequestBinder.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/storage/CreateStorageRequestBinder.java
index acfb6f3..9681b64 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/storage/CreateStorageRequestBinder.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/binder/storage/CreateStorageRequestBinder.java
@@ -37,7 +37,7 @@ public class CreateStorageRequestBinder extends BaseProfitBricksRequestBinder<St
.append(formatIfNotEmpty("<storageName>%s</storageName>", payload.name()))
.append(format("<size>%.0f</size>", payload.size()))
.append(formatIfNotEmpty("<mountImageId>%s</mountImageId>", payload.mountImageId()))
- .append(formatIfNotEmpty("<profitBricksImagePassword>%s</profitBricksImagePassword>", payload.profitBricksImagePassword()))
+ .append(formatIfNotEmpty("<profitBricksImagePassword>%s</profitBricksImagePassword>", payload.imagePassword()))
.append("</request>")
.append("</ws:createStorage>");
return requestBuilder.toString();
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/ProfitBricksComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/ProfitBricksComputeServiceAdapter.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/ProfitBricksComputeServiceAdapter.java
index add3fb9..4f6548e 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/ProfitBricksComputeServiceAdapter.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/ProfitBricksComputeServiceAdapter.java
@@ -54,7 +54,7 @@ import org.jclouds.profitbricks.features.ServerApi;
import org.jclouds.profitbricks.compute.concurrent.ProvisioningJob;
import org.jclouds.profitbricks.compute.concurrent.ProvisioningManager;
import org.jclouds.profitbricks.domain.Snapshot;
-import org.jclouds.profitbricks.domain.internal.Provisionable;
+import org.jclouds.profitbricks.domain.Provisionable;
import org.jclouds.profitbricks.util.Passwords;
import org.jclouds.rest.ResourceNotFoundException;
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/config/ProfitBricksComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/config/ProfitBricksComputeServiceContextModule.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/config/ProfitBricksComputeServiceContextModule.java
index d260caf..2b45d18 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/config/ProfitBricksComputeServiceContextModule.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/config/ProfitBricksComputeServiceContextModule.java
@@ -52,7 +52,7 @@ import org.jclouds.profitbricks.compute.function.StorageToVolume;
import org.jclouds.profitbricks.compute.internal.ProvisioningStatusAware;
import org.jclouds.profitbricks.compute.internal.ProvisioningStatusPollingPredicate;
import org.jclouds.profitbricks.domain.ProvisioningState;
-import org.jclouds.profitbricks.domain.internal.Provisionable;
+import org.jclouds.profitbricks.domain.Provisionable;
import org.jclouds.util.Predicates2;
import com.google.common.base.Function;
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/function/ProvisionableToImage.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/function/ProvisionableToImage.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/function/ProvisionableToImage.java
index c5fcd78..c5c7f5e 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/function/ProvisionableToImage.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/compute/function/ProvisionableToImage.java
@@ -29,7 +29,7 @@ import org.jclouds.domain.Location;
import org.jclouds.profitbricks.domain.OsType;
import org.jclouds.profitbricks.domain.ProvisioningState;
import org.jclouds.profitbricks.domain.Snapshot;
-import org.jclouds.profitbricks.domain.internal.Provisionable;
+import org.jclouds.profitbricks.domain.Provisionable;
import com.google.common.base.Function;
import com.google.common.base.Strings;
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/AvailabilityZone.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/AvailabilityZone.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/AvailabilityZone.java
index 97cac69..a3c50ae 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/AvailabilityZone.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/AvailabilityZone.java
@@ -16,6 +16,8 @@
*/
package org.jclouds.profitbricks.domain;
+import com.google.common.base.Enums;
+
public enum AvailabilityZone {
AUTO, ZONE_1, ZONE_2, UNRECOGNIZED;
@@ -25,11 +27,6 @@ public enum AvailabilityZone {
}
public static AvailabilityZone fromValue(String v) {
- try {
- return valueOf(v);
- } catch (Exception ex) {
- return UNRECOGNIZED;
- }
+ return Enums.getIfPresent(AvailabilityZone.class, v).or(UNRECOGNIZED);
}
-
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/DataCenter.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/DataCenter.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/DataCenter.java
index a24d84b..9bb09ab 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/DataCenter.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/DataCenter.java
@@ -16,17 +16,14 @@
*/
package org.jclouds.profitbricks.domain;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Strings.isNullOrEmpty;
+import static org.jclouds.profitbricks.util.Preconditions.checkInvalidChars;
import java.util.List;
-import java.util.regex.Pattern;
import org.jclouds.javax.annotation.Nullable;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
@AutoValue
public abstract class DataCenter {
@@ -49,81 +46,60 @@ public abstract class DataCenter {
@Nullable
public abstract List<Storage> storages();
-// @Nullable public abstract List<LoadBalancer> loadBalancers();
-
- public static DataCenter create(String id, String name, int version, ProvisioningState state, Location location, List<Server> servers,
- List<Storage> storages) {
- return new AutoValue_DataCenter(id, name, version, state, location,
- servers != null ? ImmutableList.copyOf(servers) : Lists.<Server>newArrayList(),
- storages != null ? ImmutableList.copyOf(storages) : Lists.<Storage>newArrayList());
- }
public static Builder builder() {
- return new Builder();
+ return new AutoValue_DataCenter.Builder()
+ .servers(ImmutableList.<Server>of())
+ .storages(ImmutableList.<Storage>of());
}
- public Builder toBuilder() {
- return builder().fromDataCenter(this);
- }
+ public abstract Builder toBuilder();
- public static final class Builder {
+ @AutoValue.Builder
+ public abstract static class Builder {
- private String id;
- private String name;
- private ProvisioningState state;
- private Location location;
- private int version;
- private List<Server> servers;
- private List<Storage> storages;
-// private List<LoadBalancer> loadBalancer;
+ public abstract Builder id(String id);
- public Builder id(String id) {
- this.id = id;
- return this;
- }
+ public abstract Builder name(String name);
- public Builder name(String name) {
- this.name = name;
- return this;
- }
+ public abstract Builder version(int version);
- public Builder state(ProvisioningState state) {
- this.state = state;
- return this;
- }
+ public abstract Builder state(ProvisioningState state);
- public Builder location(Location location) {
- this.location = location;
- return this;
- }
+ public abstract Builder location(Location location);
- public Builder version(int version) {
- this.version = version;
- return this;
- }
+ public abstract Builder servers(List<Server> servers);
- public Builder servers(List<Server> servers) {
- this.servers = servers;
- return this;
- }
-
- public Builder storages(List<Storage> storages) {
- this.storages = storages;
- return this;
- }
+ public abstract Builder storages(List<Storage> storages);
- public DataCenter build() {
- return DataCenter.create(id, name, version, state, location, servers, storages);
+ abstract DataCenter autoBuild();
+
+ public DataCenter build(){
+ DataCenter built = autoBuild();
+ return built.toBuilder()
+ .servers(ImmutableList.copyOf(built.servers()))
+ .storages(ImmutableList.copyOf(built.storages()))
+ .autoBuild();
}
- public Builder fromDataCenter(DataCenter in) {
- return this.id(in.id()).name(in.name()).version(in.version()).state(in.state()).location(in.location()).servers(in.servers())
- .storages(in.storages());
- }
}
public static final class Request {
+ public static CreatePayload creatingPayload(String name, Location location) {
+ CreatePayload payload = new AutoValue_DataCenter_Request_CreatePayload(name, location);
+ checkInvalidChars(payload.name());
+
+ return payload;
+ }
+
+ public static UpdatePayload updatingPayload(String id, String name) {
+ UpdatePayload payload = new AutoValue_DataCenter_Request_UpdatePayload(id, name);
+ checkInvalidChars(payload.name());
+
+ return payload;
+ }
+
@AutoValue
public abstract static class CreatePayload {
@@ -131,11 +107,6 @@ public abstract class DataCenter {
public abstract Location location();
- public static CreatePayload create(String name, Location location) {
- checkInvalidChars(name);
- return new AutoValue_DataCenter_Request_CreatePayload(name, location);
- }
-
}
@AutoValue
@@ -145,17 +116,6 @@ public abstract class DataCenter {
public abstract String name();
- public static UpdatePayload create(String id, String name) {
- checkInvalidChars(name);
- return new AutoValue_DataCenter_Request_UpdatePayload(id, name);
- }
- }
-
- private static final Pattern INVALID_CHARS = Pattern.compile("^.*[@/\\|'`’^].*$");
-
- private static void checkInvalidChars(String name) {
- checkArgument(!isNullOrEmpty(name), "Name is required.");
- checkArgument(!INVALID_CHARS.matcher(name).matches(), "Name must not contain any of: @ / \\ | ' ` ’ ^");
}
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Drive.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Drive.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Drive.java
index 08add2a..c2efe09 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Drive.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Drive.java
@@ -18,10 +18,12 @@ package org.jclouds.profitbricks.domain;
import com.google.auto.value.AutoValue;
+import org.jclouds.javax.annotation.Nullable;
+
@AutoValue
public abstract class Drive {
- public static final class Request {
+ public abstract static class Request {
@AutoValue
public abstract static class AddRomDriveToServerPayload {
@@ -30,40 +32,23 @@ public abstract class Drive {
public abstract String imageId();
+ @Nullable
public abstract String deviceNumber();
- public static AddRomDriveToServerPayload create(String serverId, String storageId, String deviceNumber) {
- return new AutoValue_Drive_Request_AddRomDriveToServerPayload(serverId, storageId, deviceNumber);
- }
-
public static Builder builder() {
- return new Builder();
+ return new AutoValue_Drive_Request_AddRomDriveToServerPayload.Builder();
}
- public static class Builder {
-
- private String serverId;
- private String imageId;
- private String deviceNumber;
+ @AutoValue.Builder
+ public abstract static class Builder {
- public Builder serverId(String serverId) {
- this.serverId = serverId;
- return this;
- }
+ public abstract Builder serverId(String serverId);
- public Builder storageId(String storageId) {
- this.imageId = storageId;
- return this;
- }
+ public abstract Builder imageId(String imageId);
- public Builder deviceNumber(String deviceNumber) {
- this.deviceNumber = deviceNumber;
- return this;
- }
+ public abstract Builder deviceNumber(String deviceNumber);
- public AddRomDriveToServerPayload build() {
- return AddRomDriveToServerPayload.create(serverId, imageId, deviceNumber);
- }
+ public abstract AddRomDriveToServerPayload build();
}
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Firewall.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Firewall.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Firewall.java
index 2108bc4..78b30c1 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Firewall.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Firewall.java
@@ -16,18 +16,18 @@
*/
package org.jclouds.profitbricks.domain;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.net.InetAddresses.isInetAddress;
-import static org.jclouds.profitbricks.util.MacAddresses.isMacAddress;
+import static org.jclouds.profitbricks.util.Preconditions.checkIcmp;
+import static org.jclouds.profitbricks.util.Preconditions.checkIp;
+import static org.jclouds.profitbricks.util.Preconditions.checkMacAddress;
+import static org.jclouds.profitbricks.util.Preconditions.checkPortRange;
import java.util.List;
import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.profitbricks.domain.internal.FirewallRuleCommonProperties;
import com.google.auto.value.AutoValue;
+import com.google.common.base.Enums;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
@AutoValue
public abstract class Firewall {
@@ -37,11 +37,7 @@ public abstract class Firewall {
TCP, UDP, ICMP, ANY, UNRECOGNIZED;
public static Protocol fromValue(String value) {
- try {
- return valueOf(value);
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
+ return Enums.getIfPresent(Protocol.class, value).or(UNRECOGNIZED);
}
}
@@ -51,7 +47,8 @@ public abstract class Firewall {
@Nullable
public abstract String nicId();
- public abstract boolean active();
+ @Nullable
+ public abstract Boolean active();
@Nullable
public abstract ProvisioningState state();
@@ -59,228 +56,79 @@ public abstract class Firewall {
@Nullable
public abstract List<Rule> rules();
- public static Firewall create(String id, String nicId, boolean active, ProvisioningState provisioningState,
- List<Rule> rules) {
- return new AutoValue_Firewall(id, nicId, active, provisioningState,
- rules != null ? ImmutableList.copyOf(rules) : ImmutableList.<Rule>of());
- }
-
public static Builder builder() {
- return new Builder();
+ return new AutoValue_Firewall.Builder()
+ .rules(ImmutableList.<Rule>of());
}
- public static final class Request {
-
- public static AddRulePayload.Builder ruleAddingBuilder() {
- return new AddRulePayload.Builder();
- }
-
- @AutoValue
- public abstract static class AddRulePayload {
+ public abstract Builder toBuilder();
- public abstract String nicId();
+ @AutoValue.Builder
+ public abstract static class Builder {
- public abstract List<RuleWithIcmp> rules();
+ public abstract Builder id(String id);
- public static AddRulePayload create(String nicId, List<RuleWithIcmp> rules) {
- return new AutoValue_Firewall_Request_AddRulePayload(nicId, rules);
- }
+ public abstract Builder nicId(String nicId);
- public static class Builder {
+ public abstract Builder active(Boolean active);
- private String nicId;
- private List<RuleWithIcmp> rules = Lists.newArrayList();
+ public abstract Builder state(ProvisioningState state);
- public Builder nicId(String nicId) {
- this.nicId = nicId;
- return this;
- }
+ public abstract Builder rules(List<Rule> rules);
- public Builder rules(List<RuleWithIcmp> rules) {
- this.rules = rules;
- return this;
- }
-
- public RuleWithIcmp.Builder newRule() {
- return new RuleWithIcmp.Builder(this);
- }
-
- public Builder addRule(RuleWithIcmp rule) {
- this.rules.add(rule);
- return this;
- }
-
- public AddRulePayload build() {
- return AddRulePayload.create(nicId, rules);
- }
- }
+ abstract Firewall autoBuild();
+
+ public Firewall build(){
+ Firewall built = autoBuild();
+
+ return built.toBuilder()
+ .rules(ImmutableList.copyOf(built.rules()))
+ .autoBuild();
}
}
- public static class Builder {
-
- private String id;
- private String nicId;
- private boolean active;
-
- private ProvisioningState state;
- private List<Rule> rules;
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
-
- public Builder nicId(String nicId) {
- this.nicId = nicId;
- return this;
- }
-
- public Builder active(boolean active) {
- this.active = active;
- return this;
- }
-
- public Builder state(ProvisioningState state) {
- this.state = state;
- return this;
- }
-
- public Builder rules(List<Rule> firewallRules) {
- this.rules = firewallRules;
- return this;
- }
-
- public Builder fromFirewall(Firewall in) {
- return this.id(in.id()).nicId(in.nicId()).active(in.active()).state(in.state())
- .rules(in.rules());
- }
-
- public Firewall build() {
- return Firewall.create(id, nicId, active, state, rules);
- }
- }
-
- public abstract static class RuleBuilder<B extends RuleBuilder, D extends FirewallRuleCommonProperties> {
-
- protected String name;
- protected Integer portRangeEnd;
- protected Integer portRangeStart;
- protected Protocol protocol;
- protected String sourceIp;
- protected String sourceMac;
- protected String targetIp;
-
- public B name(String name) {
- this.name = name;
- return self();
- }
-
- public B portRangeEnd(Integer portRangeEnd) {
- this.portRangeEnd = portRangeEnd;
- return self();
- }
-
- public B portRangeStart(Integer portRangeStart) {
- this.portRangeStart = portRangeStart;
- return self();
- }
-
- public B protocol(Protocol protocol) {
- this.protocol = protocol;
- return self();
- }
-
- public B sourceIp(String sourceIp) {
- this.sourceIp = sourceIp;
- return self();
- }
-
- public B sourceMac(String sourceMac) {
- this.sourceMac = sourceMac;
- return self();
- }
+ public static final class Request {
- public B targetIp(String targetIp) {
- this.targetIp = targetIp;
- return self();
+ public static AddRulePayload createAddRulePayload(String nicId, List<Rule> rules) {
+ return new AutoValue_Firewall_Request_AddRulePayload(nicId, ImmutableList.copyOf(rules));
}
- public abstract B self();
-
- public abstract D build();
-
- protected void checkPortRange() {
- checkArgument(!(portRangeEnd == null ^ portRangeStart == null), "Port range must be both present or null");
- if (portRangeEnd != null) {
- checkArgument(protocol == Protocol.TCP || protocol == 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");
- }
- }
+ @AutoValue
+ public abstract static class AddRulePayload {
- protected void checkMac() {
- if (sourceMac != null)
- checkArgument(isMacAddress(sourceMac), "Source MAC must match pattern 'aa:bb:cc:dd:ee:ff'");
- }
+ public abstract String nicId();
- protected void checkIp() {
- if (sourceIp != null)
- checkArgument(isInetAddress(sourceIp), "Source IP is invalid");
- if (targetIp != null)
- checkArgument(isInetAddress(targetIp), "Target IP is invalid");
- }
+ public abstract List<Rule> rules();
- protected void checkFields() {
- checkMac();
- checkPortRange();
- checkIp();
}
-
}
@AutoValue
- public abstract static class Rule implements FirewallRuleCommonProperties {
+ public abstract static class Rule {
@Nullable
public abstract String id();
- public static Rule create(String id, String name, Integer portRangeEnd, Integer portRangeStart,
- Protocol protocol, String sourceIp, String sourceMac, String targetIp) {
- return new AutoValue_Firewall_Rule(name, portRangeEnd, portRangeStart, protocol, sourceIp, sourceMac,
- targetIp, id);
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder extends RuleBuilder<Builder, Rule> {
+ @Nullable
+ public abstract String name();
- private String id;
+ @Nullable
+ public abstract Integer portRangeEnd();
- public Builder id(String id) {
- this.id = id;
- return self();
- }
+ @Nullable
+ public abstract Integer portRangeStart();
- @Override
- public Builder self() {
- return this;
- }
+ @Nullable
+ public abstract Protocol protocol();
- @Override
- public Rule build() {
- checkFields();
- return Rule.create(id, name, portRangeEnd, portRangeStart, protocol, sourceIp, sourceMac, targetIp);
- }
+ @Nullable
+ public abstract String sourceIp();
- }
- }
+ @Nullable
+ public abstract String sourceMac();
- @AutoValue
- public abstract static class RuleWithIcmp implements FirewallRuleCommonProperties {
+ @Nullable
+ public abstract String targetIp();
@Nullable
public abstract Integer icmpCode();
@@ -288,76 +136,52 @@ public abstract class Firewall {
@Nullable
public abstract Integer icmpType();
- public static RuleWithIcmp create(Integer icmpCode, Integer icmpType, String name, Integer portRangeEnd,
- Integer portRangeStart, Protocol protocol, String sourceIp, String sourceMac, String targetIp) {
- return new AutoValue_Firewall_RuleWithIcmp(name, portRangeEnd, portRangeStart, protocol, sourceIp, sourceMac,
- targetIp, icmpCode, icmpType);
- }
-
public static Builder builder() {
- return new Builder();
+ return new AutoValue_Firewall_Rule.Builder()
+ .protocol(Protocol.ANY);
}
- public static class Builder extends RuleBuilder<Builder, RuleWithIcmp> {
+ public Builder toBuilder() {
+ return new AutoValue_Firewall_Rule.Builder(this);
+ }
- private Request.AddRulePayload.Builder parentBuilder;
+ @AutoValue.Builder
+ public abstract static class Builder {
- private Integer icmpCode;
- private Integer icmpType;
+ public abstract Builder id(String id);
- public Builder() {
+ public abstract Builder name(String name);
- }
+ public abstract Builder portRangeEnd(Integer portRangeEnd);
- private Builder(Request.AddRulePayload.Builder parentBuilder) {
- this.parentBuilder = parentBuilder;
- }
+ public abstract Builder portRangeStart(Integer portRangeStart);
- public Builder nextRule() {
- this.parentBuilder.addRule(build());
- return new Builder(parentBuilder);
- }
+ public abstract Builder protocol(Protocol protocol);
- public Request.AddRulePayload.Builder endRule() {
- this.parentBuilder.addRule(build());
- return parentBuilder;
- }
+ public abstract Builder sourceIp(String sourceIp);
- public Builder icmpCode(Integer icmpCode) {
- this.icmpCode = icmpCode;
- return this;
- }
+ public abstract Builder sourceMac(String sourceMac);
- public Builder icmpType(Integer icmpType) {
- this.icmpType = icmpType;
- return this;
- }
+ public abstract Builder targetIp(String targetIp);
- @Override
- public Builder self() {
- return this;
- }
+ public abstract Builder icmpCode(Integer icmpCode);
- @Override
- public RuleWithIcmp build() {
- checkFields();
- return RuleWithIcmp.create(icmpCode, icmpType, name, portRangeEnd, portRangeStart, protocol,
- sourceIp, sourceMac, targetIp);
- }
+ public abstract Builder icmpType(Integer icmpType);
- @Override
- protected void checkFields() {
- super.checkFields();
- checkIcmp();
- }
+ abstract Rule autoBuild();
- private void checkIcmp() {
- if (icmpCode != null)
- checkArgument(icmpCode >= 1 && icmpCode <= 254, "ICMP code must be 1 to 254");
- if (icmpType != null)
- checkArgument(icmpType >= 1 && icmpType <= 254, "ICMP type must be 1 to 254");
- if (icmpCode != null || icmpType != null)
- checkArgument(protocol == Protocol.ICMP, "ICMP code and types can only be set for ICMP protocol");
+ public Rule build() {
+ Rule rule = autoBuild();
+ if (rule.sourceIp() != null)
+ checkIp(rule.sourceIp());
+ if (rule.targetIp() != null)
+ checkIp(rule.targetIp());
+ if (rule.sourceMac() != null)
+ checkMacAddress(rule.sourceMac());
+ checkPortRange(rule.portRangeStart(), rule.portRangeEnd(), rule.protocol());
+ checkIcmp(rule.icmpType(), rule.icmpCode(), rule.protocol());
+
+ return rule;
}
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Image.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Image.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Image.java
index 0987324..383a744 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Image.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Image.java
@@ -16,9 +16,10 @@
*/
package org.jclouds.profitbricks.domain;
-import org.jclouds.profitbricks.domain.internal.Provisionable;
-
import com.google.auto.value.AutoValue;
+import com.google.common.base.Enums;
+
+import org.jclouds.javax.annotation.Nullable;
@AutoValue
public abstract class Image implements Provisionable {
@@ -28,84 +29,99 @@ public abstract class Image implements Provisionable {
HDD, CDROM, UNRECOGNIZED;
public static Type fromValue(String v) {
- try {
- return valueOf(v);
- } catch (IllegalArgumentException ex) {
- return UNRECOGNIZED;
- }
+ return Enums.getIfPresent(Type.class, v).or(UNRECOGNIZED);
}
}
+ public abstract String id();
+
+ public abstract String name();
+
+ public abstract float size(); // MB
+
+ public abstract Location location();
+
+ public abstract OsType osType();
+
public abstract Type type();
- public abstract boolean isPublic();
+ @Nullable
+ public abstract Boolean isPublic();
- public abstract boolean isWriteable();
+ @Nullable
+ public abstract Boolean isWriteable();
- public abstract boolean isBootable();
+ @Nullable
+ public abstract Boolean isBootable();
- public static Image create(String id, String name, float size, Type type, Location location, OsType osType,
- boolean isPublic, Boolean isWriteable, Boolean isBootable, Boolean cpuHotPlug, Boolean cpuHotUnPlug,
- Boolean ramHotPlug, Boolean ramHotUnPlug, Boolean nicHotPlug, Boolean nicHotUnPlug,
- Boolean discVirtioHotPlug, Boolean discVirtioHotUnPlug) {
- return new AutoValue_Image(cpuHotPlug, cpuHotUnPlug, ramHotPlug, ramHotUnPlug, nicHotPlug, nicHotUnPlug,
- discVirtioHotPlug, discVirtioHotUnPlug, id, name, size, location, osType, type, isPublic, isWriteable,
- isBootable);
- }
+ @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();
public static Builder builder() {
- return new Builder();
+ return new AutoValue_Image.Builder();
}
- public Builder toBuilder() {
- return builder().fromImage(this);
- }
+ public abstract Builder toBuilder();
- public static class Builder extends Provisionable.Builder<Builder, Image> {
+ @AutoValue.Builder
+ public abstract static class Builder {
- private Type type;
- private boolean isPublic;
- private boolean isWriteable;
- private boolean isBootable;
+ public abstract Builder id(String id);
- public Builder type(Type type) {
- this.type = type;
- return this;
- }
+ public abstract Builder name(String name);
- public Builder isPublic(boolean isPublic) {
- this.isPublic = isPublic;
- return this;
- }
+ public abstract Builder size(float size);
- public Builder isWriteable(boolean isWriteable) {
- this.isWriteable = isWriteable;
- return this;
- }
+ public abstract Builder location(Location location);
- public Builder isBootable(boolean isBootable) {
- this.isBootable = isBootable;
- return this;
- }
+ public abstract Builder osType(OsType osType);
- @Override
- public Image build() {
- return Image.create(id, name, size, type, location, osType, isPublic, isWriteable, isBootable, cpuHotPlug, cpuHotUnPlug,
- ramHotPlug, ramHotUnPlug, nicHotPlug, nicHotUnPlug, discVirtioHotPlug, discVirtioHotUnPlug);
- }
+ public abstract Builder type(Type type);
- public Builder fromImage(Image in) {
- return this.id(in.id()).isBootable(in.isBootable()).isCpuHotPlug(in.isCpuHotPlug()).isCpuHotUnPlug(in.isCpuHotUnPlug())
- .isDiscVirtioHotPlug(in.isDiscVirtioHotPlug()).isDiscVirtioHotUnPlug(in.isDiscVirtioHotUnPlug())
- .isNicHotPlug(in.isNicHotPlug()).isNicHotUnPlug(in.isNicHotUnPlug()).isPublic(in.isPublic())
- .isRamHotPlug(in.isRamHotPlug()).isRamHotUnPlug(in.isRamHotUnPlug()).isWriteable(in.isWriteable())
- .location(in.location()).name(in.name()).osType(in.osType()).size(in.size()).type(in.type());
- }
+ public abstract Builder isPublic(Boolean isPublic);
- @Override
- public Builder self() {
- return this;
- }
+ public abstract Builder isWriteable(Boolean isWriteable);
+
+ public abstract Builder isBootable(Boolean isBootable);
+
+ 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 Image build();
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/IpBlock.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/IpBlock.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/IpBlock.java
index 47741ff..cc2c999 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/IpBlock.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/IpBlock.java
@@ -16,9 +16,14 @@
*/
package org.jclouds.profitbricks.domain;
+import static org.jclouds.profitbricks.util.Preconditions.checkIp;
+import static org.jclouds.profitbricks.util.Preconditions.checkIps;
+
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
+
import java.util.List;
+
import org.jclouds.javax.annotation.Nullable;
@AutoValue
@@ -30,51 +35,39 @@ public abstract class IpBlock {
public abstract List<PublicIp> publicIps();
+ @Nullable
public abstract List<String> ips();
- public static IpBlock create(String id, Location location, List<PublicIp> publicIps, List<String> ips) {
- return new AutoValue_IpBlock(id, location, publicIps, ips != null ? ImmutableList.copyOf(ips) : ImmutableList.<String>of());
- }
-
public static Builder builder() {
- return new Builder();
+ return new AutoValue_IpBlock.Builder()
+ .publicIps(ImmutableList.<PublicIp>of())
+ .ips(ImmutableList.<String>of());
}
- public static final class Builder {
+ public abstract Builder toBuilder();
- private String id;
- private Location location;
- private List<PublicIp> publicIps;
- private List<String> ips;
+ @AutoValue.Builder
+ public abstract static class Builder {
- public Builder id(String id) {
- this.id = id;
- return this;
- }
+ public abstract Builder id(String id);
- public Builder location(Location location) {
- this.location = location;
- return this;
- }
+ public abstract Builder location(Location location);
- public Builder publicIps(List<PublicIp> publicIps) {
- this.publicIps = publicIps;
- return this;
- }
+ public abstract Builder publicIps(List<PublicIp> publicIps);
- public Builder ips(List<String> ips) {
- this.ips = ips;
- return this;
- }
+ public abstract Builder ips(List<String> ips);
+
+ abstract IpBlock autoBuild();
public IpBlock build() {
- return IpBlock.create(id, location, publicIps, ips);
- }
+ IpBlock ipBlock = autoBuild();
+ checkIps(ipBlock.ips());
- public Builder fromIpBlock(IpBlock in) {
- return this.id(in.id()).location(in.location()).publicIps(in.publicIps()).ips(in.ips());
+ return ipBlock.toBuilder()
+ .publicIps(ImmutableList.copyOf(ipBlock.publicIps()))
+ .ips(ImmutableList.copyOf(ipBlock.ips()))
+ .autoBuild();
}
-
}
@AutoValue
@@ -85,41 +78,26 @@ public abstract class IpBlock {
@Nullable
public abstract String nicId();
- public static PublicIp create(String ip, String nicId) {
- return new AutoValue_IpBlock_PublicIp(ip, nicId);
- }
-
public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromPublicIp(this);
+ return new AutoValue_IpBlock_PublicIp.Builder();
}
- public static final class Builder {
+ @AutoValue.Builder
+ public abstract static class Builder {
- private String ip;
- private String nicId;
+ public abstract Builder ip(String ip);
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
+ public abstract Builder nicId(String nicId);
- public Builder nicId(String nicId) {
- this.nicId = nicId;
- return this;
- }
+ abstract PublicIp autoBuild();
public PublicIp build() {
- return PublicIp.create(ip, nicId);
- }
+ PublicIp publicIp = autoBuild();
+ checkIp(publicIp.ip());
- public Builder fromPublicIp(PublicIp in) {
- return this.ip(in.ip()).nicId(in.nicId());
+ return publicIp;
}
}
- }
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/LoadBalancer.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/LoadBalancer.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/LoadBalancer.java
index 843999d..863890b 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/LoadBalancer.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/LoadBalancer.java
@@ -16,16 +16,17 @@
*/
package org.jclouds.profitbricks.domain;
+import static org.jclouds.profitbricks.util.Preconditions.checkIp;
+import static org.jclouds.profitbricks.util.Preconditions.checkLanId;
+
+import java.util.Date;
+import java.util.List;
+
import com.google.auto.value.AutoValue;
import com.google.common.base.Enums;
-import static com.google.common.base.Preconditions.checkArgument;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import static com.google.common.net.InetAddresses.isInetAddress;
-import org.jclouds.javax.annotation.Nullable;
-import java.util.Date;
-import java.util.List;
+import org.jclouds.javax.annotation.Nullable;
@AutoValue
public abstract class LoadBalancer {
@@ -59,7 +60,7 @@ public abstract class LoadBalancer {
public abstract String ip();
@Nullable
- public abstract String lanId();
+ public abstract Integer lanId();
@Nullable
public abstract ProvisioningState state();
@@ -76,141 +77,76 @@ public abstract class LoadBalancer {
@Nullable
public abstract List<Firewall> firewalls();
- public static LoadBalancer create(String id, String name, Algorithm algorithm, DataCenter dataCenter,
- boolean internetAccess, String ip, String lanId, ProvisioningState state, Date creationTime,
- Date lastModificationTime, List<Server> balancedServers, List<Firewall> firewalls) {
- return new AutoValue_LoadBalancer(id, name, algorithm, dataCenter,
- internetAccess, ip, lanId, state, creationTime, lastModificationTime,
- balancedServers != null ? ImmutableList.copyOf(balancedServers) : ImmutableList.<Server>of(),
- firewalls != null ? ImmutableList.copyOf(firewalls) : ImmutableList.<Firewall>of());
- }
-
public static Builder builder() {
- return new Builder();
+ return new AutoValue_LoadBalancer.Builder()
+ .balancedServers(ImmutableList.<Server>of())
+ .firewalls(ImmutableList.<Firewall>of());
}
- private static void checkIp(String ip) {
- if (ip != null)
- checkArgument(isInetAddress(ip), "Invalid IP");
- }
-
- public static class Builder {
-
- private String id;
-
- private String name;
-
- private Algorithm algorithm;
-
- private DataCenter dataCenter;
-
- private boolean internetAccess;
-
- private String ip;
-
- private String lanId;
-
- private ProvisioningState state;
+ public abstract Builder toBuilder();
- private Date creationTime;
+ @AutoValue.Builder
+ public abstract static class Builder {
- private Date lastModificationTime;
+ public abstract Builder id(String id);
- public List<Server> balancedServers;
+ public abstract Builder name(String name);
- private List<Firewall> firewalls;
+ public abstract Builder algorithm(Algorithm algorithm);
- public Builder id(String id) {
- this.id = id;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder algorithm(Algorithm algorithm) {
- this.algorithm = algorithm;
- return this;
- }
+ public abstract Builder dataCenter(DataCenter dataCenter);
- public Builder dataCenter(DataCenter dataCenter) {
- this.dataCenter = dataCenter;
- return this;
- }
+ public abstract Builder internetAccess(Boolean internetAccess);
- public Builder internetAccess(boolean internetAccess) {
- this.internetAccess = internetAccess;
- return this;
- }
+ public abstract Builder ip(String ip);
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
+ public abstract Builder lanId(Integer lanId);
- public Builder lanId(String lanId) {
- this.lanId = lanId;
- return this;
- }
+ public abstract Builder creationTime(Date creationTime);
- public Builder creationTime(Date creationTime) {
- this.creationTime = creationTime;
- return this;
- }
+ public abstract Builder state(ProvisioningState state);
- public Builder state(ProvisioningState state) {
- this.state = state;
- return this;
- }
+ public abstract Builder lastModificationTime(Date lastModificationTime);
- public Builder lastModificationTime(Date lastModificationTime) {
- this.lastModificationTime = lastModificationTime;
- return this;
- }
+ public abstract Builder balancedServers(List<Server> balancedServers);
- public Builder balancedServers(List<Server> balancedServers) {
- this.balancedServers = balancedServers;
- return this;
- }
+ public abstract Builder firewalls(List<Firewall> firewalls);
- public Builder firewalls(List<Firewall> firewalls) {
- this.firewalls = firewalls;
- return this;
- }
+ abstract LoadBalancer autoBuild();
public LoadBalancer build() {
- checkIp(ip);
- return LoadBalancer.create(id, name, algorithm, dataCenter, internetAccess,
- ip, lanId, state, creationTime, lastModificationTime, balancedServers, firewalls);
- }
-
- public Builder fromLoadBalancer(LoadBalancer in) {
- return this.id(in.id()).name(in.name()).algorithm(in.algorithm())
- .dataCenter(in.dataCenter()).internetAccess(in.internetAccess())
- .ip(in.ip()).lanId(in.lanId()).state(in.state()).creationTime(in.creationTime())
- .lastModificationTime(in.lastModificationTime()).balancedServers(in.balancedServers())
- .firewalls(in.firewalls());
+ LoadBalancer loadBalancer = autoBuild();
+ if (loadBalancer.ip() != null)
+ checkIp(loadBalancer.ip());
+ if (loadBalancer.lanId() != null)
+ checkLanId(loadBalancer.lanId());
+
+ return loadBalancer.toBuilder()
+ .balancedServers(ImmutableList.copyOf(loadBalancer.balancedServers()))
+ .firewalls(ImmutableList.copyOf(loadBalancer.firewalls()))
+ .autoBuild();
}
}
public static final class Request {
public static CreatePayload.Builder creatingBuilder() {
- return new CreatePayload.Builder();
+ return new AutoValue_LoadBalancer_Request_CreatePayload.Builder()
+ .serverIds(ImmutableList.<String>of())
+ .algorithm(Algorithm.ROUND_ROBIN);
}
public static UpdatePayload.Builder updatingBuilder() {
- return new UpdatePayload.Builder();
+ return new AutoValue_LoadBalancer_Request_UpdatePayload.Builder()
+ .algorithm(Algorithm.ROUND_ROBIN);
}
- public static RegisterPayload.Builder registerBuilder() {
- return new RegisterPayload.Builder();
+ public static RegisterPayload createRegisteringPaylod(String loadBalancerId, List<String> serverIds) {
+ return new AutoValue_LoadBalancer_Request_RegisterPayload(loadBalancerId, ImmutableList.copyOf(serverIds));
}
- public static DeregisterPayload.Builder deregisterBuilder() {
- return new DeregisterPayload.Builder();
+ public static DeregisterPayload createDeregisteringPayload(String loadBalancerId, List<String> serverIds) {
+ return new AutoValue_LoadBalancer_Request_DeregisterPayload(loadBalancerId, ImmutableList.copyOf(serverIds));
}
@AutoValue
@@ -218,63 +154,48 @@ public abstract class LoadBalancer {
public abstract String dataCenterId();
- public abstract String loadBalancerName();
+ @Nullable
+ public abstract String name();
- public abstract Algorithm loadBalancerAlgorithm();
+ public abstract Algorithm algorithm();
+ @Nullable
public abstract String ip();
- public abstract String lanId();
+ @Nullable
+ public abstract Integer lanId();
public abstract List<String> serverIds();
+
+ public abstract Builder toBuilder();
- public static CreatePayload create(String dataCenterId, String loadBalancerName, Algorithm loadBalancerAlgorithm, String ip, String lanId, List<String> serverIds) {
- return new AutoValue_LoadBalancer_Request_CreatePayload(dataCenterId, loadBalancerName, loadBalancerAlgorithm, ip, lanId,
- serverIds != null ? ImmutableList.copyOf(serverIds) : Lists.<String>newArrayList());
- }
+ @AutoValue.Builder
+ public abstract static class Builder {
- public static class Builder {
+ public abstract Builder dataCenterId(String dataCenterId);
- public String dataCenterId;
- public String loadBalancerName;
- public Algorithm loadBalancerAlgorithm;
- public String ip;
- public String lanId;
- public List<String> serverIds;
+ public abstract Builder name(String name);
- public Builder dataCenterId(String dataCenterId) {
- this.dataCenterId = dataCenterId;
- return this;
- }
+ public abstract Builder algorithm(Algorithm algorithm);
- public Builder loadBalancerName(String loadBalancerName) {
- this.loadBalancerName = loadBalancerName;
- return this;
- }
+ public abstract Builder ip(String ip);
- public Builder loadBalancerAlgorithm(Algorithm loadBalancerAlgorithm) {
- this.loadBalancerAlgorithm = loadBalancerAlgorithm;
- return this;
- }
+ public abstract Builder lanId(Integer lanId);
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
+ public abstract Builder serverIds(List<String> serverIds);
- public Builder lanId(String lanId) {
- this.lanId = lanId;
- return this;
- }
-
- public Builder serverIds(List<String> serverIds) {
- this.serverIds = serverIds;
- return this;
- }
+ abstract CreatePayload autoBuild();
public CreatePayload build() {
- checkIp(ip);
- return CreatePayload.create(dataCenterId, loadBalancerName, loadBalancerAlgorithm, ip, lanId, serverIds);
+ CreatePayload payload = autoBuild();
+ if (payload.ip() != null)
+ checkIp(payload.ip());
+ if (payload.lanId() != null)
+ checkLanId(payload.lanId());
+
+ return payload.toBuilder()
+ .serverIds(ImmutableList.copyOf(payload.serverIds()))
+ .autoBuild();
}
}
}
@@ -282,67 +203,19 @@ public abstract class LoadBalancer {
@AutoValue
public abstract static class RegisterPayload {
- public abstract List<String> serverIds();
-
public abstract String id();
- public static RegisterPayload create(List<String> serverIds, String id) {
- return new AutoValue_LoadBalancer_Request_RegisterPayload(
- serverIds != null ? ImmutableList.copyOf(serverIds) : Lists.<String>newArrayList(), id);
- }
-
- public static class Builder {
-
- public List<String> serverIds;
- public String id;
-
- public Builder serverIds(List<String> serverIds) {
- this.serverIds = serverIds;
- return this;
- }
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
+ public abstract List<String> serverIds();
- public RegisterPayload build() {
- return RegisterPayload.create(serverIds, id);
- }
- }
}
@AutoValue
public abstract static class DeregisterPayload {
- public abstract List<String> serverIds();
-
public abstract String id();
- public static DeregisterPayload create(List<String> serverIds, String id) {
- return new AutoValue_LoadBalancer_Request_DeregisterPayload(
- serverIds != null ? ImmutableList.copyOf(serverIds) : Lists.<String>newArrayList(), id);
- }
-
- public static class Builder {
-
- public List<String> serverIds;
- public String id;
-
- public Builder serverIds(List<String> serverIds) {
- this.serverIds = serverIds;
- return this;
- }
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
+ public abstract List<String> serverIds();
- public DeregisterPayload build() {
- return DeregisterPayload.create(serverIds, id);
- }
- }
}
@AutoValue
@@ -350,49 +223,33 @@ public abstract class LoadBalancer {
public abstract String id();
+ @Nullable
public abstract String name();
- public abstract Algorithm loadBalancerAlgorithm();
+ public abstract Algorithm algorithm();
+ @Nullable
public abstract String ip();
- public static UpdatePayload create(String id, String name, Algorithm loadBalancerAlgorithm, String ip) {
- return new AutoValue_LoadBalancer_Request_UpdatePayload(id, name, loadBalancerAlgorithm, ip);
- }
+ @AutoValue.Builder
+ public abstract static class Builder {
- public static class Builder {
+ public abstract Builder id(String id);
- public String id;
+ public abstract Builder name(String name);
- public String name;
+ public abstract Builder algorithm(Algorithm algorithm);
- public Algorithm loadBalancerAlgorithm;
+ public abstract Builder ip(String ip);
- public String ip;
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
-
- public Builder loadBalancerName(String loadBalancerName) {
- this.name = loadBalancerName;
- return this;
- }
-
- public Builder loadBalancerAlgorithm(Algorithm loadBalancerAlgorithm) {
- this.loadBalancerAlgorithm = loadBalancerAlgorithm;
- return this;
- }
-
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
+ abstract UpdatePayload autoBuild();
public UpdatePayload build() {
- checkIp(ip);
- return UpdatePayload.create(id, name, loadBalancerAlgorithm, ip);
+ UpdatePayload payload = autoBuild();
+ if (payload.ip() != null)
+ checkIp(payload.ip());
+
+ return payload;
}
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Location.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Location.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Location.java
index 52acaf2..6102a42 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Location.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Location.java
@@ -16,6 +16,8 @@
*/
package org.jclouds.profitbricks.domain;
+import com.google.common.base.Enums;
+
public enum Location {
DE_FKB("de/fkb", "Germany, Karlsruhe"),
@@ -41,11 +43,7 @@ public enum Location {
}
public static Location fromValue(String v) {
- try {
- return valueOf(v);
- } catch (IllegalArgumentException ex) {
- return UNRECOGNIZED;
- }
+ return Enums.getIfPresent(Location.class, v).or(UNRECOGNIZED);
}
public static Location fromId(String id) {
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Nic.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Nic.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Nic.java
index 0f7427c..a7e421d 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Nic.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Nic.java
@@ -16,14 +16,15 @@
*/
package org.jclouds.profitbricks.domain;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.net.InetAddresses.isInetAddress;
+import static org.jclouds.profitbricks.util.Preconditions.checkIp;
+import static org.jclouds.profitbricks.util.Preconditions.checkIps;
+import static org.jclouds.profitbricks.util.Preconditions.checkLanId;
+import static org.jclouds.profitbricks.util.Preconditions.checkMacAddress;
import java.util.List;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
import org.jclouds.javax.annotation.Nullable;
@@ -39,9 +40,11 @@ public abstract class Nic {
@Nullable
public abstract String dataCenterId();
- public abstract int lanId();
+ @Nullable
+ public abstract Integer lanId();
- public abstract boolean internetAccess();
+ @Nullable
+ public abstract Boolean internetAccess();
@Nullable
public abstract String serverId();
@@ -53,9 +56,10 @@ public abstract class Nic {
public abstract String macAddress();
@Nullable
- public abstract Firewall firewalls();
+ public abstract Firewall firewall();
- public abstract boolean dhcpActive();
+ @Nullable
+ public abstract Boolean dhcpActive();
@Nullable
public abstract String gatewayIp();
@@ -63,158 +67,81 @@ public abstract class Nic {
@Nullable
public abstract ProvisioningState state();
- public static Nic create(String id, String name, String dataCenterId, int lanId, boolean internetAccess,
- String serverId, List<String> ips, String macAddress, Firewall firewall, boolean dhcpActive,
- String gatewayIp, ProvisioningState state) {
- return new AutoValue_Nic(id, name, dataCenterId, lanId, internetAccess, serverId,
- ips != null ? ImmutableList.copyOf(ips) : ImmutableList.<String>of(), macAddress,
- firewall, dhcpActive, gatewayIp, state);
- }
-
public static Builder builder() {
- return new Builder();
+ return new AutoValue_Nic.Builder()
+ .ips(ImmutableList.<String>of());
}
- public Builder toBuilder() {
- return builder().fromNic(this);
- }
-
- private static void checkIp(String ip) {
- if (ip != null)
- checkArgument(isInetAddress(ip), "Invalid IP");
- }
-
- private static void checkIps(List<String> ips) {
- for (String ip : ips)
- checkIp(ip);
- }
+ public abstract Builder toBuilder();
- public static class Builder {
+ @AutoValue.Builder
+ public abstract static class Builder {
- public String id;
+ public abstract Builder id(String id);
- public String name;
+ public abstract Builder name(String name);
- public String dataCenterId;
+ public abstract Builder dataCenterId(String dataCenterId);
- public int lanId;
+ public abstract Builder lanId(Integer lanId);
- public boolean internetAccess;
+ public abstract Builder internetAccess(Boolean internetAccess);
- public String serverId;
+ public abstract Builder serverId(String serverId);
- @Nullable
- public List<String> ips;
+ public abstract Builder ips(List<String> ips);
- public String macAddress;
+ public abstract Builder macAddress(String macAddress);
- public Firewall firewall;
+ public abstract Builder firewall(Firewall firewall);
- public boolean dhcpActive;
+ public abstract Builder dhcpActive(Boolean dhcpActive);
- public String gatewayIp;
+ public abstract Builder gatewayIp(String gatewayIp);
- public ProvisioningState state;
+ public abstract Builder state(ProvisioningState state);
- public Builder() {
- this.ips = Lists.newArrayList();
- }
-
- public Builder id(String id) {
- this.id = id;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder dataCenterId(String dataCenterId) {
- this.dataCenterId = dataCenterId;
- return this;
- }
-
- public Builder lanId(int lanId) {
- this.lanId = lanId;
- return this;
- }
-
- public Builder internetAccess(boolean internetAccess) {
- this.internetAccess = internetAccess;
- return this;
- }
-
- public Builder serverId(String serverId) {
- this.serverId = serverId;
- return this;
- }
-
- public Builder ips(List<String> ips) {
- this.ips = ips;
- return this;
- }
-
- public Builder ip(String ip) {
- this.ips.add(ip);
- return this;
- }
-
- public Builder macAddress(String macAddress) {
- this.macAddress = macAddress;
- return this;
- }
-
- public Builder dhcpActive(boolean dhcpActive) {
- this.dhcpActive = dhcpActive;
- return this;
- }
-
- public Builder gatewayIp(String gatewayIp) {
- this.gatewayIp = gatewayIp;
- return this;
- }
-
- public Builder state(ProvisioningState state) {
- this.state = state;
- return this;
- }
-
- public Builder firewall(Firewall firewall) {
- this.firewall = firewall;
- return this;
- }
+ abstract Nic autoBuild();
public Nic build() {
- checkIps(ips);
- return Nic.create(id, name, dataCenterId, lanId, internetAccess, serverId, ips,
- macAddress, firewall, dhcpActive, gatewayIp, state);
- }
+ Nic nic = autoBuild();
+ if (nic.ips() != null)
+ checkIps(nic.ips());
+ if (nic.gatewayIp() != null)
+ checkIp(nic.gatewayIp());
+ if (nic.lanId() != null)
+ checkLanId(nic.lanId());
+ if (nic.macAddress() != null)
+ checkMacAddress(nic.macAddress());
- private Builder fromNic(Nic in) {
- return this.id(in.id()).name(in.name()).lanId(in.lanId()).internetAccess(in.internetAccess())
- .serverId(in.serverId()).ips(in.ips()).macAddress(in.macAddress()).dhcpActive(in.dhcpActive())
- .gatewayIp(in.gatewayIp()).dataCenterId(dataCenterId);
+ return nic.toBuilder()
+ .ips(ImmutableList.copyOf(nic.ips()))
+ .autoBuild();
}
+
}
public static final class Request {
public static CreatePayload.Builder creatingBuilder() {
- return new CreatePayload.Builder();
+ return new AutoValue_Nic_Request_CreatePayload.Builder();
}
public static UpdatePayload.Builder updatingBuilder() {
- return new UpdatePayload.Builder();
+ return new AutoValue_Nic_Request_UpdatePayload.Builder();
}
public static SetInternetAccessPayload.Builder setInternetAccessBuilder() {
- return new SetInternetAccessPayload.Builder();
+ return new AutoValue_Nic_Request_SetInternetAccessPayload.Builder();
}
@AutoValue
public abstract static class CreatePayload {
+ public abstract String serverId();
+
+ public abstract int lanId();
+
@Nullable
public abstract String ip();
@@ -224,54 +151,30 @@ public abstract class Nic {
@Nullable
public abstract Boolean dhcpActive();
- public abstract String serverId();
+ @AutoValue.Builder
+ public abstract static class Builder {
- public abstract int lanId();
+ public abstract Builder serverId(String serverId);
- public static CreatePayload create(String ip, String name, Boolean dhcpActive, String serverId, int lanId) {
- return new AutoValue_Nic_Request_CreatePayload(ip, name, dhcpActive, serverId, lanId);
- }
+ public abstract Builder lanId(int lanId);
- public static class Builder {
+ public abstract Builder ip(String ip);
- private String ip;
- private String name;
- private Boolean dhcpActive;
- private String serverId;
- private int lanId;
+ public abstract Builder name(String name);
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
+ public abstract Builder dhcpActive(Boolean dhcpActive);
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder dhcpActive(Boolean dhcpActive) {
- this.dhcpActive = dhcpActive;
- return this;
- }
-
- public Builder serverId(String serverId) {
- this.serverId = serverId;
- return this;
- }
-
- public Builder lanId(int lanId) {
- this.lanId = lanId;
- return this;
- }
+ abstract CreatePayload autoBuild();
public CreatePayload build() {
- checkIp(ip);
- return CreatePayload.create(ip, name, dhcpActive, serverId, lanId);
- }
+ CreatePayload payload = autoBuild();
+ if (payload.ip() != null)
+ checkIp(payload.ip());
+ checkLanId(payload.lanId());
+ return payload;
+ }
}
-
}
@AutoValue
@@ -288,48 +191,32 @@ public abstract class Nic {
@Nullable
public abstract Boolean dhcpActive();
- public abstract int lanId();
+ @Nullable
+ public abstract Integer lanId();
- public static UpdatePayload create(String id, String ip, String name, Boolean dhcpActive, int lanId) {
- return new AutoValue_Nic_Request_UpdatePayload(id, ip, name, dhcpActive, lanId);
- }
+ @AutoValue.Builder
+ public abstract static class Builder {
- public static class Builder {
+ public abstract Builder id(String id);
- private String id;
- private String ip;
- private String name;
- private Boolean dhcpActive;
- private int lanId;
+ public abstract Builder ip(String ip);
- public Builder ip(String ip) {
- this.ip = ip;
- return this;
- }
+ public abstract Builder name(String name);
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder dhcpActive(Boolean dhcpActive) {
- this.dhcpActive = dhcpActive;
- return this;
- }
+ public abstract Builder dhcpActive(Boolean dhcpActive);
- public Builder lanId(int lanId) {
- this.lanId = lanId;
- return this;
- }
+ public abstract Builder lanId(Integer lanId);
- public Builder id(String id) {
- this.id = id;
- return this;
- }
+ abstract UpdatePayload autoBuild();
public UpdatePayload build() {
- checkIp(ip);
- return UpdatePayload.create(id, ip, name, dhcpActive, lanId);
+ UpdatePayload payload = autoBuild();
+ if (payload.ip() != null)
+ checkIp(payload.ip());
+ if (payload.lanId() != null)
+ checkLanId(payload.lanId());
+
+ return payload;
}
}
}
@@ -343,35 +230,19 @@ public abstract class Nic {
public abstract boolean internetAccess();
- public static SetInternetAccessPayload create(String dataCenterId, int lanId, boolean internetAccess) {
- return new AutoValue_Nic_Request_SetInternetAccessPayload(dataCenterId, lanId, internetAccess);
- }
+ @AutoValue.Builder
+ public abstract static class Builder {
- public static class Builder {
+ public abstract Builder dataCenterId(String dataCenterId);
- public String dataCenterId;
- public int lanId;
- public boolean internetAccess;
+ public abstract Builder lanId(int lanId);
- public Builder dataCenterId(String dataCenterId) {
- this.dataCenterId = dataCenterId;
- return this;
- }
+ public abstract Builder internetAccess(boolean internetAccess);
- public Builder lanId(int lanId) {
- this.lanId = lanId;
- return this;
- }
+ public abstract SetInternetAccessPayload build();
- public Builder internetAccess(boolean internetAccess) {
- this.internetAccess = internetAccess;
- return this;
- }
-
- public SetInternetAccessPayload build() {
- return SetInternetAccessPayload.create(dataCenterId, lanId, internetAccess);
- }
}
}
}
+
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/OsType.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/OsType.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/OsType.java
index c21f1c4..25bc70b 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/OsType.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/OsType.java
@@ -16,15 +16,13 @@
*/
package org.jclouds.profitbricks.domain;
+import com.google.common.base.Enums;
+
public enum OsType {
WINDOWS, LINUX, OTHER, UNRECOGNIZED;
public static OsType fromValue(String v) {
- try {
- return valueOf(v);
- } catch (IllegalArgumentException ex) {
- return UNRECOGNIZED;
- }
+ return Enums.getIfPresent(OsType.class, v).or(UNRECOGNIZED);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Provisionable.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Provisionable.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Provisionable.java
new file mode 100644
index 0000000..101f154
--- /dev/null
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/Provisionable.java
@@ -0,0 +1,25 @@
+/*
+ * 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.domain;
+
+/**
+ * Marker interface for {@link org.jclouds.profitbricks.domain.Image} and
+ * {@link org.jclouds.profitbricks.domain.Snapshot}
+ */
+public interface Provisionable {
+
+}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/5e82bbfa/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ProvisioningState.java
----------------------------------------------------------------------
diff --git a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ProvisioningState.java b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ProvisioningState.java
index 833e979..d00342e 100644
--- a/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ProvisioningState.java
+++ b/providers/profitbricks/src/main/java/org/jclouds/profitbricks/domain/ProvisioningState.java
@@ -16,15 +16,13 @@
*/
package org.jclouds.profitbricks.domain;
+import com.google.common.base.Enums;
+
public enum ProvisioningState {
INACTIVE, INPROCESS, AVAILABLE, DELETED, ERROR, UNRECOGNIZED;
public static ProvisioningState fromValue(String value) {
- try {
- return valueOf(value);
- } catch (IllegalArgumentException e) {
- return UNRECOGNIZED;
- }
+ return Enums.getIfPresent(ProvisioningState.class, value).or(UNRECOGNIZED);
}
}