<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE TaskDefinition PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<TaskDefinition executor="sailpoint.reporting.LiveReportExecutor" name="Application-Test Connection-Report" progressMode="Percentage" resultAction="Rename" subType="Configured Resource Reports" template="true" type="LiveReport">
<Attributes>
<Map>
<entry key="report">
<value>
<LiveReport title="Applications Detail Report">
<DataSource objectType="Application" type="Filter">
<QueryParameters>
<Parameter argument="applications" property="id"/>
</QueryParameters>
</DataSource>
<Columns>
<ReportColumnConfig field="application" header="rept_app_grid_col_app" property="name" sortable="true" width="110"/>
<ReportColumnConfig field="connectionStatus" header="Connection Status" property="id" sortable="true" width="110">
<RenderScript>
<Source>
import sailpoint.connector.Connector;
import sailpoint.connector.ConnectorFactory;
import sailpoint.connector.*;
import sailpoint.object.Application;
import sailpoint.object.TaskItemDefinition;
import sailpoint.object.TaskItemDefinition.ProgressMode;
import sailpoint.tools.GeneralException;
import sailpoint.tools.Message;
import sailpoint.tools.Util;
import sailpoint.api.SailPointContext;
import sailpoint.object.*;
import java.lang.reflect.Constructor;
import java.util.*;
try {
Application app = (Application) context.getObjectById(Application.class, value);
//String appName = app.getName();
if (app != null) {
//String connName = app.getConnector();
try {
Connector connector = ConnectorFactory.getConnector(app, null);
connector.testConfiguration();
return "Test Connection Successful";
} catch (Exception e) {
return e.getMessage();
log.error(e);
}
}
} catch (Exception e) {
log.error(e);
throw(e);
}
</Source>
</RenderScript>
</ReportColumnConfig>
</Columns>
</LiveReport>
</value>
</entry>
</Map>
</Attributes>
<Description>A list of all application's connection status. If successfull, "Successful Connection" is displayed. If not, the connector exception is shown.</Description>
<RequiredRights>
<Reference class="sailpoint.object.SPRight" id="c0a8010380581a4b8180581cdee2004a" name="FullAccessApplicationReport"/>
</RequiredRights>
<Signature>
<Inputs>
<Argument multi="true" name="applications" type="Application">
<Description>rept_input_app_report_apps</Description>
</Argument>
</Inputs>
</Signature>
</TaskDefinition>