X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FAlignmentProperties.java;h=f2a6150dc69dd4254ba9da1f59c6e12dff91368a;hb=1f029391e9e263b132a62eaefcc2fe68badacfd6;hp=45d46d86a4e036097e171ab9f87fee6bcd4438f5;hpb=6c889c6524f1ba8f56dbea5211b44753846a1bdf;p=jalview.git diff --git a/src/jalview/io/AlignmentProperties.java b/src/jalview/io/AlignmentProperties.java index 45d46d8..f2a6150 100644 --- a/src/jalview/io/AlignmentProperties.java +++ b/src/jalview/io/AlignmentProperties.java @@ -1,20 +1,38 @@ -/** +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.io; -import java.io.IOException; -import java.io.StringWriter; +import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentI; + import java.io.PrintWriter; +import java.io.StringWriter; import java.util.Enumeration; import java.util.Hashtable; -import jalview.datamodel.Alignment; -import jalview.datamodel.AlignmentI; - /** - * Render associated attributes of an alignment. The heart of this code was refactored from jalview.gui.AlignFrame and jalview.appletgui.AlignFrame - * TODO: consider extending the html renderer to annotate elements with CSS ids enabling finer output format control. + * Render associated attributes of an alignment. The heart of this code was + * refactored from jalview.gui.AlignFrame and jalview.appletgui.AlignFrame TODO: + * consider extending the html renderer to annotate elements with CSS ids + * enabling finer output format control. * */ public class AlignmentProperties @@ -28,12 +46,13 @@ public class AlignmentProperties /** * render the alignment's properties report as text or an HTML fragment + * * @param pw * @param html */ public void writeProperties(PrintWriter pw, boolean html) { - final String nl = html ? "
" : "\n"; + final String nl = html ? "
" : System.getProperty("line.separator"); float avg = 0; int min = Integer.MAX_VALUE, max = 0; for (int i = 0; i < alignment.getHeight(); i++) @@ -42,27 +61,31 @@ public class AlignmentProperties - alignment.getSequenceAt(i).getStart(); avg += size; if (size > max) + { max = size; + } if (size < min) + { min = size; + } } - avg = avg / (float) alignment.getHeight(); - pw.append(nl); - pw.append("Sequences: " + alignment.getHeight()); - pw.append(nl); - pw.append("Minimum Sequence Length: " + min); - pw.append(nl); - pw.append("Maximum Sequence Length: " + max); - pw.append(nl); - pw.append("Average Length: " + (int) avg); + avg = avg / alignment.getHeight(); + pw.print(nl); + pw.print("Sequences: " + alignment.getHeight()); + pw.print(nl); + pw.print("Minimum Sequence Length: " + min); + pw.print(nl); + pw.print("Maximum Sequence Length: " + max); + pw.print(nl); + pw.print("Average Length: " + (int) avg); if (((Alignment) alignment).alignmentProperties != null) { - pw.append(nl); - pw.append(nl); + pw.print(nl); + pw.print(nl); if (html) { - pw.append(""); + pw.print("
"); } Hashtable props = ((Alignment) alignment).alignmentProperties; Enumeration en = props.keys(); @@ -89,16 +112,16 @@ public class AlignmentProperties } pos = npos + 1; } while (npos != -1); - pw.append(""); + pw.print(""); } else { - pw.append("\n" + key + "\t" + vals); + pw.print(nl + key + "\t" + vals); } } if (html) { - pw.append("
" + key + "" + val + "
" + key + "" + val + "
"); + pw.print(""); } } }