You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/12/23 05:27:04 UTC
[40/51] [partial] stratos git commit: dropping jclouds 1.8.0 clone
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/TagFilterBuilder.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/TagFilterBuilder.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/TagFilterBuilder.java
deleted file mode 100644
index f0b5715..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/TagFilterBuilder.java
+++ /dev/null
@@ -1,222 +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.ec2.util;
-
-import java.util.Comparator;
-import java.util.Map.Entry;
-
-import org.jclouds.ec2.domain.Tag;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Multimap;
-
-/**
- * You can use filters to limit the results when describing tags. For example,
- * you could get only the tags for a particular resource type. You can specify
- * multiple values for a filter. A tag must match at least one of the specified
- * values for it to be included in the results.
- *
- * You can specify multiple filters (for example, limit the results to a
- * specific resource type, and get only tags with values that contain the string
- * database). The result includes information for a particular tag only if it
- * matches all your filters. If there's no match, no special message is
- * returned; the response is simply empty.
- *
- * <h4>Wildcards</h4> You can use wildcards with the filter values: {@code *}
- * matches zero or more characters, and ? matches exactly one character. You can
- * escape special characters using a backslash before the character. For
- * example, a value of {@code \*amazon\?\\} searches for the literal string
- * {@code *amazon?\}.
- *
- * @see TagApi
- */
-public class TagFilterBuilder extends ImmutableMultimap.Builder<String, String> {
-
- private static final String KEY = "key";
- private static final String VALUE = "value";
- private static final String RESOURCE_ID = "resource-id";
- private static final String RESOURCE_TYPE = "resource-type";
-
- public TagFilterBuilder key(String key) {
- return put(KEY, key);
- }
-
- public TagFilterBuilder keys(String... keys) {
- return putAll(KEY, keys);
- }
-
- public TagFilterBuilder keys(Iterable<String> keys) {
- return putAll(KEY, keys);
- }
-
- public TagFilterBuilder anyKey() {
- return putAll(KEY, ImmutableSet.<String> of());
- }
-
- public TagFilterBuilder value(String value) {
- return put(VALUE, value);
- }
-
- public TagFilterBuilder values(String... values) {
- return putAll(VALUE, ImmutableSet.<String> copyOf(values));
- }
-
- public TagFilterBuilder values(Iterable<String> values) {
- return putAll(VALUE, ImmutableSet.<String> copyOf(values));
- }
-
- public TagFilterBuilder anyValue() {
- return putAll(VALUE, ImmutableSet.<String> of());
- }
-
- public TagFilterBuilder resourceId(String resourceId) {
- return put(RESOURCE_ID, resourceId);
- }
-
- public TagFilterBuilder resourceIds(String... resourceIds) {
- return putAll(RESOURCE_ID, resourceIds);
- }
-
- public TagFilterBuilder resourceIds(Iterable<String> resourceIds) {
- return putAll(RESOURCE_ID, resourceIds);
- }
-
- public TagFilterBuilder anyResourceId() {
- return putAll(RESOURCE_ID, ImmutableSet.<String> of());
- }
-
- public TagFilterBuilder resourceType(String resourceType) {
- return put(RESOURCE_TYPE, resourceType);
- }
-
- public TagFilterBuilder resourceTypes(String... resourceTypes) {
- return putAll(RESOURCE_TYPE, resourceTypes);
- }
-
- public TagFilterBuilder resourceTypes(Iterable<String> resourceTypes) {
- return putAll(RESOURCE_TYPE, resourceTypes);
- }
-
- public TagFilterBuilder anyResourceType() {
- return putAll(RESOURCE_TYPE, ImmutableSet.<String> of());
- }
-
- public TagFilterBuilder customerGateway() {
- return put(RESOURCE_TYPE, Tag.ResourceType.CUSTOMER_GATEWAY);
- }
-
- public TagFilterBuilder dhcpOptions() {
- return put(RESOURCE_TYPE, Tag.ResourceType.DHCP_OPTIONS);
- }
-
- public TagFilterBuilder image() {
- return put(RESOURCE_TYPE, Tag.ResourceType.IMAGE);
- }
-
- public TagFilterBuilder instance() {
- return put(RESOURCE_TYPE, Tag.ResourceType.INSTANCE);
- }
-
- public TagFilterBuilder internetGateway() {
- return put(RESOURCE_TYPE, Tag.ResourceType.INTERNET_GATEWAY);
- }
-
- public TagFilterBuilder networkAcl() {
- return put(RESOURCE_TYPE, Tag.ResourceType.NETWORK_ACL);
- }
-
- public TagFilterBuilder reservedInstance() {
- return put(RESOURCE_TYPE, Tag.ResourceType.RESERVED_INSTANCES);
- }
-
- public TagFilterBuilder routeTable() {
- return put(RESOURCE_TYPE, Tag.ResourceType.ROUTE_TABLE);
- }
-
- public TagFilterBuilder securityGroup() {
- return put(RESOURCE_TYPE, Tag.ResourceType.SECURITY_GROUP);
- }
-
- public TagFilterBuilder snapshot() {
- return put(RESOURCE_TYPE, Tag.ResourceType.SNAPSHOT);
- }
-
- public TagFilterBuilder instancesRequest() {
- return put(RESOURCE_TYPE, Tag.ResourceType.SPOT_INSTANCES_REQUEST);
- }
-
- public TagFilterBuilder subnet() {
- return put(RESOURCE_TYPE, Tag.ResourceType.SUBNET);
- }
-
- public TagFilterBuilder volume() {
- return put(RESOURCE_TYPE, Tag.ResourceType.VOLUME);
- }
-
- public TagFilterBuilder vpc() {
- return put(RESOURCE_TYPE, Tag.ResourceType.VPC);
- }
-
- public TagFilterBuilder vpnConnection() {
- return put(RESOURCE_TYPE, Tag.ResourceType.VPN_CONNECTION);
- }
-
- public TagFilterBuilder vpnGateway() {
- return put(RESOURCE_TYPE, Tag.ResourceType.VPN_GATEWAY);
- }
-
- // to set correct return val in chain
-
- @Override
- public TagFilterBuilder put(String key, String value) {
- return TagFilterBuilder.class.cast(super.put(key, value));
- }
-
- @Override
- public TagFilterBuilder put(Entry<? extends String, ? extends String> entry) {
- return TagFilterBuilder.class.cast(super.put(entry));
- }
-
- @Override
- public TagFilterBuilder putAll(String key, Iterable<? extends String> values) {
- return TagFilterBuilder.class.cast(super.putAll(key, values));
- }
-
- @Override
- public TagFilterBuilder putAll(String key, String... values) {
- return TagFilterBuilder.class.cast(super.putAll(key, values));
- }
-
- @Override
- public TagFilterBuilder putAll(Multimap<? extends String, ? extends String> multimap) {
- return TagFilterBuilder.class.cast(super.putAll(multimap));
- }
-
- @Override
- @Beta
- public TagFilterBuilder orderKeysBy(Comparator<? super String> keyComparator) {
- return TagFilterBuilder.class.cast(super.orderKeysBy(keyComparator));
- }
-
- @Override
- @Beta
- public TagFilterBuilder orderValuesBy(Comparator<? super String> valueComparator) {
- return TagFilterBuilder.class.cast(super.orderValuesBy(valueComparator));
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/Tags.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/Tags.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/Tags.java
deleted file mode 100644
index 066f92c..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/util/Tags.java
+++ /dev/null
@@ -1,97 +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.ec2.util;
-
-import static com.google.common.collect.Multimaps.index;
-
-import java.util.Map;
-
-import org.jclouds.ec2.domain.Tag;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
-
-public class Tags {
- private Tags() {
- }
-
- /**
- * maps the input on {@link Tag#getResourceId()} with a value of a map of its {@link Tag#getKey()} to
- * {@link Tag#getValue()}
- */
- public static Map<String, Map<String, String>> resourceToTagsAsMap(Iterable<Tag> tags) {
- return Maps.transformValues(index(tags, resourceIdFunction()).asMap(),
- new Function<Iterable<Tag>, Map<String, String>>() {
- @Override
- public Map<String, String> apply(Iterable<Tag> in) {
- return Maps.transformValues(Maps.uniqueIndex(in, keyFunction()), valueFunction());
- }
- });
- }
-
- public static enum ValueFunction implements Function<Tag, String> {
- INSTANCE;
- @Override
- public String apply(Tag in) {
- return in.getValue().or("");
- }
-
- @Override
- public String toString() {
- return "getValue()";
- }
- }
-
- public static Function<Tag, String> valueFunction() {
- return ValueFunction.INSTANCE;
- }
-
- public static enum KeyFunction implements Function<Tag, String> {
- INSTANCE;
- @Override
- public String apply(Tag in) {
- return in.getKey();
- }
-
- @Override
- public String toString() {
- return "getKey()";
- }
- }
-
- public static Function<Tag, String> keyFunction() {
- return KeyFunction.INSTANCE;
- }
-
- public static enum ResourceIdFunction implements Function<Tag, String> {
- INSTANCE;
- @Override
- public String apply(Tag in) {
- return in.getResourceId();
- }
-
- @Override
- public String toString() {
- return "getResourceId()";
- }
- }
-
- public static Function<Tag, String> resourceIdFunction() {
- return ResourceIdFunction.INSTANCE;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AllocateAddressResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AllocateAddressResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AllocateAddressResponseHandler.java
deleted file mode 100644
index ec50f449..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AllocateAddressResponseHandler.java
+++ /dev/null
@@ -1,53 +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.ec2.xml;
-
-import javax.annotation.Resource;
-
-import org.jclouds.http.functions.ParseSax.HandlerWithResult;
-import org.jclouds.logging.Logger;
-
-public class AllocateAddressResponseHandler extends HandlerWithResult<String> {
-
- @Resource
- protected Logger logger = Logger.NULL;
-
- private String ipAddress;
- private StringBuilder currentText = new StringBuilder();
-
- protected String currentOrNull() {
- String returnVal = currentText.toString().trim();
- return returnVal.equals("") ? null : returnVal;
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("publicIp")) {
- ipAddress = currentOrNull();
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-
- @Override
- public String getResult() {
- return ipAddress;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AttachmentHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AttachmentHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AttachmentHandler.java
deleted file mode 100644
index af532fa..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/AttachmentHandler.java
+++ /dev/null
@@ -1,82 +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.ec2.xml;
-
-import java.util.Date;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.date.DateCodec;
-import org.jclouds.date.DateCodecFactory;
-import org.jclouds.ec2.domain.Attachment;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.location.Region;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Supplier;
-
-public class AttachmentHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Attachment> {
-
- @Resource
- protected Logger logger = Logger.NULL;
-
- protected final DateCodec dateCodec;
- protected final Supplier<String> defaultRegion;
-
- @Inject
- AttachmentHandler(DateCodecFactory dateCodecFactory, @Region Supplier<String> defaultRegion) {
- this.dateCodec = dateCodecFactory.iso8601();
- this.defaultRegion = defaultRegion;
- }
-
- private StringBuilder currentText = new StringBuilder();
- private String volumeId;
- private String instanceId;
- private String device;
- private Attachment.Status attachmentStatus;
- private Date attachTime;
-
- public Attachment getResult() {
- String region = AWSUtils.findRegionInArgsOrNull(getRequest());
- if (region == null)
- region = defaultRegion.get();
- return new Attachment(region, volumeId, instanceId, device, attachmentStatus, attachTime);
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("volumeId")) {
- volumeId = currentText.toString().trim();
- } else if (qName.equals("volumeId")) {
- volumeId = currentText.toString().trim();
- } else if (qName.equals("status")) {
- attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim());
- } else if (qName.equals("instanceId")) {
- instanceId = currentText.toString().trim();
- } else if (qName.equals("device")) {
- device = currentText.toString().trim();
- } else if (qName.equals("attachTime")) {
- attachTime = dateCodec.toDate(currentText.toString().trim());
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BaseReservationHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BaseReservationHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BaseReservationHandler.java
deleted file mode 100644
index 969d8ac..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BaseReservationHandler.java
+++ /dev/null
@@ -1,213 +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.ec2.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Date;
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.date.DateCodec;
-import org.jclouds.date.DateCodecFactory;
-import org.jclouds.ec2.domain.Attachment;
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.ec2.domain.InstanceState;
-import org.jclouds.ec2.domain.Reservation;
-import org.jclouds.ec2.domain.RootDeviceType;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.jclouds.ec2.domain.RunningInstance.Builder;
-import org.jclouds.http.functions.ParseSax.HandlerForGeneratedRequestWithResult;
-import org.jclouds.location.Region;
-import org.xml.sax.Attributes;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Sets;
-
-public abstract class BaseReservationHandler<T> extends HandlerForGeneratedRequestWithResult<T> {
-
- protected final DateCodec dateCodec;
- protected final Supplier<String> defaultRegion;
-
- @Inject
- public BaseReservationHandler(DateCodecFactory dateCodecFactory, @Region Supplier<String> defaultRegion) {
- this.dateCodec = dateCodecFactory.iso8601();
- this.defaultRegion = defaultRegion;
- }
-
- protected Builder<?> builder = newBuilder();
-
- protected Builder<?> newBuilder() {
- return RunningInstance.builder();
- }
-
- protected void inItem() {
- if (endOfInstanceItem()) {
- refineBuilderBeforeAddingInstance();
- instances.add(builder.build());
- builder = newBuilder();
- }
- }
-
- protected StringBuilder currentText = new StringBuilder();
- protected int itemDepth;
- protected boolean inInstancesSet;
- protected boolean inProductCodes;
- protected boolean inGroupSet;
-
- // attachments
- private String volumeId;
- private Attachment.Status attachmentStatus;
- private Date attachTime;
- private boolean deleteOnTermination;
- private String deviceName;
-
- // reservation stuff
- private Set<String> groupNames = Sets.newLinkedHashSet();
- private String ownerId;
- private String requesterId;
- private String reservationId;
-
- private Set<RunningInstance> instances = Sets.newLinkedHashSet();
-
-
- public void startElement(String uri, String name, String qName, Attributes attrs) {
- if (equalsOrSuffix(qName, "item")) {
- itemDepth++;
- } else if (equalsOrSuffix(qName, "instancesSet")) {
- inInstancesSet = true;
- } else if (equalsOrSuffix(qName, "productCodes")) {
- inProductCodes = true;
- } else if (equalsOrSuffix(qName, "groupSet")) {
- inGroupSet = true;
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (equalsOrSuffix(qName, "item")) {
- inItem();
- itemDepth--;
- } else if (equalsOrSuffix(qName, "instancesSet")) {
- inInstancesSet = false;
- } else if (equalsOrSuffix(qName, "productCodes")) {
- inProductCodes = false;
- } else if (equalsOrSuffix(qName, "groupSet")) {
- inGroupSet = false;
- } else if (equalsOrSuffix(qName, "groupId")) {
- groupNames.add(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "ownerId")) {
- ownerId = currentOrNull(currentText);
- } else if (equalsOrSuffix(qName, "requesterId")) {
- requesterId = currentOrNull(currentText);
- } else if (equalsOrSuffix(qName, "reservationId")) {
- reservationId = currentOrNull(currentText);
- } else if (equalsOrSuffix(qName, "amiLaunchIndex")) {
- builder.amiLaunchIndex(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "dnsName")) {
- builder.dnsName(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "imageId")) {
- builder.imageId(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "instanceId")) {
- builder.instanceId(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "name")) {
- String rawState = currentOrNull(currentText);
- if (rawState != null) {
- builder.rawState(rawState);
- builder.instanceState(InstanceState.fromValue(rawState));
- }
- } else if (equalsOrSuffix(qName, "instanceType")) {
- builder.instanceType(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "ipAddress")) {
- builder.ipAddress(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "kernelId")) {
- builder.kernelId(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "keyName")) {
- builder.keyName(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "launchTime")) {
- builder.launchTime(dateCodec.toDate(currentOrNull(currentText)));
- } else if (equalsOrSuffix(qName, "availabilityZone")) {
- builder.availabilityZone(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "virtualizationType")) {
- builder.virtualizationType(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "platform")) {
- builder.platform(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "privateDnsName")) {
- builder.privateDnsName(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "privateIpAddress")) {
- builder.privateIpAddress(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "ramdiskId")) {
- builder.ramdiskId(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "reason")) {
- builder.reason(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "rootDeviceType")) {
- builder.rootDeviceType(RootDeviceType.fromValue(currentOrNull(currentText)));
- } else if (equalsOrSuffix(qName, "rootDeviceName")) {
- builder.rootDeviceName(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "deviceName")) {
- deviceName = currentOrNull(currentText);
- } else if (equalsOrSuffix(qName, "volumeId")) {
- volumeId = currentOrNull(currentText);
- } else if (equalsOrSuffix(qName, "status")) {
- attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim());
- } else if (equalsOrSuffix(qName, "attachTime")) {
- attachTime = dateCodec.toDate(currentOrNull(currentText));
- } else if (equalsOrSuffix(qName, "deleteOnTermination")) {
- deleteOnTermination = Boolean.parseBoolean(currentText.toString().trim());
- } else if (equalsOrSuffix(qName, "ebs")) {
- builder.device(deviceName, new BlockDevice(volumeId, attachmentStatus, attachTime, deleteOnTermination));
- this.deviceName = null;
- this.volumeId = null;
- this.attachmentStatus = null;
- this.attachTime = null;
- this.deleteOnTermination = true;
- }
- currentText = new StringBuilder();
- }
-
-
- protected void refineBuilderBeforeAddingInstance() {
- String region = getRequest() != null ? AWSUtils.findRegionInArgsOrNull(getRequest()) : null;
- builder.region((region == null) ? defaultRegion.get() : region);
- builder.groupNames(groupNames);
- }
-
- protected boolean endOfInstanceItem() {
- return itemDepth <= 2 && inInstancesSet && !inProductCodes && !inGroupSet;
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-
- protected Reservation<? extends RunningInstance> newReservation() {
- String region = getRequest() != null ? AWSUtils.findRegionInArgsOrNull(getRequest()) : null;
- if (region == null)
- region = defaultRegion.get();
- Reservation<? extends RunningInstance> info = new Reservation<RunningInstance>(region, groupNames, instances,
- ownerId, requesterId, reservationId);
- this.groupNames = Sets.newLinkedHashSet();
- this.instances = Sets.newLinkedHashSet();
- this.ownerId = null;
- this.requesterId = null;
- this.reservationId = null;
- return info;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BlockDeviceMappingHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BlockDeviceMappingHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BlockDeviceMappingHandler.java
deleted file mode 100644
index 962a53e..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BlockDeviceMappingHandler.java
+++ /dev/null
@@ -1,78 +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.ec2.xml;
-
-import java.util.Date;
-import java.util.Map;
-
-import org.jclouds.date.DateCodec;
-import org.jclouds.date.DateCodecFactory;
-import org.jclouds.ec2.domain.Attachment;
-import org.jclouds.ec2.domain.BlockDevice;
-import org.jclouds.http.functions.ParseSax;
-
-import com.google.common.collect.Maps;
-import com.google.inject.Inject;
-
-public class BlockDeviceMappingHandler extends
- ParseSax.HandlerWithResult<Map<String, BlockDevice>> {
- private StringBuilder currentText = new StringBuilder();
-
- private Map<String, BlockDevice> ebsBlockDevices = Maps.newHashMap();
- private String deviceName;
- private String volumeId;
- private boolean deleteOnTermination = true;// correct default is true.
- private Attachment.Status attachmentStatus;
- private Date attachTime;
-
- protected final DateCodec dateCodec;
-
- @Inject
- public BlockDeviceMappingHandler(DateCodecFactory dateCodecFactory) {
- this.dateCodec = dateCodecFactory.iso8601();
- }
-
- public Map<String, BlockDevice> getResult() {
- return ebsBlockDevices;
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("deviceName")) {
- deviceName = currentText.toString().trim();
- } else if (qName.equals("volumeId")) {
- volumeId = currentText.toString().trim();
- } else if (qName.equals("deleteOnTermination")) {
- deleteOnTermination = Boolean.parseBoolean(currentText.toString().trim());
- } else if (qName.equals("status")) {
- attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim());
- } else if (qName.equals("attachTime")) {
- attachTime = dateCodec.toDate(currentText.toString().trim());
- } else if (qName.equals("item")) {
- ebsBlockDevices.put(deviceName, new BlockDevice(volumeId, attachmentStatus, attachTime, deleteOnTermination));
- this.volumeId = null;
- this.deviceName = null;
- this.deleteOnTermination = true;
- this.attachmentStatus = null;
- this.attachTime = null;
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BooleanValueHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BooleanValueHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BooleanValueHandler.java
deleted file mode 100644
index b043864..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BooleanValueHandler.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.ec2.xml;
-
-import org.jclouds.http.functions.ParseSax;
-
-/**
- *
- * @see <a href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?ApiReference-query-DescribeInstanceAttribute.html"
- * />
- */
-public class BooleanValueHandler extends ParseSax.HandlerWithResult<Boolean> {
-
- private StringBuilder currentText = new StringBuilder();
- private boolean value;
-
- public Boolean getResult() {
- return value;
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equalsIgnoreCase("value")) {
- this.value = Boolean.parseBoolean(currentText.toString().trim());
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BundleTaskHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BundleTaskHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BundleTaskHandler.java
deleted file mode 100644
index 48419af..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/BundleTaskHandler.java
+++ /dev/null
@@ -1,107 +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.ec2.xml;
-
-import java.util.Date;
-
-import javax.inject.Inject;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.date.DateCodec;
-import org.jclouds.date.DateCodecFactory;
-import org.jclouds.ec2.domain.BundleTask;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.location.Region;
-
-import com.google.common.base.Supplier;
-
-public class BundleTaskHandler extends ParseSax.HandlerForGeneratedRequestWithResult<BundleTask> {
- protected final DateCodec dateCodec;
- protected final Supplier<String> defaultRegion;
-
- @Inject
- protected BundleTaskHandler(DateCodecFactory dateCodecFactory, @Region Supplier<String> defaultRegion) {
- this.dateCodec = dateCodecFactory.iso8601();
- this.defaultRegion = defaultRegion;
- }
-
- private StringBuilder currentText = new StringBuilder();
-
- private String bundleId;
- private String code;
- private String message;
- private String instanceId;
- private int progress = 0;
- private Date startTime;
- private String state;
- private String bucket;
- private String prefix;
- private Date updateTime;
-
- public BundleTask getResult() {
- String region = AWSUtils.findRegionInArgsOrNull(getRequest());
- if (region == null)
- region = defaultRegion.get();
- BundleTask.Error error = null;
- if (code != null)
- error = new BundleTask.Error(code, message);
- BundleTask returnVal = new BundleTask(region, bundleId, error, instanceId, progress, startTime,
- state, bucket, prefix, updateTime);
- this.bundleId = null;
- this.code = null;
- this.message = null;
- this.instanceId = null;
- this.progress = 0;
- this.startTime = null;
- this.state = null;
- this.bucket = null;
- this.prefix = null;
- this.updateTime = null;
- return returnVal;
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("bundleId")) {
- bundleId = currentText.toString().trim();
- } else if (qName.equals("code")) {
- code = currentText.toString().trim();
- } else if (qName.equals("message")) {
- message = currentText.toString().trim();
- } else if (qName.equals("instanceId")) {
- instanceId = currentText.toString().trim();
- } else if (qName.equals("progress")) {
- String temp = currentText.toString().trim();
- temp = temp.substring(0, temp.length() - 1);
- progress = Integer.parseInt(temp);
- } else if (qName.equals("startTime")) {
- startTime = dateCodec.toDate(currentText.toString().trim());
- } else if (qName.equals("state")) {
- state = currentText.toString().trim();
- } else if (qName.equals("bucket")) {
- bucket = currentText.toString().trim();
- } else if (qName.equals("prefix")) {
- prefix = currentText.toString().trim();
- } else if (qName.equals("updateTime")) {
- updateTime = dateCodec.toDate(currentText.toString().trim());
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/CreateVolumeResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/CreateVolumeResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/CreateVolumeResponseHandler.java
deleted file mode 100644
index af910a7..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/CreateVolumeResponseHandler.java
+++ /dev/null
@@ -1,207 +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.ec2.xml;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-import java.util.Date;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.date.DateCodec;
-import org.jclouds.date.DateCodecFactory;
-import org.jclouds.ec2.domain.Attachment;
-import org.jclouds.ec2.domain.Volume;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.location.Region;
-import org.jclouds.location.Zone;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.xml.sax.Attributes;
-
-public class CreateVolumeResponseHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Volume> {
- protected final DateCodec dateCodec;
- protected final Supplier<String> defaultRegion;
- protected final Supplier<Map<String, Supplier<Set<String>>>> regionToZonesSupplier;
- protected final Supplier<Set<String>> zonesSupplier;
-
- @Inject
- protected CreateVolumeResponseHandler(DateCodecFactory dateCodecFactory, @Region Supplier<String> defaultRegion,
- @Zone Supplier<Map<String, Supplier<Set<String>>>> regionToZonesSupplier,
- @Zone Supplier<Set<String>> zonesSupplier) {
- this.dateCodec = dateCodecFactory.iso8601();
- this.defaultRegion = defaultRegion;
- this.regionToZonesSupplier = regionToZonesSupplier;
- this.zonesSupplier = zonesSupplier;
- }
-
- protected StringBuilder currentText = new StringBuilder();
-
- protected String id;
- protected int size;
- protected String snapshotId;
- protected String availabilityZone;
- protected Volume.Status volumeStatus;
- protected Date createTime;
- protected Set<Attachment> attachments = Sets.newLinkedHashSet();
-
- protected String volumeId;
- protected String instanceId;
- protected String device;
- protected Attachment.Status attachmentStatus;
- protected Date attachTime;
- protected String volumeType;
- protected Integer iops;
- protected boolean encrypted;
-
- protected boolean inAttachmentSet;
-
- protected String region;
-
- public Volume getResult() {
- return newVolume();
- }
-
- public void startElement(String uri, String name, String qName, Attributes attrs) {
- if (qName.equals("attachmentSet")) {
- inAttachmentSet = true;
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("volumeId")) {
- if (inAttachmentSet) {
- volumeId = currentText.toString().trim();
- } else {
- id = currentText.toString().trim();
- }
- } else if (qName.equals("size")) {
- size = Integer.parseInt(currentText.toString().trim());
- } else if (qName.equals("availabilityZone")) {
- availabilityZone = currentText.toString().trim();
- } else if (qName.equals("volumeId")) {
- if (inAttachmentSet) {
- volumeId = currentText.toString().trim();
- } else {
- id = currentText.toString().trim();
- }
- } else if (qName.equals("status")) {
- if (inAttachmentSet) {
- attachmentStatus = Attachment.Status.fromValue(currentText.toString().trim());
- } else {
- volumeStatus = Volume.Status.fromValue(currentText.toString().trim());
- }
- } else if (qName.equals("createTime")) {
- createTime = dateCodec.toDate(currentText.toString().trim());
- } else if (qName.equals("attachmentSet")) {
- inAttachmentSet = false;
- } else if (qName.equals("instanceId")) {
- instanceId = currentText.toString().trim();
- } else if (qName.equals("snapshotId")) {
- snapshotId = currentText.toString().trim();
- if (snapshotId.equals(""))
- snapshotId = null;
- } else if (qName.equals("device")) {
- device = currentText.toString().trim();
- } else if (qName.equals("attachTime")) {
- attachTime = dateCodec.toDate(currentText.toString().trim());
- } else if (qName.equals("volumeType")) {
- volumeType = currentText.toString().trim();
- if (volumeType.equals(""))
- volumeType = null;
- } else if (qName.equals("iops")) {
- iops = Integer.parseInt(currentText.toString().trim());
- } else if (qName.equals("encrypted")) {
- encrypted = Boolean.parseBoolean(currentText.toString().trim());
- } else if (qName.equals("item")) {
- if (inAttachmentSet) {
- attachments.add(new Attachment(region, volumeId, instanceId, device, attachmentStatus, attachTime));
- volumeId = null;
- instanceId = null;
- device = null;
- attachmentStatus = null;
- attachTime = null;
- }
-
- }
- currentText = new StringBuilder();
- }
-
- private Volume newVolume() {
- Volume volume = new Volume(region, id, size, snapshotId, availabilityZone, volumeStatus, createTime,
- volumeType, iops, encrypted, attachments);
- id = null;
- size = 0;
- snapshotId = null;
- availabilityZone = null;
- volumeStatus = null;
- createTime = null;
- attachments = Sets.newLinkedHashSet();
- volumeType = null;
- iops = null;
- encrypted = false;
- return volume;
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-
- @Override
- public CreateVolumeResponseHandler setContext(HttpRequest request) {
- super.setContext(request);
- region = AWSUtils.findRegionInArgsOrNull(getRequest());
- if (region == null) {
- Set<String> zones = zonesSupplier.get();
- String zone = findAvailabilityZoneInArgsOrNull(getRequest(), zones);
- if (zone != null) {
- Map<String, Set<String>> regionToZones = Maps.transformValues(regionToZonesSupplier.get(), Suppliers
- .<Set<String>> supplierFunction());
- for (Entry<String, Set<String>> entry : regionToZones.entrySet()) {
- if (entry.getValue().contains(zone)) {
- region = entry.getKey();
- break;
- }
-
- }
- checkNotNull(regionToZones, String.format("zone %s not in %s", zone, regionToZones));
- } else {
- region = defaultRegion.get();
- }
- }
- return this;
- }
-
- public static String findAvailabilityZoneInArgsOrNull(GeneratedHttpRequest gRequest, Set<String> zones) {
- for (Object arg : gRequest.getInvocation().getArgs()) {
- if (arg instanceof String) {
- String zone = (String) arg;
- if (zones.contains(zone))
- return zone;
- }
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAddressesResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAddressesResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAddressesResponseHandler.java
deleted file mode 100644
index dd0a1e1..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAddressesResponseHandler.java
+++ /dev/null
@@ -1,76 +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.ec2.xml;
-
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
-import org.jclouds.http.functions.ParseSax.HandlerForGeneratedRequestWithResult;
-import org.jclouds.location.Region;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Sets;
-
-public class DescribeAddressesResponseHandler extends
- HandlerForGeneratedRequestWithResult<Set<PublicIpInstanceIdPair>> {
-
- @Resource
- protected Logger logger = Logger.NULL;
- private Set<PublicIpInstanceIdPair> pairs = Sets.newLinkedHashSet();
- private String ipAddress;
- private StringBuilder currentText = new StringBuilder();
- @Inject
- @Region
- Supplier<String> defaultRegion;
- private String instanceId;
-
- protected String currentOrNull() {
- String returnVal = currentText.toString().trim();
- return returnVal.equals("") ? null : returnVal;
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("publicIp")) {
- ipAddress = currentOrNull();
- } else if (qName.equals("instanceId")) {
- instanceId = currentOrNull();
- } else if (qName.equals("item")) {
- String region = AWSUtils.findRegionInArgsOrNull(getRequest());
- if (region == null)
- region = defaultRegion.get();
- pairs.add(new PublicIpInstanceIdPair(region, ipAddress, instanceId));
- ipAddress = null;
- instanceId = null;
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-
- @Override
- public Set<PublicIpInstanceIdPair> getResult() {
- return pairs;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAvailabilityZonesResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAvailabilityZonesResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAvailabilityZonesResponseHandler.java
deleted file mode 100644
index 4039794..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeAvailabilityZonesResponseHandler.java
+++ /dev/null
@@ -1,100 +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.ec2.xml;
-
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-
-import org.jclouds.ec2.domain.AvailabilityZoneInfo;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.location.Region;
-import org.jclouds.logging.Logger;
-import org.xml.sax.Attributes;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Sets;
-
-public class DescribeAvailabilityZonesResponseHandler extends ParseSax.HandlerWithResult<Set<AvailabilityZoneInfo>> {
- private StringBuilder currentText = new StringBuilder();
- private final Supplier<String> defaultRegion;
-
- private Set<AvailabilityZoneInfo> availabilityZones = Sets.newLinkedHashSet();
- private String zone;
- @Resource
- protected Logger logger = Logger.NULL;
- private String region;
- private String zoneState;
- private boolean inMessageSet;
- private Set<String> messages = Sets.newHashSet();
-
- /**
- * clones like {@code openstack-nova-ec2}, which don't support multiple regions don't return region in the XML
- * output.
- */
- @Inject
- DescribeAvailabilityZonesResponseHandler(@Region Supplier<String> defaultRegion) {
- this.defaultRegion = defaultRegion;
- }
-
- @Override
- public void startDocument() {
- region = defaultRegion.get();
- }
-
- public Set<AvailabilityZoneInfo> getResult() {
- return availabilityZones;
- }
-
- public void startElement(String uri, String name, String qName, Attributes attrs) {
- if (qName.equals("messageSet")) {
- inMessageSet = true;
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("zoneName")) {
- zone = currentText.toString().trim();
- } else if (qName.equals("regionName")) {
- try {
- region = currentText.toString().trim();
- } catch (IllegalArgumentException e) {
- logger.warn(e, "unsupported region: %s", currentText.toString().trim());
- region = "UNKNOWN";
- }
- } else if (qName.equals("zoneState")) {
- zoneState = currentText.toString().trim();
- } else if (qName.equals("message")) {
- messages.add(currentText.toString().trim());
- } else if (qName.equals("messageSet")) {
- inMessageSet = false;
- } else if (qName.equals("item") && !inMessageSet) {
- availabilityZones.add(new AvailabilityZoneInfo(zone, zoneState, region, messages));
- this.zone = null;
- this.region = defaultRegion.get();
- this.zoneState = null;
- this.messages = Sets.newHashSet();
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeBundleTasksResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeBundleTasksResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeBundleTasksResponseHandler.java
deleted file mode 100644
index 7724f5b..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeBundleTasksResponseHandler.java
+++ /dev/null
@@ -1,70 +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.ec2.xml;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.ec2.domain.BundleTask;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.HandlerWithResult;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Sets;
-
-public class DescribeBundleTasksResponseHandler extends ParseSax.HandlerWithResult<Set<BundleTask>> {
-
- private Set<BundleTask> bundleTasks = Sets.newLinkedHashSet();
- private final BundleTaskHandler bundleTaskHandler;
-
- @Inject
- public DescribeBundleTasksResponseHandler(BundleTaskHandler bundleTaskHandler) {
- this.bundleTaskHandler = bundleTaskHandler;
- }
-
- public Set<BundleTask> getResult() {
- return bundleTasks;
- }
-
- @Override
- public HandlerWithResult<Set<BundleTask>> setContext(HttpRequest request) {
- bundleTaskHandler.setContext(request);
- return super.setContext(request);
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (!qName.equals("item"))
- bundleTaskHandler.startElement(uri, localName, qName, attributes);
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- if (qName.equals("item")) {
- bundleTasks.add(bundleTaskHandler.getResult());
- }
- bundleTaskHandler.endElement(uri, localName, qName);
- }
-
- public void characters(char ch[], int start, int length) {
- bundleTaskHandler.characters(ch, start, length);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeImagesResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeImagesResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeImagesResponseHandler.java
deleted file mode 100644
index 8cfea0f..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeImagesResponseHandler.java
+++ /dev/null
@@ -1,232 +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.ec2.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import java.util.Map;
-import java.util.Set;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.ec2.domain.Hypervisor;
-import org.jclouds.ec2.domain.Image;
-import org.jclouds.ec2.domain.Image.Architecture;
-import org.jclouds.ec2.domain.Image.EbsBlockDevice;
-import org.jclouds.ec2.domain.Image.ImageState;
-import org.jclouds.ec2.domain.Image.ImageType;
-import org.jclouds.ec2.domain.RootDeviceType;
-import org.jclouds.ec2.domain.VirtualizationType;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.location.Region;
-import org.jclouds.logging.Logger;
-import org.xml.sax.Attributes;
-
-/**
- * Parses the following XML document:
- * <p/>
- * DescribeImagesResponse xmlns="http://ec2.amazonaws.com/doc/2010-08-31/"
- *
- * @see <a href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeImages.html"
- * />
- */
-public class DescribeImagesResponseHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Set<Image>> {
-
- @Inject
- public DescribeImagesResponseHandler(@Region Supplier<String> defaultRegion, TagSetHandler tagSetHandler) {
- this.defaultRegion = defaultRegion;
- this.tagSetHandler = tagSetHandler;
- }
-
- @Resource
- protected Logger logger = Logger.NULL;
-
- protected Set<Image> contents = Sets.newLinkedHashSet();
- private StringBuilder currentText = new StringBuilder();
- private final Supplier<String> defaultRegion;
- private final TagSetHandler tagSetHandler;
-
- private Architecture architecture;
- private String name;
- private String description;
- private String imageId;
- private String imageLocation;
- private String imageOwnerId;
- private ImageState imageState;
- private String rawState;
- private ImageType imageType;
- private boolean isPublic;
- private String kernelId;
- private String platform;
- private Set<String> productCodes = Sets.newHashSet();
- private String ramdiskId;
- private boolean inProductCodes;
- private boolean inBlockDeviceMapping;
- private boolean inTagSet;
- private RootDeviceType rootDeviceType = RootDeviceType.INSTANCE_STORE;
- private Map<String, EbsBlockDevice> ebsBlockDevices = Maps.newHashMap();
- private Map<String, String> tags = Maps.newLinkedHashMap();
- private String deviceName;
- private String snapshotId;
- private VirtualizationType virtualizationType = VirtualizationType.PARAVIRTUAL;
- private Hypervisor hypervisor = Hypervisor.XEN;
-
- private int volumeSize;
- private boolean deleteOnTermination = true;// correct default is true.
- private boolean encrypted = false;
- private String volumeType;
- private Integer iops;
- private String rootDeviceName;
-
- public Set<Image> getResult() {
- return contents;
- }
-
- public void startElement(String uri, String name, String qName, Attributes attrs) {
- if (qName.equals("productCodes")) {
- inProductCodes = true;
- } else if (qName.equals("blockDeviceMapping")) {
- inBlockDeviceMapping = true;
- } else if (equalsOrSuffix(qName, "tagSet")) {
- inTagSet = true;
- }
- if (inTagSet) {
- tagSetHandler.startElement(uri, name, qName, attrs);
- }
- }
-
- public void endElement(String uri, String name, String qName) {
- if (equalsOrSuffix(qName, "tagSet")) {
- inTagSet = false;
- tags = tagSetHandler.getResult();
- } else if (inTagSet) {
- tagSetHandler.endElement(uri, name, qName);
- }
- if (qName.equals("architecture")) {
- architecture = Architecture.fromValue(currentText.toString().trim());
- // Nova Diablo uses the wrong name for this field
- } else if (qName.equals("name") || qName.equals("displayName")) {
- this.name = currentText.toString().trim();
- } else if (qName.equals("description")) {
- description = currentText.toString().trim();
- } else if (qName.equals("imageId")) {
- imageId = currentText.toString().trim();
- } else if (qName.equals("deviceName")) {
- deviceName = currentText.toString().trim();
- } else if (qName.equals("imageLocation")) {
- imageLocation = currentText.toString().trim();
- } else if (qName.equals("imageOwnerId")) {
- imageOwnerId = currentText.toString().trim();
- } else if (qName.equals("imageState")) {
- rawState = currentOrNull(currentText);
- imageState = ImageState.fromValue(rawState);
- } else if (qName.equals("imageType")) {
- imageType = ImageType.fromValue(currentText.toString().trim());
- } else if (qName.equals("isPublic")) {
- isPublic = Boolean.parseBoolean(currentText.toString().trim());
- } else if (qName.equals("kernelId")) {
- kernelId = currentText.toString().trim();
- } else if (qName.equals("platform")) {
- platform = currentText.toString().trim();
- } else if (qName.equals("productCode")) {
- productCodes.add(currentText.toString().trim());
- } else if (qName.equals("productCodes")) {
- inProductCodes = false;
- } else if (qName.equals("blockDeviceMapping")) {
- inBlockDeviceMapping = false;
- } else if (qName.equals("snapshotId")) {
- snapshotId = currentText.toString().trim();
- } else if (qName.equals("volumeSize")) {
- volumeSize = Integer.parseInt(currentText.toString().trim());
- } else if (qName.equals("deleteOnTermination")) {
- deleteOnTermination = Boolean.parseBoolean(currentText.toString().trim());
- } else if (qName.equals("encrypted")) {
- encrypted = Boolean.parseBoolean(currentText.toString().trim());
- } else if (qName.equals("iops")) {
- iops = Integer.valueOf(currentText.toString().trim());
- } else if (qName.equals("volumeType")) {
- volumeType = currentText.toString().trim();
- } else if (qName.equals("ramdiskId")) {
- ramdiskId = currentText.toString().trim();
- } else if (qName.equals("rootDeviceType")) {
- rootDeviceType = RootDeviceType.fromValue(currentText.toString().trim());
- } else if (qName.equals("rootDeviceName")) {
- rootDeviceName = currentText.toString().trim();
- } else if (qName.equals("virtualizationType")) {
- virtualizationType = VirtualizationType.fromValue(currentText.toString().trim());
- } else if (qName.equals("hypervisor")) {
- hypervisor = Hypervisor.fromValue(currentText.toString().trim());
- } else if (qName.equals("item")) {
- if (inBlockDeviceMapping) {
- ebsBlockDevices.put(deviceName, new Image.EbsBlockDevice(snapshotId, volumeSize, deleteOnTermination,
- volumeType, iops, encrypted));
- this.deviceName = null;
- this.snapshotId = null;
- this.volumeSize = 0;
- this.deleteOnTermination = true;
- this.encrypted = false;
- this.volumeType = null;
- this.iops = null;
- } else if (!inTagSet && !inProductCodes) {
- try {
- String region = getRequest() != null ? AWSUtils.findRegionInArgsOrNull(getRequest()) : null;
- if (region == null)
- region = defaultRegion.get();
- contents.add(new Image(region, architecture, this.name, description, imageId, imageLocation,
- imageOwnerId, imageState, rawState, imageType, isPublic, productCodes, kernelId, platform,
- ramdiskId, rootDeviceType, rootDeviceName, ebsBlockDevices, tags, virtualizationType, hypervisor));
- } catch (NullPointerException e) {
- logger.warn(e, "malformed image: %s", imageId);
- }
- this.name = null;
- this.description = null;
- this.architecture = null;
- this.imageId = null;
- this.imageLocation = null;
- this.imageOwnerId = null;
- this.imageState = null;
- this.rawState = null;
- this.imageType = null;
- this.isPublic = false;
- this.kernelId = null;
- this.platform = null;
- this.productCodes = Sets.newHashSet();
- this.ramdiskId = null;
- this.rootDeviceType = RootDeviceType.INSTANCE_STORE;
- this.rootDeviceName = null;
- this.ebsBlockDevices = Maps.newHashMap();
- this.virtualizationType = VirtualizationType.PARAVIRTUAL;
- this.hypervisor = Hypervisor.XEN;
- }
-
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- if (inTagSet) {
- tagSetHandler.characters(ch, start, length);
- } else {
- currentText.append(ch, start, length);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeInstancesResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeInstancesResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeInstancesResponseHandler.java
deleted file mode 100644
index f154fe4..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeInstancesResponseHandler.java
+++ /dev/null
@@ -1,108 +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.ec2.xml;
-
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.date.DateCodecFactory;
-import org.jclouds.ec2.domain.Reservation;
-import org.jclouds.ec2.domain.RunningInstance;
-import org.jclouds.location.Region;
-import org.xml.sax.Attributes;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-
-/**
- * Parses the following XML document:
- * <p/>
- * DescribeImagesResponse xmlns="http:
- *
- * @see <a href="http: />
- */
-public class DescribeInstancesResponseHandler extends
- BaseReservationHandler<Set<Reservation<? extends RunningInstance>>> {
- private final TagSetHandler tagSetHandler;
- private Builder<Reservation<? extends RunningInstance>> reservations = ImmutableSet
- .<Reservation<? extends RunningInstance>> builder();
- private boolean inTagSet;
-
- @Inject
- DescribeInstancesResponseHandler(DateCodecFactory dateCodecFactory, @Region Supplier<String> defaultRegion,
- TagSetHandler tagSetHandler) {
- super(dateCodecFactory, defaultRegion);
- this.tagSetHandler = tagSetHandler;
- }
-
- @Override
- public void startElement(String uri, String name, String qName, Attributes attrs) {
- super.startElement(uri, name, qName, attrs);
- if (equalsOrSuffix(qName, "tagSet")) {
- inTagSet = true;
- }
- if (inTagSet) {
- tagSetHandler.startElement(uri, name, qName, attrs);
- }
- }
-
- @Override
- public void characters(char ch[], int start, int length) {
- if (inTagSet) {
- tagSetHandler.characters(ch, start, length);
- } else {
- super.characters(ch, start, length);
- }
- }
-
- @Override
- public void endElement(String uri, String name, String qName) {
- if (equalsOrSuffix(qName, "tagSet")) {
- inTagSet = false;
- builder.tags(tagSetHandler.getResult());
- } else if (inTagSet) {
- tagSetHandler.endElement(uri, name, qName);
- }
- super.endElement(uri, name, qName);
- }
-
- @Override
- public Set<Reservation<? extends RunningInstance>> getResult() {
- return reservations.build();
- }
-
- protected boolean endOfReservationItem() {
- return itemDepth == 1;
- }
-
- @Override
- protected void inItem() {
- if (endOfReservationItem()) {
- reservations.add(super.newReservation());
- } else {
- super.inItem();
- }
- }
-
- protected boolean endOfInstanceItem() {
- return itemDepth == 2 && inInstancesSet;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeKeyPairsResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeKeyPairsResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeKeyPairsResponseHandler.java
deleted file mode 100644
index b3a19df..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeKeyPairsResponseHandler.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.ec2.xml;
-
-import static org.jclouds.util.SaxUtils.currentOrNull;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.aws.util.AWSUtils;
-import org.jclouds.ec2.domain.KeyPair;
-import org.jclouds.ec2.domain.KeyPair.Builder;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.location.Region;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Sets;
-
-/**
- * Parses: DescribeKeyPairsResponse xmlns="http://ec2.amazonaws.com/doc/2010-08-31/"
- *
- * @see <a href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html"
- * />
- */
-public class DescribeKeyPairsResponseHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Set<KeyPair>> {
- private final Supplier<String> defaultRegion;
- private Builder builder;
-
- @Inject
- public DescribeKeyPairsResponseHandler(@Region Supplier<String> defaultRegion) {
- this.defaultRegion = defaultRegion;
- }
-
- @Override
- public void startDocument() {
- builder = KeyPair.builder().region(defaultRegion.get());
- }
-
- private StringBuilder currentText = new StringBuilder();
- private Set<KeyPair> keyPairs = Sets.newLinkedHashSet();
-
- public Set<KeyPair> getResult() {
- return keyPairs;
- }
-
- public void endElement(String uri, String name, String qName) {
-
- if (qName.equals("keyFingerprint")) {
- builder.sha1OfPrivateKey(currentOrNull(currentText));
- } else if (qName.equals("item")) {
- String region = AWSUtils.findRegionInArgsOrNull(getRequest());
- if (region != null)
- builder.region(region);
- try {
- keyPairs.add(builder.build());
- } finally {
- builder = KeyPair.builder().region(defaultRegion.get());
- }
- } else if (qName.equals("keyName")) {
- builder.keyName(currentOrNull(currentText));
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeRegionsResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeRegionsResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeRegionsResponseHandler.java
deleted file mode 100644
index b0dab5e..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeRegionsResponseHandler.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.ec2.xml;
-
-import java.net.URI;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.logging.Logger;
-
-import com.google.common.collect.Maps;
-
-public class DescribeRegionsResponseHandler extends ParseSax.HandlerWithResult<Map<String, URI>> {
- private StringBuilder currentText = new StringBuilder();
-
- private Map<String, URI> regionEndpoints = Maps.newHashMap();
- private String region;
- private URI regionEndpoint;
- @Resource
- protected Logger logger = Logger.NULL;
-
- public Map<String, URI> getResult() {
- return regionEndpoints;
- }
-
- public void endElement(String uri, String name, String qName) {
- if (qName.equals("regionName")) {
- String pending = currentText.toString().trim();
- if (pending.indexOf("Walrus") == -1)
- region = pending;
- // Nova uses regionUrl
- } else if (qName.equals("regionEndpoint") || qName.equals("regionUrl")) {
- String pending = currentText.toString().trim();
- if (pending.indexOf("Walrus") == -1)
- regionEndpoint = URI.create(pending.startsWith("http") ? pending : String.format("https://%s", pending));
- } else if (qName.equals("item") && region != null && regionEndpoint != null) {
- regionEndpoints.put(region, regionEndpoint);
- this.region = null;
- this.regionEndpoint = null;
- }
- currentText = new StringBuilder();
- }
-
- public void characters(char ch[], int start, int length) {
- currentText.append(ch, start, length);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSecurityGroupsResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSecurityGroupsResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSecurityGroupsResponseHandler.java
deleted file mode 100644
index abd7fd4..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSecurityGroupsResponseHandler.java
+++ /dev/null
@@ -1,125 +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.ec2.xml;
-
-import static org.jclouds.util.SaxUtils.equalsOrSuffix;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.ec2.domain.SecurityGroup;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseSax.HandlerForGeneratedRequestWithResult;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-
-/**
- * Parses: DescribeSecurityGroupsResponse
- * xmlns="http://ec2.amazonaws.com/doc/2010-08-31/"
- *
- * @see <a href=
- * "http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/index.html?ApiReference-query-DescribesecurityGroupInfo.html"
- * />
- */
-public class DescribeSecurityGroupsResponseHandler extends
- ParseSax.HandlerForGeneratedRequestWithResult<Set<SecurityGroup>> {
-
- private final SecurityGroupHandler securityGroupHandler;
-
- private StringBuilder currentText = new StringBuilder();
- private Builder<SecurityGroup> securityGroups = ImmutableSet.<SecurityGroup> builder();
- private boolean inSecurityGroupInfo;
-
- protected int itemDepth;
-
- @Inject
- public DescribeSecurityGroupsResponseHandler(SecurityGroupHandler securityGroupHandler) {
- this.securityGroupHandler = securityGroupHandler;
- }
-
- @Override
- public HandlerForGeneratedRequestWithResult<Set<SecurityGroup>> setContext(HttpRequest request) {
- securityGroupHandler.setContext(request);
- return super.setContext(request);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Set<SecurityGroup> getResult() {
- return securityGroups.build();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void startElement(String url, String name, String qName, Attributes attributes) throws SAXException {
- if (equalsOrSuffix(qName, "item")) {
- itemDepth++;
- } else if (equalsOrSuffix(qName, "securityGroupInfo")) {
- inSecurityGroupInfo = true;
- }
- if (inSecurityGroupInfo) {
- securityGroupHandler.startElement(url, name, qName, attributes);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void endElement(String uri, String name, String qName) throws SAXException {
- if (equalsOrSuffix(qName, "item")) {
- endItem(uri, name, qName);
- itemDepth--;
- } else if (equalsOrSuffix(qName, "securityGroupInfo")) {
- inSecurityGroupInfo = false;
- } else if (inSecurityGroupInfo) {
- securityGroupHandler.endElement(uri, name, qName);
- }
- currentText = new StringBuilder();
- }
-
- protected void endItem(String uri, String name, String qName) throws SAXException {
- if (inSecurityGroupInfo) {
- if (itemDepth == 1)
- securityGroups.add(securityGroupHandler.getResult());
- else
- securityGroupHandler.endElement(uri, name, qName);
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void characters(char ch[], int start, int length) {
- if (inSecurityGroupInfo) {
- securityGroupHandler.characters(ch, start, length);
- } else {
- currentText.append(ch, start, length);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSnapshotsResponseHandler.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSnapshotsResponseHandler.java b/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSnapshotsResponseHandler.java
deleted file mode 100644
index 4aa1f70..0000000
--- a/dependencies/jclouds/apis/ec2/1.8.0-stratos/src/main/java/org/jclouds/ec2/xml/DescribeSnapshotsResponseHandler.java
+++ /dev/null
@@ -1,73 +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.ec2.xml;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.ec2.domain.Snapshot;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Sets;
-
-public class DescribeSnapshotsResponseHandler extends ParseSax.HandlerWithResult<Set<Snapshot>> {
-
- private Set<Snapshot> snapshots = Sets.newLinkedHashSet();
- private final SnapshotHandler snapshotHandler;
- private int itemDepth = 0;
-
- @Inject
- public DescribeSnapshotsResponseHandler(SnapshotHandler snapshotHandler) {
- this.snapshotHandler = snapshotHandler;
- }
-
- public Set<Snapshot> getResult() {
- return snapshots;
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attributes)
- throws SAXException {
- itemDepth++;
- snapshotHandler.startElement(uri, localName, qName, attributes);
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- snapshotHandler.endElement(uri, localName, qName);
- itemDepth--;
-
- if (qName.equals("item") && itemDepth == 2) {
- this.snapshots.add(snapshotHandler.getResult());
- }
- }
-
- public void characters(char ch[], int start, int length) {
- snapshotHandler.characters(ch, start, length);
- }
-
- @Override
- public DescribeSnapshotsResponseHandler setContext(HttpRequest request) {
- snapshotHandler.setContext(request);
- super.setContext(request);
- return this;
- }
-}