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>