removed all dasobert code and begun to replace with Jdas calls.
[jalview.git] / src / org / biojava / dasobert / das / DAS_FeatureRetrieve.java
diff --git a/src/org/biojava/dasobert/das/DAS_FeatureRetrieve.java b/src/org/biojava/dasobert/das/DAS_FeatureRetrieve.java
deleted file mode 100755 (executable)
index 7d35dea..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-/**
- *                    BioJava development code
- *
- * This code may be freely distributed and modified under the
- * terms of the GNU Lesser General Public Licence.  This should
- * be distributed with the code.  If you do not have a copy,
- * see:
- *
- *      http://www.gnu.org/copyleft/lesser.html
- *
- * Copyright for this code is held jointly by the individual
- * authors.  These should be listed in @author doc comments.
- *
- * For more information on the BioJava project and its aims,
- * or to join the biojava-l mailing list, visit the home page
- * at:
- *
- *      http://www.biojava.org/
- *
- * Created on 19.03.2004
- * @author Andreas Prlic
- *
- */
-package org.biojava.dasobert.das;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-import java.util.*;
-import java.util.logging.*;
-import javax.xml.parsers.*;
-
-import org.xml.sax.*;
-
-/**
- * A class to perform a DAS features request
- * 
- * @author Andreas Prlic Adapted for jalview use.
- * @author Andrew Waterhouse Updated to Das 1.53e feature spec.
- * @author Jim Procter
- */
-public class DAS_FeatureRetrieve
-{
-  String version;
-
-  List features;
-
-  Logger logger;
-
-  int comeBackLater;
-
-  URL url;
-
-  /**
-   * @param url
-   *                the URL the features should be downloaded from
-   * 
-   */
-  public DAS_FeatureRetrieve(URL url)
-  {
-    super();
-
-    logger = Logger.getLogger("org.biojava.spice");
-    features = new ArrayList();
-    comeBackLater = -1;
-    this.url = url;
-    reload();
-  }
-
-  /**
-   * contact the DAS-feature server again. Usually it is not necessary to call
-   * this again, because the constructor already does, but if comeBackLater > -1
-   * this should be called again.
-   * 
-   */
-  public void reload()
-  {
-
-    try
-    {
-
-      InputStream dasInStream = null;
-      try
-      {
-        dasInStream = open(url);
-      } catch (Exception e)
-      {
-        comeBackLater = -1;
-        System.out.println("NO RESPONSE FROM " + url);
-        logger.log(Level.FINE, "could not open connection to " + url, e);
-        return;
-      }
-
-      SAXParserFactory spfactory = SAXParserFactory.newInstance();
-
-      spfactory.setValidating(false);
-
-      SAXParser saxParser = null;
-
-      try
-      {
-        saxParser = spfactory.newSAXParser();
-      } catch (ParserConfigurationException e)
-      {
-        e.printStackTrace();
-      }
-
-      String vali = System.getProperty("XMLVALIDATION");
-
-      boolean validation = false;
-      if (vali != null)
-      {
-        if (vali.equals("true"))
-        {
-          validation = true;
-        }
-      }
-
-      XMLReader xmlreader = saxParser.getXMLReader();
-
-      // XMLReader xmlreader = XMLReaderFactory.createXMLReader();
-      try
-      {
-        xmlreader.setFeature("http://xml.org/sax/features/validation",
-                validation);
-      } catch (SAXException e)
-      {
-        logger.log(Level.FINE, "Cannot set validation " + validation);
-      }
-
-      try
-      {
-        xmlreader
-                .setFeature(
-                        "http://apache.org/xml/features/nonvalidating/load-external-dtd",
-                        validation);
-      } catch (SAXNotRecognizedException e)
-      {
-        e.printStackTrace();
-        logger
-                .log(Level.FINE, "Cannot set load-external-dtd "
-                        + validation);
-
-      }
-
-      DAS_Feature_Handler cont_handle = new DAS_Feature_Handler();
-      cont_handle.setDASCommand(url.toString());
-      xmlreader.setContentHandler(cont_handle);
-      xmlreader.setErrorHandler(new org.xml.sax.helpers.DefaultHandler());
-      InputSource insource = new InputSource();
-      insource.setByteStream(dasInStream);
-
-      try
-      {
-        xmlreader.parse(insource);
-        features = cont_handle.get_features();
-        version = cont_handle.getVersion();
-
-        comeBackLater = cont_handle.getComBackLater();
-      } catch (Exception e)
-      {
-        System.out
-                .println("Error parsing response from: " + url + "\n" + e);
-        logger.log(Level.FINE, "error while parsing response from " + url);
-        comeBackLater = -1;
-        features = new ArrayList();
-      }
-    } catch (Exception ex)
-    {
-      ex.printStackTrace();
-      comeBackLater = -1;
-    }
-  }
-
-  /**
-   * open HttpURLConnection. Recommended way to open HttpURLConnections, since
-   * this take care of setting timeouts properly for java 1.4 and 1.5
-   */
-  public static HttpURLConnection openHttpURLConnection(URL url)
-          throws IOException, ConnectException
-  {
-    HttpURLConnection huc = null;
-    huc = (HttpURLConnection) url.openConnection();
-
-    String os_name = java.lang.System.getProperty("os.name");
-    String os_version = java.lang.System.getProperty("os.version");
-    String os_arch = java.lang.System.getProperty("os.arch");
-    String VERSION = "1.0";
-
-    String userAgent = "Jalview " + VERSION + "(" + os_name + "; "
-            + os_arch + " ; " + os_version + ")";
-    // e.g. "Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.7.2) Gecko/20040803"
-    huc.addRequestProperty("User-Agent", userAgent);
-    // logger.finest("opening "+url);
-
-    int timeout = 10000;
-    System
-            .setProperty("sun.net.client.defaultConnectTimeout", timeout
-                    + "");
-    System.setProperty("sun.net.client.defaultReadTimeout", timeout + "");
-
-    // use reflection to determine if get and set timeout methods for
-    // urlconnection are available
-    // seems java 1.5 does not watch the System properties any longer...
-    // and java 1.4 did not provide these...
-    // for 1.4 see setSystemProperties
-
-    try
-    {
-      // try to use reflection to set timeout property
-      Class urlconnectionClass = Class
-              .forName("java.net.HttpURLConnection");
-
-      Method setconnecttimeout = urlconnectionClass.getMethod(
-              "setConnectTimeout", new Class[]
-              { int.class });
-      setconnecttimeout.invoke(huc, new Object[]
-      { new Integer(timeout) });
-
-      Method setreadtimeout = urlconnectionClass.getMethod(
-              "setReadTimeout", new Class[]
-              { int.class });
-      setreadtimeout.invoke(huc, new Object[]
-      { new Integer(timeout) });
-      // System.out.println("successfully set java 1.5 timeout");
-    } catch (Exception e)
-    {
-      // e.printStackTrace();
-      // most likely it was a NoSuchMEthodException and we are running java 1.4.
-    }
-    return huc;
-  }
-
-  private InputStream open(URL url) throws java.io.IOException,
-          java.net.ConnectException
-  {
-    InputStream inStream = null;
-
-    HttpURLConnection huc = openHttpURLConnection(url);
-
-    inStream = huc.getInputStream();
-
-    return inStream;
-
-  }
-
-  /**
-   * returns a List of Features
-   * 
-   * @return a List of Maps containing the features
-   */
-  public List get_features()
-  {
-
-    return features;
-  }
-
-  /**
-   * Get the version string of the reference object. If it does not match the
-   * version string that is obtained from the reference server there is a
-   * version problem!
-   * 
-   * @return version string. (e.g. a MD5 digest of the reference sequence)
-   */
-  public String getVersion()
-  {
-    return version;
-  }
-
-  public void setVersion(String version)
-  {
-    this.version = version;
-  }
-
-  /**
-   * returns the comeBackLater value - if a server returned suchh -
-   * 
-   * @return comeBackLater in seconds, or -1 if not provided by server
-   */
-  public int getComeBackLater()
-  {
-
-    return comeBackLater;
-
-  }
-
-}