Hi Hassan,
On Wed, Mar 28, 2012 at 09:56:40PM +0200, Hassan Radi
wrote:> My name is Hassan Radi and I have been working in the software development
> field for 4 years. Most of my work involves working with Java as its my
> preferred language, but I can also work with C#, C++ and JSP. I have
> participated in the Open Source community with two projects: JPDF Tools and
> JPDF Export. The two projects are hosted on SourceForge website. For more
> information regarding these projects please refer to:
> http://sourceforge.net/projects/jpdftools/,
> http://sourceforge.net/projects/jpdfexport/.
>
> My questions are:
> 1- I don't have experience with SWIG and JNI. Can I learn them during
the
> GSoC period?
Yes, though I'd start looking at them now so you have a reasonable idea
of what the project will entail, and so create a sane project plan.
> 2- I need to know more information regarding the Java bindings project and
> what is exactly required to be implemented?
There isn't a more exact spec than what's in the project idea. You
should work out in more detail what's going to be needed as part of
the process of writing your proposal.
If you look at the xapian-bindings/java on trunk, you'll see that in
SmokeTest.java quite a lot of testcases are commented out. These work
with the JNI bindings, but don't currently. In some cases, perhaps
the old API can be improved on, in others it would be good to support
the same API. So considering those cases should get you started.
> 3- What should I expect to work with? Plain Java, Threads or external
> Libraries?
This shouldn't require external libraries. Probably simply providing
the same thread guarantees as the C++ API makes most sense.
> 4- The project mentor is James Aylett and the Wiki mentioned something
> about not to contact him directly, so I was wondering what should I do if I
> need more information for my GSoC application? Should I write about that
> here in the mailing list?
Yes, use the mailing list. James has just identified himself as a
potential mentor - it's quite possible somebody else may end up
mentoring the project. Even if that wasn't the case, public discussion
is preferable in open source projects.
You might want to consider if just working on Java is going to be
enough to keep you busy, as it's probably the smallest project on the
list - I notice you're in your third year, and you have developed the
jpdf projects which suggests you are reasonably experienced at
development in Java already. You'll need to learn about SWIG of course
but there's already a largely working set of bindings for Java to start
with.
Tackling Java and C# is a reasonable logical combination, as SWIG's
support is very similar for the two. The C# bindings are usable,
but a few wrapped features don't work, and some things could be wrapped
in nicer ways.
Cheers,
Olly