From a38c5f242641005b952e446b2ece5aa1fc9e1028 Mon Sep 17 00:00:00 2001 From: tcofoegbu Date: Thu, 9 Jul 2015 13:57:12 +0100 Subject: [PATCH] JAL-1806 bug fix to loop through the entire data file to check for a html or rnaml tag when the data file starts with < --- src/jalview/io/IdentifyFile.java | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/jalview/io/IdentifyFile.java b/src/jalview/io/IdentifyFile.java index 4c83ac1..dae8f82 100755 --- a/src/jalview/io/IdentifyFile.java +++ b/src/jalview/io/IdentifyFile.java @@ -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; -- 1.7.10.2