Fork me on GitHub

Rat (Release Audit Tool) results

The following document contains the results of Rat (Release Audit Tool).

*****************************************************
Summary
-------
Generated at: 2017-03-12T00:06:39-05:00

Notes: 0
Binaries: 0
Archives: 0
Standards: 8

Apache Licensed: 0
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

8 Unknown Licenses

*****************************************************

Files with unapproved licenses:

  C:/projects/fgsms/fgsms-server/fgsms-stats/pom.xml
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/FgsmsStatsv2.java
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BaseJob.java
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BrokerStatisticsJob.java
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/MachineProcessJob.java
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/StatusStatisticsJob.java
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/TransactionalStatisticsJob.java
  C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/StatisticsContainer.java

*****************************************************

*****************************************************
  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-stats/pom.xml
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/FgsmsStatsv2.java
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BaseJob.java
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BrokerStatisticsJob.java
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/MachineProcessJob.java
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/StatusStatisticsJob.java
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/TransactionalStatisticsJob.java
 !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/StatisticsContainer.java
 
*****************************************************

 Printing headers for text files without a valid license header...
 
=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/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-stats</artifactId>
     <packaging>bundle</packaging>
     <name>fgsms Statistics Aggregator</name>
     <description>Aggregates performance metrics and statistics to increase performance.</description>
     <dependencies>
		 
	  <dependency>
	       <groupId>junit</groupId>
	       <artifactId>junit</artifactId>
	       <scope>test</scope>
	  </dependency>
	
	  <dependency>
	       <groupId>org.mil-oss</groupId>
	       <artifactId>fgsms-common</artifactId>
	       <version>${project.parent.version}</version>
	  </dependency>
          <dependency>
	       <groupId>org.mil-oss</groupId>
	       <artifactId>fgsms-agentcore</artifactId>
	       <version>${project.parent.version}</version>
	  </dependency>
	  <dependency>

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/FgsmsStatsv2.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.statistics;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.miloss.fgsms.common.DBSettingsLoader;
import org.miloss.fgsms.common.Utility;
import org.miloss.fgsms.services.interfaces.common.PolicyType;
import org.miloss.fgsms.services.interfaces.dataaccessservice.OperationalRecord;
import org.miloss.fgsms.services.interfaces.policyconfiguration.KeyNameValueEnc;
import org.apache.log4j.Level;
import org.miloss.fgsms.agentcore.MessageProcessor;
import org.miloss.fgsms.common.Logger;
import org.miloss.fgsms.common.DBUtils;
import org.miloss.fgsms.statistics.jobs.BrokerStatisticsJob;
import org.miloss.fgsms.statistics.jobs.MachineProcessJob;
import org.miloss.fgsms.statistics.jobs.StatusStatisticsJob;
import org.miloss.fgsms.statistics.jobs.TransactionalStatisticsJob;

/**
 * Statistics Calculator for fgsms. It rips through the various performance
 * database tables and calculates aggregated statistics for all services.
 * Several other capabilities depend on this functioning, including the non
 * transactional SLA processor (for rate information, MBTF,etc), Federation
 * publishers (UDDI) and the user interface is heavily driven off this data.
 *

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BaseJob.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.statistics.jobs;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import org.apache.log4j.Level;
import org.miloss.fgsms.common.DBUtils;
import org.miloss.fgsms.services.interfaces.dataaccessservice.OperationalRecord;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.log;

/**
 *
 * @author AO
 */
public abstract class BaseJob implements Runnable{

    protected long getSLACount(final String url, final Long ts, Connection con) {
        long r = 0;
        PreparedStatement cmd = null;
        ResultSet rs = null;
        try {
            cmd = con.prepareStatement("select count(*) from slaviolations where uri=? and utcdatetime > ?");
            cmd.setString(1, url);
            cmd.setLong(2, System.currentTimeMillis() - ts);
            rs = cmd.executeQuery();
            if (rs.next()) {
                r = rs.getLong(1);
            }
        } catch (Exception ex) {
            log.log(Level.ERROR, null, ex);
        } finally {
            DBUtils.safeClose(rs);
            DBUtils.safeClose(cmd);
        }
        return r;
    }
    protected void insertRow(Connection perf, final String url, final String action, final long period) {
        PreparedStatement prepareStatement = null;
        try {

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BrokerStatisticsJob.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.statistics.jobs;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.apache.log4j.Level;
import org.miloss.fgsms.agentcore.MessageProcessor;
import org.miloss.fgsms.common.DBUtils;
import org.miloss.fgsms.common.Utility;
import org.miloss.fgsms.services.interfaces.common.PolicyType;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.log;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl;

/**
 *
 * @author AO
 */
public class BrokerStatisticsJob extends BaseJob {
 List<Long> periods;

    public BrokerStatisticsJob(List<Long> periods) {
        this.periods = periods;
    }
    @Override
    public void run() {
        UUID random = UUID.randomUUID();
        MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME, 0, myUrl, "machine/process", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", "");
        Connection ConfigCon = Utility.getConfigurationDBConnection();
        Connection PerfCon = Utility.getPerformanceDBConnection();
        try {
            doWorkBrokers(ConfigCon, PerfCon, periods);
            MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "success", 0, false, System.currentTimeMillis(), new HashMap());
        } catch (Exception ex) {
            MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "error " + ex.getMessage(), 0, true, System.currentTimeMillis(), new HashMap());

        } finally {
            DBUtils.safeClose(PerfCon);
            DBUtils.safeClose(ConfigCon);
        }

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/MachineProcessJob.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.statistics.jobs;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.apache.log4j.Level;
import org.miloss.fgsms.agentcore.MessageProcessor;
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.interfaces.dataaccessservice.OperationalRecord;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.log;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl;

/**
 *
 * @author AO
 */
public class MachineProcessJob extends BaseJob implements Runnable {

    List<Long> periods;

    public MachineProcessJob(List<Long> periods) {
        this.periods = periods;
    }

    @Override
    public void run() {

        UUID random = UUID.randomUUID();
        MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME, 0, myUrl, "machine/process", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", "");
        Connection ConfigCon = Utility.getConfigurationDBConnection();
        Connection PerfCon = Utility.getPerformanceDBConnection();
        try {
            doWorkMachinesProcesses(ConfigCon, PerfCon, periods);
            MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "success", 0, false, System.currentTimeMillis(), new HashMap());

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/StatusStatisticsJob.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.statistics.jobs;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.apache.log4j.Level;
import org.miloss.fgsms.agentcore.MessageProcessor;
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.interfaces.dataaccessservice.OperationalRecord;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.log;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl;

/**
 *
 * @author AO
 */
public class StatusStatisticsJob extends BaseJob implements Runnable {

    List<Long> periods;

    public StatusStatisticsJob(List<Long> periods) {
        this.periods = periods;
    }

    @Override
    public void run() {
        UUID random = UUID.randomUUID();
        MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME, 0, myUrl, "status", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", "");
        Connection ConfigCon = Utility.getConfigurationDBConnection();
        Connection PerfCon = Utility.getPerformanceDBConnection();
        try {
            doWorkForStatusItemsOnly(ConfigCon, PerfCon, periods);
            MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "success", 0, false, System.currentTimeMillis(), new HashMap());
        } catch (Exception ex) {

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/TransactionalStatisticsJob.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.statistics.jobs;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import org.apache.log4j.Level;
import org.miloss.fgsms.agentcore.MessageProcessor;
import org.miloss.fgsms.common.DBUtils;
import org.miloss.fgsms.common.Utility;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.log;
import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl;
import org.miloss.fgsms.statistics.StatisticsContainer;

/**
 *
 * @author AO
 */
public class TransactionalStatisticsJob extends BaseJob {

    List<Long> periods;
    String uri;

    public TransactionalStatisticsJob(List<Long> periods, String string) {
        this.periods = periods;
        this.uri = string;
    }

    @Override
    public void run() {
        UUID random = UUID.randomUUID();
        MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME + " for " + uri, 0, myUrl, "transactional", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", "");
        Connection ConfigCon = Utility.getConfigurationDBConnection();
        Connection PerfCon = Utility.getPerformanceDBConnection();
        try {
            doWorkTransactional(ConfigCon, PerfCon, periods, uri);

=====================================================
== File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/StatisticsContainer.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.statistics;

/**
 *
 * @author AO
 */
public class StatisticsContainer {

    public long faults = 0;
    public long success = 0;
    public long sla = 0;
    public long averageresponsetime = 0;
    public long mtbf = 0;
    public long max_responsetime = 0;
    public long max_request_size = 0;
    public long max_response_size = 0;
    public long totalprocessingtime = 0;
    public String uri;
    public String action;
    public long timeperiod;
    public double availibity = -1;

}