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. > > at caltst.pl line 9 > BEGIN failed--compilation aborted at caltst.pl line > 15. > > C:\CaliberUtil\caltst> > > ======= > > I suspect I am not setting up the parameters to > Inline::Java correctly. Any help would be deeply > appreciated. > > TIA > > Randy > > > __________________________________ > Do you Yahoo!? > Yahoo! Small Business - Try our new resources site! > http://smallbusiness.yahoo.com/resources/ > -- ===================== Patrick LeBoutillier Laval, Québec, Canada