From 70f0635ac27d83673d2e49185221be059411c3ba Mon Sep 17 00:00:00 2001 From: duc Date: Wed, 2 Jan 2019 15:45:11 +0700 Subject: [PATCH] JCLOUDS-1479: populate container cache on create --- .../swift/v1/blobstore/RegionScopedSwiftBlobStore.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java index 1086afe162..c7d338caf5 100644 --- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java +++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/blobstore/RegionScopedSwiftBlobStore.java @@ -191,10 +191,12 @@ public class RegionScopedSwiftBlobStore implements BlobStore { @Override public boolean createContainerInLocation(Location location, String container, CreateContainerOptions options) { checkArgument(location == null || location.equals(region), "location must be null or %s", region); - if (options.isPublicRead()) { - return api.getContainerApi(regionId).create(container, ANYBODY_READ); + boolean containerCreated = api.getContainerApi(regionId).create(container, options.isPublicRead() ? ANYBODY_READ : BASIC_CONTAINER); + + if (containerCreated) { + containerCache.put(container, Optional.fromNullable(api.getContainerApi(regionId).get(container))); } - return api.getContainerApi(regionId).create(container, BASIC_CONTAINER); + return containerCreated; } @Override