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, 06 Jul 2017 07:06:01 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;
+      }

Well, inheritance is not really the only option. You can:

* Make a base class with the optional binding and let all blobstore modules extend it, as
mentioned above.
* Or you can create a separate module with that optional binding, say `AsyncBlobStoreModule`,
and add it to the `defaultModules` in the metadata class of **all** blobstore providers.

The important thing is that all providers must have that binding in the Guice context, whether
they use async or not.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
View raw message