Scott,

I don't believe the JSPservlet container shares the Java classpath
that CF has.. in fact, I'm almost positive it does't.

Mark

On Fri, Feb 15, 2008 at 3:46 PM, Scott Thornton
<[EMAIL PROTECTED]> wrote:
>
>  actually,
>
>  just trying to get the .jsp sample page to work first.......
>
>  browsing this page via coldfusion web server.
>
>  I believe we have to unpack the  .jar file into 
> C:/CFusionMX/wwwroot/WEB-INF/.........
>
>  example page follows:
>
>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>
>
>  <[EMAIL PROTECTED] 
> import="com.crystaldecisions.reports.sdk.ReportClientDocument,
>                             com.crystaldecisions.sdk.occa.report.lib.*,
>                                 com.crystaldecisions.sdk.occa.report.data.*,
>                                 
> com.crystaldecisions.sdk.occa.report.lib.PropertyBag,
>                                 java.io.*,
>                                 com.crystaldecisions.reports.sdk.*"
>
>  %>
>
>  <%
>  /* Applies to: XI
>  * Date Created: April 4, 2005
>  * Description:  This sample application can assist with determining database 
> connection information that may be
>  *                               required when changing database connection 
> information in a Crystal Report at runtime.
>  *               To help demonstrate how to use this sample, there are 2 
> sample reports included:  ReportA.rpt and
>  *                               ReportB.rpt.  These reports are based off 2 
> different SQL Server databases which use a JDBC
>  *                               connection.
>  * Author: HP, BH
>  */
>
>  try {
>
>         //Create a ReportClientDocument for each report
>         ReportClientDocument oReportClientDocumentA = new 
> ReportClientDocument();
>         ReportClientDocument oReportClientDocumentB = new 
> ReportClientDocument();
>
>         //Parse out the report name using helper function below
>         String ReportA = getReportName(request.getParameter("ReportA"));
>         String ReportB = getReportName(request.getParameter("ReportB"));
>
>         //Open both reports
>         oReportClientDocumentA.open("jrc_display_connection_info/" + ReportA, 
> 0);
>         oReportClientDocumentB.open("jrc_display_connection_info/" + ReportB, 
> 0);
>
>         //Display the connection information about a report.
>         //(code for the ConnInfoDisplayer class is below)
>         ConnInfoDisplayer report1_displayer = new 
> ConnInfoDisplayer(oReportClientDocumentA);
>         ConnInfoDisplayer report2_displayer = new 
> ConnInfoDisplayer(oReportClientDocumentB);
>
>         //Begin a main table to display both reportA and reportB's properties 
> in.
>         out.println("<table width='100%' height='100%'>");
>         out.println("<tr align='center' valign='top'>");
>
>         out.println("<td>");
>         out.println(report1_displayer.getTable(ReportA)); //list out the 
> properties of Report A
>         out.println("</td>");
>
>         out.println("<td>");
>         out.println(report2_displayer.getTable(ReportB)); //list out the 
> properties of Report B
>         out.println("</td>");
>
>         out.println("</tr>");
>         out.println("</table>"); // End the main table.
>
>         //Close the ReportClientDocument to allow the JRC to release the 
> resources
>         //tied to each report.
>         oReportClientDocumentA.close();
>         oReportClientDocumentB.close();
>
>  }
>  catch(ReportSDKException sdkEx) {
>         out.println(sdkEx);
>  }
>
>
>  %>
>
>  <%!
>  /*********************** class ConnInfoDisplayer ***********************
>   *
>   * Used to display all the Connection Info properties from the first table
>   * of the given report in a nice HTML based table.
>   *
>   ***********************************************************************/
>  public class ConnInfoDisplayer
>  {
>         private ReportClientDocument oReportClientDocument;
>
>         
> /************************************************************************
>          *
>          * Constructor - Save the reportClientDocument to be displayed
>          *
>          
> ***********************************************************************/
>         ConnInfoDisplayer(ReportClientDocument oReportClientDocument)
>         {
>                 this.oReportClientDocument = oReportClientDocument;
>         }
>
>         
> /************************************************************************
>          *
>          * Return the report name section of the table for the main report.
>          *
>          
> ***********************************************************************/
>         private String report_name_section(ReportClientDocument 
> oReportClientDocument, String theReportName) throws ReportSDKException
>         {
>                 String reportName = theReportName;
>                 String result = "";
>                 result += "<tr>";
>                 result += "<td colspan=2 align=center 
> bgcolor='#0C0C6E'><strong><font color='white'>Main Report: " + reportName + 
> "</font></strong></td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td colspan=2 bgcolor='#CFD0E2'>&nbsp;</td>";
>                 result += "</tr>";
>                 return result;
>         }
>
>         
> /************************************************************************
>          *
>          * Return the report name section of the table for the subreport.
>          *
>          
> ***********************************************************************/
>         private String table_properties_section(ITable oTable)
>         {
>                 String result = "";
>                 result += "<tr>";
>                 result += "<td colspan=2 bgcolor='#0C0C6E'><strong><font 
> color='white'>Table Properties</font></strong></td>";
>                 result += "</tr>";
>
>                 result += "<tr>";
>                 result += "<td bgcolor='#CFD0E2'>Name</td><td 
> bgcolor='#F1EFE2'>" + oTable.getName() + "</td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td bgcolor='#CFD0E2'>Alias</td><td 
> bgcolor='#F1EFE2'>" + oTable.getAlias() + "</td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td bgcolor='#CFD0E2'>Qualified Name</td><td 
> bgcolor='#F1EFE2'>" + oTable.getQualifiedName() + "</td>";
>                 result += "</tr>";
>                 return result;
>         }
>
>         
> /************************************************************************
>          *
>          * Return the connection infos name section.
>          *
>          
> ***********************************************************************/
>         private String conn_info_properties_section(IConnectionInfo 
> oConnectionInfo)
>         {
>                 String result = "";
>                 //list out the general Connection properties
>                 result += "<tr>";
>                 result += "<td colspan=2 bgcolor='#0C0C6E'><strong><font 
> color='white'>ConnectionInfo Properties</font></strong></td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td bgcolor='#CFD0E2'>User Name</td><td 
> bgcolor='#F1EFE2'>" + oConnectionInfo.getUserName() + "</td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td bgcolor='#CFD0E2'>Password</td><td 
> bgcolor='#F1EFE2'>" + oConnectionInfo.getPassword() + "</td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td bgcolor='#CFD0E2'>Kind</td><td 
> bgcolor='#F1EFE2'>" + oConnectionInfo.getKind() + "</td>";
>                 result += "</tr>";
>                 result += "<tr>";
>                 result += "<td colspan=2 bgcolor='#0C0C6E'><strong><font 
> color='white'>ConnectionInfo Atttribute Properties</font></strong></td>";
>                 result += "</tr>";
>                 return result;
>         }
>
>         
> /************************************************************************
>          *
>          * Return the property bag infos name section.  This function will
>          * recursively go through any property bags that are contained in this
>          * property bag.
>          *
>          
> ***********************************************************************/
>         private String property_bag_section(PropertyBag oPropertyBag, String 
> indent)
>         {
>             int i;
>             IStrings prop_ids = null;
>             String result = "";
>
>             prop_ids = oPropertyBag.getPropertyIDs();
>
>             String prop_name = "";
>
>             for (i=0;i < prop_ids.size(); i++) {
>                         if ( (oPropertyBag.get(prop_ids.get(i))).getClass() 
> != oPropertyBag.getClass() ) {
>
>                                 prop_name = (String)prop_ids.getString(i);
>                                 String prop_val = 
> (String)oPropertyBag.getStringValue(prop_ids.get(i));
>                                 result += "<tr><td bgcolor='#CFD0E2'>" + 
> prop_name + "</td><td bgcolor='#F1EFE2'>" + prop_val + "</td></tr>";
>
>                         } else if 
> ((oPropertyBag.get(prop_ids.get(i))).getClass() == oPropertyBag.getClass() ) {
>
>                                 prop_name = (String)prop_ids.get(i);
>                                 result += "<td colspan=2 
> bgcolor='#CFD0E2'><i>" + prop_name + " Properties</i></td>";
>                                 result += this.property_bag_section 
> ((PropertyBag)oPropertyBag.get(prop_ids.get(i)), "&nbsp&nbsp&nbsp&nbsp&nbsp");
>                         } else {
>                                   result += " ***** " + 
> (oPropertyBag.get(prop_ids.get(i))).getClass();
>                         }
>             }
>             return result;
>         }
>
>         
> /************************************************************************
>          *
>          * Return the section that includes the reports connection including
>          * the Connection Infos direct properties, and any property bags it
>          * contains.
>          *
>          
> ***********************************************************************/
>         private String connection_section(IConnectionInfo oConnectionInfo)
>         {
>                 String connInfoTable = "";
>
>                 connInfoTable += 
> conn_info_properties_section(oConnectionInfo);
>
>                 PropertyBag oPropertyBag = oConnectionInfo.getAttributes();
>                 connInfoTable += property_bag_section(oPropertyBag, "");
>
>                 return connInfoTable;
>
>         }
>
>         
> /************************************************************************
>          *
>          * Return the table of Connection Properties as a String to be 
> displayed.
>          *
>          
> ***********************************************************************/
>         private String table_section(ITable oTable) throws ReportSDKException
>         {
>                 String connInfoTable = "";
>
>                 connInfoTable += table_properties_section(oTable);
>
>                 IConnectionInfo oConnectionInfo = 
> (IConnectionInfo)oTable.getConnectionInfo();
>                 connInfoTable += connection_section(oConnectionInfo);
>
>
>                 return connInfoTable;
>
>         }
>
>
>         
> /************************************************************************
>          *
>          * Return the main report section.  There should be only one main 
> report
>          * section per ConnInfoDisplayer.
>          *
>          
> ***********************************************************************/
>         private String mainreport_section(ReportClientDocument 
> oReportClientDocument, String theReportName) throws ReportSDKException
>         {
>                 String reportName = theReportName;
>                 String result = "";
>                 //Get the first table from the report.  We will display it's 
> connection properties.
>
>                 result += "<table border=0 cellspacing=1>";
>                 result += report_name_section(oReportClientDocument, 
> reportName);
>                 for (int i = 0; i < 
> oReportClientDocument.getDatabaseController().getDatabase().getTables().size();
>  i++)
>                 {
>                         ITable oTable = 
> (ITable)oReportClientDocument.getDatabaseController().getDatabase().getTables().getTable(i);
>                         result += table_section(oTable);
>                 }
>                 result += "</table>";
>
>                 return result;
>
>         }
>
>         
> /************************************************************************
>          *
>          * Return an HTML based table of all the connection properties in the
>          * oReportClientDocument that was passed in to the contructor.
>          *
>          
> ***********************************************************************/
>         public String getTable(String theReportName) throws ReportSDKException
>         {
>                 String reportName = theReportName;
>                 String result = "";
>
>                 result += mainreport_section(oReportClientDocument, 
> reportName);
>
>                 return result;
>         }
>
>  }// End of ConnInfoDisplayer Class
>  %>
>
>
>  <%!
>  public String getReportName(String reportlocation)
>  {
>         String stringToParse = reportlocation;
>
>         //Parse the report location string to get the report name
>         int indexOfTheLastBackslash = stringToParse.lastIndexOf('\\');
>         //Increment the index of the last occurence of the backslash by 1
>         //so that we do not include the backslash as part of the report name
>         indexOfTheLastBackslash++;
>
>         //retrieve the report name
>         String reportName = stringToParse.substring(indexOfTheLastBackslash);
>
>         return reportName;
>
>  } //end of getReportName method
>  %>
>
>
>
>  >>> "Mark Mandel" <[EMAIL PROTECTED]> 15/02/2008 3:33 pm >>>
>
>
>
>  Scott,
>
>  What are you doing on your cf page?
>
>  Mark
>
>  On Fri, Feb 15, 2008 at 2:51 PM, Scott Thornton
>  <[EMAIL PROTECTED]> wrote:
>  >
>  >  Heya,
>  >
>  >  I am assisting someone else with a java\cf problem.
>  >
>  >  Where must a .jar file be located to be referenced correctly?
>  >
>  >  For example, within a jsp page the import looks like:
>  >
>  >  <[EMAIL PROTECTED] 
> import="com.crystaldecisions.reports.sdk.ReportClientDocument,
>  >                             com.crystaldecisions.sdk.occa.report.lib.*,
>  >                                 
> com.crystaldecisions.sdk.occa.report.data.*,
>  >                                 
> com.crystaldecisions.sdk.occa.report.lib.PropertyBag,
>  >                                 java.io.*,
>  >                                 com.crystaldecisions.reports.sdk.*"
>  >
>  >  %>
>  >
>  >
>  >  however, we get an error when running the page:
>  >
>  >  Error Occurred While Processing Request
>  >  Translator.CompilationFailedExceptionCompiler errors: Found 11 semantic 
> errors compiling 
> "C:/CFusionMX/wwwroot/WEB-INF/jsp/jrun__jrc_display_connection_info__jrc_display_connection_info2ejsp3c.java":
>  5. import com.crystaldecisions.reports.sdk.ReportClientDocument; 
> <---------------------------------------------------> *** Error: 
> "com/crystaldecisions/reports/sdk/ReportClientDocument" is either a misplaced 
> package name or a non-existent entity. 7. 
> com.crystaldecisions.sdk.occa.report.lib.*; 
> <--------------------------------------> *** Error: Could not find package 
> "com/crystaldecisions/sdk/occa/report/lib" in: 
> C:\CFusionMX\wwwroot\WEB-INF\classes 
> C:\CFusionMX\wwwroot\WEB-INF\lib\CRDBXMLExternal.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\jsr173_1.0_api.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\xbean.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\pullparser.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\xercesImpl.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\xml-apis.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\commons-httpclient.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\commons-codec.jar 
> C:\CFusionMX\wwwroot\WEB-INF\lib\ebus405.jar C:\CFusionMX\wwwroot
>  >
>  >  etc etc etc.
>  >
>  >  I assume the error occurs because the .jar file is not in the correct 
> spot?
>  >
>  >  Can anyone advise?
>  >
>  >  ( PS, trying get to run Crystal reports to run via java\jsp calls)
>  >
>  >  Thanks heaps.
>  >
>  >
>  >
>  >
>  >
>  >  Scott Thornton, Programmer
>  >  Billing Unit
>  >  Hunter-New England Area Health Service
>  >  ext: 24505 p: +61 02 4941 4505 m: 0413 800 242
>  >
>  >
>  >
>  >  >
>  >
>
>
>
>  --
>
> E: [EMAIL PROTECTED]
>  W: www.compoundtheory.com
>
>
>
>
>
> >
>



-- 
E: [EMAIL PROTECTED]
W: www.compoundtheory.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"cfaussie" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cfaussie?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to