JSP レポート・ビューアー・ロジックの作成
JSP レポート・ビューアーのロジックは、データ管理ポータルによって呼び出される JSP に含まれています。 JSP レポートの標準的な実装では、 TMSDataHelper という Java™ ヘルパー・クラスを使用して TADDM API を照会します。 照会の結果は、Java メソッドを使用して操作できるオブジェクトです。 TADDM API およびモデルについて詳しくは、$COLLATION_HOME/sdk/doc にある SDK の資料を調べてください。
以下の例は、JSP レポート・ビューアーの単純なインプリメンテーションを示しています。 以下の内容を新規ファイル $COLLATION_HOME/deploy-tomcat/reports.war/WEB-INF/view/custom.jsp (TADDM 7.3.0 を使用する場合) または $COLLATION_HOME/apps/reports.war/WEB-INF/view/custom.jsp (TADDM 7.3.0.1 以降を使用する場合) にコピーし、TADDM サーバーを実行するユーザーがそのファイルを 読み取ったり、実行したりできるようにします。
以下の例は、シェル・スクリプトによって生成された appServers.xml ファイルを変換するために使用される appServers.xsl スタイル・シートを示しています。 レポートにはアプリケーション・サーバー名とその製品バージョンが表示されています。 この内容を新規のファイル $COLLATION_HOME/sdk/bin/appServers.xsl にコピーし、TADDM サーバーを実行しているユーザーがそのファイルを読み取ることができるようにします。<%@ page language="java" %>
<%@ page import="com.collation.cdm.common.util.TMSDataHelper" %>
<%@ page import="java.lang.StringBuffer" %>
<%@ page import="com.collation.cdm.reports.util.ReportsParser" %>
<%@ page import="com.collation.cdm.common.util.TMSReportingTransformer" %>
<%@ page import="com.collation.platform.model.AttributeNotSetException" %>
<%@ page import="com.collation.platform.model.ModelObject" %>
<%@ page import="com.collation.platform.model.topology.sys.ComputerSystem" %>
<%@ page import="com.collation.platform.model.topology.process.BusinessProcess" %>
<%@ page import="com.collation.platform.model.topology.process.Activity" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.collation.platform.util.Props" %>
<%@ page import="java.util.ArrayList"%>
<%@ page import="com.collation.cdm.common.messages.CdmLocalizedMessages"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%
java.util.Locale locale =
com.collation.cdm.common.util.CDMUtil.checkLocale(request.getLocale());
if (null == session.getAttribute(org.apache.struts.Globals.LOCALE_KEY)) {
session.setAttribute(org.apache.struts.Globals.LOCALE_KEY, locale);
}
%>
<%
//TMSDataHelper is a utility class for running MQL queries against the DB
TMSDataHelper tms = new TMSDataHelper(locale);
//Perform a query for all ComputerSystems
ModelObject dataIn[] = tms.doModelObjectQuery("SELECT * FROM ComputerSystem",null);
//Build an HTML report based on the API output
StringBuffer output = new StringBuffer();
output.append("<p>");
output.append("<table border=\"1\">");
int c = 0;
int s = dataIn.length;
while (cs) {
ComputerSystem tmo = (ComputerSystem)dataIn[c];
String csName = null;
String csLabel = null;
if (tmo.hasName()) {
try {
csName = tmo.getName();
} catch (AttributeNotSetException e) {
csName = "unknown";
}
}
if (tmo.hasSignature()) {
try {
csLabel = tmo.getSignature();
} catch (AttributeNotSetException e) {
csLabel = "";
}
}
output.append("<tr><td colspan=\"2\" bgcolor=\"#9999FF\">");
output.append("ComputerSystem" + "<br>");
output.append(" Name: " + csName + "<br>");
output.append("</td><td>");
output.append("Signature: " + csLabel);
output.append("</td></tr>");
c++;
}
output.append("</table>");
String bpstring = output.toString();
%>
<html>
<body>
<h1>Sample JSP Report/h1>
<%=bpstring%>
</body>
</html>