package org.distributeme.core.stats; import org.distributeme.core.routing.Constants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * This helper class works as delegate between a RoutingStats object and the caller. * * @author lrosenberg * @since 21.09.15 01:18 * @version $Id: $Id */ public class RoutingStatsWrapper implements RoutingStatsCollector{ private static Logger log = LoggerFactory.getLogger(Constants.ROUTING_LOGGER_NAME); /** * Case specific stats. */ private RoutingStats caseStats; /** * Default stats for all cases. */ private RoutingStats defaultStats; private String serviceId; /** * <p>Constructor for RoutingStatsWrapper.</p> * * @param aServiceId a {@link java.lang.String} object. * @param aCaseStats a {@link org.distributeme.core.stats.RoutingStats} object. * @param aDefaultStats a {@link org.distributeme.core.stats.RoutingStats} object. */ public RoutingStatsWrapper(String aServiceId, RoutingStats aCaseStats, RoutingStats aDefaultStats){ caseStats = aCaseStats; defaultStats = aDefaultStats; serviceId = aServiceId; } /** {@inheritDoc} */ @Override public void addFailDecision() { if (log.isDebugEnabled()){ log.debug(""+serviceId+" - added decision to fail"); } if (caseStats != null) caseStats.addFailDecision(); if (defaultStats != null) defaultStats.addFailDecision(); } /** {@inheritDoc} */ @Override public void addFailedCall() { if (log.isDebugEnabled()){ log.debug(""+serviceId+" - call failed"); } if (caseStats != null) caseStats.addFailedCall(); if (defaultStats != null) defaultStats.addFailedCall(); } /** {@inheritDoc} */ @Override public void addRetryDecision() { if (log.isDebugEnabled()){ log.debug(""+serviceId+" - added decision to retry call"); } if (caseStats != null) caseStats.addRetryDecision(); if (defaultStats != null) defaultStats.addRetryDecision(); } /** {@inheritDoc} */ @Override public void addBlacklisted() { if (log.isDebugEnabled()){ log.debug(""+serviceId+" - call canceled due to blacklisting"); } if (caseStats != null) caseStats.addBlacklisted(); if (defaultStats != null) defaultStats.addBlacklisted(); } /** {@inheritDoc} */ @Override public void addRequestRoutedTo() { if (log.isDebugEnabled()){ log.debug(""+serviceId+" - new request will be sent to"); } if (caseStats != null) caseStats.addRequestRoutedTo(); if (defaultStats != null) defaultStats.addRequestRoutedTo(); } }