You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2013/09/26 05:47:08 UTC
[2/2] git commit: Remove BlobStore Map abstractions
Remove BlobStore Map abstractions
These provide little end-user benefit and make evolving the core API
more difficult. We deprecated these in 1.6.0.
Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/commit/5f896172
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/tree/5f896172
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds/diff/5f896172
Branch: refs/heads/master
Commit: 5f8961723f6bd36ebc6ab23360bed25d043e5963
Parents: 4304e6a
Author: Andrew Gaul <ga...@apache.org>
Authored: Tue Sep 24 21:11:08 2013 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Sep 25 20:46:31 2013 -0700
----------------------------------------------------------------------
.../config/AtmosBlobStoreContextModule.java | 2 -
.../AtmosInputStreamMapIntegrationLiveTest.java | 86 -----
.../AtmosMapIntegrationLiveTest.java | 40 ---
.../CloudFilesBlobMapIntegrationLiveTest.java | 30 --
...dFilesInputStreamMapIntegrationLiveTest.java | 30 --
.../FilesystemBlobStoreContextModule.java | 2 -
...ilesystemBlobMapIntegrationTestDisabled.java | 44 ---
...emInputStreamMapIntegrationTestDisabled.java | 43 ---
.../config/S3BlobStoreContextModule.java | 2 -
.../internal/S3BlobStoreContextImpl.java | 8 +-
.../S3BlobMapIntegrationLiveTest.java | 33 --
.../S3InputStreamMapIntegrationLiveTest.java | 33 --
.../config/SwiftBlobStoreContextModule.java | 2 -
.../SwiftBlobMapIntegrationLiveTest.java | 40 ---
.../SwiftInputStreamMapIntegrationLiveTest.java | 40 ---
.../java/org/jclouds/blobstore/BlobMap.java | 48 ---
.../org/jclouds/blobstore/BlobStoreContext.java | 55 ---
.../org/jclouds/blobstore/InputStreamMap.java | 60 ----
.../java/org/jclouds/blobstore/ListableMap.java | 39 --
.../blobstore/config/BlobStoreMapModule.java | 96 -----
.../config/TransientBlobStoreContextModule.java | 1 -
.../jclouds/blobstore/internal/BaseBlobMap.java | 219 -----------
.../jclouds/blobstore/internal/BlobMapImpl.java | 130 -------
.../internal/BlobStoreContextImpl.java | 30 +-
.../blobstore/internal/InputStreamMapImpl.java | 188 ----------
.../TransientBlobMapIntegrationTest.java | 31 --
.../TransientInputStreamMapIntegrationTest.java | 30 --
.../internal/BaseBlobMapIntegrationTest.java | 292 ---------------
.../BaseInputStreamMapIntegrationTest.java | 338 -----------------
.../internal/BaseMapIntegrationTest.java | 360 -------------------
.../blobstore/internal/BaseBlobMapTest.java | 60 ----
.../internal/AWSS3BlobStoreContextImpl.java | 8 +-
.../AWSS3BlobMapIntegrationLiveTest.java | 30 --
.../AWSS3InputStreamMapIntegrationLiveTest.java | 30 --
.../config/AzureBlobStoreContextModule.java | 2 -
...reBlobInputStreamMapIntegrationLiveTest.java | 30 --
.../AzureBlobMapIntegrationLiveTest.java | 30 --
.../CloudFilesUKBlobMapIntegrationLiveTest.java | 31 --
...ilesUKInputStreamMapIntegrationLiveTest.java | 31 --
.../CloudFilesUSBlobMapIntegrationLiveTest.java | 30 --
...ilesUSInputStreamMapIntegrationLiveTest.java | 30 --
...oudOneStorageBlobMapIntegrationLiveTest.java | 31 --
...torageInputStreamMapIntegrationLiveTest.java | 31 --
...loudObjectStorageBlobStoreContextModule.java | 2 -
...ObjectStorageBlobMapIntegrationLiveTest.java | 31 --
...torageInputStreamMapIntegrationLiveTest.java | 31 --
...nefoldStorageBlobMapIntegrationLiveTest.java | 31 --
...torageInputStreamMapIntegrationLiveTest.java | 31 --
48 files changed, 8 insertions(+), 2844 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java
index d3d6d53..ba4b8ef 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/blobstore/config/AtmosBlobStoreContextModule.java
@@ -29,7 +29,6 @@ import org.jclouds.blobstore.AsyncBlobStore;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.attr.ConsistencyModel;
-import org.jclouds.blobstore.config.BlobStoreMapModule;
import org.jclouds.blobstore.strategy.ContainsValueInListStrategy;
import com.google.common.cache.CacheBuilder;
@@ -48,7 +47,6 @@ public class AtmosBlobStoreContextModule extends AbstractModule {
@Override
protected void configure() {
- install(new BlobStoreMapModule());
bind(ConsistencyModel.class).toInstance(ConsistencyModel.EVENTUAL);
bind(AsyncBlobStore.class).to(AtmosAsyncBlobStore.class).in(Scopes.SINGLETON);
bind(BlobStore.class).to(AtmosBlobStore.class).in(Scopes.SINGLETON);
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosInputStreamMapIntegrationLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 8c5bc85..0000000
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.atmos.blobstore.integration;
-
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
-
-import org.jclouds.blobstore.integration.internal.BaseInputStreamMapIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class AtmosInputStreamMapIntegrationLiveTest extends BaseInputStreamMapIntegrationTest {
- public AtmosInputStreamMapIntegrationLiveTest() {
- provider = "atmos";
- }
-
- @Override
- @Test(enabled = false)
- public void testContainsBytesValue() throws InterruptedException, ExecutionException,
- TimeoutException {
- // TODO not reliable
- }
-
- @Override
- @Test(enabled = false)
- public void testContainsFileValue() throws InterruptedException, ExecutionException,
- TimeoutException {
- // TODO not reliable
- }
-
- @Override
- @Test(enabled = false)
- public void testContainsInputStreamValue() throws InterruptedException, ExecutionException,
- TimeoutException {
- // TODO not reliable
- }
-
- @Override
- @Test(enabled = false)
- public void testContainsStringValue() throws InterruptedException, ExecutionException,
- TimeoutException {
- // TODO not reliable
- }
-
- @Override
- @Test(enabled = false)
- public void testPut() {
- // TODO not reliable NPE@BaseInputStreamMapIntegrationTest.java:258
- }
-
- @Override
- @Test(enabled = false)
- public void testPutBytes() {
- // TODO not reliable NPE
- }
-
- @Override
- @Test(enabled = false)
- public void testPutFile() {
- // TODO not reliable NPE
- }
-
- @Override
- @Test(enabled = false)
- public void testPutString() {
- // TODO not reliable NPE
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosMapIntegrationLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosMapIntegrationLiveTest.java
deleted file mode 100644
index 90879ef..0000000
--- a/apis/atmos/src/test/java/org/jclouds/atmos/blobstore/integration/AtmosMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.atmos.blobstore.integration;
-
-import java.io.IOException;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobMapIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class AtmosMapIntegrationLiveTest extends BaseBlobMapIntegrationTest {
- public AtmosMapIntegrationLiveTest() {
- provider = "atmos";
- }
- @Override
- // NO support for Content-MD5, so contains cannot work
- public void testContains() throws InterruptedException, ExecutionException, TimeoutException, IOException {
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesBlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesBlobMapIntegrationLiveTest.java b/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesBlobMapIntegrationLiveTest.java
deleted file mode 100644
index 45451e3..0000000
--- a/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesBlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudfiles.blobstore.integration;
-
-import org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class CloudFilesBlobMapIntegrationLiveTest extends SwiftBlobMapIntegrationLiveTest {
- public CloudFilesBlobMapIntegrationLiveTest(){
- provider = "cloudfiles";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesInputStreamMapIntegrationLiveTest.java b/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 557d96c..0000000
--- a/apis/cloudfiles/src/test/java/org/jclouds/cloudfiles/blobstore/integration/CloudFilesInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.cloudfiles.blobstore.integration;
-
-import org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class CloudFilesInputStreamMapIntegrationLiveTest extends SwiftInputStreamMapIntegrationLiveTest {
- public CloudFilesInputStreamMapIntegrationLiveTest(){
- provider = "cloudfiles";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/filesystem/src/main/java/org/jclouds/filesystem/config/FilesystemBlobStoreContextModule.java
----------------------------------------------------------------------
diff --git a/apis/filesystem/src/main/java/org/jclouds/filesystem/config/FilesystemBlobStoreContextModule.java b/apis/filesystem/src/main/java/org/jclouds/filesystem/config/FilesystemBlobStoreContextModule.java
index 4c8adc6..299b470 100644
--- a/apis/filesystem/src/main/java/org/jclouds/filesystem/config/FilesystemBlobStoreContextModule.java
+++ b/apis/filesystem/src/main/java/org/jclouds/filesystem/config/FilesystemBlobStoreContextModule.java
@@ -25,7 +25,6 @@ import org.jclouds.blobstore.LocalAsyncBlobStore;
import org.jclouds.blobstore.LocalBlobRequestSigner;
import org.jclouds.blobstore.LocalStorageStrategy;
import org.jclouds.blobstore.attr.ConsistencyModel;
-import org.jclouds.blobstore.config.BlobStoreMapModule;
import org.jclouds.blobstore.config.BlobStoreObjectModule;
import org.jclouds.blobstore.config.LocalBlobStore;
import org.jclouds.blobstore.util.BlobUtils;
@@ -52,7 +51,6 @@ public class FilesystemBlobStoreContextModule extends AbstractModule {
bind(BlobStore.class).to(LocalBlobStore.class);
install(new BlobStoreObjectModule());
- install(new BlobStoreMapModule());
bind(ConsistencyModel.class).toInstance(ConsistencyModel.STRICT);
bind(LocalStorageStrategy.class).to(FilesystemStorageStrategyImpl.class);
bind(BlobUtils.class).to(FileSystemBlobUtilsImpl.class);
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemBlobMapIntegrationTestDisabled.java
----------------------------------------------------------------------
diff --git a/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemBlobMapIntegrationTestDisabled.java b/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemBlobMapIntegrationTestDisabled.java
deleted file mode 100644
index d5bdfcd..0000000
--- a/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemBlobMapIntegrationTestDisabled.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.filesystem.integration;
-
-import java.util.Properties;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobMapIntegrationTest;
-import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
-import org.jclouds.filesystem.reference.FilesystemConstants;
-import org.jclouds.filesystem.utils.TestUtils;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-
-@Test(groups = { "integration", "live" }, testName = "blobstore.FilesystemBlobMapIntegrationTest")
-public class FilesystemBlobMapIntegrationTestDisabled extends BaseBlobMapIntegrationTest {
- public FilesystemBlobMapIntegrationTestDisabled() {
- provider = "filesystem";
- BaseBlobStoreIntegrationTest.SANITY_CHECK_RETURNED_BUCKET_NAME = true;
- }
-
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- props.setProperty(FilesystemConstants.PROPERTY_BASEDIR, TestUtils.TARGET_BASE_DIR);
- return props;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemInputStreamMapIntegrationTestDisabled.java
----------------------------------------------------------------------
diff --git a/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemInputStreamMapIntegrationTestDisabled.java b/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemInputStreamMapIntegrationTestDisabled.java
deleted file mode 100644
index fc13fe6..0000000
--- a/apis/filesystem/src/test/java/org/jclouds/filesystem/integration/FilesystemInputStreamMapIntegrationTestDisabled.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.filesystem.integration;
-
-import java.util.Properties;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
-import org.jclouds.blobstore.integration.internal.BaseInputStreamMapIntegrationTest;
-import org.jclouds.filesystem.reference.FilesystemConstants;
-import org.jclouds.filesystem.utils.TestUtils;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = { "integration", "live" }, testName = "blobstore.FilesystemInputStreamMapIntegrationTest")
-public class FilesystemInputStreamMapIntegrationTestDisabled extends BaseInputStreamMapIntegrationTest {
- public FilesystemInputStreamMapIntegrationTestDisabled() {
- provider = "filesystem";
- BaseBlobStoreIntegrationTest.SANITY_CHECK_RETURNED_BUCKET_NAME = true;
- }
-
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- props.setProperty(FilesystemConstants.PROPERTY_BASEDIR, TestUtils.TARGET_BASE_DIR);
- return props;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java b/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java
index 501f238..e4d324e 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/blobstore/config/S3BlobStoreContextModule.java
@@ -26,7 +26,6 @@ import org.jclouds.blobstore.AsyncBlobStore;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.attr.ConsistencyModel;
-import org.jclouds.blobstore.config.BlobStoreMapModule;
import org.jclouds.domain.Location;
import org.jclouds.s3.S3AsyncClient;
import org.jclouds.s3.blobstore.S3AsyncBlobStore;
@@ -53,7 +52,6 @@ public class S3BlobStoreContextModule extends AbstractModule {
@Override
protected void configure() {
- install(new BlobStoreMapModule());
bind(ConsistencyModel.class).toInstance(ConsistencyModel.EVENTUAL);
bind(AsyncBlobStore.class).to(S3AsyncBlobStore.class).in(SINGLETON);
bind(BlobStore.class).to(S3BlobStore.class).in(SINGLETON);
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/s3/src/main/java/org/jclouds/s3/blobstore/internal/S3BlobStoreContextImpl.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/blobstore/internal/S3BlobStoreContextImpl.java b/apis/s3/src/main/java/org/jclouds/s3/blobstore/internal/S3BlobStoreContextImpl.java
index a7ff075..2e332e2 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/blobstore/internal/S3BlobStoreContextImpl.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/blobstore/internal/S3BlobStoreContextImpl.java
@@ -21,10 +21,8 @@ import javax.inject.Singleton;
import org.jclouds.Context;
import org.jclouds.blobstore.AsyncBlobStore;
-import org.jclouds.blobstore.BlobMap;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.InputStreamMap;
import org.jclouds.blobstore.attr.ConsistencyModel;
import org.jclouds.blobstore.internal.BlobStoreContextImpl;
import org.jclouds.location.Provider;
@@ -43,10 +41,10 @@ public class S3BlobStoreContextImpl extends BlobStoreContextImpl implements S3Bl
@Inject
public S3BlobStoreContextImpl(@Provider Context backend, @Provider TypeToken<? extends Context> backendType,
- BlobMap.Factory blobMapFactory, Utils utils, ConsistencyModel consistencyModel,
- InputStreamMap.Factory inputStreamMapFactory, AsyncBlobStore ablobStore, BlobStore blobStore,
+ Utils utils, ConsistencyModel consistencyModel,
+ AsyncBlobStore ablobStore, BlobStore blobStore,
BlobRequestSigner blobRequestSigner) {
- super(backend, backendType, blobMapFactory, utils, consistencyModel, inputStreamMapFactory, ablobStore,
+ super(backend, backendType, utils, consistencyModel, ablobStore,
blobStore, blobRequestSigner);
}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3BlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3BlobMapIntegrationLiveTest.java b/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3BlobMapIntegrationLiveTest.java
deleted file mode 100644
index d35536d..0000000
--- a/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3BlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.s3.blobstore.integration;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobMapIntegrationTest;
-import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "S3BlobMapIntegrationLiveTest")
-public class S3BlobMapIntegrationLiveTest extends BaseBlobMapIntegrationTest {
-
- public S3BlobMapIntegrationLiveTest() {
- provider = "s3";
- BaseBlobStoreIntegrationTest.SANITY_CHECK_RETURNED_BUCKET_NAME = true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3InputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3InputStreamMapIntegrationLiveTest.java b/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3InputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 15b4674..0000000
--- a/apis/s3/src/test/java/org/jclouds/s3/blobstore/integration/S3InputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.s3.blobstore.integration;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
-import org.jclouds.blobstore.integration.internal.BaseInputStreamMapIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "S3InputStreamMapIntegrationLiveTest")
-public class S3InputStreamMapIntegrationLiveTest extends BaseInputStreamMapIntegrationTest {
-
- public S3InputStreamMapIntegrationLiveTest() {
- provider = "s3";
- BaseBlobStoreIntegrationTest.SANITY_CHECK_RETURNED_BUCKET_NAME = true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/SwiftBlobStoreContextModule.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/SwiftBlobStoreContextModule.java b/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/SwiftBlobStoreContextModule.java
index b59502c..1156be9 100644
--- a/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/SwiftBlobStoreContextModule.java
+++ b/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/config/SwiftBlobStoreContextModule.java
@@ -20,7 +20,6 @@ package org.jclouds.openstack.swift.blobstore.config;
import org.jclouds.blobstore.AsyncBlobStore;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.attr.ConsistencyModel;
-import org.jclouds.blobstore.config.BlobStoreMapModule;
import org.jclouds.openstack.swift.blobstore.SwiftAsyncBlobStore;
import org.jclouds.openstack.swift.blobstore.SwiftBlobStore;
@@ -37,7 +36,6 @@ public class SwiftBlobStoreContextModule extends AbstractModule {
@Override
protected void configure() {
- install(new BlobStoreMapModule());
bind(ConsistencyModel.class).toInstance(ConsistencyModel.STRICT);
bind(AsyncBlobStore.class).to(SwiftAsyncBlobStore.class).in(Scopes.SINGLETON);
bind(BlobStore.class).to(SwiftBlobStore.class).in(Scopes.SINGLETON);
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftBlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftBlobMapIntegrationLiveTest.java b/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftBlobMapIntegrationLiveTest.java
deleted file mode 100644
index 5c3d1fb..0000000
--- a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftBlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.openstack.swift.blobstore.integration;
-
-import java.util.Properties;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobMapIntegrationTest;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class SwiftBlobMapIntegrationLiveTest extends BaseBlobMapIntegrationTest {
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- setIfTestSystemPropertyPresent(props, KeystoneProperties.CREDENTIAL_TYPE);
- return props;
- }
-
- public SwiftBlobMapIntegrationLiveTest() {
- provider = System.getProperty("test.swift.provider", "swift");
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftInputStreamMapIntegrationLiveTest.java b/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 3454e28..0000000
--- a/apis/swift/src/test/java/org/jclouds/openstack/swift/blobstore/integration/SwiftInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.openstack.swift.blobstore.integration;
-
-import java.util.Properties;
-
-import org.jclouds.blobstore.integration.internal.BaseInputStreamMapIntegrationTest;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class SwiftInputStreamMapIntegrationLiveTest extends BaseInputStreamMapIntegrationTest {
- @Override
- protected Properties setupProperties() {
- Properties props = super.setupProperties();
- setIfTestSystemPropertyPresent(props, KeystoneProperties.CREDENTIAL_TYPE);
- return props;
- }
-
- public SwiftInputStreamMapIntegrationLiveTest() {
- provider = System.getProperty("test.swift.provider", "swift");
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/BlobMap.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/BlobMap.java b/blobstore/src/main/java/org/jclouds/blobstore/BlobMap.java
deleted file mode 100644
index 8b412b0..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/BlobMap.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.domain.BlobBuilder;
-import org.jclouds.blobstore.internal.BlobMapImpl;
-import org.jclouds.blobstore.options.ListContainerOptions;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * This allows you to access the underlying {@link Blob} so that you can manually set metadata such
- * as length, content-type, or eTag hash.
- *
- * @author Adrian Cole
- *
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
-@Deprecated
-@ImplementedBy(BlobMapImpl.class)
-public interface BlobMap extends ListableMap<String, Blob> {
-
- /**
- *
- * @return builder for creating new {@link Blob}s
- */
- BlobBuilder blobBuilder();
-
- public static interface Factory {
- BlobMap create(String containerName, ListContainerOptions options);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/BlobStoreContext.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/BlobStoreContext.java b/blobstore/src/main/java/org/jclouds/blobstore/BlobStoreContext.java
index 36f3e10..269c71c 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/BlobStoreContext.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/BlobStoreContext.java
@@ -43,61 +43,6 @@ public interface BlobStoreContext extends Closeable, View {
BlobRequestSigner getSigner();
/**
- * Creates a <code>Map<String,InputStream></code> view of the specified container. Use this for
- * simplest access to blobstore, knowing that MD5s will be calculated for every object.
- *
- * @param container
- * existing container you wish to read or modify
- * @param options
- * allow you to specify a directory within the container, or whether to list
- * recursively.
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
- @Deprecated
- InputStreamMap createInputStreamMap(String container, ListContainerOptions options);
-
- /**
- * Creates a <code>Map<String,InputStream></code> view of the specified container. Use this for
- * simplest access to blobstore, knowing that MD5s will be calculated for every object.
- *
- * Only root-level blobs will be visible.
- *
- * @param container
- * existing container you wish to read or modify
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
- @Deprecated
- InputStreamMap createInputStreamMap(String container);
-
- /**
- * Creates a <code>Map<String,Blob></code> view of the specified container. Use this when you wan
- * to control the content type, or manually specify length or size of blobs.
- *
- * @param container
- * existing container you wish to read or modify
- * @param options
- * allow you to specify a directory within the container, or whether to list
- * recursively.
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
- @Deprecated
- BlobMap createBlobMap(String container, ListContainerOptions options);
-
- /**
- * Creates a <code>Map<String,Blob></code> view of the specified container.
- * Use this when you wan to control the content type, or manually specify
- * length or size of blobs.
- *
- * Only root-level blobs will be visible.
- *
- * @param container
- * existing container you wish to read or modify
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
- @Deprecated
- BlobMap createBlobMap(String container);
-
- /**
* @return a portable asynchronous interface for the BlobStore, which returns
* {@code Future}s for each call.
* @deprecated will be removed in jclouds 1.7, as async interfaces are no
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/InputStreamMap.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/InputStreamMap.java b/blobstore/src/main/java/org/jclouds/blobstore/InputStreamMap.java
deleted file mode 100644
index 05dfe88..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/InputStreamMap.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.Map;
-
-import org.jclouds.blobstore.internal.InputStreamMapImpl;
-import org.jclouds.blobstore.options.ListContainerOptions;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * Map view of an {@link org.jclouds.aws.s3.domain.S3Bucket}. Provides additional methods for
- * inserting common object types.
- * <p/>
- * <h2>Note</h2> All <code>put</code> operations will invoke
- * {@link org.jclouds.aws.s3.domain.S3Object#generateETag}. By extension,
- * {@link #put(Object, Object)} will result in the InputStream being converted to a byte array. For
- * this reason, do not use {@link #put(Object, Object)} to store files. Use
- * {@link #putFile(String, File)} or {@link S3ObjectMap} instead.
- *
- * @author Adrian Cole
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
-@Deprecated
-@ImplementedBy(InputStreamMapImpl.class)
-public interface InputStreamMap extends ListableMap<String, InputStream> {
- public static interface Factory {
- InputStreamMap create(String containerName, ListContainerOptions options);
- }
-
- InputStream putString(String key, String value);
-
- InputStream putFile(String key, File value);
-
- InputStream putBytes(String key, byte[] value);
-
- void putAllStrings(Map<? extends String, ? extends String> map);
-
- void putAllBytes(Map<? extends String, byte[]> map);
-
- void putAllFiles(Map<? extends String, ? extends File> map);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/ListableMap.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/ListableMap.java b/blobstore/src/main/java/org/jclouds/blobstore/ListableMap.java
deleted file mode 100644
index 88ea990..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/ListableMap.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore;
-
-import java.util.Map;
-
-import org.jclouds.blobstore.domain.StorageMetadata;
-
-/**
- * All Map views of {@link ContainerListing}s provide means to access the underlying Blob.
- *
- * @author Adrian Cole
- *
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
-@Deprecated
-public interface ListableMap<K, V> extends Map<K, V> {
-
- /**
- *
- * @return blob listing that this map represents
- */
- Iterable<? extends StorageMetadata> list();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreMapModule.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreMapModule.java b/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreMapModule.java
deleted file mode 100644
index 6031a9c..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/BlobStoreMapModule.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore.config;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.blobstore.BlobMap;
-import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.InputStreamMap;
-import org.jclouds.blobstore.domain.BlobBuilder;
-import org.jclouds.blobstore.internal.BlobMapImpl;
-import org.jclouds.blobstore.internal.InputStreamMapImpl;
-import org.jclouds.blobstore.options.ListContainerOptions;
-import org.jclouds.blobstore.strategy.ContainsValueInListStrategy;
-import org.jclouds.blobstore.strategy.GetBlobsInListStrategy;
-import org.jclouds.blobstore.strategy.PutBlobsStrategy;
-import org.jclouds.blobstore.strategy.internal.ListContainerAndRecurseThroughFolders;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Scopes;
-
-/**
- * Configures the domain object mappings needed for all Blob implementations
- *
- * @author Adrian Cole
- */
-public class BlobStoreMapModule extends AbstractModule {
-
- /**
- * explicit factories are created here as it has been shown that Assisted Inject is extremely
- * inefficient. http://code.google.com/p/google-guice/issues/detail?id=435
- */
- @Override
- protected void configure() {
- bind(BlobMap.Factory.class).to(BlobMapFactory.class).in(Scopes.SINGLETON);
- bind(InputStreamMap.Factory.class).to(InputStreamMapFactory.class).in(Scopes.SINGLETON);
- }
-
- private static class BlobMapFactory implements BlobMap.Factory {
- @Inject
- BlobStore connection;
- @Inject
- GetBlobsInListStrategy getAllBlobs;
- @Inject
- ContainsValueInListStrategy containsValueStrategy;
- @Inject
- PutBlobsStrategy putBlobsStrategy;
- @Inject
- ListContainerAndRecurseThroughFolders listStrategy;
- @Inject
- Provider<BlobBuilder> blobBuilders;
-
- public BlobMap create(String containerName, ListContainerOptions options) {
- return new BlobMapImpl(connection, getAllBlobs, containsValueStrategy, putBlobsStrategy, listStrategy,
- containerName, options, blobBuilders);
- }
-
- }
-
- private static class InputStreamMapFactory implements InputStreamMap.Factory {
- @Inject
- BlobStore connection;
- @Inject
- Provider<BlobBuilder> blobBuilders;
- @Inject
- GetBlobsInListStrategy getAllBlobs;
- @Inject
- ContainsValueInListStrategy containsValueStrategy;
- @Inject
- PutBlobsStrategy putBlobsStrategy;
- @Inject
- ListContainerAndRecurseThroughFolders listStrategy;
-
- public InputStreamMap create(String containerName, ListContainerOptions options) {
- return new InputStreamMapImpl(connection, blobBuilders, getAllBlobs, listStrategy, containsValueStrategy,
- putBlobsStrategy, containerName, options);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/config/TransientBlobStoreContextModule.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/config/TransientBlobStoreContextModule.java b/blobstore/src/main/java/org/jclouds/blobstore/config/TransientBlobStoreContextModule.java
index 93767b2..a5e816f 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/TransientBlobStoreContextModule.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/TransientBlobStoreContextModule.java
@@ -41,7 +41,6 @@ public class TransientBlobStoreContextModule extends AbstractModule {
// forward all requests from TransientBlobStore to TransientAsyncBlobStore. needs above binding as cannot proxy a class
bindSyncToAsyncApi(binder(), LocalBlobStore.class, AsyncBlobStore.class);
install(new BlobStoreObjectModule());
- install(new BlobStoreMapModule());
bind(BlobStore.class).to(LocalBlobStore.class);
bind(ConsistencyModel.class).toInstance(ConsistencyModel.STRICT);
bind(LocalStorageStrategy.class).to(TransientStorageStrategy.class);
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobMap.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobMap.java b/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobMap.java
deleted file mode 100644
index 6986d19..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/internal/BaseBlobMap.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore.internal;
-
-import static com.google.common.base.Functions.identity;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.transform;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.ListableMap;
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.domain.BlobMetadata;
-import org.jclouds.blobstore.domain.MutableBlobMetadata;
-import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
-import org.jclouds.blobstore.options.ListContainerOptions;
-import org.jclouds.blobstore.options.ListContainerOptions.ImmutableListContainerOptions;
-import org.jclouds.blobstore.strategy.ContainsValueInListStrategy;
-import org.jclouds.blobstore.strategy.GetBlobsInListStrategy;
-import org.jclouds.blobstore.strategy.PutBlobsStrategy;
-import org.jclouds.blobstore.strategy.internal.ListContainerAndRecurseThroughFolders;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Implements core Map functionality with a {@link BlobStore}
- *
- *
- * @author Adrian Cole
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
-@Deprecated
-public abstract class BaseBlobMap<V> implements ListableMap<String, V> {
- protected final BlobStore blobstore;
- protected final String containerName;
- protected final Function<String, String> prefixer;
- protected final Function<String, String> pathStripper;
- protected final ListContainerOptions options;
- protected final GetBlobsInListStrategy getAllBlobs;
- protected final ContainsValueInListStrategy containsValueStrategy;
- protected final ListContainerAndRecurseThroughFolders listStrategy;
- protected final PutBlobsStrategy putBlobsStrategy;
-
- static class StripPath implements Function<String, String> {
- private final String prefix;
- private final String delimiter;
-
- StripPath(String prefix, String delimiter) {
- this.prefix = checkNotNull(prefix, "prefix");
- this.delimiter = checkNotNull(delimiter, "delimiter");
- }
-
- public String apply(String from) {
- return from.replaceFirst(prefix + delimiter, "");
- }
- }
-
- static class PrefixKey implements Function<String, String> {
- private final String prefix;
- private final String delimiter;
-
- PrefixKey(String prefix, String delimiter) {
- this.prefix = checkNotNull(prefix, "prefix");
- this.delimiter = checkNotNull(delimiter, "delimiter");
- }
-
- public String apply(String from) {
- return prefix + delimiter + from;
- }
- }
-
- @Inject
- public BaseBlobMap(BlobStore blobstore, GetBlobsInListStrategy getAllBlobs,
- ContainsValueInListStrategy containsValueStrategy, PutBlobsStrategy putBlobsStrategy,
- ListContainerAndRecurseThroughFolders listStrategy, String containerName, ListContainerOptions options) {
- this.blobstore = checkNotNull(blobstore, "blobstore");
- this.containerName = checkNotNull(containerName, "container");
- checkArgument(containerName.indexOf('/') == -1,
- "please specify directory path using the option: inDirectory, not encoded in the container name");
- this.options = checkNotNull(options, "options") instanceof ImmutableListContainerOptions ? options
- : new ImmutableListContainerOptions(options);
- String dir = options.getDir();
- if (dir == null) {
- prefixer = identity();
- pathStripper = prefixer;
- } else {
- prefixer = new PrefixKey(dir, "/");
- pathStripper = new StripPath(dir, "/");
- }
- this.getAllBlobs = checkNotNull(getAllBlobs, "getAllBlobs");
- this.listStrategy = checkNotNull(listStrategy, "listStrategy");
- this.containsValueStrategy = checkNotNull(containsValueStrategy, "containsValueStrategy");
- this.putBlobsStrategy = checkNotNull(putBlobsStrategy, "putBlobsStrategy");
- checkArgument(!containerName.equals(""), "container name must not be a blank string!");
- }
-
- @Override
- public Set<java.util.Map.Entry<String, V>> entrySet() {
- return ImmutableSet.copyOf(transform(list(), new Function<BlobMetadata, Map.Entry<String, V>>() {
- @Override
- public java.util.Map.Entry<String, V> apply(BlobMetadata from) {
- return new Entry(pathStripper.apply(from.getName()));
- }
- }));
- }
-
- public class Entry implements java.util.Map.Entry<String, V> {
-
- private final String key;
-
- Entry(String key) {
- this.key = key;
- }
-
- @Override
- public String getKey() {
- return key;
- }
-
- @Override
- public V getValue() {
- return get(prefixer.apply(key));
- }
-
- @Override
- public V setValue(V value) {
- return put(prefixer.apply(key), value);
- }
-
- }
-
- @Override
- public int size() {
- return (int) blobstore.countBlobs(containerName, options);
- }
-
- protected Iterable<Blob> getAllBlobs() {
- Iterable<Blob> returnVal = getAllBlobs.execute(containerName, options);
- if (options != null) {
- for (Blob from : returnVal)
- stripPrefix(from);
- }
- return returnVal;
- }
-
- protected Blob stripPrefix(Blob from) {
- from.getMetadata().setName(pathStripper.apply(from.getMetadata().getName()));
- return from;
- }
-
- @Override
- public boolean containsValue(Object value) {
- return containsValueStrategy.execute(containerName, value, options);
- }
-
- @Override
- public void clear() {
- blobstore.clearContainer(containerName, options);
- }
-
- @Override
- public Set<String> keySet() {
- return ImmutableSet.copyOf(transform(list(), new Function<BlobMetadata, String>() {
- @Override
- public String apply(BlobMetadata from) {
- return from.getName();
- }
- }));
- }
-
- @Override
- public boolean containsKey(Object key) {
- String realKey = prefixer.apply(checkNotNull(key, "key").toString());
- return blobstore.blobExists(containerName, realKey);
- }
-
- @Override
- public boolean isEmpty() {
- return size() == 0;
- }
-
- public Iterable<? extends BlobMetadata> list() {
- return transform(listStrategy.execute(containerName, options), new Function<BlobMetadata, BlobMetadata>() {
- public BlobMetadata apply(BlobMetadata from) {
- MutableBlobMetadata md = new MutableBlobMetadataImpl(from);
- if (options.getDir() != null)
- md.setName(pathStripper.apply(from.getName()));
- return md;
- }
-
- });
- }
-
- @Override
- public String toString() {
- return "[containerName=" + containerName + ", options=" + options + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobMapImpl.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobMapImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobMapImpl.java
deleted file mode 100644
index 60ce143..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobMapImpl.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.transform;
-
-import java.util.Collection;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.blobstore.BlobMap;
-import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.KeyNotFoundException;
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.domain.BlobBuilder;
-import org.jclouds.blobstore.options.ListContainerOptions;
-import org.jclouds.blobstore.strategy.ContainsValueInListStrategy;
-import org.jclouds.blobstore.strategy.GetBlobsInListStrategy;
-import org.jclouds.blobstore.strategy.PutBlobsStrategy;
-import org.jclouds.blobstore.strategy.internal.ListContainerAndRecurseThroughFolders;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Map representation of a live connection to a Blob Service.
- *
- * @see BlobStore
- * @see BaseBlobMap
- *
- * @author Adrian Cole
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
-@Deprecated
-public class BlobMapImpl extends BaseBlobMap<Blob> implements BlobMap {
- public static class CorrectBlobName implements Function<java.util.Map.Entry<? extends String, ? extends Blob>, Blob> {
- private final Function<String, String> prefixer;
-
- public CorrectBlobName(Function<String, String> prefixer) {
- this.prefixer = checkNotNull(prefixer, "prefixer");
- }
-
- @Override
- public Blob apply(java.util.Map.Entry<? extends String, ? extends Blob> arg0) {
- return apply(arg0.getKey(), arg0.getValue());
- }
-
- public Blob apply(String key, Blob blob) {
- blob.getMetadata().setName(prefixer.apply(key));
- return blob;
- }
- }
-
- private final CorrectBlobName correctBlobName;
- private final Provider<BlobBuilder> blobBuilders;
-
- @Inject
- public BlobMapImpl(BlobStore blobstore, GetBlobsInListStrategy getAllBlobs,
- ContainsValueInListStrategy containsValueStrategy, PutBlobsStrategy putBlobsStrategy,
- ListContainerAndRecurseThroughFolders listStrategy, String containerName, ListContainerOptions options,
- Provider<BlobBuilder> blobBuilders) {
- super(blobstore, getAllBlobs, containsValueStrategy, putBlobsStrategy, listStrategy, containerName, options);
- this.correctBlobName = new CorrectBlobName(prefixer);
- this.blobBuilders = checkNotNull(blobBuilders, "blobBuilders");
- }
-
- @Override
- public Blob get(Object key) {
- String realKey = prefixer.apply(checkNotNull(key, "key").toString());
- Blob blob = blobstore.getBlob(containerName, realKey);
- return blob != null ? stripPrefix(blob) : null;
- }
-
- @Override
- public Blob put(String key, Blob value) {
- Blob returnVal = getLastValue(checkNotNull(key, "key"));
- blobstore.putBlob(containerName, correctBlobName.apply(key, value));
- return returnVal;
- }
-
- @Override
- public void putAll(Map<? extends String, ? extends Blob> map) {
- putBlobsStrategy.execute(containerName, transform(checkNotNull(map, "map").entrySet(), correctBlobName));
- }
-
- @Override
- public Blob remove(Object key) {
- Blob old = getLastValue(checkNotNull(key, "key"));
- String realKey = prefixer.apply(key.toString());
- blobstore.removeBlob(containerName, realKey);
- return old;
- }
-
- private Blob getLastValue(Object key) {
- Blob old;
- try {
- old = get(checkNotNull(key, "key"));
- } catch (KeyNotFoundException e) {
- old = null;
- }
- return old;
- }
-
- @Override
- public Collection<Blob> values() {
- return ImmutableSet.copyOf(getAllBlobs.execute(containerName, options));
- }
-
- @Override
- public BlobBuilder blobBuilder() {
- return blobBuilders.get();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobStoreContextImpl.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobStoreContextImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobStoreContextImpl.java
index 673f16e..11fa405 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobStoreContextImpl.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/internal/BlobStoreContextImpl.java
@@ -23,11 +23,9 @@ import javax.inject.Singleton;
import org.jclouds.Context;
import org.jclouds.blobstore.AsyncBlobStore;
-import org.jclouds.blobstore.BlobMap;
import org.jclouds.blobstore.BlobRequestSigner;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.BlobStoreContext;
-import org.jclouds.blobstore.InputStreamMap;
import org.jclouds.blobstore.attr.ConsistencyModel;
import org.jclouds.blobstore.options.ListContainerOptions;
import org.jclouds.internal.BaseView;
@@ -43,8 +41,6 @@ import com.google.common.reflect.TypeToken;
*/
@Singleton
public class BlobStoreContextImpl extends BaseView implements BlobStoreContext {
- private final BlobMap.Factory blobMapFactory;
- private final InputStreamMap.Factory inputStreamMapFactory;
private final AsyncBlobStore ablobStore;
private final BlobStore blobStore;
private final ConsistencyModel consistencyModel;
@@ -53,13 +49,11 @@ public class BlobStoreContextImpl extends BaseView implements BlobStoreContext {
@Inject
public BlobStoreContextImpl(@Provider Context backend, @Provider TypeToken<? extends Context> backendType,
- BlobMap.Factory blobMapFactory, Utils utils, ConsistencyModel consistencyModel,
- InputStreamMap.Factory inputStreamMapFactory, AsyncBlobStore ablobStore, BlobStore blobStore,
+ Utils utils, ConsistencyModel consistencyModel,
+ AsyncBlobStore ablobStore, BlobStore blobStore,
BlobRequestSigner blobRequestSigner) {
super(backend, backendType);
this.consistencyModel = checkNotNull(consistencyModel, "consistencyModel");
- this.blobMapFactory = checkNotNull(blobMapFactory, "blobMapFactory");
- this.inputStreamMapFactory = checkNotNull(inputStreamMapFactory, "inputStreamMapFactory");
this.ablobStore = checkNotNull(ablobStore, "ablobStore");
this.blobStore = checkNotNull(blobStore, "blobStore");
this.utils = checkNotNull(utils, "utils");
@@ -72,26 +66,6 @@ public class BlobStoreContextImpl extends BaseView implements BlobStoreContext {
}
@Override
- public BlobMap createBlobMap(String container, ListContainerOptions options) {
- return blobMapFactory.create(container, options);
- }
-
- @Override
- public BlobMap createBlobMap(String container) {
- return blobMapFactory.create(container, ListContainerOptions.NONE);
- }
-
- @Override
- public InputStreamMap createInputStreamMap(String container, ListContainerOptions options) {
- return inputStreamMapFactory.create(container, options);
- }
-
- @Override
- public InputStreamMap createInputStreamMap(String container) {
- return inputStreamMapFactory.create(container, ListContainerOptions.NONE);
- }
-
- @Override
public BlobStore getBlobStore() {
return blobStore;
}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/main/java/org/jclouds/blobstore/internal/InputStreamMapImpl.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/internal/InputStreamMapImpl.java b/blobstore/src/main/java/org/jclouds/blobstore/internal/InputStreamMapImpl.java
deleted file mode 100644
index bc74359..0000000
--- a/blobstore/src/main/java/org/jclouds/blobstore/internal/InputStreamMapImpl.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore.internal;
-
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.collect.Lists.newArrayList;
-import static org.jclouds.io.Payloads.newPayload;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.blobstore.BlobMap;
-import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.InputStreamMap;
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.domain.BlobBuilder;
-import org.jclouds.blobstore.options.ListContainerOptions;
-import org.jclouds.blobstore.strategy.ContainsValueInListStrategy;
-import org.jclouds.blobstore.strategy.GetBlobsInListStrategy;
-import org.jclouds.blobstore.strategy.PutBlobsStrategy;
-import org.jclouds.blobstore.strategy.internal.ListContainerAndRecurseThroughFolders;
-import org.jclouds.io.Payload;
-import org.jclouds.io.Payloads;
-import org.jclouds.io.payloads.ByteArrayPayload;
-import org.jclouds.io.payloads.FilePayload;
-import org.jclouds.io.payloads.InputStreamPayload;
-import org.jclouds.io.payloads.StringPayload;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
-
-/**
- * Map representation of a live connection to a BlobStore. All put operations will result in ETag
- * calculation. If this is not desired, use {@link BlobMap} instead.
- *
- * @author Adrian Cole
- *
- * @see BlobStore
- * @see InputStreamMap
- * @see BaseBlobMap
- * @deprecated will be removed in jclouds 1.7. Please use {@link BlobStore}
- */
-@Deprecated
-public class InputStreamMapImpl extends BaseBlobMap<InputStream> implements InputStreamMap {
-
- @Inject
- public InputStreamMapImpl(BlobStore connection, Provider<BlobBuilder> blobBuilders,
- GetBlobsInListStrategy getAllBlobs, ListContainerAndRecurseThroughFolders listStrategy,
- ContainsValueInListStrategy containsValueStrategy, PutBlobsStrategy putBlobsStrategy, String containerName,
- ListContainerOptions options) {
- super(connection, getAllBlobs, containsValueStrategy, putBlobsStrategy, listStrategy, containerName, options);
- }
-
- @Override
- public InputStream get(Object o) {
- String realKey = prefixer.apply(o.toString());
- Blob blob = blobstore.getBlob(containerName, realKey);
- return getInputStreamOrNull(blob);
- }
-
- private InputStream getInputStreamOrNull(Blob blob) {
- return blob != null ? blob.getPayload() != null ? blob.getPayload().getInput() : null : null;
- }
-
- @Override
- public InputStream remove(Object o) {
- InputStream old = get(o);
- String realKey = prefixer.apply(o.toString());
- blobstore.removeBlob(containerName, realKey);
- return old;
- }
-
- @Override
- public Collection<InputStream> values() {
- return newArrayList(transform(getAllBlobs.execute(containerName, options), new Function<Blob, InputStream>() {
- public InputStream apply(Blob from) {
- return getInputStreamOrNull(from);
- }
- }));
- }
-
- @Override
- public void putAll(Map<? extends String, ? extends InputStream> map) {
- putAllInternal(map);
- }
-
- @Override
- public void putAllBytes(Map<? extends String, byte[]> map) {
- putAllInternal(map);
- }
-
- @Override
- public void putAllFiles(Map<? extends String, ? extends File> map) {
- putAllInternal(map);
- }
-
- @Override
- public void putAllStrings(Map<? extends String, ? extends String> map) {
- putAllInternal(map);
- }
-
- /**
- * submits requests to add all objects and collects the results later. All values will have eTag
- * calculated first. As a side-effect of this, the content will be copied into a byte [].
- *
- * @see S3Client#put(String, Blob)
- */
- @VisibleForTesting
- void putAllInternal(Map<? extends String, ? extends Object> map) {
- putBlobsStrategy.execute(containerName,
- transform(map.entrySet(), new Function<Map.Entry<? extends String, ? extends Object>, Blob>() {
- @Override
- public Blob apply(Map.Entry<? extends String, ? extends Object> from) {
- String name = from.getKey();
- Object value = from.getValue();
- return newBlobWithMD5(name, value);
- }
-
- }));
- }
-
- @VisibleForTesting
- Blob newBlobWithMD5(String name, Object value) {
- Blob blob = blobstore.blobBuilder(prefixer.apply(name)).payload(newPayload(value)).build();
- try {
- Payloads.calculateMD5(blob);
- } catch (IOException e) {
- Throwables.propagate(e);
- }
- return blob;
- }
-
- @Override
- public InputStream putString(String key, String value) {
- return putInternal(key, new StringPayload(value));
- }
-
- @Override
- public InputStream putFile(String key, File value) {
- return putInternal(key, new FilePayload(value));
- }
-
- @Override
- public InputStream putBytes(String key, byte[] value) {
- return putInternal(key, new ByteArrayPayload(value));
- }
-
- @Override
- public InputStream put(String key, InputStream value) {
- return putInternal(key, new InputStreamPayload(value));
- }
-
- /**
- * calculates eTag before adding the object to s3. As a side-effect of this, the content will be
- * copied into a byte []. *
- *
- * @see S3Client#put(String, Blob)
- */
- @VisibleForTesting
- InputStream putInternal(String name, Payload payload) {
- InputStream returnVal = containsKey(name) ? get(name) : null;
- Blob blob = newBlobWithMD5(name, payload);
- blobstore.putBlob(containerName, blob);
- return returnVal;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientBlobMapIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientBlobMapIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientBlobMapIntegrationTest.java
deleted file mode 100644
index 76ffefc..0000000
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientBlobMapIntegrationTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore.integration;
-
-import org.jclouds.blobstore.integration.internal.BaseBlobMapIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-
-@Test(groups = { "integration", "live" })
-public class TransientBlobMapIntegrationTest extends BaseBlobMapIntegrationTest {
- public TransientBlobMapIntegrationTest() {
- provider = "transient";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/5f896172/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientInputStreamMapIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientInputStreamMapIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientInputStreamMapIntegrationTest.java
deleted file mode 100644
index 3ffd31e..0000000
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/TransientInputStreamMapIntegrationTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.blobstore.integration;
-
-import org.jclouds.blobstore.integration.internal.BaseInputStreamMapIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = { "integration", "live" })
-public class TransientInputStreamMapIntegrationTest extends BaseInputStreamMapIntegrationTest {
- public TransientInputStreamMapIntegrationTest() {
- provider = "transient";
- }
-}