Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/GenerateDetailedCoverageReportAction.java')
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/GenerateDetailedCoverageReportAction.java251
1 files changed, 0 insertions, 251 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/GenerateDetailedCoverageReportAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/GenerateDetailedCoverageReportAction.java
deleted file mode 100644
index ee3345b107e..00000000000
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/GenerateDetailedCoverageReportAction.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.coverage.action;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.logging.Level;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.nebula.widgets.xviewer.XViewerColumn;
-import org.eclipse.osee.coverage.editor.CoverageEditorOverviewTab;
-import org.eclipse.osee.coverage.editor.xcover.CoverageLabelProvider;
-import org.eclipse.osee.coverage.editor.xcover.CoverageXViewerFactory;
-import org.eclipse.osee.coverage.internal.Activator;
-import org.eclipse.osee.coverage.model.CoverageItem;
-import org.eclipse.osee.coverage.model.CoveragePackageBase;
-import org.eclipse.osee.coverage.model.CoverageUnit;
-import org.eclipse.osee.framework.core.model.TableData;
-import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.jdk.core.util.io.CharBackedInputStream;
-import org.eclipse.osee.framework.jdk.core.util.io.xml.ExcelXmlWriter;
-import org.eclipse.osee.framework.jdk.core.util.io.xml.ISheetWriter;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.plugin.core.util.AIFile;
-import org.eclipse.osee.framework.plugin.core.util.OseeData;
-import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
-import org.eclipse.osee.framework.ui.swt.Displays;
-import org.eclipse.osee.framework.ui.swt.ImageManager;
-import org.eclipse.swt.program.Program;
-
-/**
- * @author Angel Avila
- */
-public class GenerateDetailedCoverageReportAction extends Action {
-
- private final ICoveragePackageHandler coveragePackageHandler;
- private final Collection<XViewerColumn> detailedColumns = Arrays.asList(CoverageXViewerFactory.Namespace,
- CoverageXViewerFactory.Parent_Coverage_Unit, CoverageXViewerFactory.Unit, CoverageXViewerFactory.Method_Number,
- CoverageXViewerFactory.Execution_Number, CoverageXViewerFactory.Coverage_Method,
- CoverageXViewerFactory.Coverage_Rationale);
-
- private final Collection<XViewerColumn> summaryColumns =
- Arrays.asList(CoverageXViewerFactory.Unit, CoverageXViewerFactory.Lines_Covered,
- CoverageXViewerFactory.Total_Lines, CoverageXViewerFactory.Coverage_Percent);
-
- public GenerateDetailedCoverageReportAction(ICoveragePackageHandler coveragePackageHandler) {
- super("Generate Detailed Coverage Report");
- this.coveragePackageHandler = coveragePackageHandler;
- }
-
- @Override
- public ImageDescriptor getImageDescriptor() {
- return ImageManager.getImageDescriptor(FrameworkImage.REPORT);
- }
-
- @Override
- public void run() {
- if (!MessageDialog.openConfirm(Displays.getActiveShell(), getText(), getText())) {
- return;
- }
- try {
- File file = OseeData.getFile("coverage_" + Lib.getDateTimeString() + ".xml");
-
- CharBackedInputStream charBak = new CharBackedInputStream();
- ISheetWriter excelWriter = new ExcelXmlWriter(charBak.getWriter(), null, "");
-
- // Cover Sheet
- writeSheet(excelWriter, createCoverSheetTable());
- // Detail sheet
- writeSheet(excelWriter, createDetailedTable());
- // Summary Sheet
- writeSheet(excelWriter, createSummaryTable());
-
- excelWriter.endWorkbook();
-
- IFile iFile = OseeData.getIFile(file.getName());
- AIFile.writeToFile(iFile, charBak);
- charBak.close();
- Program.launch(file.getAbsolutePath());
-
- } catch (Exception ex) {
- OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
- }
- }
-
- private void writeSheet(ISheetWriter excelWriter, TableData data) throws IOException {
- excelWriter.startSheet(data.getTitle(), detailedColumns.size());
- excelWriter.writeRow((Object[]) data.getColumns());
- for (Object[] row : data.getRows()) {
- excelWriter.writeRow(row);
- }
-
- excelWriter.endSheet();
- }
-
- private TableData createSummaryTable() throws Exception {
- String title = "Summary";
- String[] columnsNames = getColumnNames(summaryColumns);
- List<String[]> rows =
- getSummaryRows(coveragePackageHandler.getCoveragePackageBase().getCoverageUnits(), summaryColumns);
-
- TableData tableData = new TableData(title, columnsNames, rows);
- return tableData;
- }
-
- private TableData createDetailedTable() throws Exception {
- String title = "Detailed";
- String[] columnsNames = getColumnNames(detailedColumns);
- List<String[]> rows = getDetailedRows(detailedColumns);
-
- TableData tableData = new TableData(title, columnsNames, rows);
- return tableData;
- }
-
- private TableData createCoverSheetTable() throws Exception {
- String title = "Cover Sheet";
-
- CoveragePackageBase coveragePackageBase = this.coveragePackageHandler.getCoveragePackageBase();
- List<String> sortedHeaders = CoverageEditorOverviewTab.getSortedHeaders(coveragePackageBase);
- String[] columnsNames = sortedHeaders.toArray(new String[sortedHeaders.size()]);
-
- List<String[]> rows = new ArrayList<String[]>();
- for (String[] values : CoverageEditorOverviewTab.getRows(sortedHeaders, coveragePackageBase, false)) {
- rows.add(values);
- }
-
- TableData tableData = new TableData(title, columnsNames, rows);
- return tableData;
- }
-
- private String[] getColumnNames(Collection<XViewerColumn> columns) {
- List<String> names = new ArrayList<String>();
-
- for (XViewerColumn column : columns) {
- names.add(column.getName());
- }
-
- String[] namesArray = names.toArray(new String[names.size()]);
- return namesArray;
- }
-
- private ArrayList<String[]> getSummaryRows(List<CoverageUnit> units, Collection<XViewerColumn> cols) {
- ArrayList<String[]> rows = new ArrayList<String[]>();
- CoverageLabelProvider labelProvider = new CoverageLabelProvider(null);
-
- for (CoverageUnit unit : units) {
- if (unit.getCoverageItems().size() == 0) { // Check to make sure we're not dealing with Coverage Units at Method level
- List<String> row = new ArrayList<String>();
- for (XViewerColumn col : cols) {
- try {
- if (col.equals(CoverageXViewerFactory.Unit)) {
- row.add(labelProvider.getColumnText(unit, col, 0));
- } else if (col.equals(CoverageXViewerFactory.Lines_Covered)) {
- row.add(labelProvider.getColumnText(unit, col, 0));
- } else if (col.equals(CoverageXViewerFactory.Total_Lines)) {
- row.add(labelProvider.getColumnText(unit, col, 0));
- } else if (col.equals(CoverageXViewerFactory.Coverage_Percent)) {
- String percentString = labelProvider.getColumnText(unit, col, 0);
- row.add(percentString.replaceAll("-.*", "")); // replace everything after '-' since we only care about the pure percentage in this column
- }
- } catch (OseeCoreException ex) {
- row.add("Exception: " + ex.getLocalizedMessage());
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
- }
-
- String[] rowAsArray = row.toArray(new String[row.size()]);
- rows.add(rowAsArray);
-
- // Recurse down through each coverage unit
- rows.addAll(getSummaryRows(unit.getCoverageUnits(), cols));
- }
- }
- return rows;
- }
-
- private ArrayList<String[]> getDetailedRows(Collection<XViewerColumn> cols) {
- ArrayList<String[]> rows = new ArrayList<String[]>();
- CoverageLabelProvider labelProvider = new CoverageLabelProvider(null);
- for (CoverageItem item : this.coveragePackageHandler.getCoveragePackageBase().getCoverageItems()) {
- List<String> row = new ArrayList<String>();
- for (XViewerColumn column : cols) {
- try {
- if (column.equals(CoverageXViewerFactory.Namespace)) {
- row.add(labelProvider.getColumnText(item, CoverageXViewerFactory.Namespace, 0));
- } else if (column.equals(CoverageXViewerFactory.Method_Number)) {
- row.add(labelProvider.getColumnText(item, CoverageXViewerFactory.Method_Number, 0));
- } else if (column.equals(CoverageXViewerFactory.Line_Number)) {
- row.add(labelProvider.getColumnText(item, CoverageXViewerFactory.Execution_Number, 0));
- } else if (column.equals(CoverageXViewerFactory.Parent_Coverage_Unit)) {
- row.add(item.getParent().getParent().getName());
- } else if (column.equals(CoverageXViewerFactory.Coverage_Method)) {
- row.add(labelProvider.getColumnText(item, CoverageXViewerFactory.Coverage_Method, 0));
- } else if (column.equals(CoverageXViewerFactory.Coverage_Rationale)) {
- String rationale = labelProvider.getColumnText(item, CoverageXViewerFactory.Coverage_Rationale, 0);
- if (rationale != "") {
- row.add(rationale);
- } else {
- row.add("N/A");
- }
- } else {
- row.add(labelProvider.getColumnText(item, column, 0));
- }
- } catch (OseeCoreException ex) {
- row.add("Exception: " + ex.getLocalizedMessage());
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
- }
- String[] rowAsArray = row.toArray(new String[row.size()]);
- rows.add(rowAsArray);
- }
-
- class Column2Comparator implements Comparator<String[]> {
-
- @Override
- public int compare(String[] array, String[] toArray) {
- int result;
- if (array.length > 3 && toArray.length > 3) {
- result = array[2].compareTo(toArray[2]);
- } else {
- result = array.toString().compareTo(toArray.toString());
- }
-
- return result;
- }
- }
- ;
-
- Collections.sort(rows, new Column2Comparator());
- return rows;
-
- }
-}

Back to the top