JAL-727
[jalview.git] / src / jalview / io / FeaturesFile.java
index 7c70b54..64bb539 100755 (executable)
@@ -607,7 +607,7 @@ public class FeaturesFile extends AlignFile
       }\r
       else if (tag != null && tag.equalsIgnoreCase("br"))\r
       {\r
-        sb.append("\n");\r
+        sb.append(newline);\r
       }\r
       else if (token.startsWith("lt;"))\r
       {\r
@@ -726,7 +726,10 @@ public class FeaturesFile extends AlignFile
           color = Format.getHexString(new java.awt.Color(Integer\r
                   .parseInt(visible.get(type).toString())));\r
         }\r
-        out.append(type + "\t" + color + "\n");\r
+        out.append(type);\r
+        out.append("\t");\r
+        out.append(color);\r
+        out.append(newline);\r
       }\r
     }\r
     // Work out which groups are both present and visible\r
@@ -765,7 +768,10 @@ public class FeaturesFile extends AlignFile
       if (groups.size() > 0 && groupIndex < groups.size())\r
       {\r
         group = groups.elementAt(groupIndex).toString();\r
-        out.append("\nSTARTGROUP\t" + group + "\n");\r
+        out.append(newline);\r
+        out.append("STARTGROUP\t");\r
+        out.append(group);\r
+        out.append(newline);\r
       }\r
       else\r
       {\r
@@ -838,22 +844,28 @@ public class FeaturesFile extends AlignFile
 \r
               out.append("\t");\r
             }\r
-            out.append(seqs[i].getName()\r
-                    + "\t-1\t"\r
-                    + next[j].begin\r
-                    + "\t"\r
-                    + next[j].end\r
-                    + "\t"\r
-                    + next[j].type\r
-                    + ((next[j].score != Float.NaN) ? "\t" + next[j].score\r
-                            + "\n" : "\n"));\r
+            out.append(seqs[i].getName());\r
+            out.append("\t-1\t");\r
+            out.append(next[j].begin);\r
+            out.append("\t");\r
+            out.append(next[j].end);\r
+            out.append("\t");\r
+            out.append(next[j].type);\r
+            if (next[j].score != Float.NaN)\r
+            {\r
+              out.append("\t");\r
+              out.append(next[j].score);\r
+            }\r
+            out.append(newline);\r
           }\r
         }\r
       }\r
 \r
       if (group != null)\r
       {\r
-        out.append("ENDGROUP\t" + group + "\n");\r
+        out.append("ENDGROUP\t");\r
+        out.append(group);\r
+        out.append(newline);\r
         groupIndex++;\r
       }\r
       else\r
@@ -912,13 +924,24 @@ public class FeaturesFile extends AlignFile
             source = next[j].getDescription();\r
           }\r
 \r
-          out.append(seqs[i].getName() + "\t" + source + "\t"\r
-                  + next[j].type + "\t" + next[j].begin + "\t"\r
-                  + next[j].end + "\t" + next[j].score + "\t");\r
+          out.append(seqs[i].getName());\r
+          out.append("\t");\r
+          out.append(source);\r
+          out.append("\t");\r
+          out.append(next[j].type);\r
+          out.append( "\t");\r
+          out.append(  next[j].begin );\r
+          out.append("\t");\r
+          out.append(\r
+                  next[j].end);\r
+          out.append( "\t");\r
+          out.append( next[j].score);\r
+          out.append( "\t");\r
 \r
           if (next[j].getValue("STRAND") != null)\r
           {\r
-            out.append(next[j].getValue("STRAND") + "\t");\r
+            out.append(next[j].getValue("STRAND"));\r
+            out.append( "\t");\r
           }\r
           else\r
           {\r
@@ -933,13 +956,14 @@ public class FeaturesFile extends AlignFile
           {\r
             out.append(".");\r
           }\r
+          // TODO: verify/check GFF - should there be a /t here before attribute output ?\r
 \r
           if (next[j].getValue("ATTRIBUTES") != null)\r
           {\r
             out.append(next[j].getValue("ATTRIBUTES"));\r
           }\r
 \r
-          out.append("\n");\r
+          out.append(newline);\r
 \r
         }\r
       }\r