in progress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / NodePanel.java
index 7646342..4cfb7b2 100644 (file)
@@ -210,6 +210,27 @@ class NodePanel extends JPanel implements TreeSelectionListener {
         }
     }
 
+    private static void addLineage( final DefaultMutableTreeNode top,
+                                    final List<String> lineage,
+                                    final DefaultMutableTreeNode category ) {
+        if ( ( lineage != null ) && ( lineage.size() > 0 ) ) {
+            final StringBuilder sb = new StringBuilder();
+            for( final String lin : lineage ) {
+                if ( !ForesterUtil.isEmpty( lin ) ) {
+                    sb.append( lin );
+                    sb.append( " > " );
+                }
+            }
+            String str = null;
+            if ( sb.length() > 1 ) {
+                str = sb.substring( 0, sb.length() - 3 );
+            }
+            if ( !ForesterUtil.isEmpty( str ) ) {
+                addSubelement( category, "Lineage", str );
+            }
+        }
+    }
+
     private static void addBasics( final DefaultMutableTreeNode top,
                                    final PhylogenyNode phylogeny_node,
                                    final String name ) {
@@ -226,7 +247,6 @@ class NodePanel extends JPanel implements TreeSelectionListener {
                 addSubelement( category, CONFIDENCE, conf.asText().toString() );
             }
         }
-       
         if ( !phylogeny_node.isExternal() ) {
             addSubelement( category, "Children", String.valueOf( phylogeny_node.getNumberOfDescendants() ) );
             addSubelement( category,
@@ -241,10 +261,10 @@ class NodePanel extends JPanel implements TreeSelectionListener {
                 if ( no_tax > 0 ) {
                     addSubelement( category, "External nodes without taxonomy", String.valueOf( no_tax ) );
                 }
-                //TODO remove me...
-                for( final Taxonomy taxonomy : distinct_tax.keySet() ) {
-                    System.out.println( taxonomy + ": " + distinct_tax.get( taxonomy ) );
-                }
+                //TODO remove me... maybe make me into a method?
+                //for( final Taxonomy taxonomy : distinct_tax.keySet() ) {
+                //    System.out.println( taxonomy + ": " + distinct_tax.get( taxonomy ) );
+                //}
             }
         }
         if ( !phylogeny_node.isRoot() ) {
@@ -261,10 +281,8 @@ class NodePanel extends JPanel implements TreeSelectionListener {
                            ForesterUtil.FORMATTER_3.format( phylogeny_node.getBranchData().getBranchWidth().getValue() ) );
         }
         if ( ( phylogeny_node.getBranchData().getBranchColor() != null ) ) {
-            Color c = phylogeny_node.getBranchData().getBranchColor().getValue();
-            addSubelement( category,
-                           NODE_BRANCH_COLOR,
-                            c.getRed() + ", " + c.getGreen() + ", "+ c.getBlue() );
+            final Color c = phylogeny_node.getBranchData().getBranchColor().getValue();
+            addSubelement( category, NODE_BRANCH_COLOR, c.getRed() + ", " + c.getGreen() + ", " + c.getBlue() );
         }
     }
 
@@ -394,6 +412,9 @@ class NodePanel extends JPanel implements TreeSelectionListener {
         if ( ( tax.getUris() != null ) && !tax.getUris().isEmpty() ) {
             addUris( top, tax.getUris(), category );
         }
+        if ( ( tax.getLineage() != null ) && !tax.getLineage().isEmpty() ) {
+            addLineage( top, tax.getLineage(), category );
+        }
     }
 
     private static void createNodes( final DefaultMutableTreeNode top, final PhylogenyNode phylogeny_node ) {