EMMA Coverage Report (generated Tue Aug 23 05:57:12 CDT 2011)
[all classes][felix.task]

COVERAGE SUMMARY FOR SOURCE FILE [OptimizeDMOTask.java]

nameclass, %method, %block, %line, %
OptimizeDMOTask.java100% (2/2)80%  (4/5)94%  (87/93)87%  (20/23)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class OptimizeDMOTask100% (1/1)67%  (2/3)90%  (19/21)83%  (5/6)
generateWorker (ExecutorService): Worker 0%   (0/1)0%   (0/2)0%   (0/1)
OptimizeDMOTask (StatOperator, DMOOptimizer): void 100% (1/1)100% (10/10)100% (4/4)
generateWorker (): Worker 100% (1/1)100% (9/9)100% (1/1)
     
class OptimizeDMOTask$OptimizeDMOWorker100% (1/1)100% (2/2)94%  (68/72)88%  (15/17)
run (): void 100% (1/1)93%  (56/60)83%  (10/12)
OptimizeDMOTask$OptimizeDMOWorker (OptimizeDMOTask, StatOperator, DMOOptimize... 100% (1/1)100% (12/12)100% (5/5)

1package felix.task;
2 
3import java.io.FileInputStream;
4import java.util.concurrent.ExecutorService;
5 
6import org.postgresql.PGConnection;
7 
8import tuffy.util.Timer;
9import tuffy.util.UIMan;
10 
11import felix.dstruct.DataMovementOperator;
12import felix.dstruct.StatOperator;
13import felix.optimizer.DMOOptimizer;
14import felix.society.Task;
15import felix.society.Worker;
16import felix.society.Task.TaskType;
17 
18/**
19 * {@link Task} Object for optimizing a {@link DataMovementOperator}.
20 * @author czhang
21 *
22 */
23public class OptimizeDMOTask extends Task{
24 
25        /**
26         * Operator containing the DMO.
27         */
28        public StatOperator sop;
29        
30        /**
31         * DMO to be optimized.
32         */
33        public DMOOptimizer dmoo;
34        
35        /**
36         * Constructor.
37         * @param _sop
38         * @param _dmoo
39         */
40        public OptimizeDMOTask(StatOperator _sop, DMOOptimizer _dmoo){
41                super(TaskType.TASK);
42                sop = _sop;
43                dmoo = _dmoo;
44        }
45        
46        @Override
47        public Worker generateWorker() {
48                return new OptimizeDMOWorker(sop, dmoo);
49        }
50        
51        /**
52         * A worker that optimize the DMO.
53         * @author czhang
54         *
55         */
56        public class OptimizeDMOWorker extends Worker{
57 
58                public StatOperator sop;
59                public DMOOptimizer dmoo;
60                
61                public OptimizeDMOWorker(StatOperator _sop, DMOOptimizer _dmoo){
62                        super();
63                        sop = _sop;
64                        dmoo = _dmoo;
65                }
66                
67                @Override
68                public void run() {
69                        try{
70                                                                
71                                Timer.start("Mat-Timer");
72                                System.out.println(">>> Optimize DMOs for " + sop + "... ");
73                                sop.prepare();
74                                
75                                for(DataMovementOperator dmo : sop.getAllDMOs()){
76                                        
77                                        //if(!dmo.hasPrepared){
78                                                if(dmo.allowOptimization == false){
79                                                        dmo.copyLogicPlanToPhysicalPlanDirectly();
80                                                }else{
81                                                        //optimize the materialization trade-off.
82                                                        dmoo.optimizeMateralization(dmo);        
83                                                }
84                                                dmo.prepare();
85 
86                                }
87                                System.out.println("Uses " + Timer.elapsed("Mat-Timer") + "\n");
88                
89                                
90                        }catch(Exception e){
91                                submitException(e);
92                        }
93                }
94        }
95 
96        @Override
97        public Worker generateWorker(ExecutorService pool) {
98                return null;
99        }
100        
101 
102}

[all classes][felix.task]
EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov