API Demos
This topic describes the API demo programs in <install_root>\help\samples
in Report Server.
- Programs in
<install_root>\help\samples\APICluster
:- DemoLoadBalancer.java
Demo to implement jet.server.api.cluster.LoadBalancer for randomly selecting a clustered server. For more information, see Writing Customized Load Balancing Algorithm. - DemoRemoteDispatcher.java
An example of dispatching request to remote clustered server according to Round-Robin algorithm. For more information, see Dispatching RMI Server Pages Requests in Multiple Server Environment.
- DemoLoadBalancer.java
- Programs in
<install_root>\help\samples\APIConvertData
:- ResultSetConvertorImpl.java
An example of converting data in stored procedures from String to Date and Time before the data is passed to Report. For more information, see Converting the Data in Stored Procedures in the Report Designer Guide.
- ResultSetConvertorImpl.java
- Programs in
<install_root>\help\samples\APIParameter
:- DemoParameterGenerator.java
An example of implementing jet.server.api.custom.schedule.ParameterGenerator for setting dynamic parameter values. For more information, see Setting Parameter Values.
- DemoParameterGenerator.java
- Programs in
<install_root>\help\samples\APISecurity
:- CustomizedSendFileAuthorizor.java
Demonstrates implementation of SendFileAuthorizor, which is used to control users' accessibility to certain files in the server computer when they access the server via http. - DemoAuthenticationProvider.java
Demo for implementation of the jet.server.api.custom.security.AuthenticationProvider interface. For more information, see Customized Implementation of the Security API. - DemoAuthorizationProvider.java
Demo for implementation of the jet.server.api.custom.security.AuthorizationProvider interface. For more information, see Customized Implementation of the Security API.
- CustomizedSendFileAuthorizor.java
- Programs in
<install_root>\help\samples\APISecurity\AddPrincipal
:- AddGroup.java
An example of creating groups and getting the current information of group. - AddRole.java
An example of creating roles and getting the current information of role. - AddUser.java
An example of creating users and getting the current information of user. - SecurityGroupCover.java
An example of creating groups and configuring other security settings. - SecurityRoleCover.java
An example of creating roles and configuring other security settings. - SecurityUserCover.java
An example of creating users and configuring other security settings.
- AddGroup.java
- Programs in
<install_root>\help\samples\APISecurity\LoginLogout
:
This folder holds JSP source files that experiment with how the two versions of checkLogin() work. The files provide a way to access pages protected by checkLogin() by doing various forms of signing in to see how the process works. After doing a signing in, the user can do a signing out, in order to establish the same initial state to try another scenario.The experiments relate to accessing files that are protected by a call to one of the checkLogin() mehtods which validates that a user is signed into the session or signs a user into the session based on the current HTTP Request.
Comments in the entry point page, loginIndex.jsp, describe how the files work and how to deploy them for use.
- loginIndex.jsp
Main entry point for the group of JSP files. This is the dispatcher and home page for the group. - loginDoCheckLogin.jsp
This does the work to run the right JSP page that matches the scenario chosen by the user in loginIndex.jsp. - loginUtilCheckLogin.jsp
This is the page that is protected by a call to HttpUtil.checkLogin(). After checkLogin() enables it to run, it reports on how it was run and what happened to allow it. - loginSessionCheckLogin.jsp
This is the page that is protected by a call to HttpUserSessionManager.checkLogin(). After checkLogin() enables it to run, it reports on how it was run and what happened to allow it. - loginTunOnSSO.jsp
This is a helper page to register that the ExternalAuthorized package com.example.MyExternalAuthorized is to be used by Report Server. This turns on the Single Sign-on (SSO) functionality. This page is only useful (and is only given as a choice by loginIndex.jsp) when the com.exmple.MyExternalAuthorized package is deployed and findable on the class path. Read the comments in the source to the package found in the SingleSignOn folder next to this one. - loginTunOffSSO.jsp
This is a helper page to unset the ExternalAuthorized that is currently set in the server. This turns off the SSO functionality. - loginLogout.jsp
This is a helper page that signs a user out of the session in order to have a standard starting state.
- loginIndex.jsp
- Programs in
<install_root>\help\samples\APISecurity\SSO
:
This folder holds sample source files for an example of implementing SSO using the system property jrs.httpExternalAuthorized to specify the implemented class of HttpExternalAuthorized. - Programs in
<install_root>\help\samples\APISecurity\SingleSignOn
:
This folder holds sample source files that show examples of implementing a SSO system to allow an existing application and Report Server to cooperate with signed-in users while running on the same web server.There are two example implementations of the HttpExternalAuthorized interface. These implementations provide the SSO functionality. Each file has comments inside that give directions on how to install and use them.
- CustomHttpExternalAuthorized.java
Implementation of HttpExternalAuthorized to load when Report Server starts up. - com\example\MyExternalAuthorized.java
Implementation of HttpExternalAuthorized written as a package to load on demand while Report Server is running.
One file is the source for a servlet that can be used to dynamically set which instance of an HttpExternalAuthorized is used by Report Server. This would be compiled and deployed using local technique for deploying a servlet.
- CustomServlet.java
Demo to set implementation of HttpExternalAuthorized into the report server.
The rest of the files in the folder are JSP files that you can place into the web server to run through several scenarios that show how an application and Report Server JSP pages can cooperate to manage user signing in within an SSO system. Each file has comments inside that explain what it does and how it fits into the demonstration. These JSP files can be copied to
<install_root>\public_html\jinfonet
where they can be run with a standard install of Report Server.- customIndex.jsp
Entry point JSP page for the demo, to run through the various scenarios that show how SSO behaves. This page includes operations for signing out, to recreate the state of a user not being signed in. It also has controls for turning on and off the SSO functionality. - customViewReport.jsp
This is the requested report used in the demo to show how SSO supports authentication for it. It runs a simple report in the browser. - customNoAuth.jsp
Runs the scenario where nothing special is done in the run-report request to authenticate the user. - customParamAuth.jsp
Runs the scenario where the User ID is passed in via a query parameter in the run-report request as a way to authenticate the user. - customSessionAuth.jsp
Runs the scenario where the User ID is put into the servlet session variable emulating how the application signing in would do this, as a way to authenticate the user. - customTurnOnSSO.jsp
Helper page that sets the instance of the HttpExternalAuthroized class registered with Report Server, to turn on the SSO functionality. - customTurnOffSSO.jsp
Helper page that unsets the instance of the HttpExternalAuthroized class registered with Report Server, to turn off the SSO functionality.
- CustomHttpExternalAuthorized.java
- Programs in
<install_root>\help\samples\APIServer
:- APIDemoDeployRpt.java
An example of publishing catalogs, reports, or folders to the server. - APIDemoDynamicExportTask.java
An example of scheduling a customized task. For more information, see Scheduling a Customized Task Using User Task. - APIDemoPublishRpt.java
An example of publishing a scheduled task. - APIDemoReportEngine.java
An example of using the ReportEngine to run a report, export/print a report, and set the where portion. - APIDemoRunAndExportReport.java
An example of exporting a report to some formats, and then saving them to local disk. - APIDemoRunReport.java
An example of running a report. - APIDemoRunReportWithTimeout.java
An example of running reports with timeout. - APIDemoSendEMail.java
An example of publishing a report to email. - DemoTrigger.java
This demo creates a trigger, submit a schedule bound with the trigger, then fire the trigger to run the schedule. - ViewHtmlPipelineServlet.java
This is a servlet demo of viewing report as HTML pipeline format.
- APIDemoDeployRpt.java
- Programs in
<install_root>\help\samples\APITaskListener
:- TestTaskListener.java
An example to demonstrate how to implement users' own scripts before and after task running and how to get the information about a task. For more information, see Applying TaskListener.
- TestTaskListener.java
- Programs in
<install_root>\help\samples\JSPSamples
:- ApplyUserCSS
An example of applying user defined CSS to the HTML report output. For more information, see Applying a User Defined CSS to an HTML Output File. - DHTMLRunAndExport
An example of using JSP to build URL to run a report in Report Desktop Viewer Bean. After copying the contents of the folder (demo) to where JSP can be run, for example,<install_root>\public_html
, you can run the demo using the URLhttp://localhost:8888/demo/main.jsp
. - OpenMultipleReports
Demo JSPs for opening multiple reports in one session. For more information, see Opening Multiple Reports in One Session. - RunReport
Demo JSPs for running report in Advanced mode to various formats. To run the demo, copy the two JSP files to<install_root>\public_html\jinfonet
, and then access getRptDescPage2.jsp (runReport2.jsp is called by getRptDescPage2.jsp) using the URLhttp://localhost:8888/jinfonet/getRptDescPage2.jsp
.
- ApplyUserCSS
- Programs in
<install_root>\help\samples\URLSamples
:- ExampleCodeForTags.html
The sample code for different tags. For more information, see Page Report Studio Tag Library. - TestURL.html
Some example URLs.
- ExampleCodeForTags.html