Loading de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/UsageAnalyzer.java +19 −21 Original line number Diff line number Diff line Loading @@ -79,7 +79,6 @@ public class UsageAnalyzer implements Callable<TTCN3Usage> { */ //TODO: very inefficient, better to traverse tree once, e.g. List<ModuleDefinition> definitions = EcoreUtil2.getAllContentsOfType(module, ModuleDefinition.class); //process with a stream Loading @@ -96,28 +95,9 @@ public class UsageAnalyzer implements Callable<TTCN3Usage> { //...or with a loop //Guarantee the existence of entries in map to save if-statements later output.getOutput().put("TotalDef", 0); output.getOutput().put("ConstDef", 0); output.getOutput().put("FunctionDef", 0); output.getOutput().put("ImportDef", 0); output.getOutput().put("GroupDef", 0); output.getOutput().put("TypeDef", 0); output.getOutput().put("TestcaseDef", 0); output.getOutput().put("SignatureDef", 0); output.getOutput().put("AltstepDef", 0); output.getOutput().put("TemplateDef", 0); output.getOutput().put("ModuleParDef", 0); output.getOutput().put("ExtFunctionDef", 0); output.getOutput().put("ExtConstDef", 0); countDefinitions(module, output); for (ModuleDefinition d : definitions) { String eClassName = d.getDef().eClass().getName(); //System.out.println("Processing " + eClassName); output.getOutput().put("TotalDef", output.getOutput().get("TotalDef") + 1); output.getOutput().put(eClassName, output.getOutput().get(eClassName) + 1); } } stopwatch.stop(); Loading @@ -129,6 +109,24 @@ public class UsageAnalyzer implements Callable<TTCN3Usage> { return output; } private void countDefinitions(TTCN3Module module, TTCN3Usage output) { System.out.println("Processing Definitions"); List<ModuleDefinition> definitions = EcoreUtil2.getAllContentsOfType(module, ModuleDefinition.class); output.getOutput().put("TotalDef", definitions.size()); for (ModuleDefinition d : definitions) { String eClassName = d.getDef().eClass().getName(); if(output.getOutput().containsKey(eClassName)) { output.getOutput().put(eClassName, output.getOutput().get(eClassName) + 1); } else { output.getOutput().put(eClassName, 1); } } System.out.println("Definitions done"); } @Override public TTCN3Usage call() throws Exception { return analyze(); Loading Loading
de.ugoe.cs.swe.T3Q/src/de/ugoe/cs/swe/T3Q/UsageAnalyzer.java +19 −21 Original line number Diff line number Diff line Loading @@ -79,7 +79,6 @@ public class UsageAnalyzer implements Callable<TTCN3Usage> { */ //TODO: very inefficient, better to traverse tree once, e.g. List<ModuleDefinition> definitions = EcoreUtil2.getAllContentsOfType(module, ModuleDefinition.class); //process with a stream Loading @@ -96,28 +95,9 @@ public class UsageAnalyzer implements Callable<TTCN3Usage> { //...or with a loop //Guarantee the existence of entries in map to save if-statements later output.getOutput().put("TotalDef", 0); output.getOutput().put("ConstDef", 0); output.getOutput().put("FunctionDef", 0); output.getOutput().put("ImportDef", 0); output.getOutput().put("GroupDef", 0); output.getOutput().put("TypeDef", 0); output.getOutput().put("TestcaseDef", 0); output.getOutput().put("SignatureDef", 0); output.getOutput().put("AltstepDef", 0); output.getOutput().put("TemplateDef", 0); output.getOutput().put("ModuleParDef", 0); output.getOutput().put("ExtFunctionDef", 0); output.getOutput().put("ExtConstDef", 0); countDefinitions(module, output); for (ModuleDefinition d : definitions) { String eClassName = d.getDef().eClass().getName(); //System.out.println("Processing " + eClassName); output.getOutput().put("TotalDef", output.getOutput().get("TotalDef") + 1); output.getOutput().put(eClassName, output.getOutput().get(eClassName) + 1); } } stopwatch.stop(); Loading @@ -129,6 +109,24 @@ public class UsageAnalyzer implements Callable<TTCN3Usage> { return output; } private void countDefinitions(TTCN3Module module, TTCN3Usage output) { System.out.println("Processing Definitions"); List<ModuleDefinition> definitions = EcoreUtil2.getAllContentsOfType(module, ModuleDefinition.class); output.getOutput().put("TotalDef", definitions.size()); for (ModuleDefinition d : definitions) { String eClassName = d.getDef().eClass().getName(); if(output.getOutput().containsKey(eClassName)) { output.getOutput().put(eClassName, output.getOutput().get(eClassName) + 1); } else { output.getOutput().put(eClassName, 1); } } System.out.println("Definitions done"); } @Override public TTCN3Usage call() throws Exception { return analyze(); Loading