EMMA Coverage Report (generated Mon Aug 23 17:21:34 CEST 2010)
[all classes][org.dcache.util]

COVERAGE SUMMARY FOR SOURCE FILE [CDCThreadFactory.java]

nameclass, %method, %block, %line, %
CDCThreadFactory.java100% (1/1)50%  (1/2)30%  (6/20)60%  (3/5)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class CDCThreadFactory100% (1/1)50%  (1/2)30%  (6/20)60%  (3/5)
newThread (Runnable): Thread 0%   (0/1)0%   (0/14)0%   (0/2)
CDCThreadFactory (ThreadFactory): void 100% (1/1)100% (6/6)100% (3/3)

1package org.dcache.util;
2 
3import java.util.concurrent.ThreadFactory;
4 
5import dmg.cells.nucleus.CDC;
6 
7/**
8 * CDCThreadFactory decorates another ThreadFactory and makes all
9 * threads CDC aware. Each thread inherits the CDC of the thread
10 * calling the newThread method.
11 */
12public class CDCThreadFactory implements ThreadFactory
13{
14    private ThreadFactory _factory;
15 
16    public CDCThreadFactory(ThreadFactory factory)
17    {
18        _factory = factory;
19    }
20 
21    public Thread newThread(final Runnable r)
22    {
23        final CDC cdc = new CDC();
24        return _factory.newThread(new Runnable() {
25                public void run()
26                {
27                    cdc.apply();
28                    try {
29                        r.run();
30                    } finally {
31                        CDC.clear();
32                    }
33                }
34            });
35    }
36}

[all classes][org.dcache.util]
EMMA 2.0.5312 (C) Vladimir Roubtsov