Author: jsorel
Date: Fri Feb 23 14:44:11 2018
New Revision: 1825131

URL: http://svn.apache.org/viewvc?rev=1825131&view=rev
Log:
Naming : rename FileSystemResource, remove default writable resource method 
implementations

Added:
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ResourceOnFileSystem.java
      - copied, changed from r1825130, 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FileSystemResource.java
Removed:
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FileSystemProvider.java
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FileSystemResource.java
Modified:
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/WritableStore.java
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
    
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableFeatureSet.java

Copied: 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ResourceOnFileSystem.java
 (from r1825130, 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FileSystemResource.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ResourceOnFileSystem.java?p2=sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ResourceOnFileSystem.java&p1=sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FileSystemResource.java&r1=1825130&r2=1825131&rev=1825131&view=diff
==============================================================================
--- 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/FileSystemResource.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/ResourceOnFileSystem.java
 [UTF-8] Fri Feb 23 14:44:11 2018
@@ -40,11 +40,8 @@ import org.apache.sis.storage.Resource;
  * @version 1.0
  * @since   1.0
  * @module
- *
- * @todo Current name suggests resources provided by the file system (i.e. 
files and directories).
- *       Rename as {@code FileBackedResource}, {@code ResourceBackedByFiles} 
or {@code ResourceOnFileSystem}?
  */
-public interface FileSystemResource extends Resource {
+public interface ResourceOnFileSystem extends Resource {
     /**
      * Gets the paths to files potentially used by this resource.
      * This is typically the files opened by a {@linkplain 
org.apache.sis.storage.DataStore data store}.
@@ -67,10 +64,6 @@ public interface FileSystemResource exte
      *
      * @return files used by this resource. Should never be {@code null}.
      * @throws DataStoreException if an error on the file system prevent the 
creation of the list.
-     *
-     * @todo Rename {@code getComponentFiles()}? The reason is that it is not 
returning the paths of
-     *       multiple resources, but paths to components of this single 
resources. The use of "Files"
-     *       is for emphasing that this method should not return path to 
directories.
      */
-    Path[] getResourcePaths() throws DataStoreException;
+    Path[] getComponentFiles() throws DataStoreException;
 }

Modified: 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java?rev=1825131&r1=1825130&r2=1825131&view=diff
==============================================================================
--- 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
 [UTF-8] Fri Feb 23 14:44:11 2018
@@ -101,7 +101,7 @@ public abstract class URIDataStore exten
      * @since   0.8
      * @module
      */
-    public abstract static class Provider extends DataStoreProvider implements 
FileSystemProvider {
+    public abstract static class Provider extends DataStoreProvider {
         /**
          * Description of the location parameter.
          */
@@ -170,7 +170,6 @@ public abstract class URIDataStore exten
          *
          * @return the filename suffixes, case insensitive. Never null but can 
be empty.
          */
-        @Override
         public final List<String> getSuffix() {
             return Collections.unmodifiableList(suffix);
         }

Modified: 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/WritableStore.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/WritableStore.java?rev=1825131&r1=1825130&r2=1825131&view=diff
==============================================================================
--- 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/WritableStore.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/WritableStore.java
 [UTF-8] Fri Feb 23 14:44:11 2018
@@ -34,10 +34,10 @@ import org.apache.sis.storage.FeatureSet
 import org.apache.sis.storage.WritableAggregate;
 import org.apache.sis.storage.WritableFeatureSet;
 import org.apache.sis.internal.storage.StoreUtilities;
-import org.apache.sis.internal.storage.FileSystemProvider;
-import org.apache.sis.internal.storage.FileSystemResource;
 import org.apache.sis.internal.storage.Resources;
 import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.internal.storage.ResourceOnFileSystem;
+import org.apache.sis.internal.storage.URIDataStore;
 
 
 /**
@@ -82,8 +82,8 @@ final class WritableStore extends Store
         if (filename == null) {
             throw new 
DataStoreException(message(Resources.Keys.MissingResourceIdentifier_1, 
StoreUtilities.getLabel(resource)));
         }
-        if (componentProvider instanceof FileSystemProvider) {
-            final Iterator<String> suffixes = ((FileSystemProvider) 
componentProvider).getSuffix().iterator();
+        if (componentProvider instanceof URIDataStore.Provider) {
+            final Iterator<String> suffixes = ((URIDataStore.Provider) 
componentProvider).getSuffix().iterator();
             if (suffixes.hasNext()) {
                 filename += '.' + suffixes.next();
             }
@@ -129,8 +129,8 @@ final class WritableStore extends Store
                 try {
                     if (store instanceof Store) {
                         deleteRecursively(((Store) store).location, true);
-                    } else if (store instanceof FileSystemResource) {
-                        for (Path c : ((FileSystemResource) 
store).getResourcePaths()) {
+                    } else if (store instanceof ResourceOnFileSystem) {
+                        for (Path c : ((ResourceOnFileSystem) 
store).getComponentFiles()) {
                             Files.delete(c);
                         }
                     }
@@ -163,8 +163,8 @@ final class WritableStore extends Store
                     children.remove(path);
                     return;
                 }
-            } else if (resource instanceof FileSystemResource) {
-                final Path[] componentPaths = ((FileSystemResource) 
resource).getResourcePaths().clone();
+            } else if (resource instanceof ResourceOnFileSystem) {
+                final Path[] componentPaths = ((ResourceOnFileSystem) 
resource).getComponentFiles().clone();
                 for (final Path root : componentPaths) {
                     if (Files.isSameFile(root.getParent(), location)) {
                         for (final Path path : componentPaths) {

Modified: 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java?rev=1825131&r1=1825130&r2=1825131&view=diff
==============================================================================
--- 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableAggregate.java
 [UTF-8] Fri Feb 23 14:44:11 2018
@@ -16,8 +16,6 @@
  */
 package org.apache.sis.storage;
 
-import org.apache.sis.internal.storage.Resources;
-
 
 /**
  * An {@linkplain Aggregate} with writing capabilities.
@@ -49,16 +47,11 @@ public interface WritableAggregate exten
      * <p>The {@link Capability#WRITABLE} flag if presents in the {@link 
#getCapabilities()} set
      * indicates that this method should be implemented.</p>
      *
-     * <p>The default implementation throws {@link 
ReadOnlyStorageException}.</p>
-     *
      * @param  resource  the resource to copy in this {@code Aggregate}.
      * @return the effectively added resource. May be {@code resource} itself 
if it has been added verbatim.
-     * @throws ReadOnlyStorageException if this instance does not support 
write operations.
      * @throws DataStoreException if the given resource can not be stored in 
this {@code Aggregate} for another reason.
      */
-    default Resource add(Resource resource) throws ReadOnlyStorageException, 
DataStoreException {
-        throw new ReadOnlyStorageException(this, 
Resources.Keys.StoreIsReadOnly);
-    }
+    Resource add(Resource resource) throws DataStoreException;
 
     /**
      * Removes a {@code Resource} from this {@code Aggregate}.
@@ -67,13 +60,8 @@ public interface WritableAggregate exten
      * <p>The {@link Capability#WRITABLE} flag if presents in the {@link 
#getCapabilities()} set
      * indicates that this method should be implemented.</p>
      *
-     * <p>The default implementation throws {@link 
ReadOnlyStorageException}.</p>
-     *
      * @param  resource  child resource to remove, should not be null.
-     * @throws ReadOnlyStorageException if this instance does not support 
write operations.
      * @throws DataStoreException if the given resource could not be removed 
for another reason.
      */
-    default void remove(Resource resource) throws ReadOnlyStorageException, 
DataStoreException {
-        throw new ReadOnlyStorageException(this, 
Resources.Keys.StoreIsReadOnly);
-    }
+    void remove(Resource resource) throws DataStoreException;
 }

Modified: 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableFeatureSet.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableFeatureSet.java?rev=1825131&r1=1825130&r2=1825131&view=diff
==============================================================================
--- 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableFeatureSet.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/WritableFeatureSet.java
 [UTF-8] Fri Feb 23 14:44:11 2018
@@ -19,7 +19,6 @@ package org.apache.sis.storage;
 import java.util.Iterator;
 import java.util.function.Predicate;
 import java.util.function.UnaryOperator;
-import org.apache.sis.internal.storage.Resources;
 
 // Branch-dependent imports
 import org.opengis.feature.Feature;
@@ -45,16 +44,11 @@ public interface WritableFeatureSet exte
      * <p>Feature sets may restrict the kind of changes that are allowed. An 
{@link IllegalFeatureTypeException}
      * will be thrown if the given type contains incompatible property 
changes.</p>
      *
-     * <p>The default implementation throws a {@linkplain 
ReadOnlyStorageException}.</p>
-     *
      * @param  newType  new feature type definition (not {@code null}).
-     * @throws ReadOnlyStorageException if this instance does not support 
schema update.
      * @throws IllegalFeatureTypeException if the given type is not compatible 
with the types supported by the store.
      * @throws DataStoreException if another error occurred while changing the 
feature type.
      */
-    default void updateType(FeatureType newType) throws 
ReadOnlyStorageException, IllegalFeatureTypeException, DataStoreException {
-        throw new ReadOnlyStorageException(this, 
Resources.Keys.StoreIsReadOnly);
-    }
+    void updateType(FeatureType newType) throws IllegalFeatureTypeException, 
DataStoreException;
 
     /**
      * Inserts new features in this {@code FeatureSet}.
@@ -69,15 +63,10 @@ public interface WritableFeatureSet exte
      * <p>The {@link Capability#WRITABLE} flag if presents in the {@link 
#getCapabilities()} set
      * indicates that this method should be implemented.</p>
      *
-     * <p>The default implementation throws {@link 
ReadOnlyStorageException}.</p>
-     *
      * @param  features features to insert in this {@code FeatureSet}.
-     * @throws ReadOnlyStorageException if this instance does not support 
write operations.
      * @throws DataStoreException if another error occurred while storing new 
features.
      */
-    default void add(Iterator<? extends Feature> features) throws 
ReadOnlyStorageException, DataStoreException {
-        throw new ReadOnlyStorageException(this, 
Resources.Keys.StoreIsReadOnly);
-    }
+    void add(Iterator<? extends Feature> features) throws DataStoreException;
 
     /**
      * Removes all features from this {@code FeatureSet} which matches the 
given predicate.
@@ -85,16 +74,11 @@ public interface WritableFeatureSet exte
      * <p>The {@link Capability#WRITABLE} flag if presents in the {@link 
#getCapabilities()} set
      * indicates that this method should be implemented.</p>
      *
-     * <p>The default implementation throws {@link 
ReadOnlyStorageException}.</p>
-     *
      * @param  filter  a predicate which returns true for resources to be 
removed.
      * @return {@code true} if any elements were removed.
-     * @throws ReadOnlyStorageException if this instance does not support 
write operations.
      * @throws DataStoreException if another error occurred while removing 
features.
      */
-    default boolean removeIf(Predicate<? super Feature> filter) throws 
ReadOnlyStorageException, DataStoreException {
-        throw new ReadOnlyStorageException(this, 
Resources.Keys.StoreIsReadOnly);
-    }
+    boolean removeIf(Predicate<? super Feature> filter) throws 
DataStoreException;
 
     /**
      * Updates all features from this {@code FeatureSet} which matches the 
given predicate.
@@ -111,16 +95,10 @@ public interface WritableFeatureSet exte
      * <p>The {@link Capability#WRITABLE} flag if presents in the {@link 
#getCapabilities()} set
      * indicates that this method should be implemented.</p>
      *
-     * <p>The default implementation throws {@link 
ReadOnlyStorageException}.</p>
-     *
      * @param  filter   a predicate which returns true for resources to be 
updated.
      * @param  updater  operation called for each matching {@link Feature}.
-     * @throws ReadOnlyStorageException if this instance does not support 
write operations.
      * @throws DataStoreException if another error occurred while replacing 
features.
      */
-    default void replaceIf(Predicate<? super Feature> filter, 
UnaryOperator<Feature> updater)
-            throws ReadOnlyStorageException, DataStoreException
-    {
-        throw new ReadOnlyStorageException(this, 
Resources.Keys.StoreIsReadOnly);
-    }
+    void replaceIf(Predicate<? super Feature> filter, UnaryOperator<Feature> 
updater)
+            throws DataStoreException;
 }


Reply via email to