English flagItalian flagGerman flagSpanish flagFrench flagPortuguese flagRussian flag
IC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 비즈니스 오브젝트 XI의 Java SDK를 예, 제 3 부

Business Objects XI Java SDK Example, Part 3 비즈니스 오브젝트 XI의 Java SDK를 예, 제 3 부

Continued from Business Objects XI Java SDK Example, Part 2 비즈니스 오브젝트 XI의 Java SDK를 예, 제 2 부에서 계속

Using the Business Objects example applications is a good starting point for creating a first Java SDK application. 비즈니스 오브젝트 예제 응용 프로그램을 사용하여 응용 프로그램을 만드는 첫 번째의 Java SDK를위한 좋은 출발점이 될 것입니다.

The sample applications provide some basic tasks, and an easy way to get started with the SDK is to use one of the examples, and trim out the code that you don't need. 샘플 애플 리케이션, 그리고 쉬운 방법은 SDK와 함께 시작하는 몇 가지 기본적인 작업을 제공하는 하나의 예제, 그리고 당신이 필요하지 않는 코드 중에 트림을 사용하는 것입니다.

For our application I pieced together several of the jsp's and combined them into 2 final jsps. 나는 같이 여러 조합의 응용 프로그램에 대한 최종 JSP를들을 결합하여 JSP로하고 2. To do this, I walked through the flow of the jsp examples and noted the dependencies, and ultimately combined them into to files (jsp's). 이렇게하려면, JSP를 예제의 흐름을 통해 걸어과 의존성을 지적하고, 궁극적으로 파일 (JSP로) 그들을 결합했다.

So in this example, there are 2 jsp's that are packaged at the root level of the web app (loginforward.jsp and data-getter.jsp). 그래서이 예제에서, 거기있어 2 JSP로의 그 이상의 웹 애플 리케이션의 루트 수준에서 (loginforward.jsp 및 데이터 - getter.jsp)로 패키징된다. The contents are listed below: 내용은 아래와 같습니다 :

loginforward.jsp



<!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
발췌한 <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ % <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ % <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ % <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ % <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa.security.IUserInfo" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.server.IServer"%>
<%@ page import="com.crystaldecisions.sdk.plugin.CeKind" %>
<%@ page import="com.crystaldecisions.sdk.occa.enadmin.*" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webintelligence.CeWebIntelligenceRightID" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.Hashtable" %>

<%@ include file="rights_method.jsp" %>

<%
request.setCharacterEncoding("utf-8");
String CMS = request.getParameter("CMS");
if (CMS.equals("localhost"))
response.sendRedirect("loginForm.jsp?strError=localhost");
String userName= request.getParameter("User");
String userPass = request.getParameter("Password");
String auth = request.getParameter("auth");

// doc identifier
request.setAttribute("docIdentifier",request.getParameter("docIdentifier"));

IEnterpriseSession enterpriseSession= null;
IInfoStore iStore = null;
IUserInfo userInfo = null;

try
{
//Open the session
final ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon(userName, userPass, CMS, auth);

}
catch(SDKServerException ex)
{
%>
<jsp:forward page="error_wrongLogin.html" />
<%

}

catch(SDKException.SecurityError exSec)
{
%>
<jsp:forward page="error_authentication.html" />
<%
}

catch(SDKException.OCAFramework exOCA )
{
%>
<jsp:forward page="error_serverName.html" />
<%
}

catch(Exception e)
{

%>
<jsp:forward page="error_login.html" />
<%
}

try{

userInfo = enterpriseSession.getUserInfo();
iStore = (IInfoStore)enterpriseSession.getService("InfoStore");

ReportEngines reportEngines = null;
if (enterpriseSession != null)
{
reportEngines = (ReportEngines)request.getAttribute("ReportEngines");
if (reportEngines == null)
{
//Create a new ReportEngines
reportEngines = (ReportEngines)enterpriseSession.getService("ReportEngines");

request.setAttribute("ReportEngines", reportEngines);
}
}

}
catch (Exception e)
{
%>
<jsp:forward page="error_login.html" />
<%
}


String strSampleVersion = "11.5";

//Test the version of the server
String strQuery = "Select SI_ID, SI_NAME, SI_SERVER_KIND from CI_SYSTEMOBJECTS where SI_KIND ='" CeKind.SERVER "'" " AND SI_SERVER_KIND= 'aps'";
IInfoObjects iServers = (IInfoObjects)iStore.query(strQuery);

String strShortServerVersion ="";
if (iServers != null)
{
IServer iServer = (IServer)iServers.get(0);
IServerGeneralMetrics iServerGeneralMetrics = (IServerGeneralMetrics) iServer.getServerGeneralAdmin();
String strServerVersion = iServerGeneralMetrics.getVersion();
strShortServerVersion = strServerVersion.substring(0,4);

}//if (IServers != null)


//Test the version of the REBEAN SDK
String strSDKVersion = enterpriseSession.getClass().getPackage().getImplementationVersion();
String strShortSDKVersion = strSDKVersion.substring(0,4);


String strErrorMessage="";
if (!strShortServerVersion.equals(strShortSDKVersion))
{
strErrorMessage="Warning: SDK and backbone versions do not match </br> Please update your sdk librairies to version" strShortServerVersion;
}
else if((Float.parseFloat(strSampleVersion)) < (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage = "Warning: application was not tested using version " strShortSDKVersion "of the sdk";
}
else if((Float.parseFloat(strSampleVersion)) > (Float.parseFloat(strShortSDKVersion)) )
{
strErrorMessage="Warning: application was developed with a more recent sdk. Execution may fail.";
}

if(!strErrorMessage.equals(""))
response.sendRedirect("error_version.jsp?message=" strErrorMessage);

request.setAttribute("EnterpriseSession", enterpriseSession);

request.setAttribute("InfoStore", iStore);

//Store user info
session.setAttribute("UserInfo",userInfo);
request.setAttribute("UserInfo",userInfo);

//Check if the password has expired
if (userInfo.getPasswordExpiry() == 0){

StringBuffer urlChgPasswd = new StringBuffer();
urlChgPasswd = urlChgPasswd.append("forceChgPassword.jsp?");
urlChgPasswd = urlChgPasswd.append("User=");
urlChgPasswd = urlChgPasswd.append(userName);
urlChgPasswd = urlChgPasswd.append("&auth=");
urlChgPasswd = urlChgPasswd.append(auth);
urlChgPasswd = urlChgPasswd.append("&CMS=");
urlChgPasswd = urlChgPasswd.append(CMS);

response.sendRedirect(urlChgPasswd.toString());
}
else
{

// Get the folder id that is root of all universes
strQuery = "SELECT SI_ID, SI_NAME, SI_PARENTID FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.SEMANTIC_LAYERS "' AND SI_KIND = '" CeKind.FOLDER "' AND SI_NAME = 'Universes'";

IInfoObjects iInfoObjects = iStore.query(strQuery);
String strUniverseRootFolderId = "";

if (iInfoObjects != null && iInfoObjects.size() > 0)
strUniverseRootFolderId = String.valueOf(((IInfoObject) iInfoObjects.get(0)).getID());

// Store folder id that is root of all universes
session.setAttribute("UniverseRootFolderId", strUniverseRootFolderId);

// Create a Hashtable to store the rights of the user
Hashtable userRights = new Hashtable();

strQuery = "SELECT SI_ID, SI_KIND FROM CI_APPOBJECTS "
"WHERE SI_PARENTID = '" CeSecurityID.Folder.APPLICATIONS "' AND SI_KIND = '" CeKind.WEBINTELLIGENCE "'";
IInfoObjects iWebiAppObjects = iStore.query(strQuery);

if (iWebiAppObjects != null && iWebiAppObjects.size()>0)
{
IInfoObject iWebiAppObject = (IInfoObject) iWebiAppObjects.get(0);

// Check the some rights on the application object "Webintelligence" and store their value in the hashtable userRights
checkApplicationObjectRight(CeWebIntelligenceRightID.CREATEDOCUMENTS, iWebiAppObject, "CREATE_DOCUMENT", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.DRILLMODE, iWebiAppObject, "DRILL_MODE", userRights);
checkApplicationObjectRight(CeWebIntelligenceRightID.EXTENDSCOPE, iWebiAppObject, "EXTEND_SCOPE", userRights);
}

session.setAttribute("userRights", userRights);


%><jsp:forward page="data-getter2.jsp" /><%
} // else of if (userInfo.getPasswordExpiry() == 0)
%>
@ % <!--
********************************************************************************

Adapted from WebIntelligence RE SDK JSP Tutorials 115.000.00000

Tutorials are Copyright (c) 2002-2005 Business Objects SA

********************************************************************************
-->

<%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="com.businessobjects.rebean.wi.ReportEngine" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKServerException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.occa