_webservice_client_index = webservice_client_index;
}
+ @Override
+ public void run() {
+ readPhylogeniesFromWebservice();
+ }
+
synchronized void readPhylogeniesFromWebservice() {
final long start_time = new Date().getTime();
URL url = null;
}
identifier = id + "";
}
+ boolean exception = false;
try {
String url_str = client.getUrl();
url_str = url_str.replaceFirst( PhylogeniesWebserviceClient.QUERY_PLACEHOLDER, identifier );
parser = new NexusPhylogeniesParser();
( ( NexusPhylogeniesParser ) parser ).setReplaceUnderscores( true );
break;
+ case TREEBASE_TREE:
+ parser = new NexusPhylogeniesParser();
+ ( ( NexusPhylogeniesParser ) parser ).setReplaceUnderscores( true );
+ ( ( NexusPhylogeniesParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.NO );
+ break;
+ case TREEBASE_STUDY:
+ parser = new NexusPhylogeniesParser();
+ ( ( NexusPhylogeniesParser ) parser ).setReplaceUnderscores( true );
+ ( ( NexusPhylogeniesParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.NO );
+ break;
case NH:
parser = new NHXParser();
( ( NHXParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.NO );
break;
case NH_EXTRACT_TAXONOMY:
parser = new NHXParser();
- ( ( NHXParser ) parser )
- .setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.PFAM_STYLE_STRICT );
+ ( ( NHXParser ) parser ).setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.AGGRESSIVE );
( ( NHXParser ) parser ).setReplaceUnderscores( false );
( ( NHXParser ) parser ).setGuessRootedness( true );
break;
( ( NHXParser ) parser ).setGuessRootedness( true );
break;
case PHYLOXML:
- parser = new PhyloXmlParser();
+ parser = PhyloXmlParser.createPhyloXmlParserXsdValidating();
break;
default:
throw new IllegalArgumentException( "unknown format: " + client.getReturnFormat() );
trees = factory.create( url.openStream(), parser );
}
catch ( final MalformedURLException e ) {
+ exception = true;
JOptionPane.showMessageDialog( _main_frame,
"Malformed URL: " + url + "\n" + e.getLocalizedMessage(),
"Malformed URL",
JOptionPane.ERROR_MESSAGE );
}
catch ( final IOException e ) {
+ exception = true;
JOptionPane.showMessageDialog( _main_frame,
"Could not read from " + url + "\n" + e.getLocalizedMessage(),
"Failed to read tree from " + client.getName() + " for " + identifier,
JOptionPane.ERROR_MESSAGE );
}
catch ( final NumberFormatException e ) {
+ exception = true;
JOptionPane.showMessageDialog( _main_frame,
"Could not read from " + url + "\n" + e.getLocalizedMessage(),
"Failed to read tree from " + client.getName() + " for " + identifier,
JOptionPane.ERROR_MESSAGE );
}
catch ( final Exception e ) {
+ exception = true;
e.printStackTrace();
JOptionPane.showMessageDialog( _main_frame,
e.getLocalizedMessage(),
phylogeny.setRerootable( false );
phylogeny.setRooted( true );
}
- if ( client.getName().equals( WebserviceUtil.PFAM_NAME ) ) {
- phylogeny.setRerootable( false );
- phylogeny.setRooted( true );
- PhylogenyMethods.transferInternalNodeNamesToConfidence( phylogeny );
- }
if ( client.getProcessingInstructions() != null ) {
try {
WebserviceUtil.processInstructions( client, phylogeny );
}
}
}
+ else if ( !exception ) {
+ JOptionPane.showMessageDialog( null, ForesterUtil.wordWrap( "Failed to read in tree(s) from [" + url
+ + "]", 80 ), "Error", JOptionPane.ERROR_MESSAGE );
+ }
_main_frame.getContentPane().repaint();
- if ( ( ( trees != null ) && ( trees.length > 0 ) ) && ( ( new Date().getTime() - start_time ) > 20000 ) ) {
+ if ( ( trees != null ) && ( trees.length > 0 ) ) {
try {
JOptionPane.showMessageDialog( null,
ForesterUtil.wordWrap( "Successfully read in " + trees.length
- + " evolutionry tree(s) from [" + url + "]", 80 ),
+ + " tree(s) from [" + url + "]", 80 ),
"Success",
JOptionPane.INFORMATION_MESSAGE );
}
_main_frame.activateSaveAllIfNeeded();
System.gc();
}
-
- @Override
- public void run() {
- readPhylogeniesFromWebservice();
- }
}