The following document contains the results of Rat (Release Audit Tool).
***************************************************** Summary ------- Generated at: 2017-03-11T23:58:43-05:00 Notes: 0 Binaries: 0 Archives: 0 Standards: 48 Apache Licensed: 2 Generated Documents: 0 JavaDocs are generated, thus a license header is optional. Generated files do not require license headers. 46 Unknown Licenses ***************************************************** Files with unapproved licenses: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/pom.xml C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/CsvExporter.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/ReportGeneratorPlugin.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/Reporting.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/AvailabilityByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/BaseReportGenerator.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/ConsumersByQueueOrTopic.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/QueueDepth.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/QueueTopicCountByBroker.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/CpuUsageReport.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/DiskIOReport.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/FreeDiskSpace.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/MemoryUsageReport.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/NetworkIOReport.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/OpenFilesByProcess.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/ThreadCount.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ServiceLevelAgreementReport.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageMessageSizeByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageMessageSizeByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageResponseTimeByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageResponseTimeByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/BaseWebServiceReport.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumer.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumerByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumerByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByDataCollector.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByHostingServer.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/MeanTimeBetweenFailureByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ResponseTimeOverTime.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByHostingServer.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByHostingServer.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/TotalMessageSizeByServiceByMethod.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/TotalMessageSizesByService.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/StatusRecordsExt.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/TimeSeriesContainer.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/footer.txt C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/settings.properties C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/java/org/miloss/fgsms/services/rs/impl/GenerateDocumentationTest.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/java/org/miloss/fgsms/services/rs/impl/ReportingTest.java C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/resources/log4j.properties ***************************************************** ***************************************************** Files with Apache License headers will be marked AL Binary files (which do not require any license headers) will be marked B Compressed archives will be marked A Notices, licenses etc. will be marked N !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/pom.xml !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/CsvExporter.java AL C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/OpStat.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/ReportGeneratorPlugin.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/Reporting.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/AvailabilityByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/BaseReportGenerator.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/ConsumersByQueueOrTopic.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/QueueDepth.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/QueueTopicCountByBroker.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/CpuUsageReport.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/DiskIOReport.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/FreeDiskSpace.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/MemoryUsageReport.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/NetworkIOReport.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/OpenFilesByProcess.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/ThreadCount.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ServiceLevelAgreementReport.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageMessageSizeByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageMessageSizeByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageResponseTimeByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageResponseTimeByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/BaseWebServiceReport.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumer.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumerByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumerByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByDataCollector.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByHostingServer.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/MeanTimeBetweenFailureByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ResponseTimeOverTime.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByHostingServer.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByHostingServer.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/TotalMessageSizeByServiceByMethod.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/TotalMessageSizesByService.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/StatusRecordsExt.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/TimeSeriesContainer.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/footer.txt AL C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/header.txt !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/settings.properties !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/java/org/miloss/fgsms/services/rs/impl/GenerateDocumentationTest.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/java/org/miloss/fgsms/services/rs/impl/ReportingTest.java !????? C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/resources/log4j.properties ***************************************************** Printing headers for text files without a valid license header... ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/pom.xml ===================================================== <?xml version="1.0" encoding="UTF-8"?> <!-- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. U.S. Government, Department of the Army Army Materiel Command Research Development Engineering Command Communications Electronics Research Development and Engineering Center --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.mil-oss</groupId> <artifactId>fgsms-server</artifactId> <version>7.0.0</version> </parent> <artifactId>fgsms-reporting-service</artifactId> <packaging>bundle</packaging> <name>fgsms Reporting Service</name> <description>Processes reports on demand</description> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mil-oss</groupId> <artifactId>fgsms-common-interfaces</artifactId> <version>${project.parent.version}</version> </dependency> <dependency> <groupId>org.mil-oss</groupId> <artifactId>fgsms-common</artifactId> <version>${project.parent.version}</version> </dependency> <dependency> <groupId>org.mil-oss</groupId> ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/CsvExporter.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.xml.ws.WebServiceContext; import javax.xml.ws.handler.MessageContext; import org.apache.log4j.Level; import org.miloss.fgsms.common.Constants; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.faults.ServiceUnavailableFaultCodes; import org.miloss.fgsms.services.interfaces.reportingservice.ExportCSVDataRequestMsg; import org.miloss.fgsms.services.interfaces.reportingservice.ExportDataToCSVResponseMsg; import org.miloss.fgsms.services.interfaces.reportingservice.ExportRecordsEnum; import org.miloss.fgsms.services.interfaces.reportingservice.ServiceUnavailableException; import static org.miloss.fgsms.services.rs.impl.Reporting.delimiter; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.isPolicyTypeOf; import static org.miloss.fgsms.services.rs.impl.Reporting.log; import static org.miloss.fgsms.services.rs.impl.Reporting.name; import static org.miloss.fgsms.services.rs.impl.Reporting.toSafeFileName; /** * * @author AO */ public class CsvExporter { static ExportDataToCSVResponseMsg exportDataToCSV(WebServiceContext ctx, String currentUser, SecurityWrapper classlevel, ExportCSVDataRequestMsg request) throws ServiceUnavailableException { ExportDataToCSVResponseMsg res = new ExportDataToCSVResponseMsg(); res.setClassification(classlevel); ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/ReportGeneratorPlugin.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.List; import javax.xml.ws.WebServiceContext; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; /** * This interface is a plugin type of interface for generating user * facing reports based on their specifiied criteria, namely service policy * URI, time range, and report type. The output is formatted HTML content. * * Implementations must be thread safe as instances can be shared across threads * @author AO * @since 7.1 */ public interface ReportGeneratorPlugin { /** * human friendly display name of the report type * @return */ public String getDisplayName(); /** * a human readable description, it will be html encoded * @return */ public String getDescription(); /** * a list of all policy types that this report applies to * @return */ public List<PolicyType> getAppliesTo(); /** * Generates the content of the report * * Implementors must check access control urls using {@link UserIdentityUtil} * prior to report generation. The expected behavior is to skip the url if ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/Reporting.java ===================================================== /** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * If it is not possible or desirable to put the notice in a particular * file, then You may include the notice in a location (such as a LICENSE * file in a relevant directory) where a recipient would be likely to look * for such a notice. * * */ /* --------------------------------------------------------------------------- * US Government, Department of the Army * Army Materiel Command * Research Development Engineering Command * Communications Electronics Research Development and Engineering Center * --------------------------------------------------------------------------- */ package org.miloss.fgsms.services.rs.impl; import org.miloss.fgsms.plugins.reporting.ReportGeneratorPlugin; import java.io.*; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import javax.annotation.Resource; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.servlet.http.HttpServletRequest; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.ws.RequestWrapper; import javax.xml.ws.ResponseWrapper; import javax.xml.ws.WebServiceContext; import javax.xml.ws.handler.MessageContext; import org.apache.log4j.Level; import org.miloss.fgsms.common.AuditLogger; import org.miloss.fgsms.common.Constants; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Logger; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/AvailabilityByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Collections; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.data.time.TimeSeriesDataItem; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import org.miloss.fgsms.plugins.reporting.ReportGeneratorPlugin; import org.miloss.fgsms.services.interfaces.common.NameValuePair; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.log; import org.miloss.fgsms.services.rs.impl.StatusRecordsExt; /** * * @author AO */ public class AvailabilityByService implements ReportGeneratorPlugin { @Override public String GetDisplayName() { return "Availability By Service"; } @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/BaseReportGenerator.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.DecimalFormat; import java.util.Collections; import java.util.List; import org.apache.log4j.Level; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Logger; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.policyconfiguration.ServicePolicy; import org.miloss.fgsms.plugins.reporting.ReportGeneratorPlugin; import org.miloss.fgsms.services.interfaces.common.NameValuePair; import org.miloss.fgsms.sla.SLACommon; /** * * @author AO */ public abstract class BaseReportGenerator implements ReportGeneratorPlugin{ protected static final String name = "fgsms.ReportingService"; public final static Logger log = Logger.getLogger(name); public static String allitems = "All-Methods"; public final DecimalFormat format = new DecimalFormat("###,###.##"); public static String getPolicyDisplayName(String uri){ ServicePolicy policy = SLACommon.LoadPolicyPooled(uri); if (policy==null){ //very unexpected return uri; } if (policy.getDisplayName()!=null && policy.getDisplayName().length()>0) return policy.getDisplayName(); return uri; } protected static boolean isPolicyTypeOf(String uri, PolicyType p) { Connection con = Utility.getConfigurationDBConnection(); PreparedStatement com = null; ResultSet rs = null; ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/ConsumersByQueueOrTopic.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.broker; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Collections; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import org.miloss.fgsms.plugins.reporting.ReportGeneratorPlugin; import org.miloss.fgsms.services.interfaces.common.NameValuePair; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.isPolicyTypeOf; import static org.miloss.fgsms.services.rs.impl.Reporting.log; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class ConsumersByQueueOrTopic implements ReportGeneratorPlugin { @Override public String GetDisplayName() { return "Average Consumers By Queue/Topic"; } @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/QueueDepth.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.broker; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class QueueDepth extends BaseReportGenerator { @Override public String GetDisplayName() { return "Message Broker Queue Depth"; } @Override public String GetHtmlFormattedHelp() { return "This represents the average queue depth of all channels (topics/queues/etc) on a specific message broker. An increase or high " + "rate can indicate that a subscriber is offline or non-functional. For chart, X axis is time, Y is queue depth"; } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/broker/QueueTopicCountByBroker.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.broker; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class QueueTopicCountByBroker extends BaseReportGenerator { @Override public String GetDisplayName() { return "Queue or Topic Count on a Message Broker"; } @Override public String GetHtmlFormattedHelp() { return "This represents the count of channels/topics/queues for a given message broker. For the chart, X axis is time, Y is queue/topic count"; } @Override public List<PolicyType> GetAppliesTo() { ArrayList<PolicyType> ret = new ArrayList<PolicyType>(); ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/CpuUsageReport.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class CpuUsageReport extends BaseReportGenerator { @Override public String GetDisplayName() { return "CPU Usage"; } @Override public String GetHtmlFormattedHelp() { return "This represents the number of CPU utilization of process or a machine. For the chart, X axis is time, Y is CPU% in use (all cores)"; } @Override public List<PolicyType> GetAppliesTo() { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/DiskIOReport.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.TimeSeriesContainer; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class DiskIOReport extends BaseReportGenerator { @Override public String GetDisplayName() { return "Disk I/O"; } @Override public String GetHtmlFormattedHelp() { return "This represents the disk I/O operating on a logical partition on a given machine over time. For the chart, X axis is time, Y is I/O rate"; } @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/FreeDiskSpace.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.TimeSeriesContainer; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class FreeDiskSpace extends BaseReportGenerator { @Override public String GetDisplayName() { return "Free Disk Space"; } @Override public String GetHtmlFormattedHelp() { return "This represents the free disk space (MB) on a logical partition on a given machine over time. Low disk space can cause system " + "failure or prevent the system from saving audit logs. For the chart, X axis is time, Y axis free disk space host/partition"; } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/MemoryUsageReport.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class MemoryUsageReport extends BaseReportGenerator { @Override public String GetDisplayName() { return "Memory Usage"; } @Override public String GetHtmlFormattedHelp() { return "This represents the memory usage for a given machine or process. For the chart, X axis is time, Y is Memory% in use"; } @Override public List<PolicyType> GetAppliesTo() { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/NetworkIOReport.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.TimeSeriesContainer; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class NetworkIOReport extends BaseReportGenerator { @Override public String GetDisplayName() { return "Network I/O rates by Machine"; } @Override public String GetHtmlFormattedHelp() { return "This represents the network throughput rates of a machine over time as reported by the operating system, hypervisor, and/or network card. For the chart, X axis is time, Y is I/O rate"; } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/OpenFilesByProcess.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class OpenFilesByProcess extends BaseReportGenerator { @Override public String GetDisplayName() { return "Open Files by Process"; } @Override public String GetHtmlFormattedHelp() { return "This represents the number of open file handles that are owned by a specific process. A high or increasing" + " number handles can indicate a resource leak. For the chart, X axis is time, Y axis open file handle count"; } @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/os/ThreadCount.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.os; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class ThreadCount extends BaseReportGenerator { @Override public String GetDisplayName() { return "Thread Count"; } @Override public String GetHtmlFormattedHelp() { return "This represents the number of threads running on a given machine or that are owned by a specific process. A high or increasing" + " number threads can indicate a resource leak. For the chart, X axis is time, Y is threads in use"; } @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ServiceLevelAgreementReport.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import org.miloss.fgsms.services.rs.impl.Reporting; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator.isPolicyTypeOf; /** * * @author AO */ public class ServiceLevelAgreementReport extends BaseReportGenerator { @Override public String GetDisplayName() { return "Service Level Agreement violations"; } @Override public String GetHtmlFormattedHelp() { return "Applies to all service policy types. This report generates a table and bar chart outlining all SLA violations for a given service. An SLA is basically" + " a rule and action based on recorded data. An SLA Fault is not necessarily a performance and" + " are based on the rules configured for each service."; } @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageMessageSizeByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import org.miloss.fgsms.services.rs.impl.Reporting; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class AverageMessageSizeByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Average Message Size By Service"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + " This represents the average combined request and response message size of each service. A negative value generally indicates that the information was not able to be collected by the agent. " ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageMessageSizeByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class AverageMessageSizeByServiceByMethod extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Average Message Size By Service By Method"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + " This represents the average combined request and response message size of each " ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageResponseTimeByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class AverageResponseTimeByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Average Response Time By Service"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp(){ return super.GetHtmlFormattedHelp() + "For the chart, X axis is service, Y axis is average message size."; ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/AverageResponseTimeByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class AverageResponseTimeByServiceByMethod extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Average Response Time By Service By Method"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp(){ return super.GetHtmlFormattedHelp() + "For the chart, X axis is service, Y axis is average message size."; ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/BaseWebServiceReport.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Level; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; import org.miloss.fgsms.services.rs.impl.Reporting; /** * * @author AO */ public abstract class BaseWebServiceReport extends BaseReportGenerator{ /** * {@inheritDoc} */ @Override public List<PolicyType> GetAppliesTo() { ArrayList<PolicyType> ret = new ArrayList<PolicyType>(); ret.add(PolicyType.TRANSACTIONAL); return ret; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return "Applies to web services and transactional services only and services that generally have a request/response or a start/stop messaging pattern. "; } protected List<String> getSoapActions(final String url, Connection PerfCon) { List<String> list = new ArrayList<String>(); PreparedStatement comm = null; ResultSet rs = null; try { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumer.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; /** * * @author AO */ public class InvocationsByConsumer extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Invocations By Consumer"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp(){ return super.GetHtmlFormattedHelp() + "Aggregated against all web service traffic, by client username or ip address"; ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumerByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class InvocationsByConsumerByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Invocations By Consumer By Service"; } /** * {@inheritDoc} */ ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByConsumerByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class InvocationsByConsumerByServiceByMethod extends BaseWebServiceReport { @Override public String GetDisplayName() { return "Invocations by Consumer by Service by Method"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByDataCollector.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; /** * * @author AO */ public class InvocationsByDataCollector extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Invocations by Data Collector"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return "This report is useful for load balancing transactional/web service agents that report to the FGSMS server(s)."; } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByHostingServer.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; /** * * @author AO */ public class InvocationsByHostingServer extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Invocations by Hosting Server"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + "Displays the counts of all request and response messages for a given server (success + failure counts) by host."; } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class InvocationsByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Invocations by Service"; } /** * {@inheritDoc} */ @Override public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files, TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx) throws IOException { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/InvocationsByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class InvocationsByServiceByMethod extends BaseWebServiceReport { @Override public String GetDisplayName() { return "Invocations by Service By Method"; } @Override public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files, TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx) throws IOException { Connection con = Utility.getPerformanceDBConnection(); try { PreparedStatement cmd = null; ResultSet rs = null; DefaultCategoryDataset set = new DefaultCategoryDataset(); JFreeChart chart = null; ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/MeanTimeBetweenFailureByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Collections; import java.util.List; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.Duration; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class MeanTimeBetweenFailureByService extends BaseWebServiceReport { DatatypeFactory df; public MeanTimeBetweenFailureByService() { try { df = DatatypeFactory.newInstance(); } catch (DatatypeConfigurationException ex) { } } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ResponseTimeOverTime.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.GregorianCalendar; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import org.miloss.fgsms.services.rs.impl.TimeSeriesContainer; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class ResponseTimeOverTime extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Response Time Over Time"; } /** * {@inheritDoc} */ @Override ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByHostingServer.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; /** * * @author AO */ public class SuccessFailureCountByHostingServer extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Success/Failure Count by Hosting Server"; } /** * {@inheritDoc} */ @Override public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files, TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx) throws IOException { if (!UserIdentityUtil.hasGlobalAdministratorRole(currentuser, "SUCCESS_FAILURE_COUNT_BY_HOSTING_SERVER", classification, ctx)) { data.append("<h2>Access for " + GetDisplayName() + " was denied for non-global admin users</h2>"); ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class SuccessFailureCountByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Success and Failure Transaction Counts By Service"; } /** * {@inheritDoc} */ @Override public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files, TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx) throws IOException { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/SuccessFailureCountByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class SuccessFailureCountByServiceByMethod extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Success and Failure Transaction Counts By Service By Method"; } /** * {@inheritDoc} */ @Override public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files, TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx) throws IOException { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByHostingServer.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; /** * * @author AO */ public class ThroughputByHostingServer extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Throughput By Hosting Server"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + "This represents the average invocation rate over the given period of time for a given service host. The accuracy of the data" + " is limited to the time range this report was generated from. For the chart, X axis is host, Y axis is is throughput (bytes total of all messages/time for a given host)." ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class ThroughputByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Throughput By Service"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + "This represents the average invocation rate over the given period of time. The accuracy of the data" ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/ThroughputByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class ThroughputByServiceByMethod extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Throughput By Service By Method"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + "This represents the average invocation rate over the given period of time grouped by method. The accuracy of the data" ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/TotalMessageSizeByServiceByMethod.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class TotalMessageSizeByServiceByMethod extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Total Message Size By Service By Method"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + "Displays the sum of all request and response messages sizes, assuming it was recorded, grouped by service, by method. " ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/reports/ws/TotalMessageSizesByService.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl.reports.ws; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; import javax.xml.ws.WebServiceContext; import org.apache.log4j.Level; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.UserIdentityUtil; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.common.TimeRange; import static org.miloss.fgsms.services.rs.impl.Reporting.getFilePathDelimitor; import static org.miloss.fgsms.services.rs.impl.Reporting.pixelHeightCalc; import org.miloss.fgsms.services.rs.impl.reports.BaseReportGenerator; /** * * @author AO */ public class TotalMessageSizesByService extends BaseWebServiceReport { /** * {@inheritDoc} */ @Override public String GetDisplayName() { return "Total Message Size By Service"; } /** * {@inheritDoc} */ @Override public String GetHtmlFormattedHelp() { return super.GetHtmlFormattedHelp() + "Displays the sum of all request and response messages sizes, assuming it was recorded. grouped by service." ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/StatusRecordsExt.java ===================================================== /** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * If it is not possible or desirable to put the notice in a particular * file, then You may include the notice in a location (such as a LICENSE * file in a relevant directory) where a recipient would be likely to look * for such a notice. * */ /* --------------------------------------------------------------------------- * U.S. Government, Department of the Army * Army Materiel Command * Research Development Engineering Command * Communications Electronics Research Development and Engineering Center * --------------------------------------------------------------------------- */ package org.miloss.fgsms.services.rs.impl; import java.util.GregorianCalendar; /**A simple container for status records, just a time stamp and a up/down status indicator * * @author AO */ public class StatusRecordsExt { public GregorianCalendar gcal; public boolean status; } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/java/org/miloss/fgsms/services/rs/impl/TimeSeriesContainer.java ===================================================== /** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * If it is not possible or desirable to put the notice in a particular * file, then You may include the notice in a location (such as a LICENSE * file in a relevant directory) where a recipient would be likely to look * for such a notice. * */ /* --------------------------------------------------------------------------- * U.S. Government, Department of the Army * Army Materiel Command * Research Development Engineering Command * Communications Electronics Research Development and Engineering Center * --------------------------------------------------------------------------- */ package org.miloss.fgsms.services.rs.impl; import java.util.ArrayList; import java.util.List; import org.jfree.data.time.TimeSeries; /** *Used by the reporting service for generating reports * @author AO */ public class TimeSeriesContainer { public TimeSeriesContainer() { data = new ArrayList<TimeSeries>(); } public List<TimeSeries> data; public TimeSeries Get(String name, Class t) { for (int i = 0; i < data.size(); i++) { if (data.get(i).getKey().compareTo(name) == 0) { return data.get(i); } } TimeSeries ts = new TimeSeries(name, t); data.add(ts); return ts; } } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/footer.txt ===================================================== </div> <!-- DoD Unclassified Banner --> <table width="100%" cellspacing="0" cellpadding="0"> <tr width="100%"> <td align="center" width="100%" bgcolor="%COLOR%"> <font size="2" color="black"><b> <center> %CLASSIFICATION%</center> </b></font> </td> </tr> </table> <!-- DoD Unclassified Banner --> </body> </html> ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/main/resources/org/miloss/fgsms/services/rs/impl/settings.properties ===================================================== ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/java/org/miloss/fgsms/services/rs/impl/GenerateDocumentationTest.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.services.rs.impl; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Assert; import org.junit.Test; import org.miloss.fgsms.common.Constants; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.plugins.reporting.ReportGeneratorPlugin; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.reportingservice.ReportTypeContainer; import org.miloss.fgsms.test.WebServiceBaseTests; /** * * @author alex.oree */ public class GenerateDocumentationTest extends WebServiceBaseTests{ public GenerateDocumentationTest() throws Exception { super(); url = "http://localhost/jUnitTestRS"; Init(); } @Test public void generateMarkDown() throws Exception { File file = new File("../../src/site/markdown"); Assert.assertTrue(file.exists() && file.isDirectory()); file = new File(file, "reportTypes.md"); FileOutputStream fos = new FileOutputStream(file); Writer out = new BufferedWriter(new OutputStreamWriter(fos, Constants.CHARSET)); ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/java/org/miloss/fgsms/services/rs/impl/ReportingTest.java ===================================================== /** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * If it is not possible or desirable to put the notice in a particular * file, then You may include the notice in a location (such as a LICENSE * file in a relevant directory) where a recipient would be likely to look * for such a notice. * * */ /* --------------------------------------------------------------------------- * US Government, Department of the Army * Army Materiel Command * Research Development Engineering Command * Communications Electronics Research Development and Engineering Center * --------------------------------------------------------------------------- */ package org.miloss.fgsms.services.rs.impl; import java.io.File; import java.io.FileOutputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import java.util.GregorianCalendar; import java.util.List; import org.miloss.fgsms.services.interfaces.common.SecurityWrapper; import org.miloss.fgsms.services.interfaces.reportingservice.ArrayOfReportTypeContainer; import org.miloss.fgsms.services.interfaces.reportingservice.ExportCSVDataRequestMsg; import org.miloss.fgsms.services.interfaces.reportingservice.ExportDataRequestMsg; import org.miloss.fgsms.services.interfaces.reportingservice.ExportDataToCSVResponseMsg; import org.miloss.fgsms.services.interfaces.reportingservice.ExportDataToHTMLResponseMsg; import org.miloss.fgsms.services.interfaces.reportingservice.ExportRecordsEnum; import org.miloss.fgsms.services.interfaces.reportingservice.ObjectFactory; import org.miloss.fgsms.services.interfaces.reportingservice.ReportTypeContainer; import org.miloss.fgsms.test.WebServiceBaseTests; import static org.junit.Assert.*; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.TimeRange; /** * * @author AO */ public class ReportingTest extends WebServiceBaseTests { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-reporting-service/src/test/resources/log4j.properties ===================================================== log4j.rootLogger=INFO, CONSOLE log4j.appender.jaxws.JAXWSWebServiceMetaDataBuilder=ERROR,CONSOLE log4j.appender.jaxws=ERROR,CONSOLE log4j.appender.org.jboss.ws.metadata=ERROR,CONSOLE log4j.appender.org.jboss.ws.metadata.builder=ERROR,CONSOLE log4j.appender.org.jboss.ws.metadata.builder.MetaDataBuilder=ERROR,CONSOLE log4j.appender.builder.MetaDataBuilder=ERROR,CONSOLE log4j.appender.builder=ERROR,CONSOLE log4j.appender.org.apache.cxf.service.factory.ReflectionServiceFactoryBean=ERROR,CONSOLE log4j.appender.handler.HandlerChainExecutor=ERROR,CONSOLE log4j.appender.handler=ERROR,CONSOLE log4j.appender.soap.MessageContextAssociation=ERROR,CONSOLE log4j.appender.httpclient.wire.content=WARN, CONSOLE log4j.appender.httpclient.wire=WARN, CONSOLE log4j.appender.org.apache.commons.httpclient=WARN, CONSOLE log4j.appender.httpclient.wire.content=WARN, CONSOLE log4j.appender.httpclient.wire=WARN, CONSOLE log4j.appender.org.apache.commons.httpclient=WARN, CONSOLE log4j.appender.umdm.EndpointMetaData==ERROR, CONSOLE log4j.appender.handler.HandlerResolverImpl==ERROR, CONSOLE log4j.appender.binding.BindingImpl==ERROR, CONSOLE log4j.appender.jaxws.JAXWSWebServiceMetaDataBuilder==ERROR, CONSOLE log4j.appender.utils.JBossWSEntityResolver==ERROR, CONSOLE log4j.appender.fgsms.ServiceMixJMX=INFO,CONSOLE log4j.appender.fgsms.Utility=INFO,CONSOLE log4j.appender.fgsms.StatusBueller=INFO,CONSOLE log4j.appender.fgsms.DataCollectorService=INFO,CONSOLE log4j.appender.fgsms.DataAccessService=INFO,CONSOLE log4j.appender.org.miloss.fgsms.common.AuditLogger=INFO,CONSOLE log4j.appender.fgsms.UserIdentityUtil=INFO,CONSOLE log4j.appender.fgsms.StatusBueller=INFO,CONSOLE log4j.appender.fgsms.QpidPython=INFO,CONSOLE log4j.appender.fgsms.QpidJMX=INFO,CONSOLE log4j.appender.fgsms.DataPruner=INFO,CONSOLE log4j.appender.fgsms.UDDIPublisher=INFO,CONSOLE log4j.appender.fgsms.MulticastAlerting=INFO,CONSOLE log4j.appender.fgsms.SLAProcessor=INFO,CONSOLE #the following items are used for sending SLA Alerts to specific loggers. Configure them as necessary to pipe log output whereever you need it log4j.appender.fgsms.SLAProcessor.SysLog=INFO,CONSOLE log4j.appender.fgsms.SLAProcessor.UdpLog=INFO,CONSOLE log4j.appender.fgsms.SLAProcessor.EventLog=INFO,CONSOLE