Package com.ajjpj.asysmon.datasink.aggregation.jdbc

Source Code of com.ajjpj.asysmon.datasink.aggregation.jdbc.AJdbcReportServlet

package com.ajjpj.asysmon.datasink.aggregation.jdbc;

import com.ajjpj.asysmon.ASysMonConfigurer;
import com.ajjpj.asysmon.data.AHierarchicalData;
import com.ajjpj.asysmon.datasink.aggregation.bottomup.ABottomUpDataSink;
import com.ajjpj.asysmon.datasink.aggregation.bottomup.ABottomUpLeafFilter;
import com.ajjpj.asysmon.datasink.aggregation.bottomup.ABottomUpReportServlet;
import com.ajjpj.asysmon.measure.jdbc.ASysMonStatement;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;


/**
* @author arno
*/
public class AJdbcReportServlet extends ABottomUpReportServlet {
    private static volatile ABottomUpDataSink collector;

    @Override public void init(ServletConfig config) throws ServletException {
        super.init(config);

        synchronized (AJdbcReportServlet.class) {
            if(collector == null) {
                collector = new ABottomUpDataSink(createLeafFilter());
                ASysMonConfigurer.addDataSink(getSysMon(), collector);
            }
        }
    }

    /**
     * override to customize
     */
    protected ABottomUpLeafFilter createLeafFilter() {
        return new ABottomUpLeafFilter() {
            @Override public boolean isLeaf(AHierarchicalData data) {
                return data.getIdentifier().startsWith(ASysMonStatement.IDENT_PREFIX_JDBC);
            }
        };
    }

    @Override protected ABottomUpDataSink getCollector() {
        return collector;
    }

    @Override protected String getTitle() {
        return "A-SysMon JDBC report";
    }
}
TOP

Related Classes of com.ajjpj.asysmon.datasink.aggregation.jdbc.AJdbcReportServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.