JAL-4012 tweak release notes wording for legacy.uniprot
[jalview.git] / utils / HelpLinksChecker.java
index 7c57cc7..dee5322 100644 (file)
@@ -34,7 +34,7 @@ import java.util.Map;
  * @author gmcarstairs
  *
  */
-public class HelpLinksChecker
+public class HelpLinksChecker implements BufferedLineReader.LineCleaner
 {
   private static final String HELP_HS = "help.hs";
 
@@ -282,9 +282,10 @@ public class HelpLinksChecker
         else
         {
           internalHrefCount++;
+          String relFile = System.getProperty("os.name").indexOf("Win") > -1 ? href.replace("/", File.separator) : href;
           File hrefFile = href.equals("") ? htmlFile : new File(htmlFolder,
                   href);
-          if (hrefFile != htmlFile && !fileExists(hrefFile, href))
+          if (hrefFile != htmlFile && !fileExists(hrefFile, relFile))
           {
             badLink = true;
             invalidInternalHrefCount++;
@@ -358,7 +359,8 @@ public class HelpLinksChecker
     try
     {
       BufferedReader br = new BufferedReader(new FileReader(hrefFile));
-      String data = br.readLine();
+      BufferedLineReader blr = new BufferedLineReader(br, 3, this);
+      String data = blr.read();
       while (data != null)
       {
         if (data.contains(nameAnchor) || data.contains(idAnchor))
@@ -366,7 +368,7 @@ public class HelpLinksChecker
           found = true;
           break;
         }
-        data = br.readLine();
+        data = blr.read();
       }
       br.close();
     } catch (IOException e)
@@ -544,4 +546,14 @@ public class HelpLinksChecker
     }
     return value;
   }
+
+  /**
+   * Trim whitespace from concatenated lines but preserve one space for valid
+   * parsing
+   */
+  @Override
+  public String cleanLine(String l)
+  {
+    return l.trim() + " ";
+  }
 }