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