On Thu, Jun 10, 2010 at 20:19, Chuck Johnstone
<[email protected]>wrote:

> Hi,
>
> As per the previous email I'm going to experimentally rework SftpSubsystem
> to use a db backend.
>
> My current approach is to copy SftpSubsystem and abstract out the file
> access.  The new class is called AbstractSftpSubsystem.
>
> Right now I've created an interface that mimics all the pertinent bits of
> java.io.File as used in SftpSubsystem.
>
> The interface currently looks like this:
>
>    public static interface SftpFile { // from java.io.File
>        boolean exists();
>        boolean createNewFile();
>        SftpFile getParentFile(); // based on File.getParentFile()
>        String getPath();
>        long length();
>        boolean canRead();
>        boolean canWrite();
>        boolean isFile();
>        boolean isDirectory();
>        long lastModified();
>        SftpFile[] listFiles();
>        String getName();
>        boolean delete();
>        boolean mkdir();
>        boolean renameTo(SftpFile dest);
>        SftpFile getAbsoluteFile();
>    }
>

Yeah, looks good.  Though, we'd need to be able to read / write to those
files, which isn't possible in this interface.
I really wonder if a simplier approach would be to just copy the FtpFile
interface [1] into the subsystem package.  At least, we'd know that we'll be
able to bridge with FtpServer quite easily.

[1]
http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java?view=markup

>
> I believe this is in line with the discussion so far.  If there is a better
> way let me know.  I'll submit patches if you think this approach is useful.
>
> Cool ! Patches is the way to go ...


> The good news is that my company is funding the development time.  The
> above approach is our short term solution to this problem but we're also
> interested in a longer term solution.  Mention was made of moving this into
> apache ftpServer.  We intend to help with that too.  I've used ftpServer to
> implement a backend FTPS solution so I'm a bit familiar with the system but
> I'm not familiar with the details of SFTP.  I'm assuming that SFTP code from
> SftpSubsystem could be ported into Mina ftpServer structures.
>

Well, I'm not very familiar with the FtpServer project.  I wonder if it
would be easier / cleaner to integrate SSHD into FtpServer project as an
additional transport, or integrate FtpServer into SSHD as a new backend for
SFTP subsystem.  Maybe other FtpServer people can jump in and throw some
ideas here.


>
> I'll be focused on the short term solution over the next few weeks but
> after that I can move onto the longer term solution.  Discussion/guidance in
> this task will be greatly appreciated.
>
> Chuck Johnstone
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to