The following sample code demonstrates how to save and overwrite a specific report using the Strategy Web SDK.
package com.Strategy.sdk.standalone;
import com.Strategy.web.objects.WebFolder;
import com.Strategy.web.objects.WebIServerSession;
import com.Strategy.web.objects.WebObjectInfo;
import com.Strategy.web.objects.WebObjectSource;
import com.Strategy.web.objects.WebObjectsException;
import com.Strategy.web.objects.WebObjectsFactory;
import com.Strategy.web.objects.WebReportInstance;
import com.Strategy.web.objects.WebReportSource;
import com.Strategy.webapi.EnumDSSXMLObjectTypes;
import com.Strategy.webapi.EnumDSSXMLReportSaveAsFlags;
public class SaveReport {
public static WebObjectsFactory factory = null;
public static WebIServerSession serverSession = null;
public static WebFolder folder = null;
public static void main(String[] args) throws WebObjectsException {
saveReport();
}
public static void saveReport() throws WebObjectsException {
//Creates WebIServerSession by using the getSession() method that hardcodes in the credentials for the session
WebIServerSession serverSession = getSession();
// Specify a particular report ID
String reportID = "BB05BD784902E7E6E4DF80960A2016E2"; // report dssID
// Get report's parent folder in order to use the save as function
WebObjectSource objSource = serverSession.getFactory().getObjectSource();
folder = (WebFolder) objSource.getObject(reportID, EnumDSSXMLObjectTypes.DssXmlTypeReportDefinition).getParent();
WebObjectInfo oReport = objSource.getObject(reportID, EnumDSSXMLObjectTypes.DssXmlTypeReportDefinition, true);
String rptName = oReport.getName();
//Create the WebReportSource object which is the entry point to the report execution and manipulation functionality
WebReportSource reptsrc = serverSession.getFactory().getReportSource();
WebReportInstance rptInst = reptSrc.getNewInstance(reportID);
//Set the save as flag to enable over-writing then save the report instance
rptInst.setSaveAsFlags(EnumDSSXMLReportSaveAsFlags.DssXmlReportSaveAsOverWrite);
rptInst.saveAs(folder, rptName);
}
public static WebIServerSession getSession() {
//Static creation of WebIServerSession
WebIServerSession isess = null;
isess = WebObjectsFactory.getInstance().getIServerSession();
isess.setServerName("SERVERNAME");
isess.setServerPort(0);
isess.setProjectName("PROJECTNAME");
isess.setLogin("USERNAME");
isess.setPassword("");
return isess;
}
}