Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.12.0
    • Component/s: None
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      Currently, we don't have any component to use a CIFS/Samba share.

      Using jcifs, users will be able to use CIFS shares.

      This component is an extension of the file one (more or less like camel-ftp).

      1. camel-jcifs-wiki.txt
        8 kB
        Pontus Ullgren
      2. camel-jcifs-20130717.zip
        117 kB
        Pontus Ullgren
      3. Camel Component -- Samba.patch
        5 kB
        Shaun Elliott

        Activity

        Hide
        Claus Ibsen added a comment -

        commons-vfs is not active maintained anymore, IMHO we should not depend on such projects in components out of the box at Apache.

        We have previously debated this and decided to not do a commons-vfs component at Camel.

        Show
        Claus Ibsen added a comment - commons-vfs is not active maintained anymore, IMHO we should not depend on such projects in components out of the box at Apache. We have previously debated this and decided to not do a commons-vfs component at Camel.
        Hide
        Jean-Baptiste Onofré added a comment -

        OK Claus, so, what do you think about creating camel-jcifs ?

        Show
        Jean-Baptiste Onofré added a comment - OK Claus, so, what do you think about creating camel-jcifs ?
        Hide
        Achim Nierbeck added a comment -

        http://jcifs.samba.org/ is under the LGPL, does this work out, or does it need to be placed into the google components?

        Show
        Achim Nierbeck added a comment - http://jcifs.samba.org/ is under the LGPL, does this work out, or does it need to be placed into the google components?
        Hide
        Jean-Baptiste Onofré added a comment -

        It could be in Camel Extra (at google).

        Show
        Jean-Baptiste Onofré added a comment - It could be in Camel Extra (at google).
        Hide
        Pontus Ullgren added a comment -

        I've just pushed a component to github that we have developed and used in integration projects at Redpill Linpro.
        https://github.com/Redpill-Linpro/camel-smb

        Current status is that "it works for us" and it still needs some more polishing especially when it comes to javadoc and unit test cases.

        If this component is of interest for the Camel Extra project we would be happy to move it there.

        Show
        Pontus Ullgren added a comment - I've just pushed a component to github that we have developed and used in integration projects at Redpill Linpro. https://github.com/Redpill-Linpro/camel-smb Current status is that "it works for us" and it still needs some more polishing especially when it comes to javadoc and unit test cases. If this component is of interest for the Camel Extra project we would be happy to move it there.
        Hide
        Claus Ibsen added a comment -

        Pontus fell free to work on a contribution to camel-extra.

        I think Henryk and other in the community wants to maintain camel-extra more activity and ensure releases gets promoted to maven central etc.

        Show
        Claus Ibsen added a comment - Pontus fell free to work on a contribution to camel-extra. I think Henryk and other in the community wants to maintain camel-extra more activity and ensure releases gets promoted to maven central etc.
        Hide
        Henryk Konsek added a comment -

        I'll create "Camel-ready" component from Pentus GitHub project and contribute it to extras. BTW yes, we're working on resurrecting Camel-Extra together with Christian .

        Show
        Henryk Konsek added a comment - I'll create "Camel-ready" component from Pentus GitHub project and contribute it to extras. BTW yes, we're working on resurrecting Camel-Extra together with Christian .
        Hide
        Pontus Ullgren added a comment -

        If there is some guidelines on how to make the component more "camel-ready" I would be glad to help in this process.

        Show
        Pontus Ullgren added a comment - If there is some guidelines on how to make the component more "camel-ready" I would be glad to help in this process.
        Hide
        Henryk Konsek added a comment - - edited

        Hi Pontus,

        First of all I'd start with changing package name to the org.apachextras.camel.component.jcifs .

        The same with Maven artifacts (org.apache-extras.camel-extra:camel-jcifs) naming and parent POM inheritance (org.apache-extras.camel-extra:components).

        Also build of the module fails (mvn install) due to the reference to some config file in user home directory:

        File configFile = new File(System.getProperty("user.home")File.separator"camelsmb.prp");

        We should be able to build module issuing just 'mvn install' so all resources needed to run standard set of tests should be available for Maven (probably in 'resource' directory). You need probably to mock Samba resources access for unit testing.

        This is a good point to start from I'll take a closer look at the component itself after my holidays.

        Show
        Henryk Konsek added a comment - - edited Hi Pontus, First of all I'd start with changing package name to the org.apachextras.camel.component.jcifs . The same with Maven artifacts (org.apache-extras.camel-extra:camel-jcifs) naming and parent POM inheritance (org.apache-extras.camel-extra:components). Also build of the module fails (mvn install) due to the reference to some config file in user home directory: File configFile = new File(System.getProperty("user.home") File.separator "camelsmb.prp"); We should be able to build module issuing just 'mvn install' so all resources needed to run standard set of tests should be available for Maven (probably in 'resource' directory). You need probably to mock Samba resources access for unit testing. This is a good point to start from I'll take a closer look at the component itself after my holidays.
        Hide
        Claus Ibsen added a comment -

        Any update on this?

        Show
        Claus Ibsen added a comment - Any update on this?
        Hide
        Pontus Ullgren added a comment -

        I've updated the project so that the unit tests are running with mocked Samba resources.

        I also have a locale branch where I've refactored the package name I will push that as soon as I'm back on my regular computer.

        Show
        Pontus Ullgren added a comment - I've updated the project so that the unit tests are running with mocked Samba resources. I also have a locale branch where I've refactored the package name I will push that as soon as I'm back on my regular computer.
        Hide
        Shaun Elliott added a comment -

        I am using a forked version of this, and it seems to work fairly well. I'd really like to see this rolled in to camel and would help if needed.

        Show
        Shaun Elliott added a comment - I am using a forked version of this, and it seems to work fairly well. I'd really like to see this rolled in to camel and would help if needed.
        Hide
        Pontus Ullgren added a comment -

        I've just pushed a CAMEL-4321 branch to github. It contains the same code with a new package name (org.apacheextras.camel.component.jcifs).

        @Clause: Any more changes needed for it to fit in apache extras ?

        @Shaun: Any pull requests are welcome

        Show
        Pontus Ullgren added a comment - I've just pushed a CAMEL-4321 branch to github. It contains the same code with a new package name (org.apacheextras.camel.component.jcifs). @Clause: Any more changes needed for it to fit in apache extras ? @Shaun: Any pull requests are welcome
        Hide
        Shaun Elliott added a comment -

        @Pontus: Thanks for your work on this! As of yet I have no needed to modify the code except to add in a method to make it compliant with camel 2.11.0. The only reason I forked it was to get it in to our local maven (artifactory) instance. If it were in maven central, I would just use it as is. Thanks again!

        Show
        Shaun Elliott added a comment - @Pontus: Thanks for your work on this! As of yet I have no needed to modify the code except to add in a method to make it compliant with camel 2.11.0. The only reason I forked it was to get it in to our local maven (artifactory) instance. If it were in maven central, I would just use it as is. Thanks again!
        Hide
        Shaun Elliott added a comment -

        Ok, I found a bug... or at least missing functionality.

        The endpoint does not support the fileExists=Append param

        Show
        Shaun Elliott added a comment - Ok, I found a bug... or at least missing functionality. The endpoint does not support the fileExists=Append param
        Hide
        Shaun Elliott added a comment -

        I have attached a patch that fixes the append bug I reported before.

        Show
        Shaun Elliott added a comment - I have attached a patch that fixes the append bug I reported before.
        Hide
        Pontus Ullgren added a comment -

        Thanks, however from the pacth it seems that you have refactored the package names so the patch does not apply cleanly to the existing source.

        Also since this component is not yet accepted into Camel Extra could you please provide and submit the patch on the github project (https://github.com/Redpill-Linpro/camel-smb).
        Preferably as a pull request.

        Thanks
        Pontus

        Show
        Pontus Ullgren added a comment - Thanks, however from the pacth it seems that you have refactored the package names so the patch does not apply cleanly to the existing source. Also since this component is not yet accepted into Camel Extra could you please provide and submit the patch on the github project ( https://github.com/Redpill-Linpro/camel-smb ). Preferably as a pull request. Thanks Pontus
        Show
        Shaun Elliott added a comment - https://github.com/Redpill-Linpro/camel-smb/pull/1
        Hide
        Shaun Elliott added a comment -

        What remains to be done to get this integrated in to camel extras? I am willing to help as needed.

        Show
        Shaun Elliott added a comment - What remains to be done to get this integrated in to camel extras? I am willing to help as needed.
        Hide
        Claus Ibsen added a comment -

        I think Pontus needs to attach a .zip file with the codebase for this component. Then I can get that into camel-extra.
        Though it would be nice if the packagename has been refactored to match the package names we use in camel-extra.

        Show
        Claus Ibsen added a comment - I think Pontus needs to attach a .zip file with the codebase for this component. Then I can get that into camel-extra. Though it would be nice if the packagename has been refactored to match the package names we use in camel-extra.
        Hide
        Pontus Ullgren added a comment -

        Attached is the source code found in the CAMEL-4321 branch in the github repo.

        I believe the package names follow the camel extra naming conventions however the pom does not use the correct parent but this is since no 2.11.* version of the artefact org.apache-extras.camel-extra:components:pom is not yet published on maven repo.

        Show
        Pontus Ullgren added a comment - Attached is the source code found in the CAMEL-4321 branch in the github repo. I believe the package names follow the camel extra naming conventions however the pom does not use the correct parent but this is since no 2.11.* version of the artefact org.apache-extras.camel-extra:components:pom is not yet published on maven repo.
        Hide
        Claus Ibsen added a comment -

        Thanks for the contribution. Its added to camel-extra.

        Do you have any documentation to contribute?
        If you have edit rights you can add it to the page:

        http://camel.apache.org/component-list

        Show
        Claus Ibsen added a comment - Thanks for the contribution. Its added to camel-extra. Do you have any documentation to contribute? If you have edit rights you can add it to the page: http://camel.apache.org/component-list
        Hide
        Shaun Elliott added a comment -

        When will it be in maven central? Is that automatic, or is that something that needs to be done? I can help with this if needed too.

        Show
        Shaun Elliott added a comment - When will it be in maven central? Is that automatic, or is that something that needs to be done? I can help with this if needed too.
        Hide
        Christian Müller added a comment -

        It's part of the 2.11-SNAPSHOT version [1]. Somebody of the Camel-Extra team has to take the stab and release Camel Extra 2.11.0. Afterwards, it will be available in Maven central...

        [1] http://code.google.com/a/apache-extras.org/p/camel-extra/source/detail?r=1043

        Show
        Christian Müller added a comment - It's part of the 2.11-SNAPSHOT version [1] . Somebody of the Camel-Extra team has to take the stab and release Camel Extra 2.11.0. Afterwards, it will be available in Maven central... [1] http://code.google.com/a/apache-extras.org/p/camel-extra/source/detail?r=1043
        Hide
        Claus Ibsen added a comment -

        Pontus, let us know if you can help with the documentation? Would be great to have it on the Camel components list.

        Show
        Claus Ibsen added a comment - Pontus, let us know if you can help with the documentation? Would be great to have it on the Camel components list.
        Hide
        Pontus Ullgren added a comment -

        Yes I will add the documentation.

        Show
        Pontus Ullgren added a comment - Yes I will add the documentation.
        Hide
        Shaun Elliott added a comment -

        I am out of office returning 8/26

        Please contact ITIntegration@paml.com if you require immediate assistance.

        PAML EMAIL DISCLAIMER:
        Information contained in this message may be privileged and confidential.
        If the reader of this message is not the intended recipient, be notified
        that any dissemination, distribution or copying of this communication is
        strictly prohibited. If this communication is received in error, please
        notify the sender immediately by replying to the message and deleting
        from your computer. Thank you

        Show
        Shaun Elliott added a comment - I am out of office returning 8/26 Please contact ITIntegration@paml.com if you require immediate assistance. PAML EMAIL DISCLAIMER: Information contained in this message may be privileged and confidential. If the reader of this message is not the intended recipient, be notified that any dissemination, distribution or copying of this communication is strictly prohibited. If this communication is received in error, please notify the sender immediately by replying to the message and deleting from your computer. Thank you
        Hide
        Claus Ibsen added a comment -

        Pontus, how goes with adding the docs? Sorry for picking on you but documentation is also important. If we do not have the docs we would possible need to remove the component from the distro.

        Show
        Claus Ibsen added a comment - Pontus, how goes with adding the docs? Sorry for picking on you but documentation is also important. If we do not have the docs we would possible need to remove the component from the distro.
        Hide
        Pontus Ullgren added a comment -

        Thanks for reminding me.

        I've just started the process of applying for permission to edit the documentation by sending in the ICLA.

        Show
        Pontus Ullgren added a comment - Thanks for reminding me. I've just started the process of applying for permission to edit the documentation by sending in the ICLA.
        Hide
        Claus Ibsen added a comment -

        Documentation is missing

        Show
        Claus Ibsen added a comment - Documentation is missing
        Hide
        Pontus Ullgren added a comment -

        While waiting for my ICLA to be accepted here is the documenation. Perhaps Claus can help me add it into the Wiki.

        Show
        Pontus Ullgren added a comment - While waiting for my ICLA to be accepted here is the documenation. Perhaps Claus can help me add it into the Wiki.
        Hide
        Christian Müller added a comment -

        Pontus Ullgren: Did you already sent your ICLA to Apache?

        Show
        Christian Müller added a comment - Pontus Ullgren : Did you already sent your ICLA to Apache?
        Hide
        Christian Müller added a comment -
        Show
        Christian Müller added a comment - Thanks for contributing the documentation. I have created the pages: https://cwiki.apache.org/confluence/display/CAMEL/Components https://cwiki.apache.org/confluence/display/CAMEL/JCIFS

          People

          • Assignee:
            Claus Ibsen
            Reporter:
            Jean-Baptiste Onofré
          • Votes:
            4 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development