You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "David Ostrovsky (Jira)" <ji...@apache.org> on 2020/07/03 22:03:00 UTC

[jira] [Updated] (SSHD-1030) Provide support for NoFileSystemFactoryProvider

     [ https://issues.apache.org/jira/browse/SSHD-1030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Ostrovsky updated SSHD-1030:
----------------------------------
    Description: 
Prior to 2.5.0 release Gerrit was using this was to initialize {{FileSystemFactoryProvider}}:

 
{code:java}
private void initFileSystemFactory() {
    setFileSystemFactory(
        session ->
            new FileSystem() {
              @Override
              public void close() throws IOException {}

              @Override
              public Iterable<FileStore> getFileStores() {
                return null;
              }

              @Override
              public Path getPath(String arg0, String... arg1) {
                return null;
              }

              @Override
              public PathMatcher getPathMatcher(String arg0) {
                return null;
              }

              @Override
              public Iterable<Path> getRootDirectories() {
                return null;
              }

              @Override
              public String getSeparator() {
                return null;
              }

              @Override
              public UserPrincipalLookupService getUserPrincipalLookupService() {
                return null;
              }

              @Override
              public boolean isOpen() {
                return false;
              }

              @Override
              public boolean isReadOnly() {
                return false;
              }

              @Override
              public WatchService newWatchService() throws IOException {
                return null;
              }

              @Override
              public FileSystemProvider provider() {
                return null;
              }

              @Override
              public Set<String> supportedFileAttributeViews() {
                return null;
              }
            });
  }
{code}
After the migration to release 2.5.1 it doesn't compile any more, because the {{FileSystemFactory}} factory is not \{{FunctionalInterface}} any more, as it has two methods now.

We could do something like this:
{code:java}
  private void initFileSystemFactory() {
      setFileSystemFactory(NativeFileSystemFactory.INSTANCE);
  }
{code}
But given that we are not using sftp, it could be even safer to just say:
{code:java}
  private void noFileSystemFactory() {
      setFileSystemFactory(NoFileSystemFactory.INSTANCE);
  }
{code}

  was:
Prior to 2.5.0 release Gerrit was using this was to initialize \{{FileSystemFactoryProvider}}:

 

{code:java}
private void initFileSystemFactory() {
    setFileSystemFactory(
        session ->
            new FileSystem() {
              @Override
              public void close() throws IOException {}

              @Override
              public Iterable<FileStore> getFileStores() {
                return null;
              }

              @Override
              public Path getPath(String arg0, String... arg1) {
                return null;
              }

              @Override
              public PathMatcher getPathMatcher(String arg0) {
                return null;
              }

              @Override
              public Iterable<Path> getRootDirectories() {
                return null;
              }

              @Override
              public String getSeparator() {
                return null;
              }

              @Override
              public UserPrincipalLookupService getUserPrincipalLookupService() {
                return null;
              }

              @Override
              public boolean isOpen() {
                return false;
              }

              @Override
              public boolean isReadOnly() {
                return false;
              }

              @Override
              public WatchService newWatchService() throws IOException {
                return null;
              }

              @Override
              public FileSystemProvider provider() {
                return null;
              }

              @Override
              public Set<String> supportedFileAttributeViews() {
                return null;
              }
            });
  }
{code}

After the migration to release 2.5.1 it doesn't compile any more, because the {{FileSystemFactory}} factory is not FunctionalInterface any more.

We could something like this:

{code:java}
  private void initFileSystemFactory() {
      setFileSystemFactory(NativeFileSystemFactory.INSTANCE);
  }
{code}

But given that we are not using sftp, it could be even safer to just say:

{code:java}
  private void noFileSystemFactory() {
      setFileSystemFactory(NoFileSystemFactory.INSTANCE);
  }
{code}


> Provide support for NoFileSystemFactoryProvider
> -----------------------------------------------
>
>                 Key: SSHD-1030
>                 URL: https://issues.apache.org/jira/browse/SSHD-1030
>             Project: MINA SSHD
>          Issue Type: New Feature
>    Affects Versions: 2.5.1
>            Reporter: David Ostrovsky
>            Priority: Minor
>
> Prior to 2.5.0 release Gerrit was using this was to initialize {{FileSystemFactoryProvider}}:
>  
> {code:java}
> private void initFileSystemFactory() {
>     setFileSystemFactory(
>         session ->
>             new FileSystem() {
>               @Override
>               public void close() throws IOException {}
>               @Override
>               public Iterable<FileStore> getFileStores() {
>                 return null;
>               }
>               @Override
>               public Path getPath(String arg0, String... arg1) {
>                 return null;
>               }
>               @Override
>               public PathMatcher getPathMatcher(String arg0) {
>                 return null;
>               }
>               @Override
>               public Iterable<Path> getRootDirectories() {
>                 return null;
>               }
>               @Override
>               public String getSeparator() {
>                 return null;
>               }
>               @Override
>               public UserPrincipalLookupService getUserPrincipalLookupService() {
>                 return null;
>               }
>               @Override
>               public boolean isOpen() {
>                 return false;
>               }
>               @Override
>               public boolean isReadOnly() {
>                 return false;
>               }
>               @Override
>               public WatchService newWatchService() throws IOException {
>                 return null;
>               }
>               @Override
>               public FileSystemProvider provider() {
>                 return null;
>               }
>               @Override
>               public Set<String> supportedFileAttributeViews() {
>                 return null;
>               }
>             });
>   }
> {code}
> After the migration to release 2.5.1 it doesn't compile any more, because the {{FileSystemFactory}} factory is not \{{FunctionalInterface}} any more, as it has two methods now.
> We could do something like this:
> {code:java}
>   private void initFileSystemFactory() {
>       setFileSystemFactory(NativeFileSystemFactory.INSTANCE);
>   }
> {code}
> But given that we are not using sftp, it could be even safer to just say:
> {code:java}
>   private void noFileSystemFactory() {
>       setFileSystemFactory(NoFileSystemFactory.INSTANCE);
>   }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org