removed unneeded import
[jalview.git] / forester / java / src / org / forester / phylogeny / data / Confidence.java
index fe99d12..32f1f85 100644 (file)
 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 //
 // Contact: phylosoft @ gmail . com
-// WWW: www.phylosoft.org/forester
+// WWW: https://sites.google.com/site/cmzmasek/home/software/forester
 
 package org.forester.phylogeny.data;
 
 import java.io.IOException;
 import java.io.Writer;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.NumberFormat;
 
 import org.forester.io.parsers.nhx.NHXtags;
 import org.forester.io.parsers.phyloxml.PhyloXmlMapping;
@@ -35,10 +38,17 @@ import org.forester.util.ForesterUtil;
 
 public class Confidence implements PhylogenyData, Comparable<Confidence> {
 
-    public final static int CONFIDENCE_DEFAULT_VALUE = -9999;
-    private double          _value;
-    private double          _sd;
-    private String          _type;
+    public final static int          CONFIDENCE_DEFAULT_VALUE = -Integer.MAX_VALUE;
+    private double                   _value;
+    private double                   _sd;
+    private String                   _type;
+    public final static NumberFormat FORMATTER;
+    static {
+        final DecimalFormatSymbols dfs = new DecimalFormatSymbols();
+        dfs.setDecimalSeparator( '.' );
+        FORMATTER = new DecimalFormat( "#.#########", dfs );
+        FORMATTER.setMaximumFractionDigits( PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT );
+    }
 
     public Confidence() {
         init();
@@ -143,38 +153,39 @@ public class Confidence implements PhylogenyData, Comparable<Confidence> {
     public StringBuffer toNHX() {
         final StringBuffer sb = new StringBuffer();
         sb.append( NHXtags.SUPPORT );
-        sb.append( getValue() );
+        sb.append( FORMATTER.format( ForesterUtil.round( getValue(),
+                                                         PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ) );
         return sb;
     }
 
     @Override
     public void toPhyloXML( final Writer writer, final int level, final String indentation ) throws IOException {
-        if ( getValue() == CONFIDENCE_DEFAULT_VALUE ) {
+        if ( getValue() == CONFIDENCE_DEFAULT_VALUE || getValue() < -1 ) {
             return;
         }
         writer.write( ForesterUtil.LINE_SEPARATOR );
         writer.write( indentation );
         if ( getStandardDeviation() != CONFIDENCE_DEFAULT_VALUE ) {
             PhylogenyDataUtil
-                    .appendElement( writer,
-                                    PhyloXmlMapping.CONFIDENCE,
-                                    String.valueOf( ForesterUtil
-                                            .round( getValue(), PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ),
-                                    PhyloXmlMapping.CONFIDENCE_TYPE_ATTR,
-                                    ForesterUtil.isEmpty( getType() ) ? "unknown" : getType(),
-                                    PhyloXmlMapping.CONFIDENCE_SD_ATTR,
-                                    String.valueOf( ForesterUtil
-                                            .round( getStandardDeviation(),
-                                                    PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ) );
+            .appendElement( writer,
+                            PhyloXmlMapping.CONFIDENCE,
+                            FORMATTER.format( ForesterUtil
+                                              .round( getValue(), PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ),
+                                              PhyloXmlMapping.CONFIDENCE_TYPE_ATTR,
+                                              ForesterUtil.isEmpty( getType() ) ? "unknown" : getType(),
+                                                      PhyloXmlMapping.CONFIDENCE_SD_ATTR,
+                                                      String.valueOf( ForesterUtil
+                                                                      .round( getStandardDeviation(),
+                                                                              PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ) );
         }
         else {
             PhylogenyDataUtil
-                    .appendElement( writer,
-                                    PhyloXmlMapping.CONFIDENCE,
-                                    String.valueOf( ForesterUtil
-                                            .round( getValue(), PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ),
-                                    PhyloXmlMapping.CONFIDENCE_TYPE_ATTR,
-                                    ForesterUtil.isEmpty( getType() ) ? "unknown" : getType() );
+            .appendElement( writer,
+                            PhyloXmlMapping.CONFIDENCE,
+                            FORMATTER.format( ForesterUtil
+                                              .round( getValue(), PhyloXmlUtil.ROUNDING_DIGITS_FOR_PHYLOXML_DOUBLE_OUTPUT ) ),
+                                              PhyloXmlMapping.CONFIDENCE_TYPE_ATTR,
+                                              ForesterUtil.isEmpty( getType() ) ? "unknown" : getType() );
         }
     }