JCLOUDS-992: remove special directory handling.

Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/0c5a3db9
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/0c5a3db9
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/0c5a3db9

Branch: refs/heads/master
Commit: 0c5a3db9dfa114a740cec3bb42733b1a5d1af6a2
Parents: 5fcfcf3
Author: Timur Alperovich <[email protected]>
Authored: Tue Aug 18 11:36:17 2015 -0700
Committer: Andrew Gaul <[email protected]>
Committed: Thu Aug 20 12:42:11 2015 -0700

----------------------------------------------------------------------
 .../jclouds/blobstore/domain/StorageType.java   | 18 ++++++-
 .../strategy/IfDirectoryReturnNameStrategy.java | 31 ------------
 .../MarkersIfDirectoryReturnNameStrategy.java   | 50 --------------------
 .../internal/BaseContainerIntegrationTest.java  |  2 +-
 4 files changed, 17 insertions(+), 84 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c5a3db9/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageType.java
----------------------------------------------------------------------
diff --git 
a/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageType.java 
b/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageType.java
index 61b156d..d06fb55 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageType.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/domain/StorageType.java
@@ -18,9 +18,23 @@ package org.jclouds.blobstore.domain;
 
 public enum StorageType {
 
-   CONTAINER, BLOB, FOLDER, 
    /**
-    * path will only include a name
+    * A container
+    */
+   CONTAINER,
+   /**
+    * An object in the object store
+    */
+   BLOB,
+   /**
+    * Represents "special" blobs that have content-type set to
+    * application/directory.
+    */
+   FOLDER,
+   /**
+    * A partial path; used when the delimiter is set and represents all objects
+    * that start with the same name up to the delimiter character (e.g. foo-bar
+    * and foo-baz, with delimiter set to "-" will be returned as "foo-").
     */
    RELATIVE_PATH;
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c5a3db9/blobstore/src/main/java/org/jclouds/blobstore/strategy/IfDirectoryReturnNameStrategy.java
----------------------------------------------------------------------
diff --git 
a/blobstore/src/main/java/org/jclouds/blobstore/strategy/IfDirectoryReturnNameStrategy.java
 
b/blobstore/src/main/java/org/jclouds/blobstore/strategy/IfDirectoryReturnNameStrategy.java
deleted file mode 100644
index 351af03..0000000
--- 
a/blobstore/src/main/java/org/jclouds/blobstore/strategy/IfDirectoryReturnNameStrategy.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.strategy;
-
-import org.jclouds.blobstore.domain.StorageMetadata;
-import 
org.jclouds.blobstore.strategy.internal.MarkersIfDirectoryReturnNameStrategy;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * Determines if a directory exists or not.
- */
-@ImplementedBy(MarkersIfDirectoryReturnNameStrategy.class)
-public interface IfDirectoryReturnNameStrategy {
-
-   String execute(StorageMetadata metadata);
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c5a3db9/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkersIfDirectoryReturnNameStrategy.java
----------------------------------------------------------------------
diff --git 
a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkersIfDirectoryReturnNameStrategy.java
 
b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkersIfDirectoryReturnNameStrategy.java
deleted file mode 100644
index a82a30c..0000000
--- 
a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/MarkersIfDirectoryReturnNameStrategy.java
+++ /dev/null
@@ -1,50 +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.strategy.internal;
-
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.domain.BlobMetadata;
-import org.jclouds.blobstore.domain.StorageMetadata;
-import org.jclouds.blobstore.reference.BlobStoreConstants;
-import org.jclouds.blobstore.strategy.IfDirectoryReturnNameStrategy;
-
-@Singleton
-public class MarkersIfDirectoryReturnNameStrategy implements 
IfDirectoryReturnNameStrategy {
-   @Override
-   public String execute(StorageMetadata metadata) {
-      switch (metadata.getType()) {
-      case CONTAINER:
-      case FOLDER:
-      case RELATIVE_PATH:
-         return metadata.getName();
-      case BLOB:
-         BlobMetadata blobMd = (BlobMetadata) metadata;
-         for (String suffix : BlobStoreConstants.DIRECTORY_SUFFIXES) {
-            if (metadata.getName().endsWith(suffix)) {
-               return metadata.getName().substring(0, 
metadata.getName().lastIndexOf(suffix));
-            }
-         }
-         // It is important that this is last, in case there is a file with a 
known directory
-         // suffix who also has content type set to application/directory
-         if (blobMd.getContentMetadata().getContentType() != null
-               && 
blobMd.getContentMetadata().getContentType().equals("application/directory"))
-            return metadata.getName();
-      }
-      return null;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0c5a3db9/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
 
b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
index 263adbe..fda30a4 100644
--- 
a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
+++ 
b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseContainerIntegrationTest.java
@@ -256,7 +256,7 @@ public class BaseContainerIntegrationTest extends 
BaseBlobStoreIntegrationTest {
          awaitConsistency();
 
          assert view.getBlobStore().directoryExists(containerName, directory);
-         assert view.getBlobStore().directoryExists(containerName, directory + 
"/" + directory);
+         assertThat(view.getBlobStore().directoryExists(containerName, 
directory + "/" + directory)).isFalse();
 
          // should have only the 2 level-deep directory above
          container = view.getBlobStore().list(containerName, 
inDirectory(directory));

Reply via email to