http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/ListPage.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/ListPage.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/ListPage.java deleted file mode 100644 index 63107e7..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/ListPage.java +++ /dev/null @@ -1,179 +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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; -import static org.jclouds.googlecomputeengine.domain.Resource.Kind; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Iterator; - -import org.jclouds.collect.IterableWithMarker; - -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableSet; - -/** - * The collection returned from any <code>listFirstPage()</code> method. - */ -public class ListPage<T> extends IterableWithMarker<T> { - - private final Kind kind; - private final String id; - private final URI selfLink; - private final String nextPageToken; - private final Iterable<T> items; - - @ConstructorProperties({ - "kind", "id", "selfLink", "nextPageToken", "items" - }) - protected ListPage(Kind kind, String id, URI selfLink, String nextPageToken, Iterable<T> items) { - this.id = checkNotNull(id, "id"); - this.kind = checkNotNull(kind, "kind of %id", id); - this.selfLink = checkNotNull(selfLink, "selfLink of %id", id); - this.nextPageToken = nextPageToken; - this.items = items != null ? ImmutableSet.copyOf(items) : ImmutableSet.<T>of(); - } - - public Kind getKind() { - return kind; - } - - public String getId() { - return id; - } - - public URI getSelfLink() { - return selfLink; - } - - @Override - public Optional<Object> nextMarker() { - return Optional.<Object>fromNullable(nextPageToken); - } - - @Override - public Iterator<T> iterator() { - return checkNotNull(items, "items").iterator(); - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(kind, id); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - ListPage<?> that = ListPage.class.cast(obj); - return equal(this.kind, that.kind) - && equal(this.id, that.id); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("kind", kind) - .add("id", id) - .add("selfLink", selfLink) - .add("nextPageToken", nextPageToken) - .add("items", items); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static <T> Builder<T> builder() { - return new Builder<T>(); - } - - public Builder<T> toBuilder() { - return new Builder<T>().fromPagedList(this); - } - - public static final class Builder<T> { - - private Kind kind; - private String id; - private URI selfLink; - private String nextPageToken; - private ImmutableSet.Builder<T> items = ImmutableSet.builder(); - - public Builder<T> kind(Kind kind) { - this.kind = kind; - return this; - } - - public Builder<T> id(String id) { - this.id = id; - return this; - } - - public Builder<T> selfLink(URI selfLink) { - this.selfLink = selfLink; - return this; - } - - public Builder<T> addItem(T item) { - this.items.add(item); - return this; - } - - public Builder<T> items(Iterable<T> items) { - this.items.addAll(items); - return this; - } - - public Builder<T> nextPageToken(String nextPageToken) { - this.nextPageToken = nextPageToken; - return this; - } - - public ListPage<T> build() { - return new ListPage<T>(kind, id, selfLink, nextPageToken, items.build()); - } - - public Builder<T> fromPagedList(ListPage<T> in) { - return this - .kind(in.getKind()) - .id(in.getId()) - .selfLink(in.getSelfLink()) - .nextPageToken((String) in.nextMarker().orNull()) - .items(in); - - } - } -}
http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java deleted file mode 100644 index 6a538e5..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineType.java +++ /dev/null @@ -1,348 +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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.List; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableList; - -/** - * Represents a machine type used to host an instance. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/machineTypes"/> - */ -@Beta -public final class MachineType extends Resource { - - private final Integer guestCpus; - private final Integer memoryMb; - private final List<ScratchDisk> scratchDisks; - private final Integer maximumPersistentDisks; - private final Long maximumPersistentDisksSizeGb; - private final String zone; - private final Optional<Deprecated> deprecated; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "guestCpus", "memoryMb", - "scratchDisks", "maximumPersistentDisks", "maximumPersistentDisksSizeGb", "zone", "deprecated" - }) - private MachineType(String id, Date creationTimestamp, URI selfLink, String name, String description, - int guestCpus, int memoryMb, List<ScratchDisk> scratchDisks, - int maximumPersistentDisks, long maximumPersistentDisksSizeGb, String zone, - @Nullable Deprecated deprecated) { - super(Kind.MACHINE_TYPE, id, creationTimestamp, selfLink, name, description); - this.guestCpus = checkNotNull(guestCpus, "guestCpus of %s", name); - this.memoryMb = checkNotNull(memoryMb, "memoryMb of %s", name); - this.scratchDisks = scratchDisks == null ? ImmutableList.<ScratchDisk>of() : scratchDisks; - this.maximumPersistentDisks = checkNotNull(maximumPersistentDisks, "maximumPersistentDisks of %s", name); - this.maximumPersistentDisksSizeGb = maximumPersistentDisksSizeGb; - this.zone = checkNotNull(zone, "zone of %s", name); - this.deprecated = fromNullable(deprecated); - } - - /** - * @return count of CPUs exposed to the instance. - */ - public int getGuestCpus() { - return guestCpus; - } - - /** - * @return physical memory assigned to the instance, defined in MB. - */ - public int getMemoryMb() { - return memoryMb; - } - - /** - * @return extended scratch disks assigned to the instance. - */ - public List<ScratchDisk> getScratchDisks() { - return scratchDisks; - } - - /** - * @return maximum persistent disks allowed. - */ - public int getMaximumPersistentDisks() { - return maximumPersistentDisks; - } - - /** - * @return maximum total persistent disks size (GB) allowed. - */ - public long getMaximumPersistentDisksSizeGb() { - return maximumPersistentDisksSizeGb; - } - - /** - * @return the zones that this machine type can run in. - */ - public String getZone() { - return zone; - } - - /** - * @return the deprecation information for this machine type - */ - public Optional<Deprecated> getDeprecated() { - return deprecated; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - MachineType that = MachineType.class.cast(obj); - return equal(this.kind, that.kind) - && equal(this.name, that.name) - && equal(this.zone, that.zone); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("guestCpus", guestCpus) - .add("memoryMb", memoryMb) - .add("scratchDisks", scratchDisks) - .add("maximumPersistentDisks", maximumPersistentDisks) - .add("maximumPersistentDisksSizeGb", maximumPersistentDisksSizeGb) - .add("zone", zone) - .add("deprecated", deprecated.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromMachineType(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private Integer guestCpus; - private Integer memoryMb; - private Integer imageSpaceGb; - private ImmutableList.Builder<ScratchDisk> scratchDisks = ImmutableList.builder(); - private Integer maximumPersistentDisks; - private Long maximumPersistentDisksSizeGb; - private String zone; - private Deprecated deprecated; - - /** - * @see MachineType#getGuestCpus() - */ - public Builder guestCpus(int guesCpus) { - this.guestCpus = guesCpus; - return this; - } - - /** - * @see MachineType#getMemoryMb() - */ - public Builder memoryMb(int memoryMb) { - this.memoryMb = memoryMb; - return this; - } - - /** - * @see MachineType#getImageSpaceGb() - */ - public Builder imageSpaceGb(int imageSpaceGb) { - this.imageSpaceGb = imageSpaceGb; - return this; - } - - /** - * @see MachineType#getScratchDisks() - */ - public Builder addScratchDisk(int diskGb) { - this.scratchDisks.add(ScratchDisk.builder().diskGb(diskGb).build()); - return this; - } - - /** - * @see MachineType#getScratchDisks() - */ - public Builder scratchDisks(List<ScratchDisk> scratchDisks) { - this.scratchDisks.addAll(scratchDisks); - return this; - } - - /** - * @see MachineType#getMaximumPersistentDisks() - */ - public Builder maximumPersistentDisks(int maximumPersistentDisks) { - this.maximumPersistentDisks = maximumPersistentDisks; - return this; - } - - /** - * @see MachineType#getMaximumPersistentDisksSizeGb() - */ - public Builder maximumPersistentDisksSizeGb(long maximumPersistentDisksSizeGb) { - this.maximumPersistentDisksSizeGb = maximumPersistentDisksSizeGb; - return this; - } - - /** - * @see MachineType#getZone() - */ - public Builder zone(String zone) { - this.zone = zone; - return this; - } - - /** - * @see MachineType#getDeprecated() - */ - public Builder deprecated(Deprecated deprecated) { - this.deprecated = deprecated; - return this; - } - - @Override - protected Builder self() { - return this; - } - - public MachineType build() { - return new MachineType(id, creationTimestamp, selfLink, name, description, guestCpus, memoryMb, - scratchDisks.build(), maximumPersistentDisks, maximumPersistentDisksSizeGb, zone, deprecated); - } - - - public Builder fromMachineType(MachineType in) { - return super.fromResource(in).memoryMb(in.getMemoryMb()).scratchDisks(in - .getScratchDisks()).maximumPersistentDisks(in.getMaximumPersistentDisks()) - .maximumPersistentDisksSizeGb(in.getMaximumPersistentDisksSizeGb()).zone(in.getZone()) - .deprecated(in.getDeprecated().orNull()); - } - } - - /** - * An scratch disk of a MachineType - */ - public static final class ScratchDisk { - - private final int diskGb; - - @ConstructorProperties({ - "diskGb" - }) - private ScratchDisk(int diskGb) { - this.diskGb = diskGb; - } - - /** - * @return size of the scratch disk, defined in GB. - */ - public int getDiskGb() { - return diskGb; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(diskGb); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - ScratchDisk that = ScratchDisk.class.cast(obj); - return equal(this.diskGb, that.diskGb); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .add("diskGb", diskGb); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromScratchDisk(this); - } - - public static class Builder { - - private int diskGb; - - /** - * @see org.jclouds.googlecomputeengine.domain.MachineType.ScratchDisk#getDiskGb() - */ - public Builder diskGb(int diskGb) { - this.diskGb = diskGb; - return this; - } - - public ScratchDisk build() { - return new ScratchDisk(diskGb); - } - - public Builder fromScratchDisk(ScratchDisk in) { - return new Builder().diskGb(in.getDiskGb()); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineTypeInZone.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineTypeInZone.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineTypeInZone.java deleted file mode 100644 index 0a4b5fb..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/MachineTypeInZone.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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Preconditions.checkNotNull; - -public class MachineTypeInZone extends SlashEncodedIds { - protected final MachineType machineType; - - public MachineTypeInZone(MachineType machineType, String zoneId) { - super(zoneId, checkNotNull(machineType, "machineType").getName()); - this.machineType = machineType; - } - - public MachineType getMachineType() { - return machineType; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - MachineTypeInZone that = MachineTypeInZone.class.cast(obj); - return equal(this.machineType, that.machineType) - && equal(this.firstId, that.firstId) - && equal(this.secondId, that.secondId); - } - - @Override - public String toString() { - return "[machineType=" + machineType + ", zoneId=" + firstId + "]"; - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java deleted file mode 100644 index 53a8cfb..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Metadata.java +++ /dev/null @@ -1,139 +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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; - -import java.beans.ConstructorProperties; -import java.util.Map; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableMap; - -/** - * Metadata for an instance or project, with their fingerprint. - */ -public class Metadata { - @Nullable - private final String fingerprint; - private final Map<String, String> items; - - @ConstructorProperties({"fingerprint", "items"}) - public Metadata(@Nullable String fingerprint, @Nullable Map<String, String> items) { - this.fingerprint = fingerprint; - this.items = items == null ? ImmutableMap.<String, String>of() : items; - } - - /** - * @return an optional map of metadata key/value pairs for this instance/project - */ - public Map<String, String> getItems() { - return items; - } - - /** - * Gets the fingerprint for the items - needed for updating them. - * - * @return the fingerprint string for the items. - */ - public String getFingerprint() { - return fingerprint; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(fingerprint, items); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Metadata that = Metadata.class.cast(obj); - return equal(this.items, that.items) - && equal(this.fingerprint, that.fingerprint); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .add("items", items) - .add("fingerprint", fingerprint); - } - - public static Builder builder() { - return new Builder(); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static final class Builder { - - private ImmutableMap.Builder<String, String> items = ImmutableMap.builder(); - private String fingerprint; - - /** - * @see Metadata#getItems() - */ - public Builder addItem(String key, String value) { - this.items.put(key, value); - return this; - } - - /** - * @see Metadata#getItems() - */ - public Builder items(Map<String, String> items) { - this.items.putAll(items); - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Metadata#getFingerprint() - */ - public Builder fingerprint(String fingerprint) { - this.fingerprint = fingerprint; - return this; - } - - public Metadata build() { - return new Metadata(this.fingerprint, this.items.build()); - } - - public Builder fromMetadata(Metadata in) { - return this.fingerprint(in.getFingerprint()) - .items(in.getItems()); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java deleted file mode 100644 index 0919c89..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Network.java +++ /dev/null @@ -1,133 +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.googlecomputeengine.domain; - - -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; - -/** - * Represents a network used to enable instance communication. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/networks"/> - */ -@Beta -public final class Network extends Resource { - - private final String IPv4Range; - private final Optional<String> gatewayIPv4; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "IPv4Range", - "gatewayIPv4" - }) - protected Network(String id, Date creationTimestamp, URI selfLink, String name, String description, - String IPv4Range, String gatewayIPv4) { - super(Kind.NETWORK, id, creationTimestamp, selfLink, name, description); - this.IPv4Range = checkNotNull(IPv4Range); - this.gatewayIPv4 = fromNullable(gatewayIPv4); - } - - /** - * @return Required; The range of internal addresses that are legal on this network. This range is a CIDR - * specification, for example: 192.168.0.0/16. - */ - public String getIPv4Range() { - return IPv4Range; - } - - /** - * This must be within the range specified by IPv4Range, and is typically the first usable address in that range. - * If not specified, the default value is the first usable address in IPv4Range. - * - * @return an optional address that is used for default routing to other networks. - */ - public Optional<String> getGatewayIPv4() { - return gatewayIPv4; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .omitNullValues() - .add("IPv4Range", IPv4Range) - .add("gatewayIPv4", gatewayIPv4.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromNetwork(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private String IPv4Range; - private String gatewayIPv4; - - /** - * @see Network#getIPv4Range() - */ - public Builder IPv4Range(String IPv4Range) { - this.IPv4Range = IPv4Range; - return this; - } - - /** - * @see Network#getGatewayIPv4() - */ - public Builder gatewayIPv4(String gatewayIPv4) { - this.gatewayIPv4 = gatewayIPv4; - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Network build() { - return new Network(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, IPv4Range, gatewayIPv4); - } - - public Builder fromNetwork(Network in) { - return super.fromResource(in); - } - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java deleted file mode 100644 index deab873..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java +++ /dev/null @@ -1,556 +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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.List; - -import org.jclouds.http.HttpResponse; -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableList; - -/** - * Describes an operation being executed on some Resource - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/operations"/> - */ -@Beta -public class Operation extends Resource { - - public static enum Status { - PENDING, - RUNNING, - DONE - } - - private final URI targetLink; - private final Optional<String> targetId; - private final Optional<String> clientOperationId; - private final Status status; - private final Optional<String> statusMessage; - private final String user; - private final Optional<Integer> progress; - private final Date insertTime; - private final Optional<Date> startTime; - private final Optional<Date> endTime; - private final Optional<HttpResponse> httpError; - private final String operationType; - private final List<Error> errors; - private final Optional<URI> zone; - private final Optional<URI> region; - - protected Operation(String id, Date creationTimestamp, URI selfLink, String name, String description, - URI targetLink, String targetId, String clientOperationId, Status status, - String statusMessage, String user, Integer progress, Date insertTime, Date startTime, - Date endTime, Integer httpErrorStatusCode, String httpErrorMessage, String operationType, - @Nullable List<Error> errors, URI region, URI zone) { - super(Kind.OPERATION, id, creationTimestamp, selfLink, name, description); - this.targetLink = checkNotNull(targetLink, "targetLink of %s", name); - this.targetId = fromNullable(targetId); - this.clientOperationId = fromNullable(clientOperationId); - this.status = checkNotNull(status, "status of %s", name); - this.statusMessage = fromNullable(statusMessage); - this.user = checkNotNull(user, "user of %s", name); - this.progress = fromNullable(progress); - this.insertTime = checkNotNull(insertTime, "insertTime of %s", name); - this.startTime = fromNullable(startTime); - this.endTime = fromNullable(endTime); - this.httpError = httpErrorStatusCode != null && httpErrorStatusCode != 0 ? - Optional.of(HttpResponse.builder() - .statusCode(httpErrorStatusCode) - .message(httpErrorMessage) - .build()) - : Optional.<HttpResponse>absent(); - this.operationType = checkNotNull(operationType, "insertTime of %s", name); - this.errors = errors == null ? ImmutableList.<Error>of() : ImmutableList.copyOf(errors); - this.region = fromNullable(region); - this.zone = fromNullable(zone); - } - - /** - * @return URL of the resource the operation is mutating. - */ - public URI getTargetLink() { - return targetLink; - } - - /** - * @return An optional identifier specified by the client when the mutation was initiated. Must be unique for all - * operation resources in the project. - */ - public Optional<String> getClientOperationId() { - return clientOperationId; - } - - /** - * @return unique target id which identifies a particular incarnation of the target. - */ - public Optional<String> getTargetId() { - return targetId; - } - - /** - * @return region this operation is in, if any. - */ - public Optional<URI> getRegion() { - return region; - } - - /** - * @return zone this operation is in, if any. - */ - public Optional<URI> getZone() { - return zone; - } - - /** - * @return Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - */ - public Status getStatus() { - return status; - } - - /** - * @return An optional textual description of the current status of the operation. - */ - public Optional<String> getStatusMessage() { - return statusMessage; - } - - /** - * @return User who requested the operation, for example "[email protected]". - */ - public String getUser() { - return user; - } - - /** - * @return an optional progress indicator that ranges from 0 to 100. This should not be used to guess at when the - * operation will be complete. This number should be monotonically increasing as the operation progresses - * (output only). - */ - public Optional<Integer> getProgress() { - return progress; - } - - /** - * @return the time that this operation was requested. - */ - public Date getInsertTime() { - return insertTime; - } - - /** - * @return the time that this operation was started by the server. - */ - public Optional<Date> getStartTime() { - return startTime; - } - - /** - * @return the time that this operation was completed. - */ - public Optional<Date> getEndTime() { - return endTime; - } - - /** - * @return if operation fails, the HttpResponse with error status code returned and the message, e.g. NOT_FOUND. - */ - public Optional<HttpResponse> getHttpError() { - return httpError; - } - - /** - * @return type of the operation. Examples include insert, update, and delete. - */ - public String getOperationType() { - return operationType; - } - - /** - * @return if error occurred during processing of this operation, this field will be populated. - */ - public List<Error> getErrors() { - return errors; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .omitNullValues() - .add("targetLink", targetLink) - .add("targetId", targetId.orNull()) - .add("clientOperationId", clientOperationId.orNull()) - .add("status", status) - .add("statusMessage", statusMessage.orNull()) - .add("user", user) - .add("progress", progress.orNull()) - .add("insertTime", insertTime) - .add("startTime", startTime.orNull()) - .add("endTime", endTime.orNull()) - .add("httpError", httpError.orNull()) - .add("operationType", operationType) - .add("errors", errors) - .add("region", region.orNull()) - .add("zone", zone.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromOperation(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private URI targetLink; - private String targetId; - private String clientOperationId; - private Status status; - private String statusMessage; - private String user; - private Integer progress; - private Date insertTime; - private Date startTime; - private Date endTime; - private Integer httpErrorStatusCode; - private String httpErrorMessage; - private String operationType; - private ImmutableList.Builder<Error> errors = ImmutableList.builder(); - private URI region; - private URI zone; - - /** - * @see Operation#getTargetLink() - */ - public Builder targetLink(URI targetLink) { - this.targetLink = targetLink; - return self(); - } - - /** - * @see Operation#getRegion() - */ - public Builder region(URI region) { - this.region = region; - return self(); - } - - /** - * @see Operation#getZone() - */ - public Builder zone(URI zone) { - this.zone = zone; - return self(); - } - - /** - * @see Operation#getTargetId() - */ - public Builder targetId(String targetId) { - this.targetId = targetId; - return self(); - } - - /** - * @see Operation#getClientOperationId() - */ - public Builder clientOperationId(String clientOperationId) { - this.clientOperationId = clientOperationId; - return self(); - } - - /** - * @see Operation#getStatus() - */ - public Builder status(Status status) { - this.status = status; - return self(); - } - - /** - * @see Operation#getStatusMessage() - */ - public Builder statusMessage(String statusMessage) { - this.statusMessage = statusMessage; - return self(); - } - - /** - * @see Operation#getUser() - */ - public Builder user(String user) { - this.user = user; - return self(); - } - - /** - * @see Operation#getProgress() - */ - public Builder progress(Integer progress) { - this.progress = progress; - return self(); - } - - /** - * @see Operation#getInsertTime() - */ - public Builder insertTime(Date insertTime) { - this.insertTime = insertTime; - return self(); - } - - /** - * @see Operation#getStartTime() - */ - public Builder startTime(Date startTime) { - this.startTime = startTime; - return self(); - } - - /** - * @see Operation#getEndTime() - */ - public Builder endTime(Date endTime) { - this.endTime = endTime; - return self(); - } - - /** - * @see Operation#getHttpError() - */ - public Builder httpErrorStatusCode(Integer httpErrorStatusCode) { - this.httpErrorStatusCode = httpErrorStatusCode; - return self(); - } - - /** - * @see Operation#getHttpError() - */ - public Builder httpErrorMessage(String httpErrorMessage) { - this.httpErrorMessage = httpErrorMessage; - return self(); - } - - /** - * @see Operation#getOperationType() - */ - public Builder operationType(String operationType) { - this.operationType = operationType; - return self(); - } - - /** - * @see Operation#getErrors() - */ - public Builder errors(Iterable<Error> errors) { - if (errors != null) - this.errors.addAll(errors); - return self(); - } - - /** - * @see Operation#getErrors() - */ - public Builder addError(Error error) { - this.errors.add(error); - return self(); - } - - @Override - protected Builder self() { - return this; - } - - public Operation build() { - return new Operation(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, targetLink, targetId, clientOperationId, status, statusMessage, user, progress, - insertTime, startTime, endTime, httpErrorStatusCode, httpErrorMessage, operationType, - errors.build(), region, zone); - } - - public Builder fromOperation(Operation in) { - return super.fromResource(in) - .targetLink(in.getTargetLink()) - .targetId(in.getTargetId().orNull()) - .clientOperationId(in.getClientOperationId().orNull()) - .status(in.getStatus()) - .statusMessage(in.getStatusMessage().orNull()) - .user(in.getUser()) - .progress(in.getProgress().get()) - .insertTime(in.getInsertTime()) - .startTime(in.getStartTime().orNull()) - .endTime(in.getEndTime().orNull()) - .httpErrorStatusCode(in.getHttpError().isPresent() ? in.getHttpError().get().getStatusCode() : null) - .httpErrorMessage(in.getHttpError().isPresent() ? in.getHttpError().get().getMessage() : null) - .operationType(in.getOperationType()).errors(in.getErrors()) - .zone(in.getZone().orNull()).region(in.getRegion().orNull()); - } - } - - /** - * A particular error for an operation including the details. - */ - public static final class Error { - - private final String code; - private final Optional<String> location; - private final Optional<String> message; - - @ConstructorProperties({ - "code", "location", "message" - }) - private Error(String code, String location, String message) { - this.code = checkNotNull(code, "code"); - this.location = fromNullable(location); - this.message = fromNullable(message); - } - - /** - * @return the error type identifier for this error. - */ - public String getCode() { - return code; - } - - /** - * @return indicates the field in the request which caused the error.. - */ - public Optional<String> getLocation() { - return location; - } - - /** - * @return an optional, human-readable error message. - */ - public Optional<String> getMessage() { - return message; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(code, location, message); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Error that = Error.class.cast(obj); - return equal(this.code, that.code) - && equal(this.location, that.location) - && equal(this.message, that.message); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("code", code) - .add("location", location.orNull()) - .add("message", message.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromOperationErrorDetail(this); - } - - public static final class Builder { - - private String code; - private String location; - private String message; - - /** - * @see org.jclouds.googlecomputeengine.domain.Operation.Error#getCode() - */ - public Builder code(String code) { - this.code = code; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Operation.Error#getLocation() - */ - public Builder location(String location) { - this.location = location; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Operation.Error#getMessage() - */ - public Builder message(String message) { - this.message = message; - return this; - } - - public Error build() { - return new Error(code, location, message); - } - - public Builder fromOperationErrorDetail(Error in) { - return new Builder().code(in.getCode()).location(in.getLocation().orNull()).message - (in.getMessage().orNull()); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java deleted file mode 100644 index ac3867b..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java +++ /dev/null @@ -1,162 +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.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.net.URI; -import java.util.Date; -import java.util.Set; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableSet; - -/** - * A Project resource is the root collection and settings resource for all Google Compute Engine resources. - * - * @see <a href="https://developers.google.com/compute/docs/projects"/> - */ -@Beta -public class Project extends Resource { - - private final Metadata commonInstanceMetadata; - private final Set<Quota> quotas; - private final Set<String> externalIpAddresses; - - protected Project(String id, Date creationTimestamp, URI selfLink, String name, String description, - Metadata commonInstanceMetadata, Set<Quota> quotas, Set<String> externalIpAddresses) { - super(Kind.PROJECT, id, creationTimestamp, selfLink, name, description); - this.commonInstanceMetadata = checkNotNull(commonInstanceMetadata, "commonInstanceMetadata"); - this.quotas = quotas == null ? ImmutableSet.<Quota>of() : ImmutableSet.copyOf(quotas); - this.externalIpAddresses = externalIpAddresses == null ? ImmutableSet.<String>of() : ImmutableSet.copyOf - (externalIpAddresses); - } - - /** - * @return metadata key/value pairs available to all instances contained in this project. - */ - public Metadata getCommonInstanceMetadata() { - return commonInstanceMetadata; - } - - /** - * @return quotas assigned to this project. - */ - public Set<Quota> getQuotas() { - return quotas; - } - - /** - * @return internet available IP addresses available for use in this project. - */ - @Nullable - public Set<String> getExternalIpAddresses() { - return externalIpAddresses; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("commonInstanceMetadata", commonInstanceMetadata) - .add("quotas", quotas) - .add("externalIpAddresses", externalIpAddresses); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromProject(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private Metadata commonInstanceMetadata; - private ImmutableSet.Builder<Quota> quotas = ImmutableSet.builder(); - private ImmutableSet.Builder<String> externalIpAddresses = ImmutableSet.builder(); - - /** - * @see Project#getCommonInstanceMetadata() - */ - public Builder commonInstanceMetadata(Metadata commonInstanceMetadata) { - this.commonInstanceMetadata = commonInstanceMetadata; - return this; - } - - /** - * @see Project#getQuotas() - */ - public Builder addQuota(String metric, double usage, double limit) { - this.quotas.add(Quota.builder().metric(metric).usage(usage).limit(limit).build()); - return this; - } - - /** - * @see Project#getQuotas() - */ - public Builder quotas(Set<Quota> quotas) { - this.quotas.addAll(checkNotNull(quotas)); - return this; - } - - /** - * @see Project#getExternalIpAddresses() - */ - public Builder addExternalIpAddress(String externalIpAddress) { - this.externalIpAddresses.add(checkNotNull(externalIpAddress, "externalIpAddress")); - return this; - } - - /** - * @see Project#getExternalIpAddresses() - */ - public Builder externalIpAddresses(Set<String> externalIpAddresses) { - this.externalIpAddresses.addAll(checkNotNull(externalIpAddresses, "externalIpAddresses")); - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Project build() { - return new Project(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, commonInstanceMetadata, quotas.build(), externalIpAddresses.build()); - } - - public Builder fromProject(Project in) { - return super.fromResource(in).commonInstanceMetadata(in.getCommonInstanceMetadata()).quotas(in.getQuotas()) - .externalIpAddresses(in.getExternalIpAddresses()); - } - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java deleted file mode 100644 index 3c17130..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java +++ /dev/null @@ -1,152 +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.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Objects.ToStringHelper; - -/** - * Quotas assigned to a given project or region. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/projects#resource"/> - */ -@Beta -public class Quota { - private String metric; - private double usage; - private double limit; - - @ConstructorProperties({ - "metric", "usage", "limit" - }) - public Quota(String metric, Double usage, Double limit) { - this.metric = metric != null ? metric : "undefined"; - this.usage = checkNotNull(usage, "usage"); - this.limit = checkNotNull(limit, "limit"); - } - - /** - * @return name of the quota metric. - */ - public String getMetric() { - return metric; - } - - /** - * @return current usage of this metric. - */ - public Double getUsage() { - return usage; - } - - /** - * @return quota limit for this metric. - */ - public Double getLimit() { - return limit; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(metric); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || this.getClass() != obj.getClass()) return false; - Quota that = Quota.class.cast(obj); - return Objects.equal(this.metric, that.metric); - } - - /** - * {@inheritDoc} - */ - public ToStringHelper string() { - return Objects.toStringHelper(this) - .omitNullValues() - .add("metric", metric) - .add("usage", usage) - .add("limit", limit); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromQuota(this); - } - - public static class Builder { - - private String metric; - private Double usage; - private Double limit; - - /** - * @see org.jclouds.googlecomputeengine.domain.Quota#getMetric() - */ - public Builder metric(String metric) { - this.metric = checkNotNull(metric, "metric"); - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Quota#getUsage() - */ - public Builder usage(Double usage) { - this.usage = usage; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Quota#getLimit() - */ - public Builder limit(Double limit) { - this.limit = limit; - return this; - } - - public Quota build() { - return new Quota(metric, usage, limit); - } - - public Builder fromQuota(Quota quota) { - return new Builder().metric(quota.getMetric()).usage(quota.getUsage()).limit(quota.getLimit()); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java deleted file mode 100644 index aa459bf..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java +++ /dev/null @@ -1,175 +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.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.Set; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableSet; - -/** - * Represents a region resource. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/regions"/> - */ -@Beta -public final class Region extends Resource { - - public enum Status { - UP, - DOWN - } - - private final Status status; - private final Set<URI> zones; - private final Set<Quota> quotas; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "status", - "zones", "quotas" - }) - private Region(String id, Date creationTimestamp, URI selfLink, String name, String description, - Status status, Set<URI> zones, Set<Quota> quotas) { - super(Kind.REGION, id, creationTimestamp, selfLink, name, description); - this.status = checkNotNull(status, "status of %name", name); - this.zones = zones == null ? ImmutableSet.<URI>of() : ImmutableSet - .copyOf(zones); - this.quotas = quotas == null ? ImmutableSet.<Quota>of() : ImmutableSet.copyOf(quotas); - } - - /** - * @return Status of the region. "UP" or "DOWN". - */ - public Status getStatus() { - return status; - } - - /** - * @return the zones that can be used in this region. - */ - @Nullable - public Set<URI> getZones() { - return zones; - } - - /** - * @return quotas assigned to this project. - */ - public Set<Quota> getQuotas() { - return quotas; - } - - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("status", status) - .add("zones", zones) - .add("quotas", quotas); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromRegion(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private Status status; - private ImmutableSet.Builder<URI> zones = ImmutableSet.builder(); - private ImmutableSet.Builder<Quota> quotas = ImmutableSet.builder(); - - /** - * @see org.jclouds.googlecomputeengine.domain.Region#getStatus() - */ - public Builder status(Status status) { - this.status = status; - return this; - } - - /** - * @see Region#getZones() - */ - public Builder zone(URI zone) { - this.zones.add(checkNotNull(zone, "zone")); - return this; - } - - /** - * @see Region#getZones() - */ - public Builder zones(Set<URI> zones) { - this.zones.addAll(checkNotNull(zones, "zones")); - return this; - } - - /** - * @see Region#getQuotas() - */ - public Builder addQuota(String metric, double usage, double limit) { - this.quotas.add(Quota.builder().metric(metric).usage(usage).limit(limit).build()); - return this; - } - - /** - * @see Region#getQuotas() - */ - public Builder quotas(Set<Quota> quotas) { - this.quotas.addAll(checkNotNull(quotas)); - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Region build() { - return new Region(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, status, zones.build(), quotas.build()); - } - - public Builder fromRegion(Region in) { - return super.fromResource(in) - .status(in.getStatus()) - .zones(in.getZones()) - .quotas(in.getQuotas()); - } - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java deleted file mode 100644 index 4d0a1c8..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java +++ /dev/null @@ -1,283 +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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.ToStringHelper; -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.CaseFormat; -import com.google.common.base.Joiner; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; - -/** - * Base class for Google Compute Engine resources. - */ -@Beta -public class Resource { - - public enum Kind { - ADDRESS, - ADDRESS_LIST, - DISK, - DISK_LIST, - FIREWALL, - FIREWALL_LIST, - IMAGE, - IMAGE_LIST, - OPERATION, - OPERATION_LIST, - INSTANCE, - INSTANCE_LIST, - MACHINE_TYPE, - MACHINE_TYPE_LIST, - PROJECT, - NETWORK, - NETWORK_LIST, - REGION, - REGION_LIST, - ROUTE, - ROUTE_LIST, - SNAPSHOT, - SNAPSHOT_LIST, - ZONE, - ZONE_LIST; - - public String value() { - return Joiner.on("#").join("compute", CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, name())); - } - - @Override - public String toString() { - return value(); - } - - public static Kind fromValue(String kind) { - return valueOf(CaseFormat.LOWER_CAMEL.to(CaseFormat - .UPPER_UNDERSCORE, - Iterables.getLast(Splitter.on("#").split(checkNotNull(kind, - "kind"))))); - } - } - - protected final Kind kind; - protected final String id; - protected final Optional<Date> creationTimestamp; - protected final URI selfLink; - protected final String name; - protected final Optional<String> description; - - @ConstructorProperties({ - "kind", "id", "creationTimestamp", "selfLink", "name", "description" - }) - protected Resource(Kind kind, String id, Date creationTimestamp, URI selfLink, String name, - String description) { - this.kind = checkNotNull(kind, "kind"); - this.id = checkNotNull(id, "id"); - this.creationTimestamp = fromNullable(creationTimestamp); - this.selfLink = checkNotNull(selfLink, "selfLink"); - this.name = checkNotNull(name, "name"); - this.description = fromNullable(description); - } - - /** - * @return the Type of the resource - */ - public Kind getKind() { - return kind; - } - - /** - * @return unique identifier for the resource; defined by the server. - */ - public String getId() { - return id; - } - - /** - * @return creation timestamp in RFC3339 text format. - */ - public Optional<Date> getCreationTimestamp() { - return creationTimestamp; - } - - /** - * @return server defined URL for the resource. - */ - public URI getSelfLink() { - return selfLink; - } - - /** - * @return name of the resource. - */ - public String getName() { - return name; - } - - /** - * @return an optional textual description of the resource. - */ - @Nullable - public Optional<String> getDescription() { - return description; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(kind, name); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Resource that = Resource.class.cast(obj); - return equal(this.kind, that.kind) - && equal(this.name, that.name); - } - - /** - * {@inheritDoc} - */ - protected ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("kind", kind) - .add("id", id) - .add("name", name) - .add("creationTimestamp", creationTimestamp.orNull()) - .add("selfLink", selfLink) - .add("name", name) - .add("description", description.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromResource(this); - } - - public abstract static class Builder<T extends Builder<T>> { - - protected abstract T self(); - - protected Kind kind; - protected String id; - protected Date creationTimestamp; - protected URI selfLink; - protected String name; - protected String description; - - /** - * @see Resource#getKind() - */ - protected T kind(Kind kind) { - this.kind = kind; - return self(); - } - - /** - * @see Resource#getId() - */ - public T id(String id) { - this.id = id; - return self(); - } - - /** - * @see Resource#getCreationTimestamp() - */ - public T creationTimestamp(Date creationTimestamp) { - this.creationTimestamp = creationTimestamp; - return self(); - } - - /** - * @see Resource#getSelfLink() - */ - public T selfLink(URI selfLink) { - this.selfLink = selfLink; - return self(); - } - - /** - * @see Resource#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see Resource#getDescription() - */ - public T description(String description) { - this.description = description; - return self(); - } - - public Resource build() { - return new Resource(kind, id, creationTimestamp, selfLink, name, description); - } - - public T fromResource(Resource in) { - return this - .kind(in.getKind()) - .id(in.getId()) - .creationTimestamp(in.getCreationTimestamp().orNull()) - .selfLink(in.getSelfLink()) - .name(in.getName()) - .description(in.getDescription().orNull()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java deleted file mode 100644 index df5bb1d..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java +++ /dev/null @@ -1,433 +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.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.Set; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; - -/** - * Represents a route resource. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/routes"/> - */ -@Beta -public final class Route extends Resource { - - private final URI network; - private final Set<String> tags; - private final String destRange; - private final Integer priority; - private final Optional<URI> nextHopInstance; - private final Optional<String> nextHopIp; - private final Optional<URI> nextHopNetwork; - private final Optional<URI> nextHopGateway; - private final Set<Warning> warnings; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "network", "tags", - "destRange", "priority", "nextHopInstance", "nextHopIp", "nextHopNetwork", - "nextHopGateway", "warnings" - }) - private Route(String id, Date creationTimestamp, URI selfLink, String name, String description, - URI network, Set<String> tags, String destRange, Integer priority, - URI nextHopInstance, String nextHopIp, URI nextHopNetwork, - URI nextHopGateway, Set<Warning> warnings) { - super(Kind.ROUTE, id, creationTimestamp, selfLink, name, description); - this.network = checkNotNull(network, "network for %name", name); - this.tags = tags == null ? ImmutableSet.<String>of() : tags; - this.destRange = checkNotNull(destRange, "destination range for %name", name); - this.priority = checkNotNull(priority, "priority of %name", name); - this.nextHopInstance = fromNullable(nextHopInstance); - this.nextHopIp = fromNullable(nextHopIp); - this.nextHopNetwork = fromNullable(nextHopNetwork); - this.nextHopGateway = fromNullable(nextHopGateway); - this.warnings = warnings == null ? ImmutableSet.<Warning>of() : warnings; - } - - /** - * @return Network for this Route. - */ - public URI getNetwork() { - return network; - } - - /** - * @return The set of instance items to which this route applies. - */ - public Set<String> getTags() { - return tags; - } - - /** - * @return The destination range of outgoing packets that this route applies to. - */ - public String getDestRange() { - return destRange; - } - - /** - * @return The priority of this route. Priority is used to break ties in the case - * where there is more than one matching route of maximum length. A lower value - * is higher priority; a priority of 100 is higher than 200. - */ - public Integer getPriority() { - return priority; - } - - /** - * @return The fully-qualified URL to an instance that should handle matching packets. - */ - public Optional<URI> getNextHopInstance() { - return nextHopInstance; - } - - /** - * @return The network IP address of an instance that should handle matching packets. - */ - public Optional<String> getNextHopIp() { - return nextHopIp; - } - - /** - * @return The URL of the local network if it should handle matching packets. - */ - public Optional<URI> getNextHopNetwork() { - return nextHopNetwork; - } - - /** - * @return The URL to a gateway that should handle matching packets. Currently, this is only the internet gateway. - */ - public Optional<URI> getNextHopGateway() { - return nextHopGateway; - } - - /** - * @return If potential misconfigurations are detected for this route, this field will be populated with warning messages. - */ - public Set<Warning> getWarnings() { - return warnings; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("network", network) - .add("tags", tags) - .add("destRange", destRange) - .add("priority", priority) - .add("nextHopInstance", nextHopInstance.orNull()) - .add("nextHopIp", nextHopIp.orNull()) - .add("nextHopNetwork", nextHopNetwork.orNull()) - .add("nextHopGateway", nextHopGateway.orNull()) - .add("warnings", warnings); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromRoute(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private URI network; - private ImmutableSet.Builder<String> tags = ImmutableSet.builder(); - private String destRange; - private Integer priority; - private URI nextHopInstance; - private String nextHopIp; - private URI nextHopNetwork; - private URI nextHopGateway; - private ImmutableSet.Builder<Warning> warnings = ImmutableSet.builder(); - - - /** - * @see Route#getNetwork() - */ - public Builder network(URI network) { - this.network = network; - return this; - } - - /** - * @see Route#getTags() - */ - public Builder addTag(String tag) { - this.tags.add(tag); - return this; - } - - /** - * @see Route#getTags() - */ - public Builder tags(Set<String> tags) { - this.tags.addAll(tags); - return this; - } - - /** - * @see Route#getDestRange() - */ - public Builder destRange(String destRange) { - this.destRange = destRange; - return this; - } - - /** - * @see Route#getPriority() - */ - public Builder priority(Integer priority) { - this.priority = priority; - return this; - } - - /** - * @see Route#getNextHopInstance() - */ - public Builder nextHopInstance(URI nextHopInstance) { - this.nextHopInstance = nextHopInstance; - return this; - } - - /** - * @see Route#getNextHopIp() - */ - public Builder nextHopIp(String nextHopIp) { - this.nextHopIp = nextHopIp; - return this; - } - - /** - * @see Route#getNextHopNetwork() - */ - public Builder nextHopNetwork(URI nextHopNetwork) { - this.nextHopNetwork = nextHopNetwork; - return this; - } - - /** - * @see Route#getNextHopGateway() - */ - public Builder nextHopGateway(URI nextHopGateway) { - this.nextHopGateway = nextHopGateway; - return this; - } - - /** - * @see Route#getWarnings() - */ - public Builder addWarning(Warning warning) { - this.warnings.add(warning); - return this; - } - - /** - * @see Route#getWarnings() - */ - public Builder warnings(Set<Warning> warnings) { - this.warnings.addAll(warnings); - return this; - } - - - @Override - protected Builder self() { - return this; - } - - public Route build() { - return new Route(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, network, tags.build(), destRange, priority, - nextHopInstance, nextHopIp, nextHopNetwork, nextHopGateway, - warnings.build()); - } - - public Builder fromRoute(Route in) { - return super.fromResource(in) - .network(in.getNetwork()) - .tags(in.getTags()) - .destRange(in.getDestRange()) - .priority(in.getPriority()) - .nextHopInstance(in.getNextHopInstance().orNull()) - .nextHopIp(in.getNextHopIp().orNull()) - .nextHopNetwork(in.getNextHopNetwork().orNull()) - .nextHopGateway(in.getNextHopGateway().orNull()) - .warnings(in.getWarnings()); - } - } - - /** - * If potential misconfigurations are detected for this route, this field will be populated with warning messages. - */ - public static class Warning { - private final String code; - private final Optional<String> message; - private final Map<String, String> data; - - @ConstructorProperties({ - "code", "message", "data" - }) - public Warning(String code, String message, Map<String, String> data) { - this.code = checkNotNull(code, "code"); - this.message = fromNullable(message); - this.data = data == null ? ImmutableMap.<String, String>of() : data; - } - - /** - * @return The warning type identifier for this warning. - */ - public String getCode() { - return code; - } - - /** - * @return Optional human-readable details for this warning. - */ - public Optional<String> getMessage() { - return message; - } - - /** - * @return Metadata for this warning - */ - public Map<String, String> getData() { - return data; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(code, message, data); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Warning that = Warning.class.cast(obj); - return equal(this.code, that.code) - && equal(this.message, that.message) - && equal(this.data, that.data); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .add("code", code) - .add("message", message) - .add("data", data); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromWarning(this); - } - - public static final class Builder { - private String code; - private String message; - private ImmutableMap.Builder<String, String> data = ImmutableMap.builder(); - - /** - * @see Warning#getCode() - */ - public Builder code(String code) { - this.code = code; - return this; - } - - /** - * @see Warning#getMessage() - */ - public Builder message(String message) { - this.message = message; - return this; - } - - /** - * @see Warning#getData() - */ - public Builder data(Map<String, String> data) { - this.data = new ImmutableMap.Builder<String, String>().putAll(data); - return this; - } - - /** - * @see Warning#getData() - */ - public Builder addData(String key, String value) { - this.data.put(checkNotNull(key, "key"), checkNotNull(value, "value of %s", key)); - return this; - } - - public Warning build() { - return new Warning(code, message, data.build()); - } - - public Builder fromWarning(Warning in) { - return this.code(in.getCode()) - .message(in.getMessage().orNull()) - .data(in.getData()); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/897edde8/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java deleted file mode 100644 index 0080b29..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.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.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.base.Objects; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; - -public class SlashEncodedIds { - public static SlashEncodedIds fromSlashEncoded(String id) { - Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id")); - checkArgument(Iterables.size(parts) == 2, "id must be in format firstId/secondId"); - return new SlashEncodedIds(Iterables.get(parts, 0), Iterables.get(parts, 1)); - } - - public static SlashEncodedIds fromTwoIds(String firstId, String secondId) { - return new SlashEncodedIds(firstId, secondId); - } - - private static String slashEncodeTwoIds(String firstId, String secondId) { - return checkNotNull(firstId, "firstId") + "/" + checkNotNull(secondId, "secondId"); - } - - public String slashEncode() { - return slashEncodeTwoIds(firstId, secondId); - } - - protected final String firstId; - protected final String secondId; - - protected SlashEncodedIds(String firstId, String secondId) { - this.firstId = checkNotNull(firstId, "firstId"); - this.secondId = checkNotNull(secondId, "secondId"); - } - - @Override - public int hashCode() { - return Objects.hashCode(firstId, secondId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - SlashEncodedIds other = (SlashEncodedIds) obj; - return Objects.equal(firstId, other.firstId) && Objects.equal(secondId, other.secondId); - } - - public String getFirstId() { - return firstId; - } - - public String getSecondId() { - return secondId; - } - - @Override - public String toString() { - return "[firstId=" + firstId + ", secondId=" + secondId + "]"; - } - -}
