bug[ats_ATS249282]: Fix subsystem for trace tools

Change-Id: Ibb9d6779507153dec199d05b503ba82e6a9a182d
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 fa80039..4ed82a7 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
@@ -244,7 +244,7 @@
 
       // Load Requirements Data
       TraceabilityProviderOperation provider =
-         new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, traceHandlers);
+         new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, traceHandlers, false);
       RequirementTraceabilityData traceabilityData = new RequirementTraceabilityData(procedureBranch, provider);
 
       IStatus status = traceabilityData.initialize(monitor);
@@ -340,8 +340,8 @@
       excelWriter.writeRow("Category", "Test POCs", CoreAttributeTypes.Partition.getName(),
          CoreAttributeTypes.Subsystem.getName(), "Requirement Name", CoreAttributeTypes.QualificationMethod.getName(),
          "Requirement POCs", "SW Enhancement", CoreArtifactTypes.TestProcedure.getName(),
-         CoreArtifactTypes.TestCase.getName(), "Run Date", "Total Test Points", "Failed Test Points",
-         "Hours Remaining", "RPCR", "Hours", "Resolution by Partition");
+         CoreArtifactTypes.TestCase.getName(), "Run Date", "Total Test Points", "Failed Test Points", "Hours Remaining",
+         "RPCR", "Hours", "Resolution by Partition");
 
       for (Artifact requirement : requirements) {
          writeRequirementStatusLines(requirement);
@@ -542,9 +542,8 @@
             String requirementName = taskNameMatcher.group(2);
             RequirementStatus requirementStatus = reqTaskMap.get(requirementName, legacyId);
             if (requirementStatus == null) {
-               requirementStatus =
-                  new RequirementStatus(requirementName, legacyId, workflow.getSoleAttributeValueAsString(
-                     AtsAttributeTypes.SwEnhancement, ""));
+               requirementStatus = new RequirementStatus(requirementName, legacyId,
+                  workflow.getSoleAttributeValueAsString(AtsAttributeTypes.SwEnhancement, ""));
                reqTaskMap.put(requirementName, legacyId, requirementStatus);
             }
 
@@ -574,7 +573,8 @@
       sb.append("<xWidgets>");
       sb.append("<XWidget xwidgetType=\"XAtsProgramComboWidget\" horizontalLabel=\"true\" displayName=\"Program\" />");
       sb.append("<XWidget xwidgetType=\"XVersionList\" displayName=\"Versions\" multiSelect=\"true\" />");
-      sb.append("<XWidget xwidgetType=\"XText\" displayName=\"Script Root Directory\" defaultValue=\"C:/UserData/workspaceScripts\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XText\" displayName=\"Script Root Directory\" defaultValue=\"C:/UserData/workspaceScripts\" />");
 
       availableTraceHandlers = new LinkedList<>();
       sb.append("<XWidget xwidgetType=\"XLabel\" displayName=\"Select appropriate script parser:\" />");
@@ -584,9 +584,12 @@
          availableTraceHandlers.add(handler);
       }
 
-      sb.append("<XWidget xwidgetType=\"XBranchSelectWidget\" displayName=\"Requirements Branch\" toolTip=\"Select a requirements branch.\" />");
-      sb.append("<XWidget xwidgetType=\"XBranchSelectWidget\" displayName=\"Test Results Branch\" toolTip=\"Select a scripts results branch.\" />");
-      sb.append("<XWidget xwidgetType=\"XBranchSelectWidget\" displayName=\"Test Procedure Branch\" toolTip=\"Select a test procedures branch.\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XBranchSelectWidget\" displayName=\"Requirements Branch\" toolTip=\"Select a requirements branch.\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XBranchSelectWidget\" displayName=\"Test Results Branch\" toolTip=\"Select a scripts results branch.\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XBranchSelectWidget\" displayName=\"Test Procedure Branch\" toolTip=\"Select a test procedures branch.\" />");
       sb.append("</xWidgets>");
       return sb.toString();
    }
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 7c34898..9e631c8 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
@@ -68,6 +68,7 @@
 
    private final String SCRIPT_ROOT_DIR = "Script Root Directory";
    private final String USE_TRACE_IN_OSEE = "Use traceability from Subsystem Requirements";
+   private final String USE_GIT_CODE_STRUCTURE = "Use Git Code Structure";
    private XCheckBox useTraceInOsee;
    private XText scriptDir;
 
@@ -96,6 +97,7 @@
       init();
       String scriptDir = variableMap.getString(SCRIPT_ROOT_DIR);
       Boolean checked = variableMap.getBoolean(USE_TRACE_IN_OSEE);
+      Boolean isGitCodeStructure = variableMap.getBoolean(USE_GIT_CODE_STRUCTURE);
 
       Collection<TraceHandler> traceHandlers = new LinkedList<>();
       for (String handler : availableTraceHandlers) {
@@ -109,7 +111,7 @@
          File dir = new File(scriptDir);
          if (dir.exists()) {
             ScriptTraceabilityOperation traceOperation =
-               new ScriptTraceabilityOperation(dir.getParentFile(), branch, false, traceHandlers);
+               new ScriptTraceabilityOperation(dir.getParentFile(), branch, false, traceHandlers, isGitCodeStructure);
             Operations.executeWorkAndCheckStatus(traceOperation, monitor);
             requirementsToCodeUnits = traceOperation.getRequirementToCodeUnitsMap();
          }
@@ -153,7 +155,8 @@
 
    private void processSubSystemRequirement(Artifact subSystemRequirement) throws IOException, OseeCoreException {
       boolean topRowForSubsystemReq = true;
-      for (Artifact systemRequirement : subSystemRequirement.getRelatedArtifacts(CoreRelationTypes.Requirement_Trace__Higher_Level)) {
+      for (Artifact systemRequirement : subSystemRequirement.getRelatedArtifacts(
+         CoreRelationTypes.Requirement_Trace__Higher_Level)) {
          writer.writeCell(systemRequirement.getSoleAttributeValue(CoreAttributeTypes.ParagraphNumber, ""));
          writer.writeCell(systemRequirement.getName());
          writer.writeCell(getRequirementText(systemRequirement));
@@ -169,7 +172,8 @@
             topRowForSubsystemReq = false;
          }
 
-         for (Artifact softwareRequirement : subSystemRequirement.getRelatedArtifacts(CoreRelationTypes.Requirement_Trace__Lower_Level)) {
+         for (Artifact softwareRequirement : subSystemRequirement.getRelatedArtifacts(
+            CoreRelationTypes.Requirement_Trace__Lower_Level)) {
             processSoftwareRequirement(softwareRequirement);
          }
          writer.endRow();
@@ -186,8 +190,8 @@
       writer.writeCell(softwareRequirement.getSoleAttributeValue(CoreAttributeTypes.ParagraphNumber, ""),
          SOFTWARE_REQUIREMENT_INDEX);
       writer.writeCell(softwareRequirement.getName());
-      writer.writeCell(Collections.toString(",",
-         softwareRequirement.getAttributesToStringList(CoreAttributeTypes.Partition)));
+      writer.writeCell(
+         Collections.toString(",", softwareRequirement.getAttributesToStringList(CoreAttributeTypes.Partition)));
       writer.writeCell(softwareRequirement.getAttributesToStringSorted(CoreAttributeTypes.QualificationMethod));
 
       tests.clear();
@@ -215,10 +219,15 @@
    public String getXWidgetsXml() throws OseeCoreException {
       StringBuilder sb = new StringBuilder();
       sb.append("<xWidgets>");
-      sb.append("<XWidget xwidgetType=\"XCheckBox\" displayName=\"" + USE_TRACE_IN_OSEE + "\" defaultValue=\"true\" labelAfter=\"true\" horizontalLabel=\"true\" />");
-      sb.append("<XWidget xwidgetType=\"XText\" displayName=\"" + SCRIPT_ROOT_DIR + "\" defaultValue=\"C:/UserData/workspaceScripts\" toolTip=\"Leave blank if test script traceability is not needed.\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XCheckBox\" displayName=\"" + USE_TRACE_IN_OSEE + "\" defaultValue=\"true\" labelAfter=\"true\" horizontalLabel=\"true\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XCheckBox\" displayName=\"" + USE_GIT_CODE_STRUCTURE + "\" defaultValue=\"true\" labelAfter=\"true\" horizontalLabel=\"true\" />");
+      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<>();
-      sb.append("<XWidget xwidgetType=\"XLabel\" displayName=\"Select appropriate script parser (if script traceability needed):\" />");
+      sb.append(
+         "<XWidget xwidgetType=\"XLabel\" displayName=\"Select appropriate script parser (if script traceability needed):\" />");
       Collection<String> traceHandlerNames = TraceUnitExtensionManager.getInstance().getAllTraceHandlerNames();
       for (String handler : traceHandlerNames) {
          sb.append(String.format(TRACE_HANDLER_CHECKBOX, handler));
diff --git a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityPage.java b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityPage.java
index b30fbd3..b1bb388 100644
--- a/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityPage.java
+++ b/plugins/org.eclipse.osee.define/src/org/eclipse/osee/define/traceability/ImportTraceabilityPage.java
@@ -48,10 +48,12 @@
    public static final String PAGE_NAME = "org.eclipse.osee.define.wizardPage.importTraceabilityPage";
 
    private static final String TRACE_UNIT_HANDLER_GROUP = "Select trace unit parser";
+   private static final String GIT_CODE_STRUCTURE_GROUP = "Select to use Git codebase";
 
    private DirectoryOrFileSelector directoryFileSelector;
    private BranchSelectComposite branchSelectComposite;
    private final Map<Button, Boolean> traceUnitHandlers;
+   private boolean isGitCodeStructure = false;
 
    private IResource currentResourceSelection;
 
@@ -65,7 +67,7 @@
       if (selection != null && selection.size() == 1) {
          Object firstElement = selection.getFirstElement();
          if (firstElement instanceof IAdaptable) {
-            currentResourceSelection = (IResource) ((IAdaptable) firstElement).getAdapter(IResource.class);
+            currentResourceSelection = ((IAdaptable) firstElement).getAdapter(IResource.class);
          }
       }
    }
@@ -82,7 +84,7 @@
 
       createSourceGroup(composite);
       createParserSelectArea(composite);
-
+      createGitStructureCheckbox(composite);
       restoreWidgetValues();
       updateWidgetEnablements();
       setPageComplete(determinePageCompletion());
@@ -93,7 +95,7 @@
    /**
     * The <code>WizardResourceImportPage</code> implementation of this <code>Listener</code> method handles all events
     * and enablements for controls on this page. Subclasses may extend.
-    * 
+    *
     * @param event Event
     */
    @Override
@@ -143,6 +145,27 @@
       }
    }
 
+   private void createGitStructureCheckbox(Composite parent) {
+      Group composite = new Group(parent, SWT.NONE);
+      composite.setText(GIT_CODE_STRUCTURE_GROUP);
+      composite.setLayout(new GridLayout());
+      composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+      Button handlerButton = new Button(composite, SWT.CHECK);
+      handlerButton.setText("Use Git Code Structure");
+      handlerButton.addSelectionListener(new SelectionAdapter() {
+
+         @Override
+         public void widgetSelected(SelectionEvent e) {
+            Object source = e.getSource();
+            if (source instanceof Button) {
+               Button button = (Button) source;
+               isGitCodeStructure = button.getSelection();
+            }
+         }
+      });
+   }
+
    private void createTraceHandler(Composite parent, String text, String handlerId) {
       Button handlerButton = new Button(parent, SWT.CHECK);
       handlerButton.setText(text);
@@ -198,6 +221,10 @@
       return branchSelectComposite.getSelectedBranch();
    }
 
+   public boolean isGitBased() {
+      return isGitCodeStructure;
+   }
+
    @Override
    protected boolean allowNewContainerName() {
       return false;
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 6bdcc1f..ad2544b 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
@@ -41,11 +41,14 @@
       try {
          IOseeBranch branch = mainPage.getSelectedBranch();
          File file = mainPage.getImportFile();
+         boolean isGitBased = mainPage.isGitBased();
+
          Collection<TraceHandler> handlers = new LinkedList<>();
          for (String handlerId : mainPage.getTraceUnitHandlerIds()) {
             handlers.add(TraceUnitExtensionManager.getInstance().getTraceUnitHandlerById(handlerId));
          }
-         Operations.executeWorkAndCheckStatus(new ScriptTraceabilityOperation(file, branch, true, handlers));
+         Operations.executeWorkAndCheckStatus(
+            new ScriptTraceabilityOperation(file, branch, true, handlers, isGitBased));
       } 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 c7178de..8724b2f 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
@@ -62,37 +62,39 @@
    private static final Matcher embeddedVolumeMatcher = Pattern.compile("\\{\\d+ (.*)\\}[ .]*").matcher("");
    private static final Matcher stripTrailingReqNameMatcher = Pattern.compile("(\\}|\\])(.*)").matcher("");
    private static final Matcher nonWordMatcher = Pattern.compile("[^A-Z_0-9]").matcher("");
-   private static final Matcher subsystemMatcher = Pattern.compile("\\w*\\.ss").matcher("");
-
+   private static final Matcher subsystemMatcher = Pattern.compile("(\\w*)\\.ss").matcher("");
+   private static final Matcher gitSubsystemMatcher = Pattern.compile("\\w*\\.ofp\\\\(\\w*)").matcher("");
    private final Collection<TraceHandler> traceHandlers;
    private final File file;
    private final RequirementData requirementData;
    private final ArrayList<String> noTraceabilityFiles = new ArrayList<>(200);
    private final CountingMap<Artifact> reqsTraceCounts = new CountingMap<>();
-   private final HashCollection<Artifact, String> requirementToCodeUnitsMap = new HashCollection<>(
-      false, LinkedHashSet.class);
+   private final HashCollection<Artifact, String> requirementToCodeUnitsMap =
+      new HashCollection<>(false, LinkedHashSet.class);
    private final HashSet<String> codeUnits = new HashSet<>();
    private final CharBackedInputStream charBak;
    private final ISheetWriter excelWriter;
    private int pathPrefixLength;
    private final boolean writeOutResults;
+   private final boolean isGitBased;
 
-   private ScriptTraceabilityOperation(RequirementData requirementData, File file, boolean writeOutResults, Collection<TraceHandler> traceHandlers) throws IOException {
+   private ScriptTraceabilityOperation(RequirementData requirementData, File file, boolean writeOutResults, Collection<TraceHandler> traceHandlers, boolean isGitBased) throws IOException {
       super("Importing Traceability", Activator.PLUGIN_ID);
       this.file = file;
       this.requirementData = requirementData;
       this.writeOutResults = writeOutResults;
       this.traceHandlers = traceHandlers;
+      this.isGitBased = isGitBased;
       charBak = new CharBackedInputStream();
       excelWriter = new ExcelXmlWriter(charBak.getWriter());
    }
 
-   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<TraceHandler> traceHandlers, boolean isGitBased) throws IOException {
+      this(new RequirementData(branch), file, writeOutResults, traceHandlers, isGitBased);
    }
 
-   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);
+   public ScriptTraceabilityOperation(File file, IOseeBranch branch, boolean writeOutResults, Collection<? extends IArtifactType> types, boolean withInheritance, Collection<TraceHandler> traceHandlers, boolean isGitBased) throws IOException {
+      this(new RequirementData(branch, types, withInheritance), file, writeOutResults, traceHandlers, isGitBased);
    }
 
    @Override
@@ -221,6 +223,18 @@
       return canonicalReqReference;
    }
 
+   private String getSubsystem(String source, Matcher matcher) {
+      String subSystem = null;
+      matcher.reset(source);
+      if (matcher.find()) {
+         subSystem = matcher.group(1);
+         subSystem = subSystem.toUpperCase();
+      } else {
+         subSystem = "no valid subsystem found";
+      }
+      return subSystem;
+   }
+
    private void handelReqTrace(String path, TraceMark traceMark, File sourceFile) throws OseeCoreException, IOException {
       Artifact reqArtifact = null;
       String foundStr;
@@ -228,14 +242,8 @@
       String textContent = null;
       boolean traceMatch = false;
 
-      subsystemMatcher.reset(sourceFile.getPath());
-      if (subsystemMatcher.find()) {
-         subSystem = subsystemMatcher.group();
-         subSystem = subSystem.replace(".ss", "");
-         subSystem = subSystem.toUpperCase();
-      } else {
-         subSystem = "no valid subsystem found";
-      }
+      subSystem = (isGitBased) ? getSubsystem(sourceFile.getPath(),
+         gitSubsystemMatcher) : getSubsystem(sourceFile.getPath(), subsystemMatcher);
 
       if (traceMark.getTraceType().equals("Uses")) {
          foundStr = "invalid trace mark";
@@ -256,15 +264,16 @@
                   //There is no WordTemplateContent in a button requirement so we need to verify it exists
                   //If its not there we need to render the button requirement in Word and pull out the body.
                   if (reqArtifact.getAttributeCount(CoreAttributeTypes.WordTemplateContent) > 0) {
-                     textContent =
-                        WordUtil.textOnly(reqArtifact.getSoleAttributeValue(CoreAttributeTypes.WordTemplateContent, "")).toUpperCase();
+                     textContent = WordUtil.textOnly(
+                        reqArtifact.getSoleAttributeValue(CoreAttributeTypes.WordTemplateContent, "")).toUpperCase();
                   } else {
                      List<Attribute<?>> attributes = reqArtifact.getAttributes();
                      for (Attribute<?> attribute : attributes) {
                         textContent = textContent + attribute.toString();
                      }
                   }
-                  if (textContent.contains(structuredRequirement.getSecond()) || textContent.contains(getCanonicalRequirementName(structuredRequirement.getSecond()))) {
+                  if (textContent.contains(structuredRequirement.getSecond()) || textContent.contains(
+                     getCanonicalRequirementName(structuredRequirement.getSecond()))) {
                      foundStr = "req body match";
                   } else {
                      foundStr = "req name match/element missing in body";
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 b3f4cb8..fd1cb5a 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
@@ -54,6 +54,8 @@
       "<XWidget xwidgetType=\"XArtifactTypeMultiChoiceSelect\" displayName=\"Artifact Type(s) to Trace\" defaultValue=\"" + CoreArtifactTypes.SoftwareRequirement.getName() + "\"/>";
    private static final String searchInheritedTypes =
       "<XWidget xwidgetType=\"XCheckBox\" displayName=\"Search Inherited Types\" labelAfter=\"true\" horizontalLabel=\"true\" defaultValue=\"false\" />";
+   private static final String useGitCodeStructure =
+      "<XWidget xwidgetType=\"XCheckBox\" displayName=\"Search Git Code Structure\" labelAfter=\"true\" horizontalLabel=\"true\" defaultValue=\"false\" />";
    private static final String TRACE_HANDLER_CHECKBOX =
       "<XWidget xwidgetType=\"XCheckBox\" displayName=\"%s\" labelAfter=\"true\" horizontalLabel=\"true\"/>";
    private Collection<String> availableTraceHandlers;
@@ -88,7 +90,9 @@
       builder.append(artifactTypeChooser);
       builder.append(searchInheritedTypes);
 
-      builder.append("<XWidget xwidgetType=\"XLabel\" displayName=\"===  For traceability stored in test scripts, select the following  ===\" />");
+      builder.append(
+         "<XWidget xwidgetType=\"XLabel\" displayName=\"===  For traceability stored in test scripts, select the following  ===\" />");
+      builder.append(useGitCodeStructure);
       availableTraceHandlers = new LinkedList<>();
       builder.append("<XWidget xwidgetType=\"XLabel\" displayName=\"Select appropriate script parser:\" />");
       Collection<String> traceHandlers = TraceUnitExtensionManager.getInstance().getAllTraceHandlerNames();
@@ -140,9 +144,9 @@
          if (traceHandlers.isEmpty()) {
             provider = new BranchTraceabilityOperation(requirementsBranch, types, searchInherited);
          } else {
-            provider =
-               new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, types, searchInherited,
-                  traceHandlers);
+            boolean isGitBased = variableMap.getBoolean("Search Git Code Structure");
+            provider = new ScriptTraceabilityOperation(scriptDir, requirementsBranch, false, types, searchInherited,
+               traceHandlers, isGitBased);
          }
          RequirementTraceabilityData traceabilityData = new RequirementTraceabilityData(requirementsBranch, provider);
          IStatus status = traceabilityData.initialize(monitor);
@@ -153,8 +157,8 @@
             int count = 0;
             List<IFile> files = new ArrayList<>();
             for (TraceabilityStyle style : selectedReports) {
-               monitor.subTask(String.format("Creating table: [%s] [%s of %s]", style.asLabel(), ++count,
-                  selectedReports.size()));
+               monitor.subTask(
+                  String.format("Creating table: [%s] [%s of %s]", style.asLabel(), ++count, selectedReports.size()));
 
                TraceabilityTable table = TraceabilityFactory.getTraceabilityTable(style, traceabilityData);
                if (table != null) {
@@ -163,8 +167,8 @@
                monitor.worked(1);
 
                if (table != null) {
-                  monitor.subTask(String.format("Writing table: [%s] [%s of %s]", style.asLabel(), count,
-                     selectedReports.size()));
+                  monitor.subTask(
+                     String.format("Writing table: [%s] [%s of %s]", style.asLabel(), count, selectedReports.size()));
                   String fileName = style.toString() + "." + Lib.getDateTimeString() + ".xml";
                   IFile iFile = OseeData.getIFile(fileName);
                   AIFile.writeToFile(iFile, table.toString());