Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceabilityFactory.java')
-rw-r--r--plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceabilityFactory.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceabilityFactory.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceabilityFactory.java
new file mode 100644
index 00000000000..cb55cff784b
--- /dev/null
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/TraceabilityFactory.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.define.traceability;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import org.eclipse.osee.define.traceability.report.ISimpleTable;
+import org.eclipse.osee.define.traceability.report.StdCsciToTestTable;
+import org.eclipse.osee.define.traceability.report.StdTestToCsciTable;
+import org.eclipse.osee.define.traceability.report.StpCsciToTestTable;
+import org.eclipse.osee.define.traceability.report.StpTestToCsciTable;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+import org.eclipse.osee.framework.jdk.core.util.io.xml.ExcelXmlWriter;
+import org.eclipse.osee.framework.jdk.core.util.io.xml.ISheetWriter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class TraceabilityFactory {
+
+ public enum TraceabilityStyle {
+ STP_Test_to_CSCI,
+ STP_CSCI_to_Test,
+ STD_Test_to_CSCI,
+ STD_CSCI_to_Test;
+
+ @Override
+ public String toString() {
+ return name().toUpperCase();
+ }
+
+ public String asLabel() {
+ return name().replaceAll("_", " ");
+ }
+ }
+
+ public enum OutputFormat {
+ EXCEL;
+ }
+
+ protected static ISheetWriter getSheetWriter(OutputFormat outputFormat, Writer writer) throws Exception {
+ ISheetWriter toReturn = null;
+ switch (outputFormat) {
+ case EXCEL:
+ default:
+ toReturn = new ExcelXmlWriter(writer);
+ break;
+ }
+ return toReturn;
+ }
+
+ public static TraceabilityTable getTraceabilityTable(OutputFormat outputFormat, TraceabilityStyle style, RequirementTraceabilityData sourceData) throws Exception {
+ ISimpleTable simpleTable = null;
+ StringWriter stringWriter = new StringWriter();
+ ISheetWriter sheetWriter = getSheetWriter(outputFormat, stringWriter);
+ switch (style) {
+ case STP_Test_to_CSCI:
+ simpleTable = new StpTestToCsciTable(sourceData);
+ break;
+ case STP_CSCI_to_Test:
+ simpleTable = new StpCsciToTestTable(sourceData);
+ break;
+ case STD_Test_to_CSCI:
+ simpleTable = new StdTestToCsciTable(sourceData);
+ break;
+ case STD_CSCI_to_Test:
+ simpleTable = new StdCsciToTestTable(sourceData);
+ break;
+ default:
+ throw new OseeArgumentException("Unsupported Style [%s]", style);
+ }
+ return new TraceabilityTable(stringWriter, sheetWriter, simpleTable);
+ }
+}

Back to the top