Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan E. Jensen2013-08-19 19:11:01 +0000
committerGerrit Code Review @ Eclipse.org2013-08-20 00:10:04 +0000
commit8c6dc526495d26c2e8e1b83fab6b3b3fb0ef9fa8 (patch)
treee880144708e5220cbddce6338062d053b24abe1e
parent88df15dcae26c012fe69be18dac1b47c89840b5b (diff)
downloadorg.eclipse.osee-8c6dc526495d26c2e8e1b83fab6b3b3fb0ef9fa8.tar.gz
org.eclipse.osee-8c6dc526495d26c2e8e1b83fab6b3b3fb0ef9fa8.tar.xz
org.eclipse.osee-8c6dc526495d26c2e8e1b83fab6b3b3fb0ef9fa8.zip
bug: BLAM fixes for trace reports
Change-Id: Ic334ea23fc91f5ade852dd22989a483f3e6a1f8e Signed-off-by: Jonathan E. Jensen <jonathan.e.jensen2@boeing.com>
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java8
-rw-r--r--plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/SubsystemFullTraceReport.java12
-rw-r--r--plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityWizard.java12
-rw-r--r--plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ScriptTraceabilityOperation.java27
-rw-r--r--plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceUnitExtensionManager.java12
-rw-r--r--plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/report/PublishStdStpTraceability.java8
6 files changed, 44 insertions, 35 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java
index 52f884eee57..b43448566d9 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/DetailedTestStatusOld.java
@@ -50,6 +50,7 @@ import org.eclipse.osee.ats.util.widgets.XAtsProgramComboWidget;
import org.eclipse.osee.define.traceability.RequirementTraceabilityData;
import org.eclipse.osee.define.traceability.ScriptTraceabilityOperation;
import org.eclipse.osee.define.traceability.TraceUnitExtensionManager;
+import org.eclipse.osee.define.traceability.TraceUnitExtensionManager.TraceHandler;
import org.eclipse.osee.define.traceability.TraceabilityProviderOperation;
import org.eclipse.osee.define.traceability.report.RequirementStatus;
import org.eclipse.osee.framework.core.data.IOseeBranch;
@@ -235,16 +236,17 @@ public class DetailedTestStatusOld extends AbstractBlam {
loadTestRunArtifacts(scriptsBranch);
- Collection<String> traceHandlerIds = new LinkedList<String>();
+ Collection<TraceHandler> traceHandlers = new LinkedList<TraceHandler>();
for (String handler : availableTraceHandlers) {
if (variableMap.getBoolean(handler)) {
- traceHandlerIds.add(handler);
+ TraceHandler traceHandler = TraceUnitExtensionManager.getInstance().getTraceHandlerByName(handler);
+ traceHandlers.add(traceHandler);
}
}
// Load Requirements Data
TraceabilityProviderOperation provider =
- new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, traceHandlerIds);
+ new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, traceHandlers);
RequirementTraceabilityData traceabilityData = new RequirementTraceabilityData(procedureBranch, provider);
IStatus status = traceabilityData.initialize(monitor);
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/SubsystemFullTraceReport.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/SubsystemFullTraceReport.java
index 18dbf0f11a5..ab59b964c6f 100644
--- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/SubsystemFullTraceReport.java
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/blam/operation/SubsystemFullTraceReport.java
@@ -22,6 +22,7 @@ import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.osee.define.traceability.ScriptTraceabilityOperation;
import org.eclipse.osee.define.traceability.TraceUnitExtensionManager;
+import org.eclipse.osee.define.traceability.TraceUnitExtensionManager.TraceHandler;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
@@ -96,10 +97,11 @@ public class SubsystemFullTraceReport extends AbstractBlam {
String scriptDir = variableMap.getString(SCRIPT_ROOT_DIR);
Boolean checked = variableMap.getBoolean(USE_TRACE_IN_OSEE);
- Collection<String> traceHandlerIds = new LinkedList<String>();
+ Collection<TraceHandler> traceHandlers = new LinkedList<TraceHandler>();
for (String handler : availableTraceHandlers) {
if (variableMap.getBoolean(handler)) {
- traceHandlerIds.add(handler);
+ TraceHandler traceHandler = TraceUnitExtensionManager.getInstance().getTraceHandlerByName(handler);
+ traceHandlers.add(traceHandler);
}
}
@@ -107,7 +109,7 @@ public class SubsystemFullTraceReport extends AbstractBlam {
File dir = new File(scriptDir);
if (dir.exists()) {
ScriptTraceabilityOperation traceOperation =
- new ScriptTraceabilityOperation(dir.getParentFile(), branch, false, traceHandlerIds);
+ new ScriptTraceabilityOperation(dir.getParentFile(), branch, false, traceHandlers);
Operations.executeWorkAndCheckStatus(traceOperation, monitor);
requirementsToCodeUnits = traceOperation.getRequirementToCodeUnitsMap();
}
@@ -217,8 +219,8 @@ public class SubsystemFullTraceReport extends AbstractBlam {
sb.append("<XWidget xwidgetType=\"XText\" displayName=\"" + SCRIPT_ROOT_DIR + "\" defaultValue=\"C:/UserData/workspaceScripts\" toolTip=\"Leave blank if test script traceability is not needed.\" />");
availableTraceHandlers = new LinkedList<String>();
sb.append("<XWidget xwidgetType=\"XLabel\" displayName=\"Select appropriate script parser (if script traceability needed):\" />");
- Collection<String> traceHandlers = TraceUnitExtensionManager.getInstance().getAllTraceHandlerNames();
- for (String handler : traceHandlers) {
+ Collection<String> traceHandlerNames = TraceUnitExtensionManager.getInstance().getAllTraceHandlerNames();
+ for (String handler : traceHandlerNames) {
sb.append(String.format(TRACE_HANDLER_CHECKBOX, handler));
availableTraceHandlers.add(handler);
}
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityWizard.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityWizard.java
index 7cc2ba0634e..7f01b262486 100644
--- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityWizard.java
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityWizard.java
@@ -11,10 +11,12 @@
package org.eclipse.osee.define.traceability;
import java.io.File;
-import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedList;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.osee.define.internal.Activator;
+import org.eclipse.osee.define.traceability.TraceUnitExtensionManager.TraceHandler;
import org.eclipse.osee.framework.core.data.IOseeBranch;
import org.eclipse.osee.framework.core.operation.Operations;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -39,9 +41,11 @@ public class ImportTraceabilityWizard extends Wizard implements IImportWizard {
try {
IOseeBranch branch = mainPage.getSelectedBranch();
File file = mainPage.getImportFile();
- String[] handerIds = mainPage.getTraceUnitHandlerIds();
- Operations.executeWorkAndCheckStatus(new ScriptTraceabilityOperation(file, branch, true,
- Arrays.asList(handerIds)));
+ Collection<TraceHandler> handlers = new LinkedList<TraceHandler>();
+ for (String handlerId : mainPage.getTraceUnitHandlerIds()) {
+ handlers.add(TraceUnitExtensionManager.getInstance().getTraceUnitHandlerById(handlerId));
+ }
+ Operations.executeWorkAndCheckStatus(new ScriptTraceabilityOperation(file, branch, true, handlers));
} catch (Exception ex) {
OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, "Traceability Import Error", ex);
}
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ScriptTraceabilityOperation.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ScriptTraceabilityOperation.java
index 1acc43d2a28..6f423b8d067 100644
--- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ScriptTraceabilityOperation.java
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ScriptTraceabilityOperation.java
@@ -32,7 +32,6 @@ import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.core.util.Conditions;
import org.eclipse.osee.framework.jdk.core.type.CountingMap;
import org.eclipse.osee.framework.jdk.core.type.HashCollection;
import org.eclipse.osee.framework.jdk.core.type.Pair;
@@ -62,7 +61,7 @@ public class ScriptTraceabilityOperation extends TraceabilityProviderOperation {
private static final Matcher stripTrailingReqNameMatcher = Pattern.compile("(\\}|\\])(.*)").matcher("");
private static final Matcher nonWordMatcher = Pattern.compile("[^A-Z_0-9]").matcher("");
- private final Collection<String> traceHandlerIds;
+ private final Collection<TraceHandler> traceHandlers;
private final File file;
private final RequirementData requirementData;
private final ArrayList<String> noTraceabilityFiles = new ArrayList<String>(200);
@@ -75,27 +74,26 @@ public class ScriptTraceabilityOperation extends TraceabilityProviderOperation {
private int pathPrefixLength;
private final boolean writeOutResults;
- private ScriptTraceabilityOperation(RequirementData requirementData, File file, boolean writeOutResults, Collection<String> traceHandlerIds) throws IOException {
+ private ScriptTraceabilityOperation(RequirementData requirementData, File file, boolean writeOutResults, Collection<TraceHandler> traceHandlers) throws IOException {
super("Importing Traceability", Activator.PLUGIN_ID);
this.file = file;
this.requirementData = requirementData;
this.writeOutResults = writeOutResults;
- this.traceHandlerIds = traceHandlerIds;
+ this.traceHandlers = traceHandlers;
charBak = new CharBackedInputStream();
excelWriter = new ExcelXmlWriter(charBak.getWriter());
}
- public ScriptTraceabilityOperation(File file, IOseeBranch branch, boolean writeOutResults, Collection<String> traceHandlerIds) throws IOException {
- this(new RequirementData(branch), file, writeOutResults, traceHandlerIds);
+ public ScriptTraceabilityOperation(File file, IOseeBranch branch, boolean writeOutResults, Collection<TraceHandler> traceHandlers) throws IOException {
+ this(new RequirementData(branch), file, writeOutResults, traceHandlers);
}
- public ScriptTraceabilityOperation(File file, IOseeBranch branch, boolean writeOutResults, Collection<? extends IArtifactType> types, boolean withInheritance, Collection<String> traceHandlerIds) throws IOException {
- this(new RequirementData(branch, types, withInheritance), file, writeOutResults, traceHandlerIds);
+ public ScriptTraceabilityOperation(File file, IOseeBranch branch, boolean writeOutResults, Collection<? extends IArtifactType> types, boolean withInheritance, Collection<TraceHandler> traceHandlers) throws IOException {
+ this(new RequirementData(branch, types, withInheritance), file, writeOutResults, traceHandlers);
}
@Override
protected void doWork(IProgressMonitor monitor) throws Exception {
- Collection<TraceHandler> traceHandlers = getTraceHandlers();
monitor.worked(1);
requirementData.initialize(monitor);
@@ -130,17 +128,6 @@ public class ScriptTraceabilityOperation extends TraceabilityProviderOperation {
}
}
- private Collection<TraceHandler> getTraceHandlers() throws OseeCoreException {
- Conditions.checkNotNullOrEmpty(traceHandlerIds, "traceHandlerIds");
- Collection<TraceHandler> handlers = new LinkedList<TraceHandler>();
- for (String id : traceHandlerIds) {
- TraceHandler handler = TraceUnitExtensionManager.getInstance().getTraceUnitHandlerById(id);
- Conditions.checkNotNull(handler, "handler");
- handlers.add(handler);
- }
- return handlers;
- }
-
private void handleDirectory(File directory, Collection<TraceHandler> traceHandlers) throws IOException, OseeCoreException {
if (directory == null || directory.getParentFile() == null) {
throw new OseeArgumentException("The path [%s] is invalid.", directory);
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceUnitExtensionManager.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceUnitExtensionManager.java
index 71543a5dfbf..6345eead3bb 100644
--- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceUnitExtensionManager.java
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceUnitExtensionManager.java
@@ -66,6 +66,18 @@ public class TraceUnitExtensionManager {
return contributions.get(id);
}
+ public TraceHandler getTraceHandlerByName(String name) throws OseeCoreException {
+ checkObjectsLoaded();
+ TraceHandler toReturn = null;
+ for (TraceHandler handler : getAllTraceHandlers()) {
+ if (handler.getName().equals(name)) {
+ toReturn = handler;
+ break;
+ }
+ }
+ return toReturn;
+ }
+
public ITraceParser getTraceParserById(String id) throws OseeCoreException {
TraceHandler traceUnitHandler = getTraceUnitHandlerById(id);
if (traceUnitHandler != null) {
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/report/PublishStdStpTraceability.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/report/PublishStdStpTraceability.java
index c3c848a587d..11cd02bb46d 100644
--- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/report/PublishStdStpTraceability.java
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/report/PublishStdStpTraceability.java
@@ -23,6 +23,7 @@ import org.eclipse.osee.define.traceability.BranchTraceabilityOperation;
import org.eclipse.osee.define.traceability.RequirementTraceabilityData;
import org.eclipse.osee.define.traceability.ScriptTraceabilityOperation;
import org.eclipse.osee.define.traceability.TraceUnitExtensionManager;
+import org.eclipse.osee.define.traceability.TraceUnitExtensionManager.TraceHandler;
import org.eclipse.osee.define.traceability.TraceabilityFactory;
import org.eclipse.osee.define.traceability.TraceabilityFactory.OutputFormat;
import org.eclipse.osee.define.traceability.TraceabilityFactory.TraceabilityStyle;
@@ -121,10 +122,11 @@ public class PublishStdStpTraceability extends AbstractBlam {
File scriptDir = new File(variableMap.getString("Script Root Directory"));
List<TraceabilityStyle> selectedReports = getStyles(variableMap);
- Collection<String> traceHandlerIds = new LinkedList<String>();
+ Collection<TraceHandler> traceHandlers = new LinkedList<TraceHandler>();
for (String handler : availableTraceHandlers) {
if (variableMap.getBoolean(handler)) {
- traceHandlerIds.add(handler);
+ TraceHandler traceHandler = TraceUnitExtensionManager.getInstance().getTraceHandlerByName(handler);
+ traceHandlers.add(traceHandler);
}
}
@@ -140,7 +142,7 @@ public class PublishStdStpTraceability extends AbstractBlam {
} else {
provider =
new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, types, searchInherited,
- traceHandlerIds);
+ traceHandlers);
}
RequirementTraceabilityData traceabilityData = new RequirementTraceabilityData(testProcedureBranch, provider);
IStatus status = traceabilityData.initialize(monitor);

Back to the top