moved to: https://sites.google.com/site/cmzmasek/home/software/forester
[jalview.git] / forester / java / src / org / forester / phylogeny / data / Annotation.java
index cba8b55..260c055 100644 (file)
@@ -5,7 +5,7 @@
 // Copyright (C) 2008-2009 Christian M. Zmasek
 // Copyright (C) 2008-2009 Burnham Institute for Medical Research
 // All rights reserved
-// 
+//
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 // Lesser General Public License for more details.
-// 
+//
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
 // 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;
 
@@ -47,23 +47,28 @@ public class Annotation implements PhylogenyData, MultipleUris, Comparable<Annot
 
     public Annotation( final String ref ) {
         if ( ForesterUtil.isEmpty( ref ) ) {
-            throw new IllegalArgumentException( "illegal attempt to create Annotation with null or empty reference" );
+            throw new IllegalArgumentException( "annotation reference is empty or null" );
         }
-        if ( ( ref.indexOf( ':' ) < 1 ) || ( ref.length() < 3 ) ) {
-            throw new IllegalArgumentException( "illegal format for Annotation reference: [" + ref + "]" );
+        if ( ( ref.indexOf( ':' ) < 1 ) || ( ref.indexOf( ':' ) > ref.length() - 2 ) || ( ref.length() < 3 ) ) {
+            throw new IllegalArgumentException( "illegal format for annotation reference: [" + ref + "]" );
         }
         _ref = ref;
         init();
     }
 
+    public Annotation() {
+        _ref = "";
+        init();
+    }
+
     @Override
     public StringBuffer asSimpleText() {
-        return new StringBuffer( getDesc() );
+        return new StringBuffer( !ForesterUtil.isEmpty( getRef() ) ? getRef() : getDesc() );
     }
 
     @Override
     public StringBuffer asText() {
-        return new StringBuffer( getDesc() );
+        return asSimpleText();
     }
 
     @Override