[sane-devel] Java API (japi) Changes

Chris Chesney cchesney@go-integral.com
Mon, 3 Nov 2003 18:13:23 -0600

Hi Klemens,

It sounds like we could benefit from each others efforts.  I am not
familiar with the changes Silvio made.  Can you give me more details
regarding this?  We have taken the Sane wrapper code (the files listed
under #2 below) and converted them into a package.  We have also fixed a
few bugs in the Sane.c code and that's as far as we've taken it.  We
have not contributed this back yet, because we need to resolve a few
design issues with this community.

>From Henning's comments, it sounds like we're at liberty to morph this
as needed and if we contribute something back that works, everyone is
happy.  At a minimum, I would suggest we separate the wrapper code from
the example Swing apps.  Let me know your thoughts and we'll go from


-----Original Message-----
From: Klemens Dickbauer [mailto:klemens.dickbauer@msk-informatik.at]=20
Sent: Sunday, November 02, 2003 3:37 PM
To: sane-devel@lists.alioth.debian.org
Subject: Re: [sane-devel] Java API (japi) Changes

Hi Chris and Henning!

I also started some work on the Java Api. My aim is to provide a
that would also work under other OSes (like similar solutions in Java).
the Windows side (TWAIN) is not easy to handle when you want to stay
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=20
Sane Java-API.

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

i hope i can contribute to the project,

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
> |        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 =3D (*env)->FindClass(env, "java/lang/String");
> > *NOT*
> > jclass stringClass =3D (*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
> > 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

sane-devel mailing list