<%@ page import="com.crystaldecisions.sdk.framework.*" %> <%@ page import="com.businessobjects.foundation.exception.*" %> <%@ page import="com.crystaldecisions.sdk.exception.*" %> <%@ page import="com.crystaldecisions.sdk.occa.infostore.*" %> <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %> <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %> <%@ page import="java.io.OutputStream" %> <%@ page import="java.io.ByteArrayOutputStream" %> <%@ page import="com.crystaldecisions.sdk.plugin.CeKind"%> <%@ page import="com.crystaldecisions.sdk.exception.SDKException"%> <%@ page import="com.crystaldecisions.sdk.occa.infostore.CeSecurityID"%> <%@ page import="com.businessobjects.sdk.plugin.desktop.infoview.PreferenceConstants"%> <%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession, com.businessobjects.webutil.clientaction.ActionHelper, java.util.ArrayList"%> <%@ page import="java.util.ResourceBundle"%> <%@ page import="java.util.List" %> <%@ page import="java.util.Locale" %> <%@ page import="java.util.Arrays" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <% //< page contentType="text/xml" > -- seems to cause problems with Xcelsius String sServer=null; String sUsername = null; String sPassword = null; String sPrefix = request.getParameter("prefix").toUpperCase(); String sResultnametag = request.getParameter("resultnametag"); if (sResultnametag == null) { sResultnametag = "MyResults"; } String sSuccessFailMsg="{empty}"; String sCont=""; String sErr=""; IEnterpriseSession eSession = null; try { final ISessionMgr sessionMgr=CrystalEnterprise.getSessionMgr(); /* eSession = ActionHelper.getEnterpriseSession(request); */ String sToken = request.getParameter("CELogonToken"); sErr="0"; if (sToken == null || sToken.equals("")) { sErr="1"; sServer=request.getParameter("CMS"); sUsername = request.getParameter("userid"); sPassword = request.getParameter("password"); sErr="2"; eSession = sessionMgr.logon(sUsername, sPassword, sServer, "secEnterprise"); } else { sErr="3"; eSession = sessionMgr.logonWithToken(sToken); } sUsername=eSession.getUserInfo().getUserName().toString(); } catch (Exception ex) { //logon problems sSuccessFailMsg="Logon error: "+ex.getMessage(); sCont = ""+sSuccessFailMsg+". Step "+sErr+""; } if (sCont.equals("")) { try { // search Infostore for user's 'Favorites' folder String query = "select * from ci_infoobjects where si_kind=\'FavoritesFolder\' and si_name=\'"+sUsername+"\'"; IInfoObjects infoobjects = null; IInfoStore myInfoStore = (IInfoStore) eSession.getService("InfoStore"); infoobjects = (IInfoObjects) myInfoStore.query(query); IInfoObject obj=(IInfoObject) infoobjects .get(0); String sFolderid = String.valueOf(obj.getID()); // search in user's "Favorites" folder for the requested file pattern query = "select * from ci_infoobjects where si_kind=\'TXT\' and si_parent_folder="+obj.getID()+" and si_name like \'"+sPrefix+"%\'"; infoobjects = (IInfoObjects) myInfoStore.query(query); // create the output document with the list of files StringBuffer fNames=new StringBuffer(""); String[] fNamesA=new String[infoobjects .size()]; for(int i = 0; i < infoobjects.size(); i++){ obj=(IInfoObject) infoobjects.get(i); fNamesA[i] = new String(obj.getTitle().substring(sPrefix.length()+1)); } Arrays.sort(fNamesA); for(int i = 0; i < infoobjects.size(); i++){ fNames.append("\n"+fNamesA[i]+"\n\n"); } sCont="\n"+fNames+"\n"; } catch (Exception ex) { sSuccessFailMsg="Error: "+ex.getMessage(); sCont = ""+sSuccessFailMsg+""; } finally { //logoff if (eSession != null) { eSession.logoff(); eSession = null; session.invalidate(); } } } response.setHeader("Cache-Control","no-cache"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",-1); %> <%= sCont %>