EMMA Coverage Report (generated Thu Jan 20 11:39:44 EST 2011)
[all classes][com.hammurapi.eventbus]

COVERAGE SUMMARY FOR SOURCE FILE [InferenceChainLengthFilter.java]

nameclass, %method, %block, %line, %
InferenceChainLengthFilter.java100% (1/1)100% (3/3)100% (38/38)100% (9/9)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class InferenceChainLengthFilter100% (1/1)100% (3/3)100% (38/38)100% (9/9)
<static initializer> 100% (1/1)100% (5/5)100% (2/2)
InferenceChainLengthFilter (int): void 100% (1/1)100% (6/6)100% (3/3)
accept (InferenceCommand, EventBus): boolean 100% (1/1)100% (27/27)100% (4/4)

1package com.hammurapi.eventbus;
2 
3import java.util.logging.Logger;
4 
5/**
6 * Discards events with length of inference chain greater than specified threshold, issues warning.
7 * @author Pavel Vlasov
8 */
9public class InferenceChainLengthFilter<E, P extends Comparable<P>, C, K, H extends EventBus.Handle<E,P,C>, S extends EventStore<E,P,C,H,S>> implements InferenceFilter<E,P,C,K,H,S> {
10        
11        private static final Logger logger = Logger.getLogger(InferenceChainLengthFilter.class.getCanonicalName());
12        
13        private int threshold;
14 
15        public InferenceChainLengthFilter(int threshold) {
16                this.threshold = threshold;
17        }
18        
19        public boolean accept(InferenceCommand<E,P,C,K,H,S> inferenceCommand, EventBus<E,P,C,K,H,S> bus) {
20                if (inferenceCommand.getInferenceContext().getInferenceChainLength()>threshold) {
21                        logger.warning("Inference chain is too long ("+inferenceCommand.getInferenceContext().getInferenceChainLength()+") for inference command "+inferenceCommand+", command discarded");
22                        return false;
23                }
24                return true;
25        }
26}

[all classes][com.hammurapi.eventbus]
EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov