diff --git a/README.txt b/README.txt index 6ee13974c5..e7e67bb017 100644 --- a/README.txt +++ b/README.txt @@ -24,7 +24,7 @@ our compute api supports: aws-ec2, gogrid, cloudservers-us, stub (in-memory), our blobstore api supports: aws-s3, cloudfiles-us, cloudfiles-uk, filesystem, azureblob, atmos (generic), synaptic-storage, scaleup-storage, cloudonestorage, walrus(generic), googlestorage, - scality-rs2 (generic), hosteurope-storage, + scality-rs2 (generic), hosteurope-storage, tiscali-storage, eucalyptus-partnercloud-s3, swift (generic), transient (in-mem) * note * the pom dependency org.jclouds/jclouds-allblobstore gives you access to diff --git a/allblobstore/pom.xml b/allblobstore/pom.xml index 13834051c6..859e3f8cb4 100644 --- a/allblobstore/pom.xml +++ b/allblobstore/pom.xml @@ -54,6 +54,11 @@ scaleup-storage ${project.version} + + org.jclouds.provider + tiscali-storage + ${project.version} + org.jclouds.provider hosteurope-storage diff --git a/core/src/main/resources/rest.properties b/core/src/main/resources/rest.properties index 1b2d272f74..f260ec720c 100644 --- a/core/src/main/resources/rest.properties +++ b/core/src/main/resources/rest.properties @@ -184,6 +184,9 @@ scaleup-storage.propertiesbuilder=org.jclouds.scaleup.storage.ScaleUpStorageProp hosteurope-storage.contextbuilder=org.jclouds.scality.rs2.ScalityRS2ContextBuilder hosteurope-storage.propertiesbuilder=org.jclouds.hosteurope.storage.HostEuropeStoragePropertiesBuilder +tiscali-storage.contextbuilder=org.jclouds.scality.rs2.ScalityRS2ContextBuilder +tiscali-storage.propertiesbuilder=org.jclouds.tiscali.storage.TiscaliStoragePropertiesBuilder + transient.contextbuilder=org.jclouds.blobstore.TransientBlobStoreContextBuilder transient.propertiesbuilder=org.jclouds.blobstore.TransientBlobStorePropertiesBuilder diff --git a/providers/pom.xml b/providers/pom.xml index a98fc44ae0..8cbb2094ec 100644 --- a/providers/pom.xml +++ b/providers/pom.xml @@ -41,6 +41,7 @@ aws-ec2 googlestorage scaleup-storage + tiscali-storage hosteurope-storage synaptic-storage cloudonestorage diff --git a/providers/tiscali-storage/pom.xml b/providers/tiscali-storage/pom.xml new file mode 100644 index 0000000000..4edfecdc14 --- /dev/null +++ b/providers/tiscali-storage/pom.xml @@ -0,0 +1,152 @@ + + + + + 4.0.0 + + org.jclouds + jclouds-project + 1.0-SNAPSHOT + ../../project/pom.xml + + org.jclouds.provider + tiscali-storage + jclouds Tisali Cloud Storage provider + Scality RING (ScalityRS2) implementation targeted to Tisali Cloud Storage + + + org.jclouds.tiscali.storage.blobstore.TiscaliStorageTestInitializer + https://storage.tiscali.it + 2006-03-01 + FIX_ME + FIX_ME + + + + + org.jclouds.api + scality-rs2 + ${project.version} + jar + + + org.jclouds.api + scality-rs2 + ${project.version} + test-jar + test + + + org.jclouds.api + s3 + ${project.version} + test-jar + test + + + org.jclouds + jclouds-core + ${project.version} + test-jar + test + + + org.jclouds + jclouds-blobstore + ${project.version} + test-jar + test + + + org.jclouds.driver + jclouds-log4j + ${project.version} + test + + + log4j + log4j + 1.2.16 + test + + + + + + live + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration + integration-test + + test + + + 1 + + + test.tiscali-storage.endpoint + ${test.tiscali-storage.endpoint} + + + test.tiscali-storage.apiversion + ${test.tiscali-storage.apiversion} + + + test.tiscali-storage.identity + ${test.tiscali-storage.identity} + + + test.tiscali-storage.credential + ${test.tiscali-storage.credential} + + + test.initializer + ${test.initializer} + + + jclouds.blobstore.httpstream.url + ${jclouds.blobstore.httpstream.url} + + + jclouds.blobstore.httpstream.md5 + ${jclouds.blobstore.httpstream.md5} + + + + + + + + + + + + + + diff --git a/providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java b/providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java new file mode 100644 index 0000000000..f1be9befcf --- /dev/null +++ b/providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java @@ -0,0 +1,47 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage; + +import static org.jclouds.Constants.PROPERTY_ENDPOINT; +import static org.jclouds.Constants.PROPERTY_ISO3166_CODES; + +import java.util.Properties; + +import org.jclouds.scality.rs2.ScalityRS2PropertiesBuilder; + +/** + * Builds properties used in Tiscali Storage + * + * @author Adrian Cole + */ +public class TiscaliStoragePropertiesBuilder extends ScalityRS2PropertiesBuilder { + @Override + protected Properties defaultProperties() { + Properties properties = super.defaultProperties(); + properties.setProperty(PROPERTY_ISO3166_CODES, "IT"); + properties.setProperty(PROPERTY_ENDPOINT, "https://storage.tiscali.it"); + return properties; + } + + public TiscaliStoragePropertiesBuilder(Properties properties) { + super(properties); + } + +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java new file mode 100644 index 0000000000..20138946d7 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java @@ -0,0 +1,35 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage; + +import org.jclouds.scality.rs2.ScalityRS2ClientLiveTest; +import org.testng.annotations.Test; + +/** + * Tests behavior of {@code ScalityRS2Client} + * + * @author Adrian Cole + */ +@Test(groups = "live", sequential = true, testName = "TiscaliStorageClientLiveTest") +public class TiscaliStorageClientLiveTest extends ScalityRS2ClientLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java new file mode 100644 index 0000000000..355518f82b --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java @@ -0,0 +1,33 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobIntegrationLiveTest; +import org.testng.annotations.Test; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageBlobIntegrationLiveTest") +public class TiscaliStorageBlobIntegrationLiveTest extends ScalityRS2BlobIntegrationLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java new file mode 100644 index 0000000000..4ce429a090 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java @@ -0,0 +1,33 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobLiveTest; +import org.testng.annotations.Test; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageBlobLiveTest") +public class TiscaliStorageBlobLiveTest extends ScalityRS2BlobLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java new file mode 100644 index 0000000000..e6fb48d80b --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java @@ -0,0 +1,33 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobMapIntegrationLiveTest; +import org.testng.annotations.Test; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageBlobMapIntegrationLiveTest") +public class TiscaliStorageBlobMapIntegrationLiveTest extends ScalityRS2BlobMapIntegrationLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java new file mode 100644 index 0000000000..81faa706f6 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java @@ -0,0 +1,34 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobSignerLiveTest; +import org.testng.annotations.Test; + +/** + * + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageBlobSignerLiveTest") +public class TiscaliStorageBlobSignerLiveTest extends ScalityRS2BlobSignerLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java new file mode 100644 index 0000000000..8431244ae0 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java @@ -0,0 +1,33 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerIntegrationLiveTest; +import org.testng.annotations.Test; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageContainerIntegrationLiveTest") +public class TiscaliStorageContainerIntegrationLiveTest extends ScalityRS2ContainerIntegrationLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java new file mode 100644 index 0000000000..4a50577c37 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java @@ -0,0 +1,33 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerLiveTest; +import org.testng.annotations.Test; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageContainerLiveTest") +public class TiscaliStorageContainerLiveTest extends ScalityRS2ContainerLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java new file mode 100644 index 0000000000..91fb3d701d --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java @@ -0,0 +1,33 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2InputStreamMapIntegrationLiveTest; +import org.testng.annotations.Test; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageInputStreamMapIntegrationLiveTest") +public class TiscaliStorageInputStreamMapIntegrationLiveTest extends ScalityRS2InputStreamMapIntegrationLiveTest { + static { + containerCount = 4; + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java new file mode 100644 index 0000000000..ee9df27162 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java @@ -0,0 +1,42 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import java.util.Set; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2ServiceIntegrationLiveTest; +import org.testng.annotations.Test; + +import com.google.common.collect.ImmutableSet; + +/** + * @author Adrian Cole + */ +@Test(groups = "live", testName = "TiscaliStorageServiceIntegrationLiveTest") +public class TiscaliStorageServiceIntegrationLiveTest extends ScalityRS2ServiceIntegrationLiveTest { + static { + containerCount = 4; + } + + @Override + protected Set getIso3166Codes() { + return ImmutableSet. of("IT"); + } +} diff --git a/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java new file mode 100644 index 0000000000..af9fc4a011 --- /dev/null +++ b/providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java @@ -0,0 +1,36 @@ +/** + * + * Copyright (C) 2010 Cloud Conscious, LLC. + * + * ==================================================================== + * Licensed 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.tiscali.storage.blobstore; + +import org.jclouds.scality.rs2.blobstore.ScalityRS2TestInitializer; + + +/** + * + * @author Adrian Cole + */ +public class TiscaliStorageTestInitializer extends ScalityRS2TestInitializer { + + public TiscaliStorageTestInitializer() { + provider = "tiscali-storage"; + } + + +}