nacx approved this pull request.

There are just minor and cosmetic comments. Model looks very good and clean. 
Thanks!
I'll merge the PR as soon as comments are addressed.

> +import java.util.List;
+
+@AutoValue
+public abstract class IdeController {
+
+   public abstract String id();
+
+   public abstract int key();
+
+   public abstract int channel();
+
+   public abstract State state();
+
+   public abstract String adapterType();
+
+   @Nullable

This can never be null as per the builder.

> +import java.util.List;
+
+@AutoValue
+public abstract class SataController {
+
+   public abstract String id();
+
+   public abstract int key();
+
+   public abstract int busNumber();
+
+   public abstract State state();
+
+   public abstract String adapterType();
+
+   @Nullable

Can't be null given the builder.

> +import java.util.List;
+
+@AutoValue
+public abstract class ScsiController {
+
+   public abstract String id();
+
+   public abstract int key();
+
+   public abstract int busNumber();
+
+   public abstract State state();
+
+   public abstract String adapterType();
+
+   @Nullable

Remove.

> +      public abstract Builder key(int key);
+
+      public abstract Builder busNumber(int busNumber);
+
+      public abstract Builder state(State state);
+
+      public abstract Builder adapterType(String adapterType);
+
+      abstract ScsiController autoBuild();
+
+      abstract List<ScsiDisk> disks();
+
+      public abstract Builder disks(List<ScsiDisk> disks);
+
+      public ScsiController build() {
+         disks(disks() != null ? ImmutableList.copyOf(disks()) : new 
ArrayList<ScsiDisk>());

Enforce an immutable list in all cases.

> @@ -60,10 +63,19 @@ public static Builder builder() {
    public abstract int memoryGb();
 
    @Nullable
-   public abstract List<Disk> disks();
+   public abstract NetworkInfo networkInfo();
+
+   @Nullable

Remove nullable annotations from all lists that have presence enforced in the 
builder. Apply this pattern in general.

> @@ -61,7 +61,7 @@
 
 @RequestFilters({ BasicAuthentication.class, OrganisationIdFilter.class })
 @Consumes(MediaType.APPLICATION_JSON)
-@Path("/caas/{jclouds.api-version}/server")
+@Path("/caas/2.7/server")

I guess some domain model stuff is preventing us from upgrading all APIs?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/447#pullrequestreview-194153973

Reply via email to