X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFlatFile.java;fp=src%2Fjalview%2Fio%2FFlatFile.java;h=55fdd37a079abb862dd58b20ec77816325e52539;hb=9527f18e0ba0625e0e4fd8e7bcb41369812dbbe2;hp=01ce085b7e1b67117b42fb74c40975a51283391f;hpb=41e20dff103d6d1995b2ed3b6d6479f359025531;p=jalview.git diff --git a/src/jalview/io/FlatFile.java b/src/jalview/io/FlatFile.java index 01ce085..55fdd37 100644 --- a/src/jalview/io/FlatFile.java +++ b/src/jalview/io/FlatFile.java @@ -215,7 +215,7 @@ public abstract class FlatFile extends AlignFile */ CdsData data = new CdsData(); StringBuilder sb = new StringBuilder().append(location); - line = parseFeatureQualifier(sb, LOCATION); + line = parseFeatureQualifier(sb, false); data.cdsLocation = sb.toString(); while (line != null) @@ -250,7 +250,8 @@ public abstract class FlatFile extends AlignFile String value = line.substring(eqPos + 1); value = removeQuotes(value); sb = new StringBuilder().append(value); - line = parseFeatureQualifier(sb, qualifier); + boolean asText = !"translation".equals(qualifier); + line = parseFeatureQualifier(sb, asText); String featureValue = sb.toString(); if ("protein_id".equals(qualifier)) @@ -638,11 +639,11 @@ public abstract class FlatFile extends AlignFile * * @param sb * a string buffer primed with the first line of the value - * @param qualifierName + * @param asText * @return * @throws IOException */ - String parseFeatureQualifier(StringBuilder sb, String qualifierName) + String parseFeatureQualifier(StringBuilder sb, boolean asText) throws IOException { String line; @@ -665,11 +666,10 @@ public abstract class FlatFile extends AlignFile } /* - * heuristic rule: most multi-line value (e.g. /product) are text, - * so add a space for word boundary at a new line; not for translation + * if text (e.g. /product), add a word separator for a new line, + * else (e.g. /translation) don't */ - if (!"translation".equals(qualifierName) - && !LOCATION.equals(qualifierName)) + if (asText) { sb.append(" "); }