inprogress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / UrlTreeReader.java
index 002adad..184e35e 100644 (file)
@@ -21,7 +21,7 @@
 // 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.archaeopteryx;
 
@@ -39,9 +39,11 @@ import org.forester.archaeopteryx.webservices.WebservicesManager;
 import org.forester.io.parsers.PhylogenyParser;
 import org.forester.io.parsers.nexus.NexusPhylogeniesParser;
 import org.forester.io.parsers.nhx.NHXParser;
+import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException;
 import org.forester.io.parsers.phyloxml.PhyloXmlParser;
 import org.forester.io.parsers.tol.TolParser;
 import org.forester.phylogeny.Phylogeny;
+import org.forester.phylogeny.PhylogenyMethods;
 import org.forester.phylogeny.data.Identifier;
 import org.forester.phylogeny.factories.ParserBasedPhylogenyFactory;
 import org.forester.phylogeny.factories.PhylogenyFactory;
@@ -57,6 +59,11 @@ public class UrlTreeReader implements Runnable {
         _webservice_client_index = webservice_client_index;
     }
 
+    @Override
+    public void run() {
+        readPhylogeniesFromWebservice();
+    }
+
     synchronized void readPhylogeniesFromWebservice() {
         final long start_time = new Date().getTime();
         URL url = null;
@@ -101,32 +108,31 @@ public class UrlTreeReader implements Runnable {
                         break;
                     case NH:
                         parser = new NHXParser();
-                        ( ( NHXParser ) parser ).setTaxonomyExtraction( ForesterUtil.TAXONOMY_EXTRACTION.NO );
+                        ( ( NHXParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.NO );
                         ( ( NHXParser ) parser ).setReplaceUnderscores( true );
                         ( ( NHXParser ) parser ).setGuessRootedness( true );
                         break;
                     case NH_EXTRACT_TAXONOMY:
                         parser = new NHXParser();
-                        ( ( NHXParser ) parser )
-                                .setTaxonomyExtraction( ForesterUtil.TAXONOMY_EXTRACTION.PFAM_STYLE_ONLY );
+                        ( ( NHXParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.AGGRESSIVE );
                         ( ( NHXParser ) parser ).setReplaceUnderscores( false );
                         ( ( NHXParser ) parser ).setGuessRootedness( true );
                         break;
                     case PFAM:
                         parser = new NHXParser();
                         ( ( NHXParser ) parser )
-                                .setTaxonomyExtraction( ForesterUtil.TAXONOMY_EXTRACTION.PFAM_STYLE_ONLY );
+                                .setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.PFAM_STYLE_STRICT );
                         ( ( NHXParser ) parser ).setReplaceUnderscores( false );
                         ( ( NHXParser ) parser ).setGuessRootedness( true );
                         break;
                     case NHX:
                         parser = new NHXParser();
-                        ( ( NHXParser ) parser ).setTaxonomyExtraction( ForesterUtil.TAXONOMY_EXTRACTION.NO );
+                        ( ( NHXParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.NO );
                         ( ( NHXParser ) parser ).setReplaceUnderscores( false );
                         ( ( NHXParser ) parser ).setGuessRootedness( true );
                         break;
                     case PHYLOXML:
-                        parser = new PhyloXmlParser();
+                        parser = PhyloXmlParser.createPhyloXmlParserXsdValidating();
                         break;
                     default:
                         throw new IllegalArgumentException( "unknown format: " + client.getReturnFormat() );
@@ -183,13 +189,29 @@ public class UrlTreeReader implements Runnable {
                         if ( client.getName().equals( WebserviceUtil.PFAM_NAME ) ) {
                             phylogeny.setRerootable( false );
                             phylogeny.setRooted( true );
-                            ForesterUtil.transferInternalNodeNamesToConfidence( phylogeny );
+                            PhylogenyMethods.transferInternalNodeNamesToConfidence( phylogeny );
                         }
                         if ( client.getProcessingInstructions() != null ) {
-                            WebserviceUtil.processInstructions( client, phylogeny );
+                            try {
+                                WebserviceUtil.processInstructions( client, phylogeny );
+                            }
+                            catch ( final PhyloXmlDataFormatException e ) {
+                                JOptionPane.showMessageDialog( _main_frame,
+                                                               "Error:\n" + e.getLocalizedMessage(),
+                                                               "Error",
+                                                               JOptionPane.ERROR_MESSAGE );
+                            }
                         }
                         if ( client.getNodeField() != null ) {
-                            ForesterUtil.transferNodeNameToField( phylogeny, client.getNodeField() );
+                            try {
+                                PhylogenyMethods.transferNodeNameToField( phylogeny, client.getNodeField(), false );
+                            }
+                            catch ( final PhyloXmlDataFormatException e ) {
+                                JOptionPane.showMessageDialog( _main_frame,
+                                                               "Error:\n" + e.getLocalizedMessage(),
+                                                               "Error",
+                                                               JOptionPane.ERROR_MESSAGE );
+                            }
                         }
                         phylogeny.setIdentifier( new Identifier( identifier, client.getName() ) );
                         _main_frame.getJMenuBar().remove( _main_frame.getHelpMenu() );
@@ -212,7 +234,7 @@ public class UrlTreeReader implements Runnable {
                             my_name_for_file = new String( sb.toString().replaceAll( " ", "_" ) );
                         }
                         _main_frame.getMainPanel().getCurrentTreePanel().setTreeFile( new File( my_name_for_file ) );
-                        Util.lookAtSomeTreePropertiesForAptxControlSettings( phylogeny, _main_frame.getMainPanel()
+                        AptxUtil.lookAtSomeTreePropertiesForAptxControlSettings( phylogeny, _main_frame.getMainPanel()
                                 .getControlPanel(), _main_frame.getConfiguration() );
                         _main_frame.getMainPanel().getControlPanel().showWhole();
                     }
@@ -236,9 +258,4 @@ public class UrlTreeReader implements Runnable {
         _main_frame.activateSaveAllIfNeeded();
         System.gc();
     }
-
-    @Override
-    public void run() {
-        readPhylogeniesFromWebservice();
-    }
 }