EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.pcmsolver.tests]

COVERAGE SUMMARY FOR SOURCE FILE [LQNTest.java]

nameclass, %method, %block, %line, %
LQNTest.java0%   (0/1)0%   (0/12)0%   (0/644)0%   (0/189)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class LQNTest0%   (0/1)0%   (0/12)0%   (0/644)0%   (0/189)
<static initializer> 0%   (0/1)0%   (0/5)0%   (0/2)
LQNTest (): void 0%   (0/1)0%   (0/3)0%   (0/1)
fixFile (String): void 0%   (0/1)0%   (0/117)0%   (0/33)
getProcessor1 (LqnCoreFactory, LqnModelType): void 0%   (0/1)0%   (0/109)0%   (0/30)
getProcessor2 (LqnCoreFactory, LqnModelType): void 0%   (0/1)0%   (0/103)0%   (0/29)
getProcessor3 (LqnCoreFactory, LqnModelType): void 0%   (0/1)0%   (0/149)0%   (0/41)
handle (): void 0%   (0/1)0%   (0/53)0%   (0/18)
printResultToConsole (): void 0%   (0/1)0%   (0/41)0%   (0/15)
runLqnTools (): void 0%   (0/1)0%   (0/19)0%   (0/8)
saveToXMIFile (EObject, String): void 0%   (0/1)0%   (0/39)0%   (0/11)
setUp (): void 0%   (0/1)0%   (0/1)0%   (0/1)
suite (): Test 0%   (0/1)0%   (0/5)0%   (0/1)

1package de.uka.ipd.sdq.pcmsolver.tests;
2 
3import java.io.File;
4import java.io.FileInputStream;
5import java.io.FileNotFoundException;
6import java.io.FileOutputStream;
7import java.io.IOException;
8import java.math.BigInteger;
9import java.util.Collections;
10 
11import junit.framework.JUnit4TestAdapter;
12 
13import org.apache.log4j.Logger;
14import org.eclipse.emf.common.util.URI;
15import org.eclipse.emf.ecore.EObject;
16import org.eclipse.emf.ecore.resource.Resource;
17import org.eclipse.emf.ecore.resource.ResourceSet;
18import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
19import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
20import org.junit.Before;
21import org.junit.Test;
22 
23import LqnCore.ActivityMakingCallType;
24import LqnCore.ActivityPhasesType;
25import LqnCore.EntryType;
26import LqnCore.LqnCoreFactory;
27import LqnCore.LqnModelType;
28import LqnCore.PhaseActivities;
29import LqnCore.ProcessorType;
30import LqnCore.SchedulingType;
31import LqnCore.SolverParamsType;
32import LqnCore.TaskSchedulingType;
33import LqnCore.TaskType;
34import LqnCore.TypeType;
35 
36 
37public class LQNTest {
38 
39        private static Logger logger = Logger.getLogger(LQNTest.class.getName());
40        private static final String FILENAME_INPUT = "C:\\Temp\\test.xml";
41        private static final String FILENAME_RESULT = "C:\\Temp\\test.out";
42        private static final String FILENAME_LQN = "C:\\Temp\\test.lqn";;
43        
44 
45 
46        @Before
47        public void setUp(){
48                
49                
50        }
51        
52        @Test
53        public void handle(){
54                
55                LqnCoreFactory fac = LqnCoreFactory.eINSTANCE;
56                LqnModelType lmt = fac.createLqnModelType();
57                lmt.setName("cmpdesign");
58                
59                SolverParamsType spt = fac.createSolverParamsType();
60                spt.setComment("Design Comparison Heiko");
61                spt.setConvVal("1e-005");
62                spt.setItLimit(50);
63                spt.setPrintInt(10);
64                spt.setUnderrelaxCoeff("0.5");
65                lmt.setSolverParams(spt);
66 
67                getProcessor1(fac, lmt);
68                getProcessor2(fac, lmt);
69                getProcessor3(fac, lmt);
70                
71                saveToXMIFile(lmt, FILENAME_INPUT);
72                fixFile(FILENAME_INPUT);
73                runLqnTools();
74                
75                printResultToConsole();
76                
77        }
78 
79                
80        private void printResultToConsole() {
81                FileInputStream fis = null;
82                byte b[]= null;
83                try {
84                        fis = new FileInputStream(FILENAME_RESULT);
85                        int x = 0;
86                        x = fis.available();
87                        b= new byte[x];
88                        fis.read(b);
89                        fis.close();
90                } catch (FileNotFoundException e) {
91                        e.printStackTrace();
92                } catch (IOException e) {
93                        e.printStackTrace();
94                }
95 
96                String content = new String(b);
97                System.out.println(content);
98        }
99 
100        private void runLqnTools() {
101                try {
102                        Runtime.getRuntime().exec( "lqn2xml -o"+FILENAME_LQN+" -Olqn "+FILENAME_INPUT );
103                        Thread.sleep(500);
104                        Runtime.getRuntime().exec( "lqns -o"+FILENAME_RESULT+" "+FILENAME_LQN );
105                        
106                } catch (IOException e) {
107                        e.printStackTrace();
108                } catch (InterruptedException e) {
109                        e.printStackTrace();
110                }
111        }
112 
113        private void fixFile(String filename) {
114                FileInputStream fis = null;
115                byte b[]= null;
116                try {
117                        fis = new FileInputStream(filename);
118                        int x = 0;
119                        x = fis.available();
120                        b= new byte[x];
121                        fis.read(b);
122                        fis.close();
123                } catch (FileNotFoundException e) {
124                        e.printStackTrace();
125                } catch (IOException e) {
126                        e.printStackTrace();
127                }
128 
129                String content = new String(b);
130                content = content.replaceAll("LqnModelType", "lqn-model");
131                content = content.replaceAll("entryPhaseActivities", "entry-phase-activities");
132                content = content.replaceAll("solverParams", "solver-params");
133                content = content.replaceAll("synchCall", "synch-call");
134                content = content.replaceAll("convVal", "conv_val");
135                content = content.replaceAll("itLimit", "it_limit");
136                content = content.replaceAll("printInt", "print_int");
137                content = content.replaceAll("underrelaxCoeff", "underrelax_coeff");
138                content = content.replaceAll("hostDemandMean", "host-demand-mean");
139                content = content.replaceAll("callsMean", "calls-mean");
140                content = content.replaceAll("xmlns=\"file:/C:/Program%20Files/LQN%20Solvers/lqn-core.xsd\"", "xsi:noNamespaceSchemaLocation=\"file:///C:/Program Files/LQN Solvers/lqn.xsd\"");
141                content = content.replaceAll("xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\"", "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
142                
143                
144                FileOutputStream fos;
145                try {
146                        fos = new FileOutputStream(filename);
147                        fos.write(content.getBytes());
148                        fos.close();
149                } catch (FileNotFoundException e) {
150                        e.printStackTrace();
151                } catch (IOException e) {
152                        e.printStackTrace();
153                }
154 
155        }
156 
157        private void getProcessor3(LqnCoreFactory fac, LqnModelType lmt) {
158 
159                ProcessorType pt = fac.createProcessorType();
160                pt.setName("FileServer");
161                pt.setScheduling(SchedulingType.FCFS);                
162                lmt.getProcessor().add(pt);
163                
164                TaskType tt = fac.createTaskType();
165                tt.setName("FileServer");
166                tt.setScheduling(TaskSchedulingType.FCFS);
167                pt.getTask().add(tt);
168                
169                EntryType et = fac.createEntryType();
170                et.setName("FileServer_Screen");
171                et.setType(TypeType.PH1PH2);
172                tt.getEntry().add(et);
173                
174                PhaseActivities pa = fac.createPhaseActivities();
175                et.setEntryPhaseActivities(pa);
176                
177                ActivityPhasesType apt = fac.createActivityPhasesType();
178                apt.setName("FileServer_Screen_ph1");
179                apt.setPhase(new BigInteger("1"));
180                apt.setHostDemandMean("0.4");
181                pa.getActivity().add(apt);
182 
183                ActivityPhasesType apt2 = fac.createActivityPhasesType();
184                apt2.setName("FileServer_Screen_ph2");
185                apt2.setPhase(new BigInteger("2"));
186                apt2.setHostDemandMean("0.1");
187                pa.getActivity().add(apt2);
188                
189                
190                EntryType et2 = fac.createEntryType();
191                et2.setName("FileServer_Data");
192                et2.setType(TypeType.PH1PH2);
193                tt.getEntry().add(et2);
194                
195                PhaseActivities pa2 = fac.createPhaseActivities();
196                et2.setEntryPhaseActivities(pa2);
197                
198                ActivityPhasesType apt3 = fac.createActivityPhasesType();
199                apt3.setName("FileServer_Data_ph1");
200                apt3.setPhase(new BigInteger("1"));
201                apt3.setHostDemandMean("0.4");
202                pa2.getActivity().add(apt3);
203 
204                ActivityPhasesType apt4 = fac.createActivityPhasesType();
205                apt4.setName("FileServer_Data_ph1");
206                apt4.setPhase(new BigInteger("2"));
207                apt4.setHostDemandMean("0.1");
208                pa2.getActivity().add(apt4);
209        }
210 
211                        
212        
213        
214        private void getProcessor2(LqnCoreFactory fac, LqnModelType lmt) {
215                ProcessorType pt2 = fac.createProcessorType();
216                pt2.setName("Application");
217                pt2.setScheduling(SchedulingType.FCFS);                
218                lmt.getProcessor().add(pt2);
219                
220                TaskType tt2 = fac.createTaskType();
221                tt2.setName("Application");
222                tt2.setScheduling(TaskSchedulingType.FCFS);
223                pt2.getTask().add(tt2);
224                
225                EntryType et2 = fac.createEntryType();
226                et2.setName("Application_Rqst");
227                et2.setType(TypeType.PH1PH2);
228                tt2.getEntry().add(et2);
229                
230                PhaseActivities pa2 = fac.createPhaseActivities();
231                et2.setEntryPhaseActivities(pa2);
232                
233                ActivityPhasesType apt2 = fac.createActivityPhasesType();
234                apt2.setName("Application_Rqst_ph1");
235                apt2.setPhase(new BigInteger("1"));
236                apt2.setHostDemandMean("0.7");
237                pa2.getActivity().add(apt2);
238                
239                ActivityMakingCallType amct3 = fac.createActivityMakingCallType();
240                amct3.setCallsMean("1");
241                amct3.setDest("FileServer_Data");
242                apt2.getSynchCall().add(amct3);
243                
244                ActivityPhasesType apt3 = fac.createActivityPhasesType();
245                apt3.setName("Application_Rqst_ph2");
246                apt3.setPhase(new BigInteger("2"));
247                apt3.setHostDemandMean("0.3");
248                pa2.getActivity().add(apt3);
249        }
250 
251        private void getProcessor1(LqnCoreFactory fac, LqnModelType lmt) {
252                ProcessorType pt = fac.createProcessorType();
253                pt.setName("Clients");
254                pt.setMultiplicity(new BigInteger("0"));
255                pt.setScheduling(SchedulingType.FCFS);
256                lmt.getProcessor().add(pt);
257                
258                TaskType tt = fac.createTaskType();
259                tt.setName("Clients");
260                tt.setMultiplicity(new BigInteger("4"));
261                tt.setScheduling(TaskSchedulingType.REF);
262                pt.getTask().add(tt);
263                
264                EntryType et = fac.createEntryType();
265                et.setName("Clients");
266                et.setType(TypeType.PH1PH2);
267                tt.getEntry().add(et);
268                
269                PhaseActivities pa = fac.createPhaseActivities();
270                et.setEntryPhaseActivities(pa);
271                
272                ActivityPhasesType apt = fac.createActivityPhasesType();
273                apt.setName("Clients_ph2");
274                apt.setPhase(new BigInteger("2"));
275                apt.setHostDemandMean("10");
276                pa.getActivity().add(apt);
277                
278                ActivityMakingCallType amct = fac.createActivityMakingCallType();
279                amct.setCallsMean("5");
280                amct.setDest("FileServer_Screen");
281                apt.getSynchCall().add(amct);
282                
283                ActivityMakingCallType amct2 = fac.createActivityMakingCallType();
284                amct2.setCallsMean("2");
285                amct2.setDest("Application_Rqst");
286                apt.getSynchCall().add(amct2);
287        }
288        
289        
290        private void saveToXMIFile(EObject modelToSave, String fileName) {
291                // Create a resource set.
292                ResourceSet resourceSet = new ResourceSetImpl();
293 
294                // Register the default resource factory -- only needed for stand-alone!
295                resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
296                                .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
297                                                new XMIResourceFactoryImpl());
298 
299                URI fileURI = URI.createFileURI(new File(fileName).getAbsolutePath());
300                Resource resource = resourceSet.createResource(fileURI);
301                resource.getContents().add(modelToSave);
302                
303                try {
304                        resource.save(Collections.EMPTY_MAP);
305                } catch (IOException e) {
306                        logger.error(e.getMessage());
307                }
308        }
309        
310        
311        
312        
313        public static junit.framework.Test suite() {
314                return new JUnit4TestAdapter(LQNTest.class);
315        }
316}

[all classes][de.uka.ipd.sdq.pcmsolver.tests]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov