Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 2.0.0-M1
    • Fix Version/s: 2.0.6
    • Component/s: Example, Integration
    • Labels:
      None

      Description

      Here's a contribution of bindings for the Scala language. Since announcing an initial version six weeks ago, I've taken some time to improve and extend them. They're now quite different from that first version. They still needs more documentation and some unit tests, but are generally in a state that I'm happy with.

      Notes:

      • Patch is against trunk.
      • The bindings are in a new submodule called "integration-scala".
      • Scala examples have been added to the "example" submodule. These are also currently the best documentation for the bindings.
      • Code is formatted and indented according to the convention used in the Scala compiler, which I take to be the "standard" for Scala code.

      Warning: This patch approximately doubles the time it takes to perform a "mvn -Dmaven.test.skip install" on my computer. This time can probably be improved by trying to run the Scala compiler once within each submodule, rather than multiple times, but the effect will still be noticeable. If this increase in build time is problem, then the bindings probably may need to stay outside MINA's trunk.

      1. bindings-for-scala.2.patch
        84 kB
        Rich Dougherty
      2. bindings-for-scala.3.patch
        84 kB
        Rich Dougherty
      3. bindings-for-scala.patch
        87 kB
        Rich Dougherty

        Activity

        Hide
        rich dougherty Rich Dougherty added a comment -

        Contribution v1.

        Show
        rich dougherty Rich Dougherty added a comment - Contribution v1.
        Hide
        trustin Trustin Lee added a comment -

        First of all, thank you very much for your contribution! For now, we don't have any committer who knows Scala, so importing your patch immediately might make it unmaintainable module without your help. Please keep posting patches and show your will to contribute to the MINA project, then hopefully you could join the team and provide the top quality Scala integration for MINA. I am already impressed though.

        Show
        trustin Trustin Lee added a comment - First of all, thank you very much for your contribution! For now, we don't have any committer who knows Scala, so importing your patch immediately might make it unmaintainable module without your help. Please keep posting patches and show your will to contribute to the MINA project, then hopefully you could join the team and provide the top quality Scala integration for MINA. I am already impressed though.
        Hide
        rich dougherty Rich Dougherty added a comment -

        Hi Trustin

        That seems fair enough.

        I've created a Mercurial repository to maintain this patch against trunk. Would you like me periodically attach patches to this ticket?

        The patched version of MINA can be found at: http://www.assembla.com/spaces/scala-mina

        Cheers
        Rich

        Show
        rich dougherty Rich Dougherty added a comment - Hi Trustin That seems fair enough. I've created a Mercurial repository to maintain this patch against trunk. Would you like me periodically attach patches to this ticket? The patched version of MINA can be found at: http://www.assembla.com/spaces/scala-mina Cheers Rich
        Hide
        trustin Trustin Lee added a comment -

        Sure, please keep posting patches and I really appreciate it!

        Show
        trustin Trustin Lee added a comment - Sure, please keep posting patches and I really appreciate it!
        Hide
        rich dougherty Rich Dougherty added a comment -

        Here's an updated patch that tracks changes in the trunk (e.g. removed bindings for serial transport). It also fixes a bug which stopped the cleanup code from running properly when an IoSessionActor exited.

        Show
        rich dougherty Rich Dougherty added a comment - Here's an updated patch that tracks changes in the trunk (e.g. removed bindings for serial transport). It also fixes a bug which stopped the cleanup code from running properly when an IoSessionActor exited.
        Hide
        trustin Trustin Lee added a comment -

        Thank you Rich for your continuous update. I am impressed. I also find Scala a very good language and am learning it step by step. Hopefully I could help you soon...

        Show
        trustin Trustin Lee added a comment - Thank you Rich for your continuous update. I am impressed. I also find Scala a very good language and am learning it step by step. Hopefully I could help you soon...
        Hide
        rich dougherty Rich Dougherty added a comment -

        Updated patch to latest revision on trunk (635930) and the recently released Scala 2.7.0-final. Unfortunately Scala 2.7.0 has a bug which prevents it from parsing certain MINA classfiles (http://lampsvn.epfl.ch/trac/scala/ticket/489). This has required me to comment out the NetCat example. I'm expecting a fix in Scala 2.7.1.

        Show
        rich dougherty Rich Dougherty added a comment - Updated patch to latest revision on trunk (635930) and the recently released Scala 2.7.0-final. Unfortunately Scala 2.7.0 has a bug which prevents it from parsing certain MINA classfiles ( http://lampsvn.epfl.ch/trac/scala/ticket/489 ). This has required me to comment out the NetCat example. I'm expecting a fix in Scala 2.7.1.
        Hide
        elecharny Emmanuel Lecharny added a comment -

        We aren't going to add some Scala code in the project, unless we have people supporting it

        Show
        elecharny Emmanuel Lecharny added a comment - We aren't going to add some Scala code in the project, unless we have people supporting it

          People

          • Assignee:
            Unassigned
            Reporter:
            rich dougherty Rich Dougherty
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development