JSP 보고서 뷰어 논리 작성
JSP 보고서 뷰어에 대한 로직은 데이터 관리 포털이라는 JSP에 포함됩니다. JSP 보고서의 일반적인 구현은 TMSDataHelper 라는 Java™ 헬퍼 클래스를 사용하여 TADDM API를 조회합니다. 조회 결과는 자바 메소드를 사용하여 조작할 수 있는 오브젝트입니다. TADDM API 및 모델에 관한 자세한 정보는 $COLLATION_HOME/sdk/doc의 SDK 문서를 참조하십시오.
다음 예제는 간단한 JSP 보고서 뷰어 구현입니다. TADDM 7.3.0을 사용하거나 $COLLATION_HOME/apps/reports.war/WEB-INF/view/custom.jsp TADDM 7.3.0.1 이상을 사용하는 경우에는 다음 컨텐츠를 새 파일($COLLATION_HOME/deploy-tomcat/reports.war/WEB-INF/view/custom.jsp)에 복사하십시오. 그리고 나중에 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>