[sane-devel] Java API (japi) Changes

Klemens Dickbauer klemens.dickbauer@msk-informatik.at
Sun, 2 Nov 2003 22:37:27 +0100


Hi Chris and Henning!

I also started some work on the Java Api. My aim is to provide a scan-wrapper 
that would also work under other OSes (like similar solutions in Java). Since 
the Windows side (TWAIN) is not easy to handle when you want to stay pretty 
close to OSS I started with some work on the SANE side.
I would be pretty happy to coordinate myself with other people working on the 
Sane Java-API.

How far is work ongoing on your side? I started with the changes of Silvio 
(thanks to him) already a few month ago but unfortunately had to back down 
the last weeks because of a lot of work in my office...

i hope i can contribute to the project,
~klemens

Am Freitag, 31. Oktober 2003 10:58 schrieb Henning Meier-Geinitz:
> Hi,
>
> sorry for the late response. I hoped someone else would answer :-)
>
> On Fri, Oct 24, 2003 at 03:08:58PM -0500, Chris Chesney wrote:
> > We've created a beta version of a web-based document management
> > system that we hope to provide as an open source solution if the
> > product matures.
>
> Ah, sound nice.
>
> > The solution is Java based and our intent was to
> > use the JNI wrappers provided in the japi directory as means to
> > control the backend scanning.  We're learning as we go, but this is
> > what we've done so far:
>
> Thanks for the comments. Unfortunetely I don't know anything about
> java and I'm not even able to run "make" in japi/. Well I am, but it
>
> doesn't work:
> | javac Sane.java
> | javah -jni Sane
> | couldn't find class SaneOption
> | couldn't find class SaneParameters
> | make: *** [Sane.h] Fehler 1
>
> After setting classpath to . :
> | javac --classpath . Jscanimage.java
> | Jscanimage.java:715: Warnung: Discouraged redundant use of public'
> | modifier in declaration of abstract method setFromControl'.
> |        public void setFromControl();	   // Ask SANE control for
> |        current value.
> |        ^
> | Jscanimage.java:68: error: Class or interface
> | com.sun.java.swing.event.ChangeListener' not found in import.
> |    import com.sun.java.swing.event.ChangeListener;
> |           ^
> | Jscanimage.java:95: error: Type JButton' not found in declaration of
> | field scanButton'.
> |        private JButton scanButton, previewButton;
> |                ^
> | Jscanimage.java:0: confused by earlier errors, bailing out
>
> Well, I'm using gcj et al, maybe that just doesn't work or I'm missing
> something.
>
> > 1.  Fixed a bug in Sane.c - Line 268 should be
> > jclass stringClass = (*env)->FindClass(env, "java/lang/String");
> > *NOT*
> > jclass stringClass = (*env)->FindClass(env, "String");
>
> Ok.
>
> > 2.  Added a package statement to the following 5 java classes.  For
> > our purposes, I called the package japi.  It would be more
> > appropriate to follow the typical package naming convention and would
> > ask for a suggestion from you if you want this committed to the
> > project.
> >
> > - SaneDevice.java
> > - SaneOption.java
> > - SaneParameters.java
> > - SaneRange.java
> > - Sane.java
>
> No idea. What is the "typical package naming convention"? The pacakge
> containing the java api is called "sane-backends". Maybe we should
> split the japi stuff from sane-backends anyway.
>
> > 3.  By making these files part of a package, Sane.c requires an
> > additional change to make the object references fully qualified.
>
> Well, as I said I have no idea about the details of Java. So I ask
> anyone with some experiences with java to just send a patch (and an
> update of the documentation) to get it working :-)
>
> > We haven't done anything with the Swing app that is included in the
> > japi directory because we lack the experience in Swing and it isn't
> > necessary for the project we're working on.  If your interested in
> > separating the wrapper code from the example java apps, we're almost
> > there and would be happy to work with you to get it committed.
>
> That sounds reasonable. Patches are welcome. But that's stuff for
> after the release of sane-backends 1.0.13.
>
> > if you were looking for more of a complete overhaul of the entire
> > directory, we're probably not up for the challenge.
>
> I'd appreciate if I could just run "make" and everything would work
> out-of-the-box. Well, maybe with the appropriate java development kit
> installed it would...
>
> Bye,
>   Henning
>
> _______________________________________________
> sane-devel mailing list
> sane-devel@lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel

-- 
Klemens Dickbauer, MSK Informatik GesmbH