From 009e68c7706a6c773b7da501fd414b7d70862cb5 Mon Sep 17 00:00:00 2001 From: Konstantin Blaschke <blaschke@fortiss.org> Date: Wed, 28 Jun 2023 14:18:03 +0200 Subject: [PATCH] Finishing merge kernel Master on 4310. Removing unnecessary comments Issue-Ref: 4310 Issue-Url: https://git.fortiss.org/af3/af3/-/issues/4310 Signed-off-by: Konstantin Blaschke <blaschke@fortiss.org> --- .../ui/ModelQualityExtractionMenu.java | 6 +---- .../quality/service/ModelQualityService.java | 25 +++++++++---------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/org.fortiss.tooling.ext.quality.ui/src/org/fortiss/tooling/ext/quality/ui/ModelQualityExtractionMenu.java b/org.fortiss.tooling.ext.quality.ui/src/org/fortiss/tooling/ext/quality/ui/ModelQualityExtractionMenu.java index 594099b41..56f749fa3 100644 --- a/org.fortiss.tooling.ext.quality.ui/src/org/fortiss/tooling/ext/quality/ui/ModelQualityExtractionMenu.java +++ b/org.fortiss.tooling.ext.quality.ui/src/org/fortiss/tooling/ext/quality/ui/ModelQualityExtractionMenu.java @@ -19,7 +19,6 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static org.fortiss.tooling.kernel.ui.service.IContextMenuService.BOTTOM_MOST_MENU_SECTION_ID; - import java.util.List; import org.eclipse.emf.ecore.EObject; @@ -29,12 +28,10 @@ import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.resource.ImageDescriptor; import org.fortiss.af3.project.model.FileProject; import org.fortiss.tooling.ext.quality.service.IModelQualityService; -import org.fortiss.tooling.ext.quality.service.ModelQualityService; import org.fortiss.tooling.kernel.extension.data.ITopLevelElement; import org.fortiss.tooling.kernel.service.IPersistencyService; import org.fortiss.tooling.kernel.ui.extension.IContextMenuContributor; import org.fortiss.tooling.kernel.ui.extension.data.ContextMenuContextProvider; -import org.fortiss.tooling.kernel.utils.KernelModelElementUtils; /** * Crates a context menu entry to generate the for the selected @@ -73,6 +70,7 @@ public class ModelQualityExtractionMenu implements IContextMenuContributor { /** */ private final FileProject fp; + /** Constructor. */ public MetricExtractionAction(FileProject fp) { super(MENU_NAME, getActionIcon()); @@ -83,9 +81,7 @@ public class ModelQualityExtractionMenu implements IContextMenuContributor { @Override public void run() { ITopLevelElement top = IPersistencyService.getInstance().getTopLevelElementFor(this.fp); - IModelQualityService.getInstance().performMetricAnalysis(top); - System.out.println("We print something"); } } diff --git a/org.fortiss.tooling.ext.quality/src/org/fortiss/tooling/ext/quality/service/ModelQualityService.java b/org.fortiss.tooling.ext.quality/src/org/fortiss/tooling/ext/quality/service/ModelQualityService.java index 678c5393f..321152bfa 100644 --- a/org.fortiss.tooling.ext.quality/src/org/fortiss/tooling/ext/quality/service/ModelQualityService.java +++ b/org.fortiss.tooling.ext.quality/src/org/fortiss/tooling/ext/quality/service/ModelQualityService.java @@ -40,8 +40,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.eclipse.emf.ecore.EObject; -import org.fortiss.tooling.kernel.extension.data.ITopLevelElement; +import org.fortiss.tooling.base.model.element.IHierarchicElement; import org.fortiss.tooling.ext.quality.service.IModelQualityProvider.IVisitorModelQualityProvider; +import org.fortiss.tooling.kernel.extension.data.ITopLevelElement; import org.fortiss.tooling.kernel.introspection.IIntrospectionDetailsItem; import org.fortiss.tooling.kernel.introspection.IIntrospectionItem; import org.fortiss.tooling.kernel.introspection.IIntrospectiveKernelService; @@ -116,20 +117,20 @@ public class ModelQualityService extends EObjectAwareServiceBase<IModelQualityPr } /** - * @param top + * @param topLvl * the file project on which the analysis should be performed * @return result resulting metrics */ @Override public Map<IProjectRootElement, IModelQualityProvider<? extends EObject>> - performMetricAnalysis(ITopLevelElement top) { + performMetricAnalysis(ITopLevelElement topLvl) { Map<IProjectRootElement, IModelQualityProvider<? extends EObject>> result = new HashMap<>(); - for(IProjectRootElement rootElement : top.getRootElements()) { + for(IProjectRootElement rootElement : EcoreUtils + .getChildrenWithType(topLvl.getRootModelElement(), IProjectRootElement.class)) { if(rootElement instanceof IHierarchicElement) { // TODO check get(0) IHierarchicElement firstNode = ((IHierarchicElement)rootElement).getContainedElements().get(0); - HierarchicElementSizeProvider hes = new HierarchicElementSizeProvider(); hes.apply(firstNode); System.out.println("checked in hierarchic metrics for: " + rootElement.getName()); @@ -142,8 +143,6 @@ public class ModelQualityService extends EObjectAwareServiceBase<IModelQualityPr result.put(rootElement, hes); } } - - last_metrics = result; metricExtractionToCSV(result); return result; @@ -205,13 +204,13 @@ public class ModelQualityService extends EObjectAwareServiceBase<IModelQualityPr if(data == null || data.isEmpty()) { return; } - + // path to csv file Path path = Paths.get("data_ultra_cool.csv"); List<String> allKeys = new ArrayList<>(); boolean createNewIndex = true; - + if(Files.exists(path)) { // Read first line and try to extract the keys from the already existing file try(BufferedReader reader = new BufferedReader(new FileReader(path.toFile()))) { @@ -226,7 +225,7 @@ public class ModelQualityService extends EObjectAwareServiceBase<IModelQualityPr } try(var writer = new BufferedWriter(new FileWriter(path.toFile(), true))) { - + if(createNewIndex) { // Create new index and write it into the first line of the file var anyProvider = data.values().iterator().next(); @@ -256,18 +255,18 @@ public class ModelQualityService extends EObjectAwareServiceBase<IModelQualityPr @Override public void accept(HierarchicElementSizeProvider provider) { - + var metrics = provider.getStoredMetrics(); // These 4 data entries are just concatenated in front var startStream = Stream.of(formattedDateTime, rootName, "null", "null"); - // Collect all values from provider in the correct order and combine + // Collect all values from provider in the correct order and combine var values = Stream .concat(startStream, valueKeys.stream().map(metrics::get).map(String::valueOf)) .collect(Collectors.joining(",")); try { - // write values + // write values writer.write(values); writer.write("\n"); } catch(IOException e) { -- GitLab