jclouds-es: add convenience âendpointâ configuration property It was already possible to set it using the âpropertiesâ configuration property, added for convenience.
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/5a2782c8 Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/5a2782c8 Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/5a2782c8 Branch: refs/heads/serialization-3.0 Commit: 5a2782c8194801e4f2bf56fcd50a5ecb4f5553ae Parents: 120a15c Author: Paul Merlin <[email protected]> Authored: Sun Feb 26 12:32:28 2017 +0100 Committer: Paul Merlin <[email protected]> Committed: Sun Feb 26 12:32:28 2017 +0100 ---------------------------------------------------------------------- .../JCloudsMapEntityStoreConfiguration.java | 4 +++ .../jclouds/JCloudsMapEntityStoreMixin.java | 33 +++++++++++++------- 2 files changed, 25 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5a2782c8/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreConfiguration.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreConfiguration.java b/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreConfiguration.java index 452994c..3123555 100644 --- a/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreConfiguration.java +++ b/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreConfiguration.java @@ -47,6 +47,10 @@ public interface JCloudsMapEntityStoreConfiguration * Name of the JClouds container to use. Defaults to 'polygene-entities'. */ @Optional Property<String> container(); + /** + * Endpoint for the BlobStore provider. + */ + @Optional Property<String> endpoint(); // END SNIPPET: config } http://git-wip-us.apache.org/repos/asf/polygene-java/blob/5a2782c8/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreMixin.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreMixin.java b/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreMixin.java index 21a2abb..38cdd80 100644 --- a/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreMixin.java +++ b/extensions/entitystore-jclouds/src/main/java/org/apache/polygene/entitystore/jclouds/JCloudsMapEntityStoreMixin.java @@ -104,6 +104,7 @@ public class JCloudsMapEntityStoreMixin String provider = configuration.get().provider().get(); String identifier = configuration.get().identifier().get(); String credentials = configuration.get().credential().get(); + String endpoint = configuration.get().endpoint().get(); Map<String, String> properties = configuration.get().properties().get(); container = configuration.get().container().get(); if( provider != null ) @@ -118,10 +119,11 @@ public class JCloudsMapEntityStoreMixin { container = "polygene-entities"; } - storeContext = ContextBuilder.newBuilder( provider ). - credentials( identifier, credentials ). - overrides( asProperties( properties ) ). - buildView( BlobStoreContext.class ); + storeContext = ContextBuilder.newBuilder( provider ) + .endpoint( endpoint == null ? "" : endpoint ) + .credentials( identifier, credentials ) + .overrides( asProperties( properties ) ) + .buildView( BlobStoreContext.class ); BlobStore blobStore = storeContext.getBlobStore(); if( !blobStore.containerExists( container ) ) { @@ -200,12 +202,14 @@ public class JCloudsMapEntityStoreMixin { @Override public void close() - throws IOException + throws IOException { super.close(); + ByteSource payload = ByteSource.wrap( toString().getBytes( UTF_8 ) ); Blob blob = blobStore.blobBuilder( ref.identity().toString() ) - .payload( ByteSource.wrap( toString().getBytes( UTF_8 ) ) ) - .build(); + .payload( payload ) + .contentLength( payload.size() ) + .build(); blobStore.putBlob( container, blob ); } }; @@ -223,12 +227,14 @@ public class JCloudsMapEntityStoreMixin { @Override public void close() - throws IOException + throws IOException { super.close(); + ByteSource payload = ByteSource.wrap( toString().getBytes( UTF_8 ) ); Blob blob = blobStore.blobBuilder( ref.identity().toString() ) - .payload( ByteSource.wrap( toString().getBytes( UTF_8 ) ) ) - .build(); + .payload( payload ) + .contentLength( payload.size() ) + .build(); blobStore.putBlob( container, blob ); } }; @@ -255,10 +261,13 @@ public class JCloudsMapEntityStoreMixin .getBlobStore().list( container ).stream() .map( metadata -> { - Payload payload = storeContext.getBlobStore().getBlob( container, metadata.getName() ).getPayload(); + Payload payload = storeContext.getBlobStore() + .getBlob( container, metadata.getName() ) + .getPayload(); if( payload == null ) { - throw new EntityNotFoundException( EntityReference.parseEntityReference( metadata.getName() ) ); + EntityReference reference = EntityReference.parseEntityReference( metadata.getName() ); + throw new EntityNotFoundException( reference ); } try( InputStream input = payload.openStream() ) {
