jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ignasi Barrera <notificati...@github.com>
Subject Re: [jclouds/jclouds] Async interface changes for putBlob (#1114)
Date Thu, 22 Jun 2017 09:13:14 GMT
nacx commented on this pull request.



>        super(backend, backendType);
       this.consistencyModel = checkNotNull(consistencyModel, "consistencyModel");
       this.blobStore = checkNotNull(blobStore, "blobStore");
       this.utils = checkNotNull(utils, "utils");
       this.blobRequestSigner = checkNotNull(blobRequestSigner, "blobRequestSigner");
+      Binding<AsyncBlobStore> asyncBlobStoreBinding = injector.getExistingBinding(Key.get(AsyncBlobStore.class));
+      if (asyncBlobStoreBinding != null) {
+         asyncBlobStore = asyncBlobStoreBinding.getProvider().get();
+      } else {
+         asyncBlobStore = null;
+      }

Hmmm, I've just seen there is no base class for all BlobStore context modules (unlike in compute).
A clean option would be to create that base module class and declare there the method that
`@Provides` the `Optional<AsyncBlobStore>` based on the presence of that binding. The
context modules for all blobstore providers should extend that class, and then you can just
have the optional async blobstore injected. I'd like something like these, so provider code
just can inject an `Optional<AsyncBlobStore>` without having to inspect the bindings.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/1114#discussion_r123458661
Mime
View raw message