Resolved merge conflict in EdtiCommandTest.java
[jalview.git] / src / jalview / io / IdentifyFile.java
index 27f08ae..dae8f82 100755 (executable)
@@ -98,7 +98,7 @@ public class IdentifyFile
       }
       while ((data = source.nextLine()) != null)
       {
-        length += data.length();
+        length += data.trim().length();
         if (!lineswereskipped)
         {
           for (int i = 0; !isBinary && i < data.length(); i++)
@@ -142,19 +142,35 @@ public class IdentifyFile
           reply = "STH";
           break;
         }
-        // if (data.matches("<(\"[^\"]*\"|'[^']*'|[^'\">])*>"))
-        if (data.matches("<(?i)html(\"[^\"]*\"|'[^']*'|[^'\">])*>"))
-        {
-          reply = HtmlFile.FILE_DESC;
-          break;
-        }
 
-        if (data.matches("<(?i)rnaml (\"[^\"]*\"|'[^']*'|[^'\">])*>"))
+        if ((data.indexOf("<") > -1)) // possible Markup Language data i.e HTML,
+                                      // RNAML, XML
         {
-          reply = "RNAML";
-          break;
+          boolean identified = false;
+          do
+          {
+            if (data.matches("<(?i)html(\"[^\"]*\"|'[^']*'|[^'\">])*>"))
+            {
+              reply = HtmlFile.FILE_DESC;
+              identified = true;
+              break;
+            }
+
+            if (data.matches("<(?i)rnaml (\"[^\"]*\"|'[^']*'|[^'\">])*>"))
+            {
+              reply = "RNAML";
+              identified = true;
+              break;
+            }
+          } while ((data = source.nextLine()) != null);
+
+          if (identified)
+          {
+            break;
+          }
         }
 
+
          if (data.indexOf("{\"") > -1)
          {
          reply = JSONFile.FILE_DESC;