You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by Jeremy Daggett <no...@github.com> on 2014/08/15 19:04:06 UTC

[jclouds] Prefer isEmpty() for collections (#488)

This PR replaces the following conditions when checking for the size of a collection:

- `size() &gt; 0` -&gt; `!isEmpty()`
- `size() == 0` -&gt; `isEmpty()`
- `size() != 0` -&gt; `!isEmpty()`
- `Iterables.size(numbers) &gt; 0` -&gt; `Iterables.isEmpty(numbers)`

For collections that use `Iterables.isEmpty(somecollection)`, should we consider using `somecollection.isEmpty()`?
You can merge this Pull Request by running:

  git pull https://github.com/rackspace/jclouds fix/isEmpty

Or you can view, comment on it, or merge it online at:

  https://github.com/jclouds/jclouds/pull/488

-- Commit Summary --

  * Prefer isEmpty() for collections rather than size()

-- File Changes --

    M apis/atmos/src/main/java/org/jclouds/atmos/binders/BindUserMetadataToHeaders.java (10)
    M apis/byon/src/main/java/org/jclouds/byon/internal/BYONComputeServiceAdapter.java (6)
    M apis/cloudservers/src/main/java/org/jclouds/cloudservers/options/CreateServerOptions.java (12)
    M apis/cloudservers/src/test/java/org/jclouds/cloudservers/CloudServersClientLiveTest.java (4)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java (6)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToProfileInfo.java (4)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerInfo.java (2)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToStaticIPInfo.java (4)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToVLANInfo.java (4)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ServerToMap.java (4)
    M apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/predicates/DriveClaimed.java (2)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/binders/BindAccountSecurityGroupPairsToIndexedQueryParams.java (2)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/binders/BindCIDRsToCommaDelimitedQueryParam.java (2)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/binders/BindIdListToCommaDelimitedQueryParam.java (2)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/strategy/CloudStackComputeServiceAdapter.java (12)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/functions/CreateFirewallRulesForIP.java (4)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/functions/CreatePortForwardingRulesForIP.java (2)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/functions/CreateSecurityGroupIfNeeded.java (2)
    M apis/cloudstack/src/main/java/org/jclouds/cloudstack/predicates/CorrectHypervisorForZone.java (2)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/compute/CloudStackExperimentLiveTest.java (4)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/AddressApiLiveTest.java (2)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/DomainUserApiLiveTest.java (2)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/FirewallApiLiveTest.java (4)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalHostApiLiveTest.java (4)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalStoragePoolApiLiveTest.java (2)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalUserApiLiveTest.java (2)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/GlobalVlanApiLiveTest.java (8)
    M apis/cloudstack/src/test/java/org/jclouds/cloudstack/features/VirtualMachineApiLiveTest.java (4)
    M apis/cloudwatch/src/test/java/org/jclouds/cloudwatch/features/AlarmApiLiveTest.java (6)
    M apis/cloudwatch/src/test/java/org/jclouds/cloudwatch/features/MetricApiLiveTest.java (8)
    M apis/ec2/src/main/java/org/jclouds/ec2/binders/BindIpPermissionsToIndexedFormParams.java (2)
    M apis/ec2/src/main/java/org/jclouds/ec2/compute/EC2ComputeService.java (18)
    M apis/ec2/src/main/java/org/jclouds/ec2/compute/extensions/EC2SecurityGroupExtension.java (48)
    M apis/ec2/src/main/java/org/jclouds/ec2/compute/options/EC2TemplateOptions.java (22)
    M apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.java (4)
    M apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2CreateNodesInGroupThenAddToSet.java (6)
    M apis/ec2/src/main/java/org/jclouds/ec2/domain/SecurityGroup.java (2)
    M apis/ec2/src/main/java/org/jclouds/ec2/predicates/VolumeAttached.java (4)
    M apis/ec2/src/main/java/org/jclouds/ec2/predicates/VolumeDetached.java (2)
    M apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegion.java (2)
    M apis/ec2/src/main/java/org/jclouds/ec2/util/IpPermissions.java (2)
    M apis/ec2/src/test/java/org/jclouds/ec2/EBSBootEC2ApiLiveTest.java (6)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java (4)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java (2)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java (2)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java (2)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java (2)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java (2)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java (2)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java (4)
    M apis/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java (2)
    M apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/suppliers/LocationIdToURIFromAccessForTypeAndVersion.java (7)
    M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java (6)
    M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/extensions/NovaSecurityGroupExtension.java (8)
    M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/SecurityGroup.java (28)
    M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/options/CreateServerOptions.java (12)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/domain/LoadBalancer.java (12)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseAlgorithms.java (10)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseLoadBalancer.java (6)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseLoadBalancers.java (2)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseNestedBoolean.java (6)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseNestedString.java (2)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseNode.java (10)
    M apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/functions/ParseSessionPersistence.java (6)
    M apis/rackspace-cloudloadbalancers/src/test/java/org/jclouds/rackspace/cloudloadbalancers/v1/features/LoadBalancerApiLiveTest.java (4)
    M apis/rackspace-cloudloadbalancers/src/test/java/org/jclouds/rackspace/cloudloadbalancers/v1/features/NodeApiLiveTest.java (2)
    M apis/route53/src/test/java/org/jclouds/route53/features/HostedZoneApiLiveTest.java (4)
    M apis/s3/src/main/java/org/jclouds/s3/config/S3RestClientModule.java (2)
    M apis/s3/src/test/java/org/jclouds/s3/internal/StubS3AsyncClient.java (5)
    M apis/sqs/src/main/java/org/jclouds/sqs/binders/BindAttributeNamesToIndexedFormParams.java (2)
    M apis/sqs/src/main/java/org/jclouds/sqs/options/CreateQueueOptions.java (10)
    M apis/sqs/src/main/java/org/jclouds/sqs/options/ReceiveMessageOptions.java (20)
    M apis/sts/src/main/java/org/jclouds/aws/binders/BindMapToIndexedFormParams.java (2)
    M apis/sts/src/main/java/org/jclouds/aws/binders/BindTableToIndexedFormParams.java (2)
    M apis/sts/src/main/java/org/jclouds/aws/util/AWSUtils.java (6)
    M apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/strategy/internal/ParallelMultipartUploadStrategy.java (2)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/binders/BindInstantiateVAppTemplateParamsToXmlPayload.java (4)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/compute/functions/HardwareForVApp.java (2)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/compute/functions/ValidateVAppTemplateAndReturnEnvelopeOrThrowIllegalArgumentException.java (2)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/compute/strategy/InstantiateVAppTemplateWithGroupEncodedIntoNameThenCustomizeDeployAndPowerOn.java (18)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/compute/strategy/VCloudComputeServiceAdapter.java (10)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/compute/util/VCloudComputeUtils.java (10)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/config/VCloudHttpApiModule.java (4)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/domain/network/FirewallService.java (6)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/domain/network/IpScope.java (18)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/domain/network/NatService.java (10)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/domain/network/internal/OrgNetworkImpl.java (4)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/functions/DefaultNetworkNameInTemplate.java (2)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/location/OrgAndVDCToLocationSupplier.java (2)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/options/InstantiateVAppTemplateOptions.java (8)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/suppliers/OnlyReferenceTypeFirstWithNameMatchingConfigurationKeyOrDefault.java (2)
    M apis/vcloud/src/main/java/org/jclouds/vcloud/xml/ovf/VCloudResourceAllocationSettingDataHandler.java (4)
    M blobstore/src/main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java (2)
    M blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkersDeleteDirectoryStrategy.java (6)
    M blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/PutBlobsStrategyImpl.java (2)
    M common/azure/src/main/java/org/jclouds/azure/storage/domain/AzureStorageError.java (4)
    M compute/src/main/java/org/jclouds/compute/domain/SecurityGroup.java (10)
    M compute/src/main/java/org/jclouds/compute/domain/internal/ComputeMetadataImpl.java (8)
    M compute/src/main/java/org/jclouds/compute/domain/internal/HardwareImpl.java (2)
    M compute/src/main/java/org/jclouds/compute/domain/internal/NodeMetadataImpl.java (4)
    M compute/src/main/java/org/jclouds/compute/domain/internal/TemplateBuilderImpl.java (48)
    M compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java (20)
    M compute/src/main/java/org/jclouds/compute/options/TemplateOptions.java (32)
    M compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceAdapter.java (10)
    M compute/src/main/java/org/jclouds/compute/stub/extensions/StubSecurityGroupExtension.java (24)
    M compute/src/main/java/org/jclouds/compute/util/ComputeServiceUtils.java (18)
    M compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java (16)
    M core/src/main/java/org/jclouds/collect/AdvanceUntilEmptyIterable.java (12)
    M core/src/main/java/org/jclouds/collect/internal/Arg0ToPagedIterable.java (2)
    M core/src/main/java/org/jclouds/collect/internal/CallerArg0ToPagedIterable.java (2)
    M core/src/main/java/org/jclouds/concurrent/FutureIterables.java (32)
    M core/src/main/java/org/jclouds/concurrent/config/ExecutorServiceModule.java (10)
    M core/src/main/java/org/jclouds/domain/internal/LocationImpl.java (4)
    M core/src/main/java/org/jclouds/functions/JoinOnComma.java (2)
    M core/src/main/java/org/jclouds/functions/OnlyElementOrNull.java (2)
    M core/src/main/java/org/jclouds/http/HttpMessage.java (30)
    M core/src/main/java/org/jclouds/http/Uris.java (34)
    M core/src/main/java/org/jclouds/http/functions/UnwrapOnlyJsonValueInSet.java (2)
    M core/src/main/java/org/jclouds/http/options/GetOptions.java (22)
    M core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java (2)
    M core/src/main/java/org/jclouds/location/functions/ZoneToEndpoint.java (2)
    M core/src/main/java/org/jclouds/location/predicates/fromconfig/AnyOrConfiguredRegionId.java (6)
    M core/src/main/java/org/jclouds/location/predicates/fromconfig/AnyOrConfiguredZoneId.java (6)
    M core/src/main/java/org/jclouds/location/suppliers/all/RegionToProvider.java (2)
    M core/src/main/java/org/jclouds/location/suppliers/all/RegionToProviderOrJustProvider.java (2)
    M core/src/main/java/org/jclouds/location/suppliers/all/ZoneToProvider.java (2)
    M core/src/main/java/org/jclouds/location/suppliers/all/ZoneToRegionToProviderOrJustProvider.java (6)
    M core/src/main/java/org/jclouds/location/suppliers/fromconfig/RegionIdToZoneIdsFromConfiguration.java (4)
    M core/src/main/java/org/jclouds/logging/config/BindLoggersAnnotatedWithResource.java (2)
    M core/src/main/java/org/jclouds/reflect/Invocation.java (6)
    M core/src/main/java/org/jclouds/rest/binders/BindMapToStringPayload.java (2)
    M core/src/main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java (8)
    M core/src/main/java/org/jclouds/suppliers/SupplyKeyMatchingValueOrNull.java (2)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/binders/BindLaunchSpecificationToFormParams.java (6)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeService.java (2)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateOptions.java (16)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceContextModule.java (10)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/extensions/AWSEC2SecurityGroupExtension.java (14)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/loaders/AWSEC2CreateSecurityGroupIfNeeded.java (4)
    M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/strategy/CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.java (6)
    M providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java (2)
    M providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/features/SpotInstanceApiLiveTest.java (4)
    M providers/aws-s3/src/main/java/org/jclouds/aws/s3/binders/BindPartIdsAndETagsToRequest.java (2)
    M providers/aws-s3/src/main/java/org/jclouds/aws/s3/blobstore/strategy/internal/ParallelMultipartUploadStrategy.java (66)
    M providers/azureblob/src/main/java/org/jclouds/azureblob/handlers/ParseAzureBlobErrorFromXmlContent.java (2)
    M providers/dynect/src/test/java/org/jclouds/dynect/v3/features/GeoRegionGroupApiLiveTest.java (6)
    M providers/dynect/src/test/java/org/jclouds/dynect/v3/features/GeoServiceApiLiveTest.java (4)
    M providers/dynect/src/test/java/org/jclouds/dynect/v3/features/RecordApiLiveTest.java (2)
    M providers/glesys/src/main/java/org/jclouds/glesys/compute/GleSYSComputeServiceAdapter.java (12)
    M providers/glesys/src/test/java/org/jclouds/glesys/features/ArchiveApiLiveTest.java (16)
    M providers/glesys/src/test/java/org/jclouds/glesys/features/ServerApiLiveTest.java (42)
    M providers/gogrid/src/main/java/org/jclouds/gogrid/functions/ParseCredentialsFromJsonResponse.java (2)
    M providers/softlayer/src/main/java/org/jclouds/softlayer/compute/strategy/SoftLayerComputeServiceAdapter.java (2)
    M providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/DirectionalGroupApiLiveTest.java (2)
    M scriptbuilder/src/main/java/org/jclouds/scriptbuilder/InitScript.java (16)
    M scriptbuilder/src/main/java/org/jclouds/scriptbuilder/ScriptBuilder.java (4)
    M scriptbuilder/src/main/java/org/jclouds/scriptbuilder/domain/AppendFile.java (2)
    M scriptbuilder/src/main/java/org/jclouds/scriptbuilder/statements/login/UserAdd.java (12)

-- Patch Links --

https://github.com/jclouds/jclouds/pull/488.patch
https://github.com/jclouds/jclouds/pull/488.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488

Re: [jclouds] Prefer isEmpty() for collections (#488)

Posted by Chris Custine <no...@github.com>.
Oh heck yeah, +1!

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488#issuecomment-52340226

Re: [jclouds] Prefer isEmpty() for collections (#488)

Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-pull-requests-java-6 #13](https://jclouds.ci.cloudbees.com/job/jclouds-pull-requests-java-6/13/) SUCCESS
This pull request looks good

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488#issuecomment-52331660

Re: [jclouds] Prefer isEmpty() for collections (#488)

Posted by Andrew Phillips <no...@github.com>.
> @@ -35,9 +35,7 @@
>  
>     @Override
>     public ProfileInfo apply(Map<String, String> from) {
> -      if (from.size() == 0)
> -         return null;
> -      if (from.size() == 0)

Ha! Nice ;-)

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488/files#r16305266

Re: [jclouds] Prefer isEmpty() for collections (#488)

Posted by Andrew Phillips <no...@github.com>.
Pending PR builders (i.e. Checkstyle), +1 - looks good to me. Thanks for chewing through this (and the whitespace fixes!), @jdaggett!

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488#issuecomment-52337829

Re: [jclouds] Prefer isEmpty() for collections (#488)

Posted by BuildHive <no...@github.com>.
[jclouds ยป jclouds #1529](https://buildhive.cloudbees.com/job/jclouds/job/jclouds/1529/) SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488#issuecomment-52337916

Re: [jclouds] Prefer isEmpty() for collections (#488)

Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-pull-requests #1102](https://jclouds.ci.cloudbees.com/job/jclouds-pull-requests/1102/) SUCCESS
This pull request looks good

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/488#issuecomment-52340173