camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: [jira] Updated: (CAMEL-1241) Add camel-commons-vfs component
Date Fri, 23 Jan 2009 06:25:13 GMT
Hi Ramon

Yeah its a big refactor. Looks good.

I do think we should consider java generics (the <T> stuff) for the
Generic* interfaces,
but that is something we can get done later.

Looks great and impressive that all the unit tests still passes.

Since its a big refactor and the diff is huge we should avoid
commiting to FTP/File in the trunk right now.
To avoid the diff getting out of hands. Well this is for the Camel committers!

To get the stuff into the trunk I think we need multiple diffs to
avoid one huge.

So if you can provide diffs in multiple steps. A rough plan like this:

1) Generic* that are used by the FTP component
2) When #1 is commited to triunk and you code is aligned with trunk,
then move on to
3) Move Generic* from camel-ftp to camel-core
4) When #3 is commited to triunk and you code is aligned with trunk,
then move on to
5) You can start on commons-vfs component
6) Then we can take a look at the java generics stuff <T> and get that
done in the right way
7) Refactor File in camel-core to use the new generics
8) Add the new commons-vfs component when its ready and done
9) Add wiki doc for the new commons-vfs component

Ramon, what do you say?

On Fri, Jan 23, 2009 at 7:14 AM, Ramon Buckland
<> wrote:
> Claus (and others)
> If you have time, can you please take a cursory glance at my refactoring. I
> think there are a few rough edges which I am hoping to sort out when I
> implement the commons-vfs from the Generic*
> The crux of the change so far is as follows.
> (a) refactor org.apache.camel.component.file.remote.Remote* so there is a
> base that can be extended.
> * All current FTP Remote code resides in
> org.apache.camel.component.file.remote
> * It's parent Abstract base, interface and superclasses are
> org.apache.camel.component.file.Generic*
> * FTP and SFTP are now concrete implementations (no sharing of protocol in
> same class); common code is pushed to Remote* classes.
> The next part will be to
> (b) Implement commons-vfs undeneath org.apache.camel.component.file.Generic*
> (c) move org.apache.camel.component.file.Generic* to camel-core.
> (d) Have camel-core:file implement / extend
> org.apache.camel.component.file.Generic*

Claus Ibsen
Apache Camel Committer

Open Source Integration:

View raw message