All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ikasan.metrics.service.SolrMetricsServiceImpl Maven / Gradle / Ivy

The newest version!
package org.ikasan.metrics.service;

import org.ikasan.metrics.dao.SolrMetricsDao;
import org.ikasan.spec.history.FlowInvocationMetric;
import org.ikasan.spec.metrics.MetricsService;
import org.ikasan.spec.persistence.BatchInsert;
import org.ikasan.spec.solr.SolrService;
import org.ikasan.spec.solr.SolrServiceBase;

import java.util.List;

public class SolrMetricsServiceImpl extends SolrServiceBase implements SolrService, BatchInsert, MetricsService {

    private SolrMetricsDao solrMetricsDao;

    public SolrMetricsServiceImpl(SolrMetricsDao solrMetricsDao) {
        this.solrMetricsDao = solrMetricsDao;
        if(this.solrMetricsDao == null) {
            throw new IllegalArgumentException("solrMetricsDao cannot be null!");
        }
    }

    @Override
    public void insert(List entities) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        this.solrMetricsDao.save(entities);
    }

    @Override
    public void save(FlowInvocationMetric save) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        this.solrMetricsDao.save(save);
    }

    @Override
    public void save(List save) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        this.insert(save);
    }

    @Override
    public List getMetrics(long startTime, long endTime) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.getMetrics(startTime, endTime);
    }

    @Override
    public List getMetrics(String moduleName, long startTime, long endTime) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.getMetrics(moduleName, startTime, endTime);
    }

    @Override
    public List getMetrics(String moduleName, String flowName, long startTime, long endTime) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.getMetrics(moduleName, flowName, startTime, endTime);
    }

    @Override
    public List getMetrics(long startTime, long endTime, int offset, int limit) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.getMetrics(startTime, endTime, offset, limit);
    }

    @Override
    public long count(long startTime, long endTime) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.count(startTime, endTime);
    }

    @Override
    public List getMetrics(String moduleName, long startTime, long endTime, int offset, int limit) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.getMetrics(moduleName, startTime, endTime, offset, limit);
    }

    @Override
    public long count(String moduleName, long startTime, long endTime) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.count(moduleName, startTime, endTime);
    }

    @Override
    public List getMetrics(String moduleName, String flowName, long startTime, long endTime, int offset, int limit) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.getMetrics(moduleName, flowName, startTime, endTime, offset, limit);
    }

    @Override
    public long count(String moduleName, String flowName, long startTime, long endTime) {
        this.solrMetricsDao.setSolrUsername(this.solrUsername);
        this.solrMetricsDao.setSolrPassword(this.solrPassword);
        return this.solrMetricsDao.count(moduleName, flowName, startTime, endTime);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy