// 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.archaeopteryx;
import javax.swing.JApplet;
import javax.swing.UIManager;
+import org.forester.io.parsers.nhx.NHXParser.TAXONOMY_EXTRACTION;
import org.forester.phylogeny.Phylogeny;
import org.forester.util.ForesterUtil;
public class ArchaeopteryxA extends JApplet {
- private static final long serialVersionUID = 2314899014580484146L;
- private final static Color background_color = new Color( 0, 0, 0 );
- private final static Color font_color = new Color( 0, 255, 0 );
- private final static Color ex_background_color = new Color( 0, 0, 0 );
- private final static Color ex_font_color = new Color( 255, 0, 0 );
- private final static Font font = new Font( Configuration.getDefaultFontFamilyName(), Font.BOLD, 9 );
+ private static final long serialVersionUID = 2314899014580484146L;
+ private final static Color background_color = new Color( 0, 0, 0 );
+ private final static Color font_color = new Color( 0, 255, 0 );
+ private final static Color ex_background_color = new Color( 0, 0, 0 );
+ private final static Color ex_font_color = new Color( 255, 0, 0 );
+ private final static Font font = new Font( Configuration.getDefaultFontFamilyName(), Font.BOLD, 9 );
private MainFrameApplet _mainframe_applet;
- private String _url_string = "";
- private String _message_1 = "";
- private String _message_2 = "";
- public final static String NAME = "ArchaeopteryxA";
+ private String _tree_url_str = "";
+ private String _species_tree_url_str = "";
+ private String _message_1 = "";
+ private String _message_2 = "";
+ public final static String NAME = "ArchaeopteryxA";
@Override
public void destroy() {
- Util.printAppletMessage( NAME, "going to be destroyed" );
+ AptxUtil.printAppletMessage( NAME, "going to be destroyed" );
if ( getMainFrameApplet() != null ) {
getMainFrameApplet().close();
}
}
- private MainFrameApplet getMainFrameApplet() {
- return _mainframe_applet;
+ /**
+ * This method returns the current external node data which
+ * has been selected by the user by clicking the "Return ..."
+ * menu item. This method is expected to be called from Javascript or
+ * something like it.
+ *
+ * @return current external node data as String
+ */
+ public String getCurrentExternalNodesDataBuffer() {
+ return getMainFrameApplet().getCurrentTreePanel().getCurrentExternalNodesDataBufferAsString();
}
- private String getMessage1() {
- return _message_1;
+ public int getCurrentExternalNodesDataBufferChangeCounter() {
+ return getMainFrameApplet().getCurrentTreePanel().getCurrentExternalNodesDataBufferChangeCounter();
}
- private String getMessage2() {
- return _message_2;
+ public int getCurrentExternalNodesDataBufferLength() {
+ return getMainFrameApplet().getCurrentTreePanel().getCurrentExternalNodesDataBufferAsString().length();
+ }
+
+ public String getTreeUrlStr() {
+ return _tree_url_str;
}
- public String getUrlString() {
- return _url_string;
+ public String getSpeciesTreeUrlStr() {
+ return _species_tree_url_str;
}
@Override
public void init() {
boolean has_exception = false;
setName( NAME );
- setUrlString( getParameter( Constants.APPLET_PARAM_NAME_FOR_URL_OF_TREE_TO_LOAD ) );
- Util.printAppletMessage( NAME, "URL of phylogenies to load: \"" + getUrlString() + "\"" );
+ setTreeUrlStr( getParameter( Constants.APPLET_PARAM_NAME_FOR_URL_OF_TREE_TO_LOAD ) );
+ setSpeciesTreeUrlStr( getParameter( Constants.APPLET_PARAM_NAME_FOR_URL_OF_SPECIES_TREE_TO_LOAD ) );
+ if ( !ForesterUtil.isEmpty( getTreeUrlStr() ) ) {
+ AptxUtil.printAppletMessage( NAME, "URL of tree(s) to load: \"" + getTreeUrlStr() + "\"" );
+ }
+ else {
+ ForesterUtil.printErrorMessage( NAME, "no URL for tree(s) to load!" );
+ setBackground( ex_background_color );
+ setForeground( ex_font_color );
+ has_exception = true;
+ setMessage1( "no URL for tree(s) to load" );
+ repaint();
+ }
+ if ( !ForesterUtil.isEmpty( getSpeciesTreeUrlStr() ) ) {
+ AptxUtil.printAppletMessage( NAME, "URL of species tree to load: \"" + getSpeciesTreeUrlStr() + "\"" );
+ }
setBackground( background_color );
setForeground( font_color );
setFont( font );
repaint();
}
final String config_filename = getParameter( Constants.APPLET_PARAM_NAME_FOR_CONFIG_FILE_URL );
- Util.printAppletMessage( NAME, "URL for configuration file is: " + config_filename );
- final Configuration configuration = new Configuration( config_filename, true, true );
+ AptxUtil.printAppletMessage( NAME, "URL for configuration file is: " + config_filename );
+ final Configuration configuration = new Configuration( config_filename, true, true, true );
try {
if ( configuration.isUseNativeUI() ) {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
}
setVisible( false );
_mainframe_applet = new MainFrameApplet( this, configuration );
- URL url = null;
- url = new URL( getUrlString() );
- final Phylogeny[] phys = Util.readPhylogeniesFromUrl( url, configuration.isValidatePhyloXmlAgainstSchema() );
- Util.addPhylogeniesToTabs( phys, new File( url.getFile() ).getName(), getUrlString(), getMainFrameApplet()
- .getConfiguration(), getMainFrameApplet().getMainPanel() );
+ final URL tree_url = new URL( getTreeUrlStr() );
+ final Phylogeny[] phys = AptxUtil.readPhylogeniesFromUrl( tree_url, configuration
+ .isValidatePhyloXmlAgainstSchema(), configuration.isReplaceUnderscoresInNhParsing(), configuration
+ .isInternalNumberAreConfidenceForNhParsing(), configuration.getTaxonomyExtraction() );
+ AptxUtil.addPhylogeniesToTabs( phys,
+ new File( tree_url.getFile() ).getName(),
+ getTreeUrlStr(),
+ getMainFrameApplet().getConfiguration(),
+ getMainFrameApplet().getMainPanel() );
+ if ( !ForesterUtil.isEmpty( getSpeciesTreeUrlStr() ) ) {
+ final URL species_tree_url = new URL( getSpeciesTreeUrlStr() );
+ final Phylogeny[] species_trees = AptxUtil
+ .readPhylogeniesFromUrl( species_tree_url,
+ configuration.isValidatePhyloXmlAgainstSchema(),
+ configuration.isReplaceUnderscoresInNhParsing(),
+ false,
+ TAXONOMY_EXTRACTION.NO );
+ if ( ( species_trees != null ) && ( species_trees.length > 0 ) ) {
+ AptxUtil.printAppletMessage( NAME, "successfully read species tree" );
+ getMainFrameApplet().setSpeciesTree( species_trees[ 0 ] );
+ }
+ }
getMainFrameApplet().getMainPanel().getControlPanel().showWholeAll();
getMainFrameApplet().getMainPanel().getControlPanel().showWhole();
setVisible( true );
if ( !has_exception ) {
setMessage1( NAME + " is now ready!" );
repaint();
- Util.printAppletMessage( NAME, "successfully initialized" );
+ AptxUtil.printAppletMessage( NAME, "successfully initialized" );
}
KeyboardFocusManager.getCurrentKeyboardFocusManager().clearGlobalFocusOwner();
getMainFrameApplet().requestFocus();
g.drawString( getMessage1(), 10, 40 );
}
+ @Override
+ public void start() {
+ getMainFrameApplet().getMainPanel().validate();
+ getMainFrameApplet().requestFocus();
+ getMainFrameApplet().requestFocusInWindow();
+ getMainFrameApplet().requestFocus();
+ AptxUtil.printAppletMessage( NAME, "started" );
+ }
+
+ private MainFrameApplet getMainFrameApplet() {
+ return _mainframe_applet;
+ }
+
+ private String getMessage1() {
+ return _message_1;
+ }
+
+ private String getMessage2() {
+ return _message_2;
+ }
+
private void setMessage1( final String message_1 ) {
_message_1 = message_1;
}
_message_2 = message_2;
}
- private void setUrlString( final String url_string ) {
- _url_string = url_string;
+ private void setTreeUrlStr( final String url_string ) {
+ _tree_url_str = url_string;
}
- @Override
- public void start() {
- getMainFrameApplet().getMainPanel().validate();
- getMainFrameApplet().requestFocus();
- getMainFrameApplet().requestFocusInWindow();
- getMainFrameApplet().requestFocus();
- Util.printAppletMessage( NAME, "started" );
+ private void setSpeciesTreeUrlStr( final String url_string ) {
+ _species_tree_url_str = url_string;
}
}