bug[TW19433]: BAT - Make file extensions case insensitive and close bufferedreaders

Change-Id: I170d44610cbeca6f4311958a4c837af1621dfe85
Signed-off-by: Branden Phillips <branden.w.phillips@boeing.com>
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityOps.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityOps.java
index fa443a0..bcc6df2 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityOps.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityOps.java
@@ -162,7 +162,9 @@
          createCacheFile(results, stagePath);
       }
 
-      writeFileApplicabilityCache(results, sourceFile.getName(), stagePath);
+      if (sourceFile.isDirectory()) {
+         writeFileApplicabilityCache(results, sourceFile.getName(), stagePath);
+      }
 
       return results;
    }
@@ -641,7 +643,7 @@
          FileTypeApplicabilityData data = new FileTypeApplicabilityData(pattern, commentPrefixRegex, commentSuffixRegex,
             commentPrefix, commentSuffix);
 
-         fileTypeApplicabilityDataMap.put(fileExtension, data);
+         fileTypeApplicabilityDataMap.put(fileExtension.toLowerCase(), data);
       }
 
       return fileTypeApplicabilityDataMap;
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityRule.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityRule.java
index 6c9dd2e..ac1f8c2 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityRule.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/applicability/BlockApplicabilityRule.java
@@ -178,7 +178,6 @@
     * Read each file line by line until a different is found, if none are found, must be the same
     */
    private boolean isStageFileNew(File stageFile, File outFile) throws IOException {
-
       if (!stageFile.exists()) {
          return true;
       }
@@ -187,25 +186,29 @@
          return true;
       }
 
+      boolean isFileNew = false;
+
       BufferedReader stageReader = Files.newBufferedReader(stageFile.toPath());
       BufferedReader outReader = Files.newBufferedReader(outFile.toPath());
       String stageLine, outLine;
       while (((stageLine = stageReader.readLine()) != null) && ((outLine = outReader.readLine()) != null)) {
          if (!stageLine.equals(outLine)) {
             if (stageFile.length() != outFile.length()) {
-               return true;
+               isFileNew = true;
             }
          }
       }
 
-      return false;
+      stageReader.close();
+      outReader.close();
+      return isFileNew;
    }
 
    @Override
    public ChangeSet computeChanges(CharSequence seq) {
       ChangeSet changeSet = new ChangeSet(seq);
       FileTypeApplicabilityData fileTypeApplicabilityData =
-         fileTypeApplicabilityDataMap.get(Lib.getExtension(getInputFile().getName()));
+         fileTypeApplicabilityDataMap.get(Lib.getExtension(getInputFile().getName()).toLowerCase());
       Matcher matcher = fileTypeApplicabilityData.getCommentedTagPattern().matcher(seq);
 
       int matcherIndex = 0;
@@ -375,7 +378,7 @@
          if (fileName.equals(".fileApplicability")) {
             configFile = child;
             FileTypeApplicabilityData fileTypeApplicabilityData =
-               fileTypeApplicabilityDataMap.get(Lib.getExtension(configFile.getName()));
+               fileTypeApplicabilityDataMap.get(Lib.getExtension(configFile.getName()).toLowerCase());
             Pattern tagPattern = fileTypeApplicabilityData.getCommentedTagPattern();
 
             try {