From af963df92dfbf1186a2ddfb38c4fdcdc6ded60cf Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Mon, 21 Jan 2013 22:18:18 -0800 Subject: [PATCH] Use Map.entrySet where possible Improves run-time efficiency and addresses FindBugs warnings. --- .../options/DeployVirtualMachineOptions.java | 6 +-- .../ec2/compute/EC2ComputeService.java | 5 ++- .../compute/functions/PresentInstances.java | 6 ++- .../EC2CreateNodesInGroupThenAddToSet.java | 6 ++- ...ionIdToURIFromAccessForTypeAndVersion.java | 10 +++-- .../nova/v2_0/compute/NovaComputeService.java | 5 ++- .../extensions/HostAggregateApiLiveTest.java | 8 ++-- .../binders/BindMetadataToJsonPayload.java | 6 +-- .../cloudloadbalancers/domain/Metadata.java | 8 +--- .../features/NodeApiLiveTest.java | 6 ++- .../jclouds/s3/options/CopyObjectOptions.java | 5 ++- .../internal/BaseBlobMapIntegrationTest.java | 6 ++- .../java/org/jclouds/aws/util/AWSUtils.java | 16 ++++---- .../java/org/jclouds/http/HttpRequest.java | 5 ++- .../ZoneToRegionToProviderOrJustProvider.java | 5 ++- .../org/jclouds/rest/config/RestModule.java | 4 +- .../rest/internal/BaseRestApiExpectTest.java | 5 ++- .../jclouds/http/apachehc/ApacheHCUtils.java | 10 ++--- .../org/jclouds/gae/ConvertToGaeRequest.java | 10 ++--- .../snia/cdmi/v1/domain/CDMIObject.java | 7 ++-- .../v1/features/ContainerApiLiveTest.java | 37 +++++++------------ .../cdmi/v1/features/DataApiLiveTest.java | 30 ++++++--------- .../compute/JoyentCloudComputeService.java | 5 ++- .../PresentSpotRequestsAndInstances.java | 6 ++- .../glesys/options/CreateServerOptions.java | 3 +- .../BindAttributesToIndexedFormParams.java | 8 ++-- .../ning/NingHttpCommandExecutorService.java | 6 +-- 27 files changed, 115 insertions(+), 119 deletions(-) diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/DeployVirtualMachineOptions.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/DeployVirtualMachineOptions.java index 775d338f97..088873aed6 100644 --- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/DeployVirtualMachineOptions.java +++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/options/DeployVirtualMachineOptions.java @@ -127,10 +127,10 @@ public class DeployVirtualMachineOptions extends AccountInDomainOptions { */ public DeployVirtualMachineOptions ipsToNetworks(Map ipsToNetworks) { int count = 0; - for (String ip : ipsToNetworks.keySet()) { - this.queryParameters.replaceValues(String.format("iptonetworklist[%d].ip", count), ImmutableSet.of(ip)); + for (Map.Entry entry : ipsToNetworks.entrySet()) { + this.queryParameters.replaceValues(String.format("iptonetworklist[%d].ip", count), ImmutableSet.of(entry.getKey())); this.queryParameters.replaceValues(String.format("iptonetworklist[%d].networkid", count), - ImmutableSet.of("" + ipsToNetworks.get(ip))); + ImmutableSet.of(entry.getValue())); count += 1; } return this; diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/EC2ComputeService.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/EC2ComputeService.java index 80ec52ecdc..54f617e66a 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/EC2ComputeService.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/EC2ComputeService.java @@ -169,7 +169,10 @@ public class EC2ComputeService extends BaseComputeService { Map instancesById = Maps.uniqueIndex(input, instanceId); ImmutableSet.Builder builder = ImmutableSet. builder(); if (generateInstanceNames && !common.containsKey("Name")) { - for (String id : instancesById.keySet()) { + for (Map.Entry entry : instancesById.entrySet()) { + String id = entry.getKey(); + NodeMetadata instance = entry.getValue(); + Map tags = ImmutableMap. builder().putAll(common) .put("Name", id.replaceAll(".*-", group + "-")).build(); logger.debug(">> applying tags %s to instance %s in region %s", tags, id, region); diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/functions/PresentInstances.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/functions/PresentInstances.java index dada30949e..c41814a869 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/functions/PresentInstances.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/functions/PresentInstances.java @@ -27,6 +27,7 @@ import static org.jclouds.ec2.compute.domain.RegionAndName.nameFunction; import static org.jclouds.ec2.compute.domain.RegionAndName.regionFunction; import java.util.Collection; +import java.util.Map; import java.util.Set; import javax.annotation.Resource; @@ -68,8 +69,9 @@ public class PresentInstances implements Function, Set builder = ImmutableSet. builder(); Multimap regionToInstanceIds = transformValues(index(regionAndIds, regionFunction()), nameFunction()); - for (String region : regionToInstanceIds.keySet()) { - Collection instanceIds = regionToInstanceIds.get(region); + for (Map.Entry> entry : regionToInstanceIds.asMap().entrySet()) { + String region = entry.getKey(); + Collection instanceIds = entry.getValue(); logger.trace("looking for instances %s in region %s", instanceIds, region); builder.addAll(concat(client.getInstanceServices().describeInstancesInRegion(region, toArray(instanceIds, String.class)))); diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2CreateNodesInGroupThenAddToSet.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2CreateNodesInGroupThenAddToSet.java index 804a148526..6012770b33 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2CreateNodesInGroupThenAddToSet.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2CreateNodesInGroupThenAddToSet.java @@ -188,14 +188,16 @@ public class EC2CreateNodesInGroupThenAddToSet implements CreateNodesInGroupThen private void blockUntilRunningAndAssignElasticIpsToInstancesOrPutIntoBadMap(Set input, Map badNodes) { Map instancesById = Maps.uniqueIndex(input, instanceToRegionAndName); - for (RegionAndName id : instancesById.keySet()) { + for (Map.Entry entry : instancesById.entrySet()) { + RegionAndName id = entry.getKey(); + RunningInstance instance = entry.getValue(); try { logger.debug("<< allocating elastic IP instance(%s)", id); String ip = client.getElasticIPAddressServices().allocateAddressInRegion(id.getRegion()); // block until instance is running logger.debug(">> awaiting status running instance(%s)", id); AtomicReference node = newReference(runningInstanceToNodeMetadata - .apply(instancesById.get(id))); + .apply(instance)); nodeRunning.apply(node); logger.trace("<< running instance(%s)", id); logger.debug(">> associating elastic IP %s to instance %s", ip, id); diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/suppliers/LocationIdToURIFromAccessForTypeAndVersion.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/suppliers/LocationIdToURIFromAccessForTypeAndVersion.java index 5b9b8ccb4b..b3e4e3e34b 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/suppliers/LocationIdToURIFromAccessForTypeAndVersion.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/suppliers/LocationIdToURIFromAccessForTypeAndVersion.java @@ -125,8 +125,9 @@ public class LocationIdToURIFromAccessForTypeAndVersion implements Supplier firstEndpointInLocation(Multimap locationToEndpoints) { Builder locationToEndpointBuilder = ImmutableMap. builder(); - for (String locationId : locationToEndpoints.keySet()) { - Collection endpoints = locationToEndpoints.get(locationId); + for (Map.Entry> entry : locationToEndpoints.asMap().entrySet()) { + String locationId = entry.getKey(); + Collection endpoints = entry.getValue(); switch (endpoints.size()) { case 0: logNoEndpointsInLocation(locationId); @@ -141,8 +142,9 @@ public class LocationIdToURIFromAccessForTypeAndVersion implements Supplier refineToVersionSpecificEndpoint(Multimap locationToEndpoints) { Builder locationToEndpointBuilder = ImmutableMap. builder(); - for (String locationId : locationToEndpoints.keySet()) { - Collection endpoints = locationToEndpoints.get(locationId); + for (Map.Entry> entry : locationToEndpoints.asMap().entrySet()) { + String locationId = entry.getKey(); + Collection endpoints = entry.getValue(); switch (endpoints.size()) { case 0: logNoEndpointsInLocation(locationId); diff --git a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java index c98c711b58..6fed69bc74 100644 --- a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java +++ b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java @@ -23,6 +23,7 @@ import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_S import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED; import static org.jclouds.openstack.nova.v2_0.predicates.KeyPairPredicates.nameMatches; +import java.util.Collection; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; @@ -124,8 +125,8 @@ public class NovaComputeService extends BaseComputeService { @Override protected void cleanUpIncidentalResourcesOfDeadNodes(Set deadNodes) { Multimap zoneToZoneAndGroupNames = orphanedGroupsByZoneId.apply(deadNodes); - for (String zoneId : zoneToZoneAndGroupNames.keySet()) { - cleanOrphanedGroupsInZone(ImmutableSet.copyOf(zoneToZoneAndGroupNames.get(zoneId)), zoneId); + for (Map.Entry> entry : zoneToZoneAndGroupNames.asMap().entrySet()) { + cleanOrphanedGroupsInZone(ImmutableSet.copyOf(entry.getValue()), entry.getKey()); } } diff --git a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApiLiveTest.java b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApiLiveTest.java index 3bb1ecf709..7ab0e4f39a 100644 --- a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApiLiveTest.java +++ b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApiLiveTest.java @@ -105,14 +105,14 @@ public class HostAggregateApiLiveTest extends BaseNovaApiLiveTest { HostAggregate details = api.setMetadata(testAggregate.getId(), theMetaData); // bug in openstack - metadata values are never removed, so we just checking what we've set - for (String key : theMetaData.keySet()) { - assertEquals(details.getMetadata().get(key), theMetaData.get(key)); + for (Map.Entry entry : theMetaData.entrySet()) { + assertEquals(details.getMetadata().get(entry.getKey()), entry.getValue()); } // Re-fetch to double-check details = api.get(testAggregate.getId()); - for (String key : theMetaData.keySet()) { - assertEquals(details.getMetadata().get(key), theMetaData.get(key)); + for (Map.Entry entry : theMetaData.entrySet()) { + assertEquals(details.getMetadata().get(entry.getKey()), entry.getValue()); } } } diff --git a/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/binders/BindMetadataToJsonPayload.java b/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/binders/BindMetadataToJsonPayload.java index a1257584d2..bab05340f6 100644 --- a/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/binders/BindMetadataToJsonPayload.java +++ b/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/binders/BindMetadataToJsonPayload.java @@ -58,10 +58,10 @@ public class BindMetadataToJsonPayload implements Binder { Map metadata = (Map) input; List> clbMetadata = Lists.newArrayList(); - for (String key: metadata.keySet()) { + for (Map.Entry entry : metadata.entrySet()) { clbMetadata.add(ImmutableMap. of( - "key", key, - "value", metadata.get(key))); + "key", entry.getKey(), + "value", entry.getValue())); } String json = jsonBinder.toJson(ImmutableMap.of("metadata", clbMetadata)); diff --git a/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/domain/Metadata.java b/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/domain/Metadata.java index 81ce85b1f7..9061ee8945 100644 --- a/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/domain/Metadata.java +++ b/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/domain/Metadata.java @@ -59,12 +59,6 @@ public class Metadata extends ForwardingMap { } public Iterable getIds() { - Set ids = Sets.newHashSet(); - - for (String key: keyToId.keySet()) { - ids.add(keyToId.get(key)); - } - - return ids; + return Sets.newHashSet(keyToId.values()); } } diff --git a/apis/rackspace-cloudloadbalancers/src/test/java/org/jclouds/rackspace/cloudloadbalancers/features/NodeApiLiveTest.java b/apis/rackspace-cloudloadbalancers/src/test/java/org/jclouds/rackspace/cloudloadbalancers/features/NodeApiLiveTest.java index c03992bf08..d359e01213 100644 --- a/apis/rackspace-cloudloadbalancers/src/test/java/org/jclouds/rackspace/cloudloadbalancers/features/NodeApiLiveTest.java +++ b/apis/rackspace-cloudloadbalancers/src/test/java/org/jclouds/rackspace/cloudloadbalancers/features/NodeApiLiveTest.java @@ -72,7 +72,9 @@ public class NodeApiLiveTest extends BaseCloudLoadBalancersApiLiveTest { @Test(dependsOnMethods = "testCreateLoadBalancers") public void testAddNodes() throws Exception { - for (LoadBalancer lb : nodes.keySet()) { + for (Map.Entry> entry : nodes.entrySet()) { + LoadBalancer lb = entry.getKey(); + Set nodeSet = entry.getValue(); String region = lb.getRegion(); Logger.getAnonymousLogger().info("starting node on loadbalancer " + lb.getId() + " in region " + region); Set newNodes = clbApi.getNodeApiForZoneAndLoadBalancer(region, lb.getId()).add( @@ -80,7 +82,7 @@ public class NodeApiLiveTest extends BaseCloudLoadBalancersApiLiveTest { for (Node n : newNodes) { assertEquals(n.getStatus(), Node.Status.ONLINE); - nodes.get(lb).add(n); + nodeSet.add(n); assertEquals(clbApi.getNodeApiForZoneAndLoadBalancer(region, lb.getId()).get(n.getId()).getStatus(), Node.Status.ONLINE); } diff --git a/apis/s3/src/main/java/org/jclouds/s3/options/CopyObjectOptions.java b/apis/s3/src/main/java/org/jclouds/s3/options/CopyObjectOptions.java index c9277d8882..9e1d1ac5d3 100644 --- a/apis/s3/src/main/java/org/jclouds/s3/options/CopyObjectOptions.java +++ b/apis/s3/src/main/java/org/jclouds/s3/options/CopyObjectOptions.java @@ -260,8 +260,9 @@ public class CopyObjectOptions extends BaseHttpRequestOptions { } if (metadata != null) { returnVal.put(METADATA_DIRECTIVE.replace(DEFAULT_AMAZON_HEADERTAG, headerTag), "REPLACE"); - for (String key : metadata.keySet()) { - returnVal.put(key.startsWith(metadataPrefix) ? key : metadataPrefix + key, metadata.get(key)); + for (Map.Entry entry : metadata.entrySet()) { + String key = entry.getKey(); + returnVal.put(key.startsWith(metadataPrefix) ? key : metadataPrefix + key, entry.getValue()); } } return returnVal.build(); diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobMapIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobMapIntegrationTest.java index 4b36702c33..19b7c0b171 100644 --- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobMapIntegrationTest.java +++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobMapIntegrationTest.java @@ -23,6 +23,7 @@ import static org.jclouds.blobstore.options.ListContainerOptions.Builder.inDirec import static org.jclouds.blobstore.options.ListContainerOptions.Builder.maxResults; import static org.testng.Assert.assertEquals; +import java.io.InputStream; import java.io.IOException; import java.util.Collection; import java.util.Map; @@ -204,10 +205,11 @@ public abstract class BaseBlobMapIntegrationTest extends BaseMapIntegrationTest< try { Map map = createMap(view, bucketName); ImmutableMap.Builder newMap = ImmutableMap.builder(); - for (String key : fiveInputs.keySet()) { + for (Map.Entry entry : fiveInputs.entrySet()) { + String key = entry.getKey(); newMap.put( key, - view.getBlobStore().blobBuilder(key).payload(fiveInputs.get(key)) + view.getBlobStore().blobBuilder(key).payload(entry.getValue()) .contentLength((long) fiveBytes.get(key).length).build()); } map.putAll(newMap.build()); diff --git a/common/aws/src/main/java/org/jclouds/aws/util/AWSUtils.java b/common/aws/src/main/java/org/jclouds/aws/util/AWSUtils.java index e792e7671a..832df1abac 100644 --- a/common/aws/src/main/java/org/jclouds/aws/util/AWSUtils.java +++ b/common/aws/src/main/java/org/jclouds/aws/util/AWSUtils.java @@ -22,6 +22,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static org.jclouds.aws.reference.AWSConstants.PROPERTY_HEADER_TAG; +import java.util.Collection; import java.util.Map; import javax.annotation.Resource; @@ -169,10 +170,10 @@ public class AWSUtils { Multimap map = (Multimap) input; Builder builder = ImmutableMultimap.builder(); int i = 1; - for (Object k : map.keySet()) { - builder.put(prefix + "." + i + "." + keySuffix, checkNotNull(k.toString(), keySuffix.toLowerCase() + "s[" + i + "]")); + for (Map.Entry> entry : map.asMap().entrySet()) { + builder.put(prefix + "." + i + "." + keySuffix, checkNotNull(entry.getKey().toString(), keySuffix.toLowerCase() + "s[" + i + "]")); int j = 1; - for (Object v : map.get(k)) { + for (Object v : entry.getValue()) { builder.put(prefix + "." + i + "." + valueSuffix + "." + j, v.toString()); j++; } @@ -187,11 +188,12 @@ public class AWSUtils { Map> map = (Map>) input; Builder builder = ImmutableMultimap.builder(); int i = 1; - for (Object k : map.keySet()) { - builder.put(prefix + "." + i + "." + keySuffix, checkNotNull(k.toString(), keySuffix.toLowerCase() + "s[" + i + "]")); - if (!Iterables.isEmpty(map.get(k))) { + for (Map.Entry> entry : map.entrySet()) { + builder.put(prefix + "." + i + "." + keySuffix, checkNotNull(entry.getKey().toString(), keySuffix.toLowerCase() + "s[" + i + "]")); + Iterable iterable = entry.getValue(); + if (!Iterables.isEmpty(iterable)) { int j = 1; - for (Object v : map.get(k)) { + for (Object v : iterable) { builder.put(prefix + "." + i + "." + valueSuffix + "." + j, v.toString()); j++; } diff --git a/core/src/main/java/org/jclouds/http/HttpRequest.java b/core/src/main/java/org/jclouds/http/HttpRequest.java index c844778948..d2820dd201 100644 --- a/core/src/main/java/org/jclouds/http/HttpRequest.java +++ b/core/src/main/java/org/jclouds/http/HttpRequest.java @@ -25,6 +25,7 @@ import static org.jclouds.http.utils.Queries.queryParser; import static org.jclouds.io.Payloads.newUrlEncodedFormPayload; import java.net.URI; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -188,8 +189,8 @@ public class HttpRequest extends HttpMessage { checkNotNull(endpoint, "endpoint"); Multimap map = payload != null ? queryParser().apply(payload.getRawContent().toString()) : LinkedHashMultimap. create(); - for (String key : parameters.keySet()) { - map.replaceValues(key, parameters.get(key)); + for (Map.Entry> entry : parameters.asMap().entrySet()) { + map.replaceValues(entry.getKey(), entry.getValue()); } payload = newUrlEncodedFormPayload(map); return self(); diff --git a/core/src/main/java/org/jclouds/location/suppliers/all/ZoneToRegionToProviderOrJustProvider.java b/core/src/main/java/org/jclouds/location/suppliers/all/ZoneToRegionToProviderOrJustProvider.java index 5c46ee6825..b348f7411c 100644 --- a/core/src/main/java/org/jclouds/location/suppliers/all/ZoneToRegionToProviderOrJustProvider.java +++ b/core/src/main/java/org/jclouds/location/suppliers/all/ZoneToRegionToProviderOrJustProvider.java @@ -84,8 +84,9 @@ public class ZoneToRegionToProviderOrJustProvider implements LocationsSupplier { Builder locations = ImmutableSet.builder(); if (!Iterables.all(regionsOrJustProvider, LocationPredicates.isProvider())) locations.addAll(regionsOrJustProvider); - for (String zoneId : zoneIdToParent.keySet()) { - Location parent = zoneIdToParent.get(zoneId); + for (Map.Entry entry : zoneIdToParent.entrySet()) { + String zoneId = entry.getKey(); + Location parent = entry.getValue(); LocationBuilder builder = new LocationBuilder().scope(LocationScope.ZONE).id(zoneId).description(zoneId) .parent(parent); if (isoCodesById.containsKey(zoneId)) diff --git a/core/src/main/java/org/jclouds/rest/config/RestModule.java b/core/src/main/java/org/jclouds/rest/config/RestModule.java index 3ce5c87a19..bd2724660f 100644 --- a/core/src/main/java/org/jclouds/rest/config/RestModule.java +++ b/core/src/main/java/org/jclouds/rest/config/RestModule.java @@ -94,8 +94,8 @@ public class RestModule extends AbstractModule { static Cache, Invokable> seedKnownSync2AsyncInvokables(Map, Class> sync2Async) { Cache, Invokable> sync2AsyncBuilder = CacheBuilder.newBuilder().build(); putInvokables(HttpClient.class, HttpAsyncClient.class, sync2AsyncBuilder); - for (Class s : sync2Async.keySet()) { - putInvokables(s, sync2Async.get(s), sync2AsyncBuilder); + for (Map.Entry, Class> entry : sync2Async.entrySet()) { + putInvokables(entry.getKey(), entry.getValue(), sync2AsyncBuilder); } return sync2AsyncBuilder; } diff --git a/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java b/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java index 39614ee73e..f20deafa89 100644 --- a/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java +++ b/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java @@ -440,10 +440,11 @@ public abstract class BaseRestApiExpectTest { public HttpResponse apply(HttpRequest input) { HttpRequest matchedRequest = null; HttpResponse response = null; - for (HttpRequest request : requestToResponse.keySet()) { + for (Map.Entry entry : requestToResponse.entrySet()) { + HttpRequest request = entry.getKey(); if (httpRequestsAreEqual(input, request)) { matchedRequest = request; - response = requestToResponse.get(request); + response = entry.getValue(); } } diff --git a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java index 8587720e53..8dfbba7f8d 100644 --- a/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java +++ b/drivers/apachehc/src/main/java/org/jclouds/http/apachehc/ApacheHCUtils.java @@ -122,11 +122,11 @@ public class ApacheHCUtils { apacheRequest.addHeader(HttpHeaders.CONTENT_LENGTH, "0"); } - for (String header : request.getHeaders().keySet()) { - for (String value : request.getHeaders().get(header)) - // apache automatically tries to add content length header - if (!header.equals(HttpHeaders.CONTENT_LENGTH)) - apacheRequest.addHeader(header, value); + for (Map.Entry entry : request.getHeaders().entries()) { + String header = entry.getKey(); + // apache automatically tries to add content length header + if (!header.equals(HttpHeaders.CONTENT_LENGTH)) + apacheRequest.addHeader(header, entry.getValue()); } apacheRequest.addHeader(HttpHeaders.USER_AGENT, USER_AGENT); return apacheRequest; diff --git a/drivers/gae/src/main/java/org/jclouds/gae/ConvertToGaeRequest.java b/drivers/gae/src/main/java/org/jclouds/gae/ConvertToGaeRequest.java index 7583d12ea2..7941c35b21 100644 --- a/drivers/gae/src/main/java/org/jclouds/gae/ConvertToGaeRequest.java +++ b/drivers/gae/src/main/java/org/jclouds/gae/ConvertToGaeRequest.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -87,11 +88,10 @@ public class ConvertToGaeRequest implements Function { HTTPRequest gaeRequest = new HTTPRequest(url, HTTPMethod.valueOf(request.getMethod().toString()), options); - for (String header : request.getHeaders().keySet()) { - for (String value : request.getHeaders().get(header)) { - if (!prohibitedHeaders.contains(header)) - gaeRequest.addHeader(new HTTPHeader(header, value)); - } + for (Entry entry : request.getHeaders().entries()) { + String header = entry.getKey(); + if (!prohibitedHeaders.contains(header)) + gaeRequest.addHeader(new HTTPHeader(header, entry.getValue())); } gaeRequest.addHeader(new HTTPHeader(HttpHeaders.USER_AGENT, USER_AGENT)); /** diff --git a/labs/cdmi/src/main/java/org/jclouds/snia/cdmi/v1/domain/CDMIObject.java b/labs/cdmi/src/main/java/org/jclouds/snia/cdmi/v1/domain/CDMIObject.java index e769cd56e5..4ec9d702ce 100644 --- a/labs/cdmi/src/main/java/org/jclouds/snia/cdmi/v1/domain/CDMIObject.java +++ b/labs/cdmi/src/main/java/org/jclouds/snia/cdmi/v1/domain/CDMIObject.java @@ -192,10 +192,9 @@ public class CDMIObject { userMetaDataIn = Maps.newHashMap(); systemMetaDataIn = Maps.newHashMap(); aclMetaDataIn = Lists.newArrayList(); - Iterator keys = metadata.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - JsonBall value = metadata.get(key); + for (Map.Entry entry : metadata.entrySet()) { + String key = entry.getKey(); + JsonBall value = entry.getValue(); if (key.startsWith("cdmi")) { if (key.matches("cdmi_acl")) { String[] cdmi_acl_array = value.toString().split("[{}]"); diff --git a/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/ContainerApiLiveTest.java b/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/ContainerApiLiveTest.java index f456388fa4..641200b81d 100644 --- a/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/ContainerApiLiveTest.java +++ b/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/ContainerApiLiveTest.java @@ -48,7 +48,6 @@ public class ContainerApiLiveTest extends BaseCDMIApiLiveTest { public void testCreateContainer() throws Exception { String pContainerName = "MyContainer" + System.currentTimeMillis() + "/"; Map pContainerMetaDataIn = Maps.newHashMap(); - Iterator keys; pContainerMetaDataIn.put("containerkey1", "value1"); pContainerMetaDataIn.put("containerkey2", "value2"); pContainerMetaDataIn.put("containerkey3", "value3"); @@ -76,19 +75,15 @@ public class ContainerApiLiveTest extends BaseCDMIApiLiveTest { System.out.println("Children: " + container.getChildren()); assertNotNull(container.getMetadata()); System.out.println("Raw metadata: " + container.getMetadata()); - keys = container.getMetadata().keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - JsonBall value = container.getMetadata().get(key); - System.out.println(key + ":" + value); + for (Map.Entry entry : container.getMetadata().entrySet()) { + System.out.println(entry.getKey() + ":" + entry.getValue()); } assertNotNull(container.getUserMetadata()); Map pContainerMetaDataOut = container.getUserMetadata(); - keys = pContainerMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pContainerMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(pContainerMetaDataOut.containsKey(key), true); - assertEquals(pContainerMetaDataOut.get(key), pContainerMetaDataIn.get(key)); + assertEquals(pContainerMetaDataOut.get(key), entry.getValue()); } System.out.println("UserMetaData: " + container.getUserMetadata()); assertNotNull(container.getSystemMetadata()); @@ -136,7 +131,6 @@ public class ContainerApiLiveTest extends BaseCDMIApiLiveTest { public void testGetContainer() throws Exception { String pContainerName = "MyContainer" + System.currentTimeMillis() + "/"; Map pContainerMetaDataIn = Maps.newHashMap(); - Iterator keys; pContainerMetaDataIn.put("containerkey1", "value1"); pContainerMetaDataIn.put("containerkey2", "value2"); pContainerMetaDataIn.put("containerkey3", "value3"); @@ -163,19 +157,15 @@ public class ContainerApiLiveTest extends BaseCDMIApiLiveTest { System.out.println("Children: " + container.getChildren()); assertNotNull(container.getMetadata()); System.out.println("Raw metadata: " + container.getMetadata()); - keys = container.getMetadata().keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - JsonBall value = container.getMetadata().get(key); - System.out.println(key + ":" + value); + for (Map.Entry entry : container.getMetadata().entrySet()) { + System.out.println(entry.getKey() + ":" + entry.getValue()); } assertNotNull(container.getUserMetadata()); Map pContainerMetaDataOut = container.getUserMetadata(); - keys = pContainerMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pContainerMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(pContainerMetaDataOut.containsKey(key), true); - assertEquals(pContainerMetaDataOut.get(key), pContainerMetaDataIn.get(key)); + assertEquals(pContainerMetaDataOut.get(key), entry.getValue()); } System.out.println("UserMetaData: " + container.getUserMetadata()); assertNotNull(container.getSystemMetadata()); @@ -202,11 +192,10 @@ public class ContainerApiLiveTest extends BaseCDMIApiLiveTest { container = api.get(pContainerName, ContainerQueryParams.Builder.metadata()); assertNotNull(container); pContainerMetaDataOut = container.getUserMetadata(); - keys = pContainerMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pContainerMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(pContainerMetaDataOut.containsKey(key), true); - assertEquals(pContainerMetaDataOut.get(key), pContainerMetaDataIn.get(key)); + assertEquals(pContainerMetaDataOut.get(key), entry.getValue()); } System.out.println(container); diff --git a/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataApiLiveTest.java b/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataApiLiveTest.java index 98c5c575a9..35c14b5287 100644 --- a/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataApiLiveTest.java +++ b/labs/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataApiLiveTest.java @@ -66,7 +66,6 @@ public class DataApiLiveTest extends BaseCDMIApiLiveTest { CreateDataObjectOptions pCreateDataObjectOptions; DataObject dataObject; - Iterator keys; Map dataObjectMetaDataOut; Map pContainerMetaDataIn = Maps.newHashMap(); Map pDataObjectMetaDataIn = Maps.newLinkedHashMap(); @@ -101,11 +100,10 @@ public class DataApiLiveTest extends BaseCDMIApiLiveTest { assertEquals(dataObject.getValueAsString(), value); dataObjectMetaDataOut = dataObject.getUserMetadata(); assertNotNull(dataObjectMetaDataOut); - keys = pDataObjectMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pDataObjectMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(dataObjectMetaDataOut.containsKey(key), true); - assertEquals(dataObjectMetaDataOut.get(key), pDataObjectMetaDataIn.get(key)); + assertEquals(dataObjectMetaDataOut.get(key), entry.getValue()); } assertEquals(Integer.parseInt(dataObject.getSystemMetadata().get("cdmi_size")), value.length()); assertEquals(dataObject.getObjectName(), dataObjectNameIn); @@ -130,11 +128,10 @@ public class DataApiLiveTest extends BaseCDMIApiLiveTest { assertEquals(dataObject.getValueAsString(), value); dataObjectMetaDataOut = dataObject.getUserMetadata(); assertNotNull(dataObjectMetaDataOut); - keys = pDataObjectMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pDataObjectMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(dataObjectMetaDataOut.containsKey(key), true); - assertEquals(dataObjectMetaDataOut.get(key), pDataObjectMetaDataIn.get(key)); + assertEquals(dataObjectMetaDataOut.get(key), entry.getValue()); } assertEquals(Integer.parseInt(dataObject.getSystemMetadata().get("cdmi_size")), value.length()); assertEquals(dataObject.getObjectName(), dataObjectNameIn); @@ -484,7 +481,6 @@ public class DataApiLiveTest extends BaseCDMIApiLiveTest { CreateDataObjectOptions pCreateDataObjectOptions; DataObject dataObject; - Iterator keys; Map dataObjectMetaDataOut; Map pContainerMetaDataIn = Maps.newHashMap(); Map pDataObjectMetaDataIn = Maps.newLinkedHashMap(); @@ -519,11 +515,10 @@ public class DataApiLiveTest extends BaseCDMIApiLiveTest { assertEquals(dataObject.getValueAsString(), value); dataObjectMetaDataOut = dataObject.getUserMetadata(); assertNotNull(dataObjectMetaDataOut); - keys = pDataObjectMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pDataObjectMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(dataObjectMetaDataOut.containsKey(key), true); - assertEquals(dataObjectMetaDataOut.get(key), pDataObjectMetaDataIn.get(key)); + assertEquals(dataObjectMetaDataOut.get(key), entry.getValue()); } assertEquals(Integer.parseInt(dataObject.getSystemMetadata().get("cdmi_size")), value.length()); assertEquals(dataObject.getObjectName(), dataObjectNameIn); @@ -560,11 +555,10 @@ public class DataApiLiveTest extends BaseCDMIApiLiveTest { assertEquals(dataObject.getMimetype(), "text/plain"); dataObjectMetaDataOut = dataObject.getUserMetadata(); assertNotNull(dataObjectMetaDataOut); - keys = pDataObjectMetaDataIn.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); + for (Map.Entry entry : pDataObjectMetaDataIn.entrySet()) { + String key = entry.getKey(); assertEquals(dataObjectMetaDataOut.containsKey(key), true); - assertEquals(dataObjectMetaDataOut.get(key), pDataObjectMetaDataIn.get(key)); + assertEquals(dataObjectMetaDataOut.get(key), entry.getValue()); } assertEquals(Integer.parseInt(dataObject.getSystemMetadata().get("cdmi_size")), value.length()); diff --git a/labs/joyent-cloudapi/src/main/java/org/jclouds/joyent/cloudapi/v6_5/compute/JoyentCloudComputeService.java b/labs/joyent-cloudapi/src/main/java/org/jclouds/joyent/cloudapi/v6_5/compute/JoyentCloudComputeService.java index 9c1fb7e8e9..3bd95e2566 100644 --- a/labs/joyent-cloudapi/src/main/java/org/jclouds/joyent/cloudapi/v6_5/compute/JoyentCloudComputeService.java +++ b/labs/joyent-cloudapi/src/main/java/org/jclouds/joyent/cloudapi/v6_5/compute/JoyentCloudComputeService.java @@ -23,6 +23,7 @@ import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_R import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_SUSPENDED; import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED; +import java.util.Collection; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; @@ -119,8 +120,8 @@ public class JoyentCloudComputeService extends BaseComputeService { @Override protected void cleanUpIncidentalResourcesOfDeadNodes(Set deadNodes) { Multimap zoneToZoneAndGroupNames = orphanedGroupsByDatacenterId.apply(deadNodes); - for (String datacenterId : zoneToZoneAndGroupNames.keySet()) { - cleanupOrphanedKeysInZone(ImmutableSet.copyOf(zoneToZoneAndGroupNames.get(datacenterId)), datacenterId); + for (Map.Entry> entry : zoneToZoneAndGroupNames.asMap().entrySet()) { + cleanupOrphanedKeysInZone(ImmutableSet.copyOf(entry.getValue()), entry.getKey()); } } diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/functions/PresentSpotRequestsAndInstances.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/functions/PresentSpotRequestsAndInstances.java index 855a1c1a3a..941a5a0661 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/functions/PresentSpotRequestsAndInstances.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/functions/PresentSpotRequestsAndInstances.java @@ -30,6 +30,7 @@ import static org.jclouds.ec2.compute.domain.RegionAndName.nameFunction; import static org.jclouds.ec2.compute.domain.RegionAndName.regionFunction; import java.util.Collection; +import java.util.Map; import java.util.Set; import javax.inject.Singleton; @@ -79,8 +80,9 @@ public class PresentSpotRequestsAndInstances extends PresentInstances { protected Set getSpots(Set regionAndIds) { Builder builder = ImmutableSet. builder(); Multimap regionToSpotIds = transformValues(index(regionAndIds, regionFunction()), nameFunction()); - for (String region : regionToSpotIds.keySet()) { - Collection spotIds = regionToSpotIds.get(region); + for (Map.Entry> entry : regionToSpotIds.asMap().entrySet()) { + String region = entry.getKey(); + Collection spotIds = entry.getValue(); logger.trace("looking for spots %s in region %s", spotIds, region); builder.addAll(transform( client.getSpotInstanceServices().describeSpotInstanceRequestsInRegion(region, diff --git a/providers/glesys/src/main/java/org/jclouds/glesys/options/CreateServerOptions.java b/providers/glesys/src/main/java/org/jclouds/glesys/options/CreateServerOptions.java index c6e65190a4..9604c17fcb 100644 --- a/providers/glesys/src/main/java/org/jclouds/glesys/options/CreateServerOptions.java +++ b/providers/glesys/src/main/java/org/jclouds/glesys/options/CreateServerOptions.java @@ -50,7 +50,8 @@ public class CreateServerOptions implements MapBinder { "this binder is only valid for GeneratedHttpRequests!"); GeneratedHttpRequest gRequest = (GeneratedHttpRequest) request; ImmutableMultimap.Builder formParams = ImmutableMultimap.builder(); - for(String key : postParams.keySet()) formParams.put(key, (String) postParams.get(key)); + for (Map.Entry entry : postParams.entrySet()) + formParams.put(entry.getKey(), (String) entry.getValue()); ServerSpec serverSpec = ServerSpec.class.cast(find(gRequest.getInvocation().getArgs(), instanceOf(ServerSpec.class))); formParams.put("datacenter", serverSpec.getDatacenter()); diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java index cfba32053f..89107f38c4 100644 --- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java +++ b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java @@ -51,12 +51,10 @@ public class BindAttributesToIndexedFormParams implements Binder { Builder builder = ImmutableMultimap.builder(); int amazonOneBasedIndex = 1; // according to docs, counters must start with 1 - for (String itemName : attributeMap.getAttributes().keySet()) { + for (Map.Entry> entry : attributeMap.getAttributes().entrySet()); + String itemName = entry.getKey(); - Collection c = attributeMap.getAttributes().get(itemName); - Iterator it = c.iterator(); - while (it.hasNext()) { - AttributePair attr = it.next(); + for (AttributePair attr : = entry.getValue()) { // not null by contract String value = attr.getValue(); diff --git a/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java b/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java index de50d577aa..0202a05bd3 100644 --- a/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java +++ b/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java @@ -156,10 +156,8 @@ public class NingHttpCommandExecutorService implements HttpCommandExecutorServic } builder.addHeader(HttpHeaders.USER_AGENT, USER_AGENT); - for (String header : request.getHeaders().keySet()) { - for (String value : request.getHeaders().get(header)) { - builder.addHeader(header, value); - } + for (Map entry : request.getHeaders().entries()) { + builder.addHeader(entry.getKey(), entry.getValue()); } return builder.build();