You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2017/05/22 08:33:09 UTC
[4/5] jclouds-labs git commit: Promoted Packet to the main repo
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Distribution.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Distribution.java b/packet/src/main/java/org/jclouds/packet/domain/Distribution.java
deleted file mode 100644
index 0692d59..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Distribution.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.List;
-
-import org.jclouds.compute.domain.OsFamily;
-
-import com.google.common.base.Predicate;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.tryFind;
-import static java.util.Arrays.asList;
-
-public enum Distribution {
-
- CENTOS(OsFamily.CENTOS, "centos"),
- COREOS(OsFamily.COREOS, "coreos"),
- DEBIAN(OsFamily.DEBIAN, "debian"),
- UBUNTU(OsFamily.UBUNTU, "ubuntu"),
- WINDOWS(OsFamily.WINDOWS, "windows"),
- UNRECOGNIZED(OsFamily.UNRECOGNIZED, "");
-
- private static final List<Distribution> values = asList(Distribution.values());
-
- private final OsFamily osFamily;
- private final String value;
-
- private Distribution(OsFamily osFamily, String value) {
- this.osFamily = checkNotNull(osFamily, "osFamily cannot be null");
- this.value = checkNotNull(value, "value cannot be null");
- }
-
- public OsFamily osFamily() {
- return this.osFamily;
- }
-
- public String value() {
- return this.value;
- }
-
- public static Distribution fromValue(String value) {
- return tryFind(values, hasValue(value)).or(UNRECOGNIZED);
- }
-
- private static Predicate<Distribution> hasValue(final String value) {
- return new Predicate<Distribution>() {
- @Override
- public boolean apply(Distribution input) {
- return input.value.equalsIgnoreCase(value);
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Facility.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Facility.java b/packet/src/main/java/org/jclouds/packet/domain/Facility.java
deleted file mode 100644
index 3124c7e..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Facility.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-@AutoValue
-public abstract class Facility {
-
- public abstract String id();
- public abstract String name();
- public abstract String code();
- public abstract List<String> features();
- @Nullable
- public abstract String address();
-
- @SerializedNames({"id", "name", "code", "features", "address"})
- public static Facility create(final String id, String name, String code, List<String> features, String address) {
- return new AutoValue_Facility(id, name, code,
- features == null ? ImmutableList.<String> of() : ImmutableList.copyOf(features),
- address);
- }
-
- Facility() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Href.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Href.java b/packet/src/main/java/org/jclouds/packet/domain/Href.java
deleted file mode 100644
index 493d000..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Href.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.packet.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class Href {
-
- public abstract String href();
-
- @SerializedNames({ "href" })
- public static Href create(String href) {
- return new AutoValue_Href(href);
- }
-
- Href() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/IpAddress.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/IpAddress.java b/packet/src/main/java/org/jclouds/packet/domain/IpAddress.java
deleted file mode 100644
index d8b3e1e..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/IpAddress.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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.packet.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class IpAddress {
-
- public abstract String id();
- public abstract Integer addressFamily();
- public abstract String netmask();
- public abstract Boolean publicAddress();
- public abstract Integer cidr();
- public abstract Boolean management();
- public abstract Boolean manageable();
- public abstract Href assignedTo();
- public abstract String network();
- public abstract String address();
- public abstract String gateway();
- public abstract String href();
-
- @SerializedNames({"id", "address_family", "netmask", "public", "cidr", "management", "manageable", "assigned_to", "network", "address", "gateway", "href"})
- public static IpAddress create(
- String id,
- Integer addressFamily,
- String netmask,
- Boolean publicAddress,
- Integer cidr,
- Boolean management,
- Boolean manageable,
- Href assignedTo,
- String network,
- String address,
- String gateway,
- String href
- ) {
- return new AutoValue_IpAddress(id, addressFamily, netmask, publicAddress, cidr, management, manageable, assignedTo, network, address, gateway, href
- );
- }
-
- IpAddress() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/OperatingSystem.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/OperatingSystem.java b/packet/src/main/java/org/jclouds/packet/domain/OperatingSystem.java
deleted file mode 100644
index e491661..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/OperatingSystem.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.Set;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableSet;
-
-@AutoValue
-public abstract class OperatingSystem {
-
- public abstract String id();
- public abstract String slug();
- public abstract String name();
- public abstract String distribution();
- public abstract String version();
- public abstract Set<String> provisionableOn();
-
- @SerializedNames({"id", "slug", "name", "distro", "version", "provisionable_on"})
- public static OperatingSystem create(String id, String slug, String name, String distribution, String version, Set<String> provisionableOn) {
- return new AutoValue_OperatingSystem(id, slug, name, distribution, version,
- provisionableOn == null ? ImmutableSet.<String> of() : ImmutableSet.copyOf(provisionableOn)
- );
- }
-
- OperatingSystem() {}
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Plan.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Plan.java b/packet/src/main/java/org/jclouds/packet/domain/Plan.java
deleted file mode 100644
index 95683b6..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Plan.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-@AutoValue
-public abstract class Plan {
-
- public abstract String id();
- public abstract String slug();
- public abstract String name();
- public abstract String description();
- public abstract String line();
- @Nullable
- public abstract Specs specs();
- public abstract List<Href> availableIn();
- public abstract Pricing pricing();
-
- @SerializedNames({"id", "slug", "name", "description", "line", "specs", "available_in", "pricing"})
- public static Plan create(final String id, String slug, String name, String description, String line, Specs specs, List<Href> availableIn, Pricing pricing) {
- return new AutoValue_Plan(id, slug, name, description, line,
- specs,
- availableIn == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(availableIn),
- pricing
- );
- }
-
- Plan() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Pricing.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Pricing.java b/packet/src/main/java/org/jclouds/packet/domain/Pricing.java
deleted file mode 100644
index 9ca7435..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Pricing.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.packet.domain;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class Pricing {
-
- public abstract double hour();
-
- @SerializedNames({ "hour" })
- public static Pricing create(double hour) {
- return new AutoValue_Pricing(hour);
- }
-
- Pricing() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Project.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Project.java b/packet/src/main/java/org/jclouds/packet/domain/Project.java
deleted file mode 100644
index 69fe077..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Project.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-@AutoValue
-public abstract class Project {
-
- public abstract String id();
- public abstract String name();
- public abstract Date createdAt();
- public abstract Date updatedAt();
- public abstract Map<String, Object> maxDevices();
- public abstract List<Href> members();
- public abstract List<Href> memberships();
- public abstract List<Href> invitations();
- public abstract Href paymentMethod();
- public abstract List<Href> devices();
- public abstract List<Href> sshKeys();
- public abstract List<Href> volumes();
- public abstract String href();
-
- @SerializedNames({"id", "name", "created_at", "updated_at", "max_devices", "members", "memberships", "invitations", "payment_method", "devices", "ssh_keys", "volumes", "href"})
- public static Project create(String id, String name, Date createdAt, Date updatedAt, Map<String, Object> maxDevices,
- List<Href> members, List<Href> memberships, List<Href> invitations, Href paymentMethod,
- List<Href> devices,
- List<Href> sshKeys,
- List<Href> volumes,
- String href) {
- return new AutoValue_Project(id, name, createdAt, updatedAt,
- maxDevices == null ? ImmutableMap.<String, Object> of() : ImmutableMap.copyOf(maxDevices),
- members == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(members),
- memberships == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(memberships),
- invitations == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(invitations),
- paymentMethod,
- devices == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(devices),
- sshKeys == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(sshKeys),
- volumes == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(volumes),
- href);
- }
-
- Project() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/ProvisioningEvent.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/ProvisioningEvent.java b/packet/src/main/java/org/jclouds/packet/domain/ProvisioningEvent.java
deleted file mode 100644
index 3df979f..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/ProvisioningEvent.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.Date;
-import java.util.List;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-
-@AutoValue
-public abstract class ProvisioningEvent {
-
- @Nullable
- public abstract String id();
- public abstract String type();
- public abstract String body();
- @Nullable
- public abstract Date createdAt();
- public abstract List<Href> relationships();
- public abstract String interpolated();
- @Nullable
- public abstract String href();
-
- @SerializedNames({"id", "type", "body", "created_at", "relationships", "interpolated", "href"})
- public static ProvisioningEvent create(String id, String type, String body, Date createdAt,
- List<Href> relationships, String interpolated, String href) {
- return new AutoValue_ProvisioningEvent(id, type, body, createdAt,
- relationships == null ? ImmutableList.<Href> of() : ImmutableList.copyOf(relationships),
- interpolated,
- href);
- }
-
- ProvisioningEvent() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/Specs.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/Specs.java b/packet/src/main/java/org/jclouds/packet/domain/Specs.java
deleted file mode 100644
index bafd344..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/Specs.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-@AutoValue
-public abstract class Specs {
-
- @AutoValue
- public abstract static class NIC {
-
- public abstract Integer count();
- public abstract String type();
-
- @SerializedNames({ "count", "type" })
- public static NIC create(Integer count, String type) {
- return new AutoValue_Specs_NIC(count, type);
- }
- }
-
- @AutoValue
- public abstract static class Drive {
-
- public abstract Integer count();
- public abstract String size();
- public abstract String type();
-
- @SerializedNames({ "count", "size", "type" })
- public static Drive create(Integer count, String size, String type) {
- return new AutoValue_Specs_Drive(count, size, type);
- }
- }
-
- @AutoValue
- public abstract static class CPU {
-
- public abstract Integer count();
- public abstract String type();
-
- @SerializedNames({ "count", "type" })
- public static CPU create(Integer count, String type) {
- return new AutoValue_Specs_CPU(count, type);
- }
- }
-
- @AutoValue
- public abstract static class Memory {
-
- public abstract String total();
-
- @SerializedNames({ "total" })
- public static Memory create(String total) {
- return new AutoValue_Specs_Memory(total);
- }
- }
-
- public abstract List<CPU> cpus();
- public abstract Memory memory();
- public abstract List<Drive> drives();
- public abstract List<NIC> nics();
- public abstract Map<String, Object> features();
-
- @SerializedNames({"cpus", "memory", "drives", "nics", "features"})
- public static Specs create(List<CPU> cpus, Memory memory, List<Drive> drives, List<NIC> nics, Map<String, Object> features) {
- return new AutoValue_Specs(
- cpus == null ? ImmutableList.<CPU> of() : ImmutableList.copyOf(cpus),
- memory,
- drives == null ? ImmutableList.<Drive> of() : ImmutableList.copyOf(drives),
- nics == null ? ImmutableList.<NIC> of() : ImmutableList.copyOf(nics),
- features == null ? ImmutableMap.<String, Object> of() : ImmutableMap.copyOf(features)
- );
- }
-
- Specs() {}
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/SshKey.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/SshKey.java b/packet/src/main/java/org/jclouds/packet/domain/SshKey.java
deleted file mode 100644
index 82e9c00..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/SshKey.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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.packet.domain;
-
-import java.util.Date;
-
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-
-import com.google.auto.value.AutoValue;
-
-@AutoValue
-public abstract class SshKey {
-
- @AutoValue
- public abstract static class Owner {
-
- public abstract String href();
-
- @SerializedNames({ "href" })
- public static Owner create(String href) {
- return new AutoValue_SshKey_Owner(href);
- }
- }
-
- public abstract String id();
- public abstract String label();
- public abstract String key();
- public abstract String fingerprint();
- public abstract Date createdAt();
- public abstract Date updatedAt();
- @Nullable public abstract Owner owner();
- public abstract String href();
-
- @SerializedNames({"id", "label", "key", "fingerprint", "created_at", "updated_at", "owner", "href"})
- public static SshKey create(String id, String label, String key, String fingerprint, Date createdAt, Date updatedAt, Owner owner, String href) {
- return new AutoValue_SshKey(id, label, key, fingerprint, createdAt, updatedAt, owner, href);
- }
-
- SshKey() {}
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/internal/PaginatedCollection.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/internal/PaginatedCollection.java b/packet/src/main/java/org/jclouds/packet/domain/internal/PaginatedCollection.java
deleted file mode 100644
index 14621bc..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/internal/PaginatedCollection.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * 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.packet.domain.internal;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.SerializedNames;
-import org.jclouds.packet.domain.Href;
-
-import com.google.auto.value.AutoValue;
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableList;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Base class for all collections that return paginated results.
- */
-public abstract class PaginatedCollection<T> extends IterableWithMarker<T> {
-
- @AutoValue
- public abstract static class Meta {
- public abstract long total();
- @Nullable public abstract Href first();
- @Nullable public abstract Href previous();
- @Nullable public abstract Href self();
- @Nullable public abstract Href next();
- @Nullable public abstract Href last();
-
- @SerializedNames({ "total", "first", "previous", "self", "next", "last" })
- public static Meta create(long total, Href first, Href previous, Href self, Href next, Href last) {
- return new AutoValue_PaginatedCollection_Meta(total, first, previous, self, next, last);
- }
-
- Meta() { }
- }
-
- private final List<T> items;
- private final Meta meta;
-
- protected PaginatedCollection(List<T> items, Meta meta) {
- this.items = ImmutableList.copyOf(checkNotNull(items, "items cannot be null"));
- this.meta = meta;
- }
-
- public List<T> items() {
- return items;
- }
-
- public Meta meta() {
- return meta;
- }
-
- @Override
- public Iterator<T> iterator() {
- return items.iterator();
- }
-
- @Override
- public Optional<Object> nextMarker() {
- if (meta == null || meta.next() == null) {
- return Optional.absent();
- }
- return Optional.fromNullable((Object) meta.next());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/domain/options/ListOptions.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/domain/options/ListOptions.java b/packet/src/main/java/org/jclouds/packet/domain/options/ListOptions.java
deleted file mode 100644
index c858a7f..0000000
--- a/packet/src/main/java/org/jclouds/packet/domain/options/ListOptions.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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.packet.domain.options;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-/**
- * Options to customize how paginated lists are returned.
- */
-public class ListOptions extends BaseHttpRequestOptions {
- public static final String PAGE_PARAM = "page";
- public static final String PER_PAGE_PARAM = "per_page";
-
- /**
- * Configures the number of entries to return in each page.
- */
- public ListOptions perPage(int perPage) {
- queryParameters.put(PER_PAGE_PARAM, String.valueOf(perPage));
- return this;
- }
-
- /**
- * Configures the number of the page to be returned.
- */
- public ListOptions page(int page) {
- queryParameters.put(PAGE_PARAM, String.valueOf(page));
- return this;
- }
-
- public static final class Builder {
-
- /**
- * @see {@link ListOptions#perPage(int)}
- */
- public static ListOptions perPage(int perPage) {
- return new ListOptions().perPage(perPage);
- }
-
- /**
- * @see {@link ListOptions#page(int)}
- */
- public static ListOptions page(int page) {
- return new ListOptions().page(page);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/features/DeviceApi.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/features/DeviceApi.java b/packet/src/main/java/org/jclouds/packet/features/DeviceApi.java
deleted file mode 100644
index cae9305..0000000
--- a/packet/src/main/java/org/jclouds/packet/features/DeviceApi.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * 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.packet.features;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.collect.internal.Arg0ToPagedIterable;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.Json;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Device;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.internal.PaginatedCollection;
-import org.jclouds.packet.domain.options.ListOptions;
-import org.jclouds.packet.filters.AddApiVersionToRequest;
-import org.jclouds.packet.filters.AddXAuthTokenToRequest;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.Transform;
-import org.jclouds.rest.binders.BindToJsonPayload;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.inject.TypeLiteral;
-
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({AddXAuthTokenToRequest.class, AddApiVersionToRequest.class})
-public interface DeviceApi {
-
- @Named("device:list")
- @GET
- @Path("/projects/{projectId}/devices")
- @ResponseParser(ParseDevices.class)
- @Transform(ParseDevices.ToPagedIterable.class)
- @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<Device> list();
-
- @Named("device:list")
- @GET
- @Path("/projects/{projectId}/devices")
- @ResponseParser(ParseDevices.class)
- @Fallback(Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404.class)
- IterableWithMarker<Device> list(ListOptions options);
-
- final class ParseDevices extends ParseJson<ParseDevices.Devices> {
- @Inject
- ParseDevices(Json json) {
- super(json, TypeLiteral.get(Devices.class));
- }
-
- private static class Devices extends PaginatedCollection<Device> {
- @ConstructorProperties({"devices", "meta"})
- public Devices(List<Device> items, Meta meta) {
- super(items, meta);
- }
- }
-
- public static class ToPagedIterable extends Arg0ToPagedIterable.FromCaller<Device, ToPagedIterable> {
-
- private final PacketApi api;
- private final Function<Href, ListOptions> hrefToOptions;
-
- @Inject
- ToPagedIterable(PacketApi api, Function<Href, ListOptions> hrefToOptions) {
- this.api = api;
- this.hrefToOptions = hrefToOptions;
- }
-
- @Override
- protected Function<Object, IterableWithMarker<Device>> markerToNextForArg0(Optional<Object> arg0) {
- String projectId = arg0.get().toString();
- final DeviceApi deviceApi = api.deviceApi(projectId);
- return new Function<Object, IterableWithMarker<Device>>() {
-
- @SuppressWarnings("unchecked")
- @Override
- public IterableWithMarker<Device> apply(Object input) {
- ListOptions listOptions = hrefToOptions.apply(Href.class.cast(input));
- return IterableWithMarker.class.cast(deviceApi.list(listOptions));
- }
-
- };
- }
- }
- }
-
- @Named("device:create")
- @POST
- @Path("/projects/{projectId}/devices")
- @Produces(MediaType.APPLICATION_JSON)
- Device create(@BinderParam(BindToJsonPayload.class) Device.CreateDevice device);
-
-
- @Named("device:get")
- @GET
- @Path("/devices/{id}")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- Device get(@PathParam("id") String id);
-
- @Named("device:delete")
- @DELETE
- @Path("/devices/{id}")
- @Fallback(VoidOnNotFoundOr404.class)
- void delete(@PathParam("id") String id);
-
- @Named("device:powerOff")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/devices/{id}/actions")
- @Payload("{\"type\":\"power_off\"}")
- void powerOff(@PathParam("id") String id);
-
- @Named("device:powerOn")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/devices/{id}/actions")
- @Payload("{\"type\":\"power_on\"}")
- void powerOn(@PathParam("id") String id);
-
- @Named("device:reboot")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/devices/{id}/actions")
- @Payload("{\"type\":\"reboot\"}")
- void reboot(@PathParam("id") String id);
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/features/FacilityApi.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/features/FacilityApi.java b/packet/src/main/java/org/jclouds/packet/features/FacilityApi.java
deleted file mode 100644
index bde9898..0000000
--- a/packet/src/main/java/org/jclouds/packet/features/FacilityApi.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.packet.features;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks;
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.json.Json;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Facility;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.internal.PaginatedCollection;
-import org.jclouds.packet.domain.options.ListOptions;
-import org.jclouds.packet.filters.AddApiVersionToRequest;
-import org.jclouds.packet.filters.AddXAuthTokenToRequest;
-import org.jclouds.packet.functions.BaseToPagedIterable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.Transform;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.inject.TypeLiteral;
-
-@Path("/facilities")
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ AddXAuthTokenToRequest.class, AddApiVersionToRequest.class} )
-public interface FacilityApi {
-
- @Named("facility:list")
- @GET
- @ResponseParser(ParseFacilities.class)
- @Transform(ParseFacilities.ToPagedIterable.class)
- @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<Facility> list();
-
- @Named("facility:list")
- @GET
- @ResponseParser(ParseFacilities.class)
- @Fallback(Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404.class)
- IterableWithMarker<Facility> list(ListOptions options);
-
- final class ParseFacilities extends ParseJson<ParseFacilities.Facilities> {
- @Inject
- ParseFacilities(Json json) {
- super(json, TypeLiteral.get(Facilities.class));
- }
-
- private static class Facilities extends PaginatedCollection<Facility> {
- @ConstructorProperties({ "facilities", "meta" })
- public Facilities(List<Facility> items, Meta meta) {
- super(items, meta);
- }
- }
-
- private static class ToPagedIterable extends BaseToPagedIterable<Facility, ListOptions> {
- @Inject ToPagedIterable(PacketApi api, Function<Href, ListOptions> hrefToOptions) {
- super(api, hrefToOptions);
- }
-
- @Override
- protected IterableWithMarker<Facility> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) {
- return api.facilityApi().list(options);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/features/OperatingSystemApi.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/features/OperatingSystemApi.java b/packet/src/main/java/org/jclouds/packet/features/OperatingSystemApi.java
deleted file mode 100644
index 401b1e9..0000000
--- a/packet/src/main/java/org/jclouds/packet/features/OperatingSystemApi.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.packet.features;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks;
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.json.Json;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.OperatingSystem;
-import org.jclouds.packet.domain.internal.PaginatedCollection;
-import org.jclouds.packet.domain.options.ListOptions;
-import org.jclouds.packet.filters.AddApiVersionToRequest;
-import org.jclouds.packet.filters.AddXAuthTokenToRequest;
-import org.jclouds.packet.functions.BaseToPagedIterable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.Transform;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.inject.TypeLiteral;
-
-@Path("/operating-systems")
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ AddXAuthTokenToRequest.class, AddApiVersionToRequest.class} )
-public interface OperatingSystemApi {
-
- @Named("operatingsystem:list")
- @GET
- @ResponseParser(ParseOperatingSystems.class)
- @Transform(ParseOperatingSystems.ToPagedIterable.class)
- @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<OperatingSystem> list();
-
- @Named("operatingsystem:list")
- @GET
- @ResponseParser(ParseOperatingSystems.class)
- @Fallback(Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404.class)
- IterableWithMarker<OperatingSystem> list(ListOptions options);
-
- final class ParseOperatingSystems extends ParseJson<ParseOperatingSystems.OperatingSystems> {
- @Inject
- ParseOperatingSystems(Json json) {
- super(json, TypeLiteral.get(ParseOperatingSystems.OperatingSystems.class));
- }
-
- private static class OperatingSystems extends PaginatedCollection<OperatingSystem> {
- @ConstructorProperties({ "operating_systems", "meta" })
- public OperatingSystems(List<OperatingSystem> items, Meta meta) {
- super(items, meta);
- }
- }
-
- private static class ToPagedIterable extends BaseToPagedIterable<OperatingSystem, ListOptions> {
- @Inject ToPagedIterable(PacketApi api, Function<Href, ListOptions> hrefToOptions) {
- super(api, hrefToOptions);
- }
-
- @Override
- protected IterableWithMarker<OperatingSystem> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) {
- return api.operatingSystemApi().list(options);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/features/PlanApi.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/features/PlanApi.java b/packet/src/main/java/org/jclouds/packet/features/PlanApi.java
deleted file mode 100644
index 7ed5c3a..0000000
--- a/packet/src/main/java/org/jclouds/packet/features/PlanApi.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.packet.features;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks;
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.json.Json;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.Plan;
-import org.jclouds.packet.domain.internal.PaginatedCollection;
-import org.jclouds.packet.domain.options.ListOptions;
-import org.jclouds.packet.filters.AddApiVersionToRequest;
-import org.jclouds.packet.filters.AddXAuthTokenToRequest;
-import org.jclouds.packet.functions.BaseToPagedIterable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.Transform;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.inject.TypeLiteral;
-
-@Path("/plans")
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ AddXAuthTokenToRequest.class, AddApiVersionToRequest.class} )
-public interface PlanApi {
-
- @Named("plan:list")
- @GET
- @ResponseParser(ParsePlans.class)
- @Transform(ParsePlans.ToPagedIterable.class)
- @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<Plan> list();
-
- @Named("plan:list")
- @GET
- @ResponseParser(ParsePlans.class)
- @Fallback(Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404.class)
- IterableWithMarker<Plan> list(ListOptions options);
-
- final class ParsePlans extends ParseJson<ParsePlans.Plans> {
- @Inject
- ParsePlans(Json json) {
- super(json, TypeLiteral.get(ParsePlans.Plans.class));
- }
-
- private static class Plans extends PaginatedCollection<Plan> {
- @ConstructorProperties({ "plans", "meta" })
- public Plans(List<Plan> items, Meta meta) {
- super(items, meta);
- }
- }
-
- private static class ToPagedIterable extends BaseToPagedIterable<Plan, ListOptions> {
- @Inject ToPagedIterable(PacketApi api, Function<Href, ListOptions> hrefToOptions) {
- super(api, hrefToOptions);
- }
-
- @Override
- protected IterableWithMarker<Plan> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) {
- return api.planApi().list(options);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/features/ProjectApi.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/features/ProjectApi.java b/packet/src/main/java/org/jclouds/packet/features/ProjectApi.java
deleted file mode 100644
index 9da50d0..0000000
--- a/packet/src/main/java/org/jclouds/packet/features/ProjectApi.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.packet.features;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks;
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.json.Json;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.Project;
-import org.jclouds.packet.domain.internal.PaginatedCollection;
-import org.jclouds.packet.domain.options.ListOptions;
-import org.jclouds.packet.filters.AddApiVersionToRequest;
-import org.jclouds.packet.filters.AddXAuthTokenToRequest;
-import org.jclouds.packet.functions.BaseToPagedIterable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.Transform;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.inject.TypeLiteral;
-
-@Path("/projects")
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ AddXAuthTokenToRequest.class, AddApiVersionToRequest.class} )
-public interface ProjectApi {
-
- @Named("project:list")
- @GET
- @ResponseParser(ParseProjects.class)
- @Transform(ParseProjects.ToPagedIterable.class)
- @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<Project> list();
-
- @Named("project:list")
- @GET
- @ResponseParser(ParseProjects.class)
- @Fallback(Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404.class)
- IterableWithMarker<Project> list(ListOptions options);
-
- final class ParseProjects extends ParseJson<ParseProjects.Projects> {
- @Inject
- ParseProjects(Json json) {
- super(json, TypeLiteral.get(Projects.class));
- }
-
- private static class Projects extends PaginatedCollection<Project> {
- @ConstructorProperties({ "projects", "meta" })
- public Projects(List<Project> items, Meta meta) {
- super(items, meta);
- }
- }
-
- private static class ToPagedIterable extends BaseToPagedIterable<Project, ListOptions> {
- @Inject ToPagedIterable(PacketApi api, Function<Href, ListOptions> hrefToOptions) {
- super(api, hrefToOptions);
- }
-
- @Override
- protected IterableWithMarker<Project> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) {
- return api.projectApi().list(options);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/features/SshKeyApi.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/features/SshKeyApi.java b/packet/src/main/java/org/jclouds/packet/features/SshKeyApi.java
deleted file mode 100644
index cd22107..0000000
--- a/packet/src/main/java/org/jclouds/packet/features/SshKeyApi.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * 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.packet.features;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.json.Json;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.SshKey;
-import org.jclouds.packet.domain.internal.PaginatedCollection;
-import org.jclouds.packet.domain.options.ListOptions;
-import org.jclouds.packet.filters.AddApiVersionToRequest;
-import org.jclouds.packet.filters.AddXAuthTokenToRequest;
-import org.jclouds.packet.functions.BaseToPagedIterable;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.Transform;
-import org.jclouds.rest.binders.BindToJsonPayload;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.inject.TypeLiteral;
-
-@Path("/ssh-keys")
-@Consumes(MediaType.APPLICATION_JSON)
-@RequestFilters({ AddXAuthTokenToRequest.class, AddApiVersionToRequest.class} )
-public interface SshKeyApi {
-
- @Named("sshkey:list")
- @GET
- @ResponseParser(ParseSshKeys.class)
- @Transform(ParseSshKeys.ToPagedIterable.class)
- @Fallback(Fallbacks.EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<SshKey> list();
-
- @Named("sshkey:list")
- @GET
- @ResponseParser(ParseSshKeys.class)
- @Fallback(Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404.class)
- IterableWithMarker<SshKey> list(ListOptions options);
-
- final class ParseSshKeys extends ParseJson<ParseSshKeys.SshKeys> {
- @Inject
- ParseSshKeys(Json json) {
- super(json, TypeLiteral.get(ParseSshKeys.SshKeys.class));
- }
-
- private static class SshKeys extends PaginatedCollection<SshKey> {
- @ConstructorProperties({ "ssh_keys", "meta" })
- public SshKeys(List<SshKey> items, Meta meta) {
- super(items, meta);
- }
- }
-
- private static class ToPagedIterable extends BaseToPagedIterable<SshKey, ListOptions> {
- @Inject ToPagedIterable(PacketApi api, Function<Href, ListOptions> hrefToOptions) {
- super(api, hrefToOptions);
- }
-
- @Override
- protected IterableWithMarker<SshKey> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) {
- return api.sshKeyApi().list(options);
- }
- }
- }
-
- @Named("sshkey:create")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(BindToJsonPayload.class)
- SshKey create(@PayloadParam("label") String label, @PayloadParam("key") String key);
-
- @Named("sshkey:get")
- @GET
- @Path("/{id}")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- SshKey get(@PathParam("id") String id);
-
- @Named("sshkey:delete")
- @DELETE
- @Path("/{id}")
- @Fallback(VoidOnNotFoundOr404.class)
- void delete(@PathParam("id") String id);
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/filters/AddApiVersionToRequest.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/filters/AddApiVersionToRequest.java b/packet/src/main/java/org/jclouds/packet/filters/AddApiVersionToRequest.java
deleted file mode 100644
index 70e66fb..0000000
--- a/packet/src/main/java/org/jclouds/packet/filters/AddApiVersionToRequest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.packet.filters;
-
-import java.util.Collection;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.rest.annotations.ApiVersion;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableList;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.net.HttpHeaders.ACCEPT;
-import static java.lang.String.format;
-
-@Singleton
-public class AddApiVersionToRequest implements HttpRequestFilter {
-
- private final String apiVersion;
-
- @Inject
- AddApiVersionToRequest(@ApiVersion String apiVersion) {
- this.apiVersion = apiVersion;
- }
-
- @Override
- public HttpRequest filter(final HttpRequest request) throws HttpException {
- Collection<String> accept = checkNotNull(request.getHeaders().get(ACCEPT), "accept header must not be null");
- String versionHeader = Joiner.on("; ").join(ImmutableList.builder()
- .addAll(accept)
- .add(format("version=%s", apiVersion))
- .build());
- return request.toBuilder()
- .replaceHeader(ACCEPT, versionHeader)
- .build();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/filters/AddXAuthTokenToRequest.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/filters/AddXAuthTokenToRequest.java b/packet/src/main/java/org/jclouds/packet/filters/AddXAuthTokenToRequest.java
deleted file mode 100644
index e9d6bdd..0000000
--- a/packet/src/main/java/org/jclouds/packet/filters/AddXAuthTokenToRequest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.packet.filters;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.location.Provider;
-
-import com.google.common.base.Supplier;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-@Singleton
-public class AddXAuthTokenToRequest implements HttpRequestFilter {
-
- private final Supplier<Credentials> creds;
-
- @Inject
- AddXAuthTokenToRequest(@Provider Supplier<Credentials> creds) {
- this.creds = creds;
- }
-
- @Override
- public HttpRequest filter(HttpRequest request) throws HttpException {
- Credentials currentCreds = checkNotNull(creds.get(), "credential supplier returned null");
- return request.toBuilder().replaceHeader("X-Auth-Token", currentCreds.credential).build();
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/functions/BaseToPagedIterable.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/functions/BaseToPagedIterable.java b/packet/src/main/java/org/jclouds/packet/functions/BaseToPagedIterable.java
deleted file mode 100644
index abc59a2..0000000
--- a/packet/src/main/java/org/jclouds/packet/functions/BaseToPagedIterable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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.packet.functions;
-
-import javax.inject.Inject;
-
-import org.jclouds.collect.IterableWithMarker;
-import org.jclouds.collect.internal.Arg0ToPagedIterable;
-import org.jclouds.packet.PacketApi;
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.options.ListOptions;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-
-/**
- * Base class to implement the functions that build the
- * <code>PagedIterable</code>. Subclasses just need to override the
- * {@link #fetchPageUsingOptions(ListOptions, Optional)} to invoke the right API
- * method with the given options parameter to get the next page.
- */
-public abstract class BaseToPagedIterable<T, O extends ListOptions> extends
- Arg0ToPagedIterable<T, BaseToPagedIterable<T, O>> {
- private final Function<Href, O> hrefToOptions;
- protected final PacketApi api;
-
- @Inject protected BaseToPagedIterable(PacketApi api, Function<Href, O> hrefToOptions) {
- this.api = api;
- this.hrefToOptions = hrefToOptions;
- }
-
- protected abstract IterableWithMarker<T> fetchPageUsingOptions(O options, Optional<Object> arg0);
-
- @Override
- protected Function<Object, IterableWithMarker<T>> markerToNextForArg0(final Optional<Object> arg0) {
- return new Function<Object, IterableWithMarker<T>>() {
- @Override
- public IterableWithMarker<T> apply(Object input) {
- O nextOptions = hrefToOptions.apply(Href.class.cast(input));
- return fetchPageUsingOptions(nextOptions, arg0);
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/functions/HrefToListOptions.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/functions/HrefToListOptions.java b/packet/src/main/java/org/jclouds/packet/functions/HrefToListOptions.java
deleted file mode 100644
index d380b26..0000000
--- a/packet/src/main/java/org/jclouds/packet/functions/HrefToListOptions.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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.packet.functions;
-
-import java.net.URI;
-
-import org.jclouds.packet.domain.Href;
-import org.jclouds.packet.domain.options.ListOptions;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Multimap;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Strings.emptyToNull;
-import static com.google.common.collect.Iterables.getFirst;
-import static org.jclouds.http.utils.Queries.queryParser;
-import static org.jclouds.packet.domain.options.ListOptions.PAGE_PARAM;
-import static org.jclouds.packet.domain.options.ListOptions.PER_PAGE_PARAM;
-
-/**
- * Transforms an href returned by the API into a {@link ListOptions} that can be
- * used to perform a request to get another page of a paginated list.
- */
-public class HrefToListOptions implements Function<Href, ListOptions> {
-
- @Override
- public ListOptions apply(Href input) {
- checkNotNull(input, "input cannot be null");
-
- Multimap<String, String> queryParams = queryParser().apply(URI.create(input.href()).getQuery());
- String nextPage = getFirstOrNull(PAGE_PARAM, queryParams);
- String nextPerPage = getFirstOrNull(PER_PAGE_PARAM, queryParams);
-
- ListOptions options = new ListOptions();
- if (nextPage != null) {
- options.page(Integer.parseInt(nextPage));
- }
- if (nextPerPage != null) {
- options.perPage(Integer.parseInt(nextPerPage));
- }
-
- return options;
- }
-
- public static String getFirstOrNull(String key, Multimap<String, String> params) {
- return params.containsKey(key) ? emptyToNull(getFirst(params.get(key), null)) : null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/main/java/org/jclouds/packet/handlers/PacketErrorHandler.java
----------------------------------------------------------------------
diff --git a/packet/src/main/java/org/jclouds/packet/handlers/PacketErrorHandler.java b/packet/src/main/java/org/jclouds/packet/handlers/PacketErrorHandler.java
deleted file mode 100644
index 01d870b..0000000
--- a/packet/src/main/java/org/jclouds/packet/handlers/PacketErrorHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.packet.handlers;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-
-import static org.jclouds.http.HttpUtils.closeClientButKeepContentStream;
-
-/**
- * This will parse and set an appropriate exception on the command object.
- */
-@Singleton
-public class PacketErrorHandler implements HttpErrorHandler {
-
- public void handleError(HttpCommand command, HttpResponse response) {
- // it is important to always read fully and close streams
- byte[] data = closeClientButKeepContentStream(response);
- String message = data != null ? new String(data) : null;
-
- Exception exception = message != null ? new HttpResponseException(command, response, message)
- : new HttpResponseException(command, response);
- message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
- response.getStatusLine());
- switch (response.getStatusCode()) {
- case 400:
- exception = new IllegalArgumentException(message, exception);
- break;
- case 401:
- case 403:
- exception = new AuthorizationException(message, exception);
- break;
- case 404:
- if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
- exception = new ResourceNotFoundException(message, exception);
- }
- break;
- case 409:
- exception = new IllegalStateException(message, exception);
- break;
- }
- command.setException(exception);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/test/java/org/jclouds/packet/PacketProviderMetadataTest.java
----------------------------------------------------------------------
diff --git a/packet/src/test/java/org/jclouds/packet/PacketProviderMetadataTest.java b/packet/src/test/java/org/jclouds/packet/PacketProviderMetadataTest.java
deleted file mode 100644
index cc0c8c5..0000000
--- a/packet/src/test/java/org/jclouds/packet/PacketProviderMetadataTest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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.packet;
-
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "unit", testName = "PacketProviderMetadataTest")
-public class PacketProviderMetadataTest extends BaseProviderMetadataTest {
-
- public PacketProviderMetadataTest() {
- super(new PacketProviderMetadata(), new PacketApiMetadata());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/test/java/org/jclouds/packet/compute/PacketComputeProviderMetadataTest.java
----------------------------------------------------------------------
diff --git a/packet/src/test/java/org/jclouds/packet/compute/PacketComputeProviderMetadataTest.java b/packet/src/test/java/org/jclouds/packet/compute/PacketComputeProviderMetadataTest.java
deleted file mode 100644
index a7f0c97..0000000
--- a/packet/src/test/java/org/jclouds/packet/compute/PacketComputeProviderMetadataTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.packet.compute;
-
-import org.jclouds.packet.PacketApiMetadata;
-import org.jclouds.packet.PacketProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-@Test(groups = "unit", testName = "PacketComputeProviderMetadataTest")
-public class PacketComputeProviderMetadataTest extends BaseProviderMetadataTest {
-
- public PacketComputeProviderMetadataTest() {
- super(new PacketProviderMetadata(), new PacketApiMetadata());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/test/java/org/jclouds/packet/compute/PacketComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/packet/src/test/java/org/jclouds/packet/compute/PacketComputeServiceLiveTest.java b/packet/src/test/java/org/jclouds/packet/compute/PacketComputeServiceLiveTest.java
deleted file mode 100644
index dc10ecd..0000000
--- a/packet/src/test/java/org/jclouds/packet/compute/PacketComputeServiceLiveTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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.packet.compute;
-
-import java.util.Properties;
-
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Live tests for the {@link org.jclouds.compute.ComputeService} integration.
- */
-@Test(groups = "live", singleThreaded = true, testName = "PacketComputeServiceLiveTest")
-public class PacketComputeServiceLiveTest extends BaseComputeServiceLiveTest {
-
- public PacketComputeServiceLiveTest() {
- provider = "packet";
- }
-
- @Override
- protected Module getSshModule() {
- return new SshjSshClientModule();
- }
-
- @Override
- @Test(expectedExceptions = AuthorizationException.class)
- public void testCorrectAuthException() throws Exception {
- ComputeServiceContext context = null;
- try {
- Properties overrides = setupProperties();
- overrides.setProperty(provider + ".identity", "MOM:MA");
- overrides.setProperty(provider + ".credential", "MIA");
- context = newBuilder()
- .modules(ImmutableSet.of(getLoggingModule(), credentialStoreModule))
- .overrides(overrides)
- .build(ComputeServiceContext.class);
- // replace listNodes with listImages as it doesn't require `projectId`
- context.getComputeService().listImages();
- } catch (AuthorizationException e) {
- throw e;
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw e;
- } finally {
- if (context != null)
- context.close();
- }
- }
-
- @Override
- public void testOptionToNotBlock() throws Exception {
- // Packet ComputeService implementation has to block until the node
- // is provisioned, to be able to return it.
- }
-
- @Override
- protected void checkUserMetadataContains(NodeMetadata node, ImmutableMap<String, String> userMetadata) {
- // The Packet API does not return the user data
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/cb70f325/packet/src/test/java/org/jclouds/packet/compute/PacketTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/packet/src/test/java/org/jclouds/packet/compute/PacketTemplateBuilderLiveTest.java b/packet/src/test/java/org/jclouds/packet/compute/PacketTemplateBuilderLiveTest.java
deleted file mode 100644
index 5faddde..0000000
--- a/packet/src/test/java/org/jclouds/packet/compute/PacketTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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.packet.compute;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-@Test(groups = "live", testName = "PacketTemplateBuilderLiveTest")
-public class PacketTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
- public PacketTemplateBuilderLiveTest() {
- provider = "packet";
- }
-
- @Test
- @Override
- public void testDefaultTemplateBuilder() throws IOException {
- Template defaultTemplate = view.getComputeService().templateBuilder().build();
- assert defaultTemplate.getImage().getOperatingSystem().getVersion().startsWith("16.") : defaultTemplate
- .getImage().getOperatingSystem().getVersion();
- assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
- assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
- assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
- }
-
- @Override
- protected Set<String> getIso3166Codes() {
- return ImmutableSet.of("US-CA", "US-NJ", "NL", "JP");
- }
-
-}