You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Ramon Buckland (JIRA)" <ji...@apache.org> on 2009/01/23 07:05:59 UTC

[jira] Updated: (CAMEL-1241) Add camel-commons-vfs component

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

Ramon Buckland updated CAMEL-1241:
----------------------------------

    Attachment: commons-vfs-changes-part1.file-refactoring.diff

Attached is the refactoring to "extract out" the "generic File stuff" from the RemoteFile* implementation.

All the tests are working as they were with this refactoring.

Now I will create a commons-vfs implementation underneath the Generic*

Note, I am uploading this now so that other can see what I am currently doing, get an idea for it.

Hopefully I will have commons-vfs completed by tomorrow, at which time I will supply the new patch that is EVERYTHING including this attached one.

> Add camel-commons-vfs component
> -------------------------------
>
>                 Key: CAMEL-1241
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1241
>             Project: Apache Camel
>          Issue Type: New Feature
>    Affects Versions: 2.0.0
>            Reporter: Ramon Buckland
>            Assignee: Ramon Buckland
>             Fix For: 2.0.0
>
>         Attachments: commons-vfs-changes-part1.file-refactoring.diff
>
>
> Add a new component camel-commons-vfs which utilises the commons-vfs library providing access to zip,jar,tgz,cifs,ftp and many other wonderful "file" type resources.
> The component will go into camel 2.0 as the new camel-file and camel-ftp components have been re-written to support a better model.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Updated: (CAMEL-1241) Add camel-commons-vfs component

Posted by Claus Ibsen <cl...@gmail.com>.
On Fri, Jan 23, 2009 at 7:51 AM, Ramon Buckland
<ra...@gmail.com> wrote:
> Just had a thought.
>
> I will put the Generic* into camel-core.. and taylor each patch from there ?
> How does that sound ?
+1 that is fine as well
Its new files into core and thus wont affect anything else.

>
> by the way. Having all of those test cases for the FTP was fantastic. It
> makes me confident in the change as 80% of the tests failed, then minor
> fixes and I had it all working again. So good work to all the test makers.
Well it have taken quite some time to add all these tests. But yeah
its important that we have so many for the file/ftp components.


>
> On Fri, Jan 23, 2009 at 17:33, Ramon Buckland <ra...@gmail.com>wrote:
>
>> > Ramon, what do you say?
>>
>> Sounds Good.
>>
>> I will start with (1) very shortly (about to hop on ferry for home).
>>
>> r.
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/

Re: [jira] Updated: (CAMEL-1241) Add camel-commons-vfs component

Posted by Ramon Buckland <ra...@gmail.com>.
Just had a thought.

I will put the Generic* into camel-core.. and taylor each patch from there ?
How does that sound ?

by the way. Having all of those test cases for the FTP was fantastic. It
makes me confident in the change as 80% of the tests failed, then minor
fixes and I had it all working again. So good work to all the test makers.

On Fri, Jan 23, 2009 at 17:33, Ramon Buckland <ra...@gmail.com>wrote:

> > Ramon, what do you say?
>
> Sounds Good.
>
> I will start with (1) very shortly (about to hop on ferry for home).
>
> r.
>

Re: [jira] Updated: (CAMEL-1241) Add camel-commons-vfs component

Posted by Ramon Buckland <ra...@gmail.com>.
> Ramon, what do you say?

Sounds Good.

I will start with (1) very shortly (about to hop on ferry for home).

r.

Re: [jira] Updated: (CAMEL-1241) Add camel-commons-vfs component

Posted by Claus Ibsen <cl...@gmail.com>.
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
<ra...@gmail.com> 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: http://fusesource.com
Blog: http://davsclaus.blogspot.com/

Re: [jira] Updated: (CAMEL-1241) Add camel-commons-vfs component

Posted by Ramon Buckland <ra...@gmail.com>.
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*