Hi Patrick
Though trial and error, I managed to get my program
running last week. The Inline::Java parameters looked
similar to yours except for the DEBUG parameter.
I must say that I just about fell on the floor when
this thing actually excuted! I could not believe my
eyes. This is a significant module for me in that it
opens the whole world of java to me. Our company has a
large investment in java, that I heretofore had to
ignore. Not anymore! Thanks for creating this module.
Randy
--- Patrick LeBoutillier
<[EMAIL PROTECTED]> wrote:
> Randall,
>
> Here are a few pointers I can give you:
>
> - Do not use the Inline::Java CLASSPATH option, use
> the CLASSPATH environment
> variable instead.
> - You can use the Inline::Java DEBUG option (set it
> to any int value
> between 1 and 5) to get a better idea of what is
> going on.
> - You can't use the import statement in Perl like in
> Java. When you
> create a Java object from Perl, you must specify the
> full class name,
> i.e. com::starbase::caliber::server::CaliberServer
> (or whatever the
> correct package is)
> - You can use *'s with STUDY. You have to enumerate
> each class
> separately. In your case I believe CaliberServer is
> enough since you
> also have AUTOSTUDY enabled.
>
> Try something like this:
>
> =======
> #!/usr/bin/perl
> use strict; use warnings;
>
> BEGIN {
> print $ENV{CLASSPATH} ;
> }
>
> use Inline (
> Java => STUDY,
> STUDY =>
> ['com.starbase.caliber.server.CaliberServer'],
> AUTOSTUDY => 1,
> DEBUG => 3, # 1-5 is ok
> ) ;
>
> my $server =
>
com::starbase::caliber::server::CaliberServer->new(["cspar333239"]);
> my $session = $server->login("admin", "admin");
>
> my $ref_arrayOfProjects = $session->getProjects();
> foreach my $project (@$ref_arrayOfProjects){
> print $project->getName(), "\n";;
> }
>
> ==========
>
>
> Good luck,
>
> Patrick
>
> On 5/10/05, Randall Marbach <[EMAIL PROTECTED]>
> wrote:
> > Hi All
> >
> > We use Borland CaliberRM as a requirements
> management
> > system at work. My goal is to use the CaliberRM
> Java
> > API, perl and Inline::Java to generate custom
> reports
> > out of this requirements repository. I am new to
> java
> > and Inline::Java, but what I want to do is
> reproduce
> > the following java program in perl and
> inline::Java.
> > This program simply logs onto the server and
> prints a
> > list of projects stored on the server.
> >
> > ======= caltst.java:
> >
> > import com.starbase.caliber.*;
> > import com.starbase.caliber.server.*;
> >
> > public class caltst {
> > public static void main(String[] args)
> > {
> > CaliberServer server = new
> > CaliberServer("cspar333239");
> >
> > try
> > {
> > Session CaliberSession =
> server.login("admin",
> > "admin");
> >
> > Project[] arrayOfProjects =
> > CaliberSession.getProjects();
> > for (int i = 0; i <
> arrayOfProjects.length;
> > i++)
> > {
> >
> > System.out.println(arrayOfProjects[i].getName());
> > }
> >
> > }
> > catch(RemoteServerException rse)
> > {
> > rse.printStackTrace();
> > }
> >
> > }
> >
> > }
> >
> > ==========
> > my classpath is set as:
> >
> > C:\CaliberUtil\caltst>set classpath
> > classpath=;..\lib\CaliberRMSDK4COM70.jar
> >
> > and when I execute the java program I get the
> > following desired output:
> >
> > C:\CaliberUtil\caltst>java caltst
> > X100 Droid
> > Automated Teller Machine
> > Order Processing
> > Company Standards
> > Address Book
> > EIS_CDD_DEV
> > EIS_CDD_SYT
> > EIS_CDD_PROD
> > EIS_CDSD
> >
> > Here is the perl version of the java code:
> > =======
> > #!/usr/bin/perl
> > use strict; use warnings;
> >
> > BEGIN {
> > # $ENV{CLASSPATH} = '/Data/Hi/higher.jar';
> > print $ENV{CLASSPATH} ;
> > }
> > use Inline Java => <<'END',CLASSPATH =>
> > '../lib/CaliberRMSDK4COM70.jar',STUDY =>
> >
>
['com.starbase.caliber.*','com.starbase.caliber.server.*'],
> > AUTOSTUDY => 1;
> >
> > import java.util.* ;
> > import com.starbase.caliber.*;
> > import com.starbase.caliber.server.*;
> >
> > END
> >
> > my $server = CaliberServer->new(["cspar333239"]);
> > my $session = $server->login("admin", "admin");
> >
> > my $ref_arrayOfProjects = $session->getProjects();
> > foreach my $project
> (@$ref_arrayOfProjects){
> > print $project->getName(), "\n";;
> > }
> >
> > ==========
> >
> > and this is what I get when I attempt to execute
> this
> > code..
> >
> > C:\CaliberUtil\caltst>perl caltst.pl
> > ;..\lib\CaliberRMSDK4COM70.jar
> > A problem was encountered while attempting to
> compile
> > and install your Inline
> > Java code. The command that failed was:
> > "\j2sdk1.4.2_07\bin\javac.exe" -deprecation -d
> > "C:\CaliberUtil\caltst\_Inline
> > \lib\auto\caltst_pl_bda7" caltst_pl_bda7.java >
> > cmd.out 2>&1
> >
> > The build directory was:
> > C:\CaliberUtil\caltst\_Inline\build\caltst_pl_bda7
> >
> > The error message was:
> > caltst_pl_bda7.java:3: package
> com.starbase.caliber
> > does not exist
> > import com.starbase.caliber.*;
> > ^
> > caltst_pl_bda7.java:4: package
> > com.starbase.caliber.server does not exist
> > import com.starbase.caliber.server.*;
> > ^
> > 2 errors
> >
> > To debug the problem, cd to the build directory,
> and
> > inspect the output files.
> >
>
=== message truncated ===
__________________________________
Do you Yahoo!?
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250