You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/02/17 12:46:44 UTC
[17/50] [abbrv] incubator-taverna-plugin-bioinformatics git commit:
taverna-biomart-martservice/
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/9e08cac0/src/main/java/org/biomart/martservice/MartServiceUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/biomart/martservice/MartServiceUtils.java b/src/main/java/org/biomart/martservice/MartServiceUtils.java
deleted file mode 100644
index cdcb400..0000000
--- a/src/main/java/org/biomart/martservice/MartServiceUtils.java
+++ /dev/null
@@ -1,725 +0,0 @@
-/*
- * Copyright (C) 2003 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate. Authorship
- * of the modifications may be determined from the ChangeLog placed at
- * the end of this file.
- *
- * This program 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 version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- ****************************************************************
- * Source code information
- * -----------------------
- * Filename $RCSfile: MartServiceUtils.java,v $
- * Revision $Revision: 1.12 $
- * Release status $State: Exp $
- * Last modified on $Date: 2008/07/31 15:06:49 $
- * by $Author: davidwithers $
- * Created on 17-Mar-2006
- *****************************************************************/
-package org.biomart.martservice;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-import org.apache.commons.httpclient.auth.AuthScope;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.params.HttpMethodParams;
-import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
-import org.biomart.martservice.query.Attribute;
-import org.biomart.martservice.query.Dataset;
-import org.biomart.martservice.query.Query;
-import org.biomart.martservice.query.QueryXMLHandler;
-import org.ensembl.mart.lib.config.ConfigurationException;
-import org.ensembl.mart.lib.config.DatasetConfig;
-import org.ensembl.mart.lib.config.DatasetConfigXMLUtils;
-import org.jdom.DocType;
-import org.jdom.Document;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.Namespace;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.XMLOutputter;
-import org.xml.sax.InputSource;
-
-/**
- * Utility class for interacting with a BioMart web service.
- *
- * @author David Withers
- */
-public class MartServiceUtils {
- private static Logger logger = Logger.getLogger(MartServiceUtils.class);
-
- private static String lineSeparator = System.getProperty("line.separator");
-
- public static final String QUERY_ATTRIBUTE = "query";
-
- public static final String DATASET_ATTRIBUTE = "dataset";
-
- public static final String MART_ATTRIBUTE = "mart";
-
- public static final String SCHEMA_ATTRIBUTE = "virtualschema";
-
- public static final String TYPE_ATTRIBUTE = "type";
-
- public static final String MART_USER_ATTRIBUTE = "martuser";
-
- public static final String INTERFACE_ATTRIBUTE = "interface";
-
- public static final String REQUEST_ID_ATTRIBUTE = "requestid";
-
- public static final String REGISTRY_VALUE = "registry";
-
- public static final String VERSION_VALUE = "version";
-
- public static final String DATASETS_VALUE = "datasets";
-
- public static final String DATASET_VALUE = "dataset";
-
- public static final String CONFIGURATION_VALUE = "configuration";
-
- /**
- * Sends a registry request to the Biomart webservice and constructs a
- * MartRegistry from the XML returned by the webservice.
- *
- * @param martServiceLocation
- * the URL of the Biomart webservice
- * @return a MartRegistry
- * @throws MartServiceException
- * if the Biomart webservice returns an error or is unavailable
- */
- public static MartRegistry getRegistry(String martServiceLocation,
- String requestId) throws MartServiceException {
- List<NameValuePair> data = new ArrayList<NameValuePair>();
- data.add(new NameValuePair(TYPE_ATTRIBUTE, REGISTRY_VALUE));
- if (requestId != null) {
- data.add(new NameValuePair(REQUEST_ID_ATTRIBUTE, requestId));
- }
- HttpMethod method = new GetMethod(martServiceLocation);
- method.setQueryString(data
- .toArray(new NameValuePair[data.size()]));
- try {
- InputStream in = executeMethod(method, martServiceLocation);
- Document document = new SAXBuilder().build(in);
- Element root = document.getRootElement();
- return MartServiceXMLHandler.elementToRegistry(root,
- Namespace.NO_NAMESPACE);
- } catch (IOException e) {
- String errorMessage = "Error getting registry from "
- + martServiceLocation;
- throw new MartServiceException(errorMessage, e);
- } catch (JDOMException e) {
- String errorMessage = "Error getting registry from "
- + martServiceLocation;
- throw new MartServiceException(errorMessage, e);
- } finally {
- method.releaseConnection();
- }
-
- }
-
- public static String getVersion(String martServiceLocation,
- String requestId, MartURLLocation mart) throws MartServiceException {
- String errorMessage = "Error getting version from " + martServiceLocation;
-
- List<NameValuePair> data = new ArrayList<NameValuePair>();
- data.add(new NameValuePair(TYPE_ATTRIBUTE, VERSION_VALUE));
- if (mart.getVirtualSchema() != null) {
- data.add(new NameValuePair(SCHEMA_ATTRIBUTE, mart
- .getVirtualSchema()));
- }
- data.add(new NameValuePair(MART_ATTRIBUTE, mart.getName()));
- if (requestId != null) {
- data.add(new NameValuePair(REQUEST_ID_ATTRIBUTE, requestId));
- }
- if (requestId != null) {
- data.add(new NameValuePair(REQUEST_ID_ATTRIBUTE, requestId));
- }
- HttpMethod method = new GetMethod(martServiceLocation);
- method.setQueryString(data
- .toArray(new NameValuePair[data.size()]));
- try {
- InputStream in = executeMethod(method, martServiceLocation);
- BufferedReader bufferedReader = new BufferedReader(
- new InputStreamReader(in));
- String version = bufferedReader.readLine();
- if (version == null) {
- throw new MartServiceException(errorMessage + ": No version returned");
- }
- version = version.trim();
- // fix for biomart's 'let's add a blank line' thing
- if ("".equals(version)) {
- version = bufferedReader.readLine();
- if (version == null) {
- throw new MartServiceException(errorMessage + ": No version returned");
- }
- version = version.trim();
- }
- bufferedReader.close();
- return version;
- } catch (IOException e) {
- throw new MartServiceException(errorMessage, e);
- } finally {
- method.releaseConnection();
- }
- }
-
- /**
- * Sends a datasets request to the Biomart webservice and constructs an
- * array of MartDataset from the tab separated rows of data returned by the
- * webservice.
- *
- * @param martServiceLocation
- * the URL of the Biomart webservice
- * @param mart
- * the mart to get datasets from
- * @return an array of MartDataset
- * @throws MartServiceException
- * if the Biomart webservice returns an error or is unavailable
- */
- public static MartDataset[] getDatasets(String martServiceLocation,
- String requestId, MartURLLocation mart) throws MartServiceException {
- List<NameValuePair> data = new ArrayList<NameValuePair>();
- data.add(new NameValuePair(TYPE_ATTRIBUTE, DATASETS_VALUE));
- if (mart.getVirtualSchema() != null) {
- data.add(new NameValuePair(SCHEMA_ATTRIBUTE, mart
- .getVirtualSchema()));
- }
- data.add(new NameValuePair(MART_ATTRIBUTE, mart.getName()));
- if (mart.getMartUser() != null) {
- data
- .add(new NameValuePair(MART_USER_ATTRIBUTE, mart
- .getMartUser()));
- }
- if (requestId != null) {
- data.add(new NameValuePair(REQUEST_ID_ATTRIBUTE, requestId));
- }
- HttpMethod method = new GetMethod(martServiceLocation);
- method.setQueryString(data
- .toArray(new NameValuePair[data.size()]));
- try {
- InputStream in = executeMethod(method, martServiceLocation);
-
- MartDataset[] datasets = tabSeparatedReaderToDatasets(
- new InputStreamReader(in), mart);
- in.close();
- return datasets;
- } catch (IOException e) {
- String errorMessage = "Error getting datasets from "
- + martServiceLocation;
- throw new MartServiceException(errorMessage, e);
- } finally {
- method.releaseConnection();
- }
- }
-
- /**
- * Sends a configuration request to the Biomart webservice and constructs a
- * DatasetConfig from the XML returned by the webservice.
- *
- * @param martServiceLocation
- * the URL of the Biomart webservice
- * @param dataset
- * the dataset to get the configuration for
- * @return a DatasetConfig
- * @throws MartServiceException
- * if the Biomart webservice returns an error or is unavailable
- */
- public static DatasetConfig getDatasetConfig(String martServiceLocation,
- String requestId, MartDataset dataset) throws MartServiceException {
- List<NameValuePair> data = new ArrayList<NameValuePair>();
- data.add(new NameValuePair(TYPE_ATTRIBUTE, CONFIGURATION_VALUE));
- MartURLLocation mart = dataset.getMartURLLocation();
- // if the dataset has a location specify the virtual schema to uniquely
- // identify the dataset
- if (mart != null && mart.getVirtualSchema() != null) {
- data.add(new NameValuePair(SCHEMA_ATTRIBUTE, mart
- .getVirtualSchema()));
- }
- data.add(new NameValuePair(DATASET_VALUE, dataset.getName()));
-// if (dataset.getInterface() != null) {
-// data.add(new NameValuePair(INTERFACE_ATTRIBUTE, dataset
-// .getInterface()));
-// }
- if (mart != null && mart.getMartUser() != null) {
- data
- .add(new NameValuePair(MART_USER_ATTRIBUTE, mart
- .getMartUser()));
- }
- if (requestId != null) {
- data.add(new NameValuePair(REQUEST_ID_ATTRIBUTE, requestId));
- }
- HttpMethod method = new GetMethod(martServiceLocation);
- method.setQueryString(data
- .toArray(new NameValuePair[data.size()]));
-
- try {
- InputStream in = executeMethod(method, martServiceLocation);
-
- DatasetConfigXMLUtils datasetConfigXMLUtils = new DatasetConfigXMLUtils(
- true);
- SAXBuilder builder = new SAXBuilder();
- Document doc = builder.build(new InputSource(in));
- // Document doc = datasetConfigXMLUtils.getDocumentForXMLStream(in);
-
- DatasetConfig datasetConfig = datasetConfigXMLUtils
- .getDatasetConfigForDocument(doc);
- datasetConfigXMLUtils.loadDatasetConfigWithDocument(datasetConfig,
- doc);
- return datasetConfig;
- } catch (ConfigurationException e) {
- String errorMessage = "Error parsing configuration from "
- + martServiceLocation;
- logger.debug(errorMessage, e);
- throw new MartServiceException(errorMessage, e);
- } catch (JDOMException e) {
- String errorMessage = "Error parsing configuration from "
- + martServiceLocation;
- logger.debug(errorMessage, e);
- throw new MartServiceException(errorMessage, e);
- } catch (IOException e) {
- String errorMessage = "Error getting configuration from "
- + martServiceLocation;
- logger.debug(errorMessage, e);
- throw new MartServiceException(errorMessage, e);
- } finally {
- method.releaseConnection();
- }
- }
-
- /**
- * Sends a query to the Biomart webservice and constructs an array of List
- * of String results from the tab separated rows of data returned by the
- * webservice.
- *
- * @param martServiceLocation
- * the URL of the Biomart webservice
- * @param query
- * the query to send to the webservice
- * @return an array of List of String
- * @throws MartServiceException
- * if the Biomart webservice returns an error or is unavailable
- */
- public static Object[] getResults(String martServiceLocation,
- String requestId, Query query) throws MartServiceException {
- Object[] results = new Object[0];
- // int attributes = query.getAttributes().size();
- int attributes = getAttributeCount(query.getAttributes());
- boolean count = query.getCount() == 1;
- // if there are no attributes and we're not doing a count there's no
- // point in doing the query
- if (attributes > 0 || count) {
- // The 'new' 0.5 server now resolves the attribute lists so there's
- // no need to do the split here any more
- // String queryXml = queryToXML(splitAttributeLists(query));
- String queryXml = queryToXML(query);
- logger.info(queryXml);
- NameValuePair[] data = { new NameValuePair(QUERY_ATTRIBUTE,
- queryXml) };
- PostMethod method = new PostMethod(martServiceLocation);
- method.setRequestBody(data);
-
- try {
- InputStream in = executeMethod(method, martServiceLocation);
- if (query.getFormatter() == null) {
- results = tabSeparatedReaderToResults(
- new InputStreamReader(in), count ? 1 : attributes);
- if (!count) {
- results = reassembleAttributeLists(results, query);
- }
- } else {
- results = readResult(in, query.getFormatter());
- }
- in.close();
- } catch (IOException e) {
- String errorMessage = "Error reading data from "
- + martServiceLocation;
- throw new MartServiceException(errorMessage, e);
- } finally {
- method.releaseConnection();
- }
-
- }
-
- return results;
- }
-
- public static void putResults(String martServiceLocation, String requestId,
- Query query, ResultReceiver resultReceiver) throws MartServiceException, ResultReceiverException {
- int attributeCount = getAttributeCount(query.getAttributes());
- boolean count = query.getCount() == 1;
- // if there are no attributes and we're not doing a count there's no
- // point in doing the query
- if (attributeCount > 0 || count) {
- String queryXml = queryToXML(query);
- logger.info(queryXml);
- NameValuePair[] data = { new NameValuePair(QUERY_ATTRIBUTE,
- queryXml) };
- PostMethod method = new PostMethod(martServiceLocation);
- method.setRequestBody(data);
-
- try {
- InputStream in = executeMethod(method, martServiceLocation);
- if (query.getFormatter() == null) {
- if (count) {
- resultReceiver.receiveResult(tabSeparatedReaderToResults(new InputStreamReader(in), 1), 0);
- } else {
- List<Attribute> attributes = query.getAttributes();
- Object[] result = new Object[attributes.size()];
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
- String line = bufferedReader.readLine();
- for (long i = 0; line != null; line = bufferedReader.readLine(), i++) {
- String[] tokens = line.split("\t", -1);
- if (attributeCount == tokens.length) {
- for (int ri = 0, ti = 0; ri < result.length && ti < tokens.length; ri++) {
- Attribute attribute = attributes.get(ri);
- if (attribute.getAttributes() == null) {
- result[ri] = tokens[ti];
- ti++;
- } else {
- int nestedAttributeCount = attribute.getAttributesCount();
- List<Object> list = new ArrayList<Object>();
- for (int j = 0; j < nestedAttributeCount; j++) {
- list.add(tokens[ti]);
- ti++;
- }
- result[ri] = list;
- }
- }
- resultReceiver.receiveResult(result, i);
- } else {
- resultReceiver.receiveError(line, i);
- }
- }
- }
- } else {
- resultReceiver.receiveResult(readResult(in, query.getFormatter()), 0);
- }
- in.close();
- } catch (IOException e) {
- String errorMessage = "Error reading data from "
- + martServiceLocation;
- throw new MartServiceException(errorMessage, e);
- } finally {
- method.releaseConnection();
- }
-
- }
- }
-
-// private static String getLocation(MartURLLocation martUrlLocation) {
-// StringBuffer location = new StringBuffer("http://");
-// location.append(martUrlLocation.getHost());
-// location.append(":" + martUrlLocation.getPort());
-// location.append(martUrlLocation.getPath());
-// return location.toString();
-// }
-
- private static int getAttributeCount(List<Attribute> attributeList) {
- int result = 0;
- for (Attribute attribute : attributeList) {
- if (attribute.getAttributes() == null) {
- result++;
- } else {
- result += attribute.getAttributesCount();
- }
- }
- return result;
- }
-
- private static Object[] reassembleAttributeLists(Object[] lists, Query query) {
- int index = 0;
- List<Object> result = new ArrayList<Object>();
- for (Attribute attribute : query.getAttributes()) {
- if (attribute.getAttributes() == null) {
- result.add(lists[index]);
- index++;
- } else {
- int attributesCount = attribute.getAttributesCount();
- List<Object> list = new ArrayList<Object>();
- for (int i = 0; i < attributesCount; i++) {
- list.add(lists[index]);
- index++;
- }
- result.add(list);
- }
- }
- return result.toArray();
- }
-
- public static Query splitAttributeLists(Query query) {
- Query result = new Query(query);
- for (Dataset dataset : result.getDatasets()) {
- List<Attribute> attributeList = dataset.getAttributes();
- dataset.removeAllAttributes();
- for (Attribute attribute : attributeList) {
- if (attribute.getAttributes() == null) {
- dataset.addAttribute(attribute);
- } else {
- String[] attributes = attribute.getAttributes().split(",");
- for (int i = 0; i < attributes.length; i++) {
- dataset.addAttribute(new Attribute(attributes[i]));
- }
- }
- }
- }
- return result;
- }
-
- public static String getMimeTypeForFormatter(String formatter) {
- String mimeType = "'text/plain'";
- if ("ADF".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("AXT".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("AXTPLUS".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("CSV".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("FASTA".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("FASTACDNA".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("GFF".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("HTML".equals(formatter)) {
- mimeType = "'text/html'";
- } else if ("MAF".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("MFA".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("MFASTA".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("TSV".equals(formatter)) {
- mimeType = "'text/tab-separeted-values'";
- } else if ("TXT".equals(formatter)) {
- mimeType = "'text/plain'";
- } else if ("XLS".equals(formatter)) {
- mimeType = "'application/excel'";
- }
-
- return mimeType;
- }
-
- private static List<String>[] tabSeparatedReaderToResults(Reader reader,
- int resultsCount) throws IOException {
- List<String>[] results = new List[resultsCount];
- for (int i = 0; i < results.length; i++) {
- results[i] = new ArrayList<String>();
- }
- BufferedReader bufferedReader = new BufferedReader(reader);
- String line = bufferedReader.readLine();
- while (line != null) {
- String[] tokens = line.split("\t", -1);
- for (int i = 0; i < results.length && i < tokens.length; i++) {
- results[i].add(tokens[i]);
- }
- line = bufferedReader.readLine();
- }
- return results;
- }
-
- private static Object[] readResult(InputStream inputStream, String formatter) throws IOException {
- Object[] result = new Object[1];
-
- if (getMimeTypeForFormatter(formatter).contains("application/")) {
- result[0] = IOUtils.toByteArray(inputStream);
- } else {
- result[0] = IOUtils.toString(inputStream);
- }
- return result;
- }
-
- private static MartDataset[] tabSeparatedReaderToDatasets(Reader reader,
- MartURLLocation martURLLocation) throws IOException {
- List<MartDataset> datasetList = new ArrayList<MartDataset>();
- BufferedReader bufferedReader = new BufferedReader(reader);
- String line = bufferedReader.readLine();
- while (line != null) {
- String[] tokens = line.split("\t");
-
- if (tokens.length >= 7) {
- MartDataset dataset = new MartDataset();
-
- dataset.setType(tokens[0]);
- dataset.setName(tokens[1]);
- dataset.setDisplayName(tokens[2]);
- if (tokens[3].equals("1")) {
- dataset.setVisible(true);
- } else {
- dataset.setVisible(false);
- }
- // value at position 4 is not documented so it's skipped
- try {
- dataset.setInitialBatchSize(Long.parseLong(tokens[5]));
- } catch (NumberFormatException e) {
- dataset.setInitialBatchSize(0);
- }
- try {
- dataset.setMaximumBatchSize(Long.parseLong(tokens[6]));
- } catch (NumberFormatException e) {
- dataset.setMaximumBatchSize(0);
- }
-
- if (tokens.length > 7) {
- dataset.setInterface(tokens[7]);
- dataset.setModified(tokens[8]);
- }
-
- dataset.setMartURLLocation(martURLLocation);
-
- datasetList.add(dataset);
- }
- line = bufferedReader.readLine();
- }
- return datasetList.toArray(new MartDataset[datasetList.size()]);
- }
-
- /**
- * Creates an XML string from a query
- *
- * @param query
- * @return an XML string
- */
- public static String queryToXML(Query query) {
- Document document = new Document(QueryXMLHandler.queryToElement(query,
- Namespace.NO_NAMESPACE), new DocType("Query"));
- return new XMLOutputter().outputString(document);
- }
-
- /**
- * @param martServiceLocation
- * @param data
- * @return
- * @throws MartServiceException
- */
- private static InputStream executeMethod(HttpMethod method,
- String martServiceLocation) throws MartServiceException {
- HttpClient client = new HttpClient();
- if (isProxyHost(martServiceLocation)) {
- setProxy(client);
- }
-
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
- new DefaultHttpMethodRetryHandler(3, false));
-// method.getParams().setSoTimeout(60000);
- try {
- int statusCode = client.executeMethod(method);
- if (statusCode != HttpStatus.SC_OK) {
- throw constructException(method, martServiceLocation, null);
- }
- return method.getResponseBodyAsStream();
- } catch (IOException e) {
- throw constructException(method, martServiceLocation, e);
- }
- }
-
- /**
- *
- * @param client
- */
- public static void setProxy(HttpClient client) {
- String host = System.getProperty("http.proxyHost");
- String port = System.getProperty("http.proxyPort");
- String user = System.getProperty("http.proxyUser");
- String password = System.getProperty("http.proxyPassword");
-
- if (host != null && port != null) {
- try {
- int portInteger = Integer.parseInt(port);
- client.getHostConfiguration().setProxy(host, portInteger);
- if (user != null && password != null) {
- client.getState().setProxyCredentials(
- new AuthScope(host, portInteger),
- new UsernamePasswordCredentials(user, password));
- }
- } catch (NumberFormatException e) {
- logger.error("Proxy port not an integer", e);
- }
- }
- }
-
- public static boolean isProxyHost(String location) {
- String httpNonProxyHosts = System.getProperty("http.nonProxyHosts");
- if (httpNonProxyHosts != null) {
- try {
- String host = new URL(location).getHost();
- String[] nonProxyHosts = httpNonProxyHosts.split("\\|");
- for (int i = 0; i < nonProxyHosts.length; i++) {
- if (nonProxyHosts[i].startsWith("*")) {
- if (host.endsWith(nonProxyHosts[i].substring(1))) {
- return false;
- }
- } else if (nonProxyHosts[i].endsWith("*")) {
- if (host.startsWith(nonProxyHosts[i].substring(0,
- nonProxyHosts[i].length() - 1))) {
- return false;
- }
- } else {
- if (host.equals(nonProxyHosts[i])) {
- return false;
- }
- }
- }
- } catch (MalformedURLException e) {
- logger.warn("'" + location + "' is not a valid URL. "
- + "Cannot compare host with http.nonProxyHosts", e);
- }
- }
- return true;
- }
-
- private static MartServiceException constructException(HttpMethod method,
- String martServiceLocation, Exception cause) {
- StringBuffer errorMessage = new StringBuffer();
- errorMessage.append("Error posting to " + martServiceLocation
- + lineSeparator);
- if (cause == null) {
- errorMessage.append(" " + method.getStatusLine()
- + lineSeparator);
- }
- if (method instanceof PostMethod) {
- PostMethod postMethod = (PostMethod) method;
- NameValuePair[] data = postMethod.getParameters();
- for (int i = 0; i < data.length; i++) {
- errorMessage.append(" " + data[i].getName() + " = "
- + data[i].getValue()
- + lineSeparator);
- }
-
- } else {
- errorMessage.append(method.getQueryString());
- }
- return new MartServiceException(errorMessage.toString(), cause);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/9e08cac0/src/main/java/org/biomart/martservice/MartServiceXMLHandler.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/biomart/martservice/MartServiceXMLHandler.java b/src/main/java/org/biomart/martservice/MartServiceXMLHandler.java
deleted file mode 100644
index e8a5189..0000000
--- a/src/main/java/org/biomart/martservice/MartServiceXMLHandler.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Copyright (C) 2003 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate. Authorship
- * of the modifications may be determined from the ChangeLog placed at
- * the end of this file.
- *
- * This program 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 version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- ****************************************************************
- * Source code information
- * -----------------------
- * Filename $RCSfile: MartServiceXMLHandler.java,v $
- * Revision $Revision: 1.4 $
- * Release status $State: Exp $
- * Last modified on $Date: 2007/12/13 11:38:55 $
- * by $Author: davidwithers $
- * Created on 28-Apr-2006
- *****************************************************************/
-package org.biomart.martservice;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.biomart.martservice.query.QueryXMLHandler;
-import org.jdom.Element;
-import org.jdom.Namespace;
-
-/**
- * Utility class for serializing mart service classes to XML.
- *
- * @author David Withers
- */
-public class MartServiceXMLHandler {
- public static final String MART_SERVICE_ELEMENT = "MartService";
-
- public static final String MART_URL_LOCATION_ELEMENT = "MartURLLocation";
-
- public static final String MART_DATASET_ELEMENT = "MartDataset";
-
- public static final String MART_QUERY_ELEMENT = "MartQuery";
-
- public static final String LINKED_DATASETS_ELEMENT = "LinkedDatasets";
-
- public static final String LINKED_DATASET_ELEMENT = "LinkedDataset";
-
- public static final String VIRTUAL_SCHEMA_ELEMENT = "virtualSchema";
-
- public static final String LOCATION_ATTRIBUTE = "location";
-
- public static final String DATABASE_ATTRIBUTE = "database";
-
- public static final String DEFAULT_ATTRIBUTE = "default";
-
- public static final String DEFAULT_VALUE_ATTRIBUTE = "defaultValue";
-
- public static final String DISPLAY_NAME_ATTRIBUTE = "displayName";
-
- public static final String HOST_ATTRIBUTE = "host";
-
- public static final String INCLUDE_DATASETS_ATTRIBUTE = "includeDatasets";
-
- public static final String LINK_ATTRIBUTE = "LINK";
-
- public static final String MART_USER_ATTRIBUTE = "martUser";
-
- public static final String NAME_ATTRIBUTE = "name";
-
- public static final String PATH_ATTRIBUTE = "path";
-
- public static final String PORT_ATTRIBUTE = "port";
-
- public static final String TYPE_ATTRIBUTE = "type";
-
- public static final String INITIAL_BATCH_SIZE_ATTRIBUTE = "initialBatchSize";
-
- public static final String MAXIMUM_BATCH_SIZE_ATTRIBUTE = "maximumBatchSize";
-
- public static final String VIRTUAL_SCHEMA_ATTRIBUTE = "virtualSchema";
-
- public static final String SERVER_VIRTUAL_SCHEMA_ATTRIBUTE = "serverVirtualSchema";
-
- public static final String VISIBLE_ATTRIBUTE = "visible";
-
- public static final String REDIRECT_ATTRIBUTE = "redirect";
-
- public static final String INTERFACE_ATTRIBUTE = "interface";
-
- public static final String MODIFIED_ATTRIBUTE = "modified";
-
- /**
- * Converts a <code>MartService</code> to an XML element.
- *
- * @param martService
- * the <code>MartService</code> to serialize
- * @param namespace
- * the <code>Namespace</code> to use when constructing the
- * <code>Element</code>
- * @return an XML serialization of the <code>MartService</code>
- */
- public static Element martServiceToElement(MartService martService,
- Namespace namespace) {
- Element element = new Element(MART_SERVICE_ELEMENT, namespace);
- element.setAttribute(LOCATION_ATTRIBUTE, martService.getLocation());
- return element;
- }
-
- /**
- * Creates a <code>MartService</code> from an XML element.
- *
- * @param element
- * the <code>Element</code> to deserialize
- * @return a deserialized <code>MartService</code>
- */
- public static MartService elementToMartService(Element element) {
- return MartService.getMartService(element
- .getAttributeValue(LOCATION_ATTRIBUTE));
- }
-
- /**
- * Converts a <code>MartDataset</code> to an XML element.
- *
- * @param dataset
- * the <code>MartDataset</code> to serialize
- * @param namespace
- * the <code>Namespace</code> to use when constructing the
- * <code>Element</code>
- * @return an XML serialization of the <code>MartDataset</code>
- */
- public static Element datasetToElement(MartDataset dataset,
- Namespace namespace) {
- Element element = new Element(MART_DATASET_ELEMENT, namespace);
- element.setAttribute(DISPLAY_NAME_ATTRIBUTE, dataset.getDisplayName());
- element.setAttribute(NAME_ATTRIBUTE, dataset.getName());
- element.setAttribute(TYPE_ATTRIBUTE, dataset.getType());
- element.setAttribute(INITIAL_BATCH_SIZE_ATTRIBUTE, String
- .valueOf(dataset.getInitialBatchSize()));
- element.setAttribute(MAXIMUM_BATCH_SIZE_ATTRIBUTE, String
- .valueOf(dataset.getMaximumBatchSize()));
- element.setAttribute(VISIBLE_ATTRIBUTE, String.valueOf(dataset
- .isVisible()));
- if (dataset.getInterface() != null) {
- element.setAttribute(INTERFACE_ATTRIBUTE, dataset.getInterface());
- }
- if (dataset.getModified() != null) {
- element.setAttribute(MODIFIED_ATTRIBUTE, dataset.getModified());
- }
- element.addContent(locationToElement(dataset.getMartURLLocation(),
- namespace));
- return element;
- }
-
- /**
- * Creates a <code>MartDataset</code> from an XML element.
- *
- * @param element
- * the <code>Element</code> to deserialize
- * @param namespace
- * the <code>Namespace</code> containing the
- * <code>Element</code>
- * @return a deserialized <code>MartDataset</code>
- */
- public static MartDataset elementToDataset(Element element,
- Namespace namespace) {
- MartDataset dataset = new MartDataset();
- dataset.setDisplayName(element
- .getAttributeValue(DISPLAY_NAME_ATTRIBUTE));
- dataset.setName(element.getAttributeValue(NAME_ATTRIBUTE));
- dataset.setType(element.getAttributeValue(TYPE_ATTRIBUTE));
- dataset.setInitialBatchSize(Long.parseLong(element
- .getAttributeValue(INITIAL_BATCH_SIZE_ATTRIBUTE)));
- dataset.setMaximumBatchSize(Long.parseLong(element
- .getAttributeValue(MAXIMUM_BATCH_SIZE_ATTRIBUTE)));
- dataset.setVisible(Boolean.getBoolean(element
- .getAttributeValue(VISIBLE_ATTRIBUTE)));
- dataset.setInterface(element.getAttributeValue(INTERFACE_ATTRIBUTE));
- dataset.setModified(element.getAttributeValue(MODIFIED_ATTRIBUTE));
- dataset.setMartURLLocation(elementToLocation(element.getChild(
- MART_URL_LOCATION_ELEMENT, namespace)));
- return dataset;
- }
-
- /**
- * Creates a <code>MartRegistry</code> from an XML element.
- *
- * @param element
- * the <code>Element</code> to deserialize
- * @param namespace
- * the <code>Namespace</code> containing the
- * <code>Element</code>
- * @return a deserialized <code>MartRegistry</code>
- */
- public static MartRegistry elementToRegistry(Element root,
- Namespace namespace) {
- MartRegistry registry = new MartRegistry();
- List<Element> children = root.getChildren();
- for (Element childElement : children) {
- if (childElement.getNamespace().equals(namespace)) {
- if (childElement.getName().equals(MART_URL_LOCATION_ELEMENT)) {
- MartURLLocation martURLLocation = MartServiceXMLHandler
- .elementToLocation(childElement);
- martURLLocation.setVirtualSchema("default");
- registry.addMartURLLocation(martURLLocation);
- } else if (childElement.getName()
- .equals(VIRTUAL_SCHEMA_ELEMENT)) {
- String virtualSchema = childElement
- .getAttributeValue(NAME_ATTRIBUTE);
- List<Element> locations = childElement.getChildren(
- MART_URL_LOCATION_ELEMENT, namespace);
- for (Element location : locations) {
- MartURLLocation martURLLocation = MartServiceXMLHandler
- .elementToLocation(location);
- martURLLocation.setVirtualSchema(virtualSchema);
- registry.addMartURLLocation(martURLLocation);
- }
- }
- }
- }
- return registry;
- }
-
- /**
- * Converts a <code>MartURLLocation</code> to an XML element.
- *
- * @param location
- * the <code>MartURLLocation</code> to serialize
- * @param namespace
- * the <code>Namespace</code> to use when constructing the
- * <code>Element</code>
- * @return an XML serialization of the <code>MartURLLocation</code>
- */
- public static Element locationToElement(MartURLLocation location,
- Namespace namespace) {
- Element element = new Element(MART_URL_LOCATION_ELEMENT, namespace);
- if (location.getDatabase() != null) {
- element.setAttribute(DATABASE_ATTRIBUTE, location.getDatabase());
- }
- element.setAttribute(DEFAULT_ATTRIBUTE, location.isDefault() ? "1"
- : "0");
- element.setAttribute(DISPLAY_NAME_ATTRIBUTE, location.getDisplayName());
- element.setAttribute(HOST_ATTRIBUTE, location.getHost());
- if (location.getIncludeDatasets() != null) {
- element.setAttribute(INCLUDE_DATASETS_ATTRIBUTE, location
- .getIncludeDatasets());
- }
- if (location.getMartUser() != null) {
- element.setAttribute(MART_USER_ATTRIBUTE, location.getMartUser());
- }
- element.setAttribute(NAME_ATTRIBUTE, location.getName());
- if (location.getPath() != null) {
- element.setAttribute(PATH_ATTRIBUTE, location.getPath());
- }
- element
- .setAttribute(PORT_ATTRIBUTE, String
- .valueOf(location.getPort()));
- element.setAttribute(SERVER_VIRTUAL_SCHEMA_ATTRIBUTE, location
- .getServerVirtualSchema());
- if (location.getVirtualSchema() != null) {
- element.setAttribute(VIRTUAL_SCHEMA_ATTRIBUTE, location
- .getVirtualSchema());
- }
- element.setAttribute(VISIBLE_ATTRIBUTE, location.isVisible() ? "1"
- : "0");
- element.setAttribute(REDIRECT_ATTRIBUTE, location.isRedirect() ? "1"
- : "0");
- return element;
- }
-
- /**
- * Creates a <code>MartURLLocation</code> from an XML element.
- *
- * @param element
- * the <code>Element</code> to deserialize
- * @return a deserialized <code>MartURLLocation</code>
- */
- public static MartURLLocation elementToLocation(Element element) {
- MartURLLocation location = new MartURLLocation();
- location.setDatabase(element.getAttributeValue(DATABASE_ATTRIBUTE));
- location.setDefault("1".equals(element
- .getAttributeValue(DEFAULT_ATTRIBUTE)));
- location.setDisplayName(element
- .getAttributeValue(DISPLAY_NAME_ATTRIBUTE));
- location.setHost(element.getAttributeValue(HOST_ATTRIBUTE));
- location.setIncludeDatasets(element
- .getAttributeValue(INCLUDE_DATASETS_ATTRIBUTE));
- location.setMartUser(element.getAttributeValue(MART_USER_ATTRIBUTE));
- location.setName(element.getAttributeValue(NAME_ATTRIBUTE));
- location.setPath(element.getAttributeValue(PATH_ATTRIBUTE));
- try {
- location.setPort(Integer.parseInt(element
- .getAttributeValue(PORT_ATTRIBUTE)));
- } catch (NumberFormatException e) {
- location.setPort(80);
- }
- location.setServerVirtualSchema(element
- .getAttributeValue(SERVER_VIRTUAL_SCHEMA_ATTRIBUTE));
- location.setVirtualSchema(element
- .getAttributeValue(VIRTUAL_SCHEMA_ATTRIBUTE));
- location.setVisible("1".equals(element
- .getAttributeValue(VISIBLE_ATTRIBUTE)));
- location.setRedirect("1".equals(element
- .getAttributeValue(REDIRECT_ATTRIBUTE)));
- return location;
- }
-
- /**
- * Creates a <code>MartQuery</code> from an XML element.
- *
- * @param element
- * the <code>Element</code> to deserialize
- * @param namespace
- * the <code>Namespace</code> containing the
- * <code>Element</code>
- * @return a deserialized <code>MartQuery</code>
- */
- public static MartQuery elementToMartQuery(Element element,
- Namespace namespace) {
- MartQuery martQuery = new MartQuery();
- martQuery.setMartService(MartServiceXMLHandler
- .elementToMartService(element.getChild(MART_SERVICE_ELEMENT,
- namespace)));
- martQuery.setMartDataset(elementToDataset(element.getChild(
- MART_DATASET_ELEMENT, namespace), namespace));
- martQuery.setQuery(QueryXMLHandler.elementToQuery(element.getChild(
- QueryXMLHandler.QUERY_ELEMENT, namespace), namespace));
- Element linksElement = element.getChild(LINKED_DATASETS_ELEMENT, namespace);
- if (linksElement != null) {
- List linkedDatasets = linksElement.getChildren(LINKED_DATASETS_ELEMENT,
- namespace);
- for (Iterator iter = linkedDatasets.iterator(); iter.hasNext();) {
- Element datasetElement = (Element) iter.next();
- String datasetName = datasetElement.getAttributeValue(NAME_ATTRIBUTE);
- String linkId = datasetElement.getAttributeValue(LINK_ATTRIBUTE);
- martQuery.addLinkedDataset(datasetName, linkId);
- }
- }
- return martQuery;
- }
-
- /**
- * Converts a <code>MartQuery</code> to an XML element.
- *
- * @param martQuery
- * the <code>MartQuery</code> to serialize
- * @param namespace
- * the <code>Namespace</code> to use when constructing the
- * <code>Element</code>
- * @return an XML serialization of the <code>MartQuery</code>
- */
- public static Element martQueryToElement(MartQuery martQuery,
- Namespace namespace) {
- Element element = new Element(MART_QUERY_ELEMENT, namespace);
- element.addContent(martServiceToElement(martQuery.getMartService(),
- namespace));
- element.addContent(datasetToElement(martQuery.getMartDataset(),
- namespace));
- element.addContent(QueryXMLHandler.queryToElement(martQuery.getQuery(),
- namespace));
- Set linkedDatasets = martQuery.getLinkedDatasets();
- if (linkedDatasets.size() > 0) {
- Element linksElement = new Element(LINKED_DATASETS_ELEMENT, namespace);
- for (Iterator iter = linkedDatasets.iterator(); iter.hasNext();) {
- String datasetName = (String) iter.next();
- Element datasetElement = new Element(LINKED_DATASETS_ELEMENT, namespace);
- datasetElement.setAttribute(NAME_ATTRIBUTE, datasetName);
- datasetElement.setAttribute(LINK_ATTRIBUTE, martQuery
- .getLink(datasetName));
- linksElement.addContent(datasetElement);
- }
- element.addContent(linksElement);
- }
- return element;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/9e08cac0/src/main/java/org/biomart/martservice/MartURLLocation.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/biomart/martservice/MartURLLocation.java b/src/main/java/org/biomart/martservice/MartURLLocation.java
deleted file mode 100644
index 476956d..0000000
--- a/src/main/java/org/biomart/martservice/MartURLLocation.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * Copyright (C) 2003 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate. Authorship
- * of the modifications may be determined from the ChangeLog placed at
- * the end of this file.
- *
- * This program 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 version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- ****************************************************************
- * Source code information
- * -----------------------
- * Filename $RCSfile: MartURLLocation.java,v $
- * Revision $Revision: 1.2 $
- * Release status $State: Exp $
- * Last modified on $Date: 2007/10/04 14:15:59 $
- * by $Author: davidwithers $
- * Created on 17-Mar-2006
- *****************************************************************/
-package org.biomart.martservice;
-
-import org.ensembl.mart.lib.config.MartLocation;
-
-/**
- * The MartURLLocation contained by the MartRegistry returned by a BioMart web
- * service.
- *
- * @author David Withers
- */
-public class MartURLLocation implements MartLocation {
- private static final String URL_TYPE = "URL";
-
- private String database;
-
- private boolean defaultValue;
-
- private String displayName;
-
- private String host;
-
- private String includeDatasets;
-
- private String martUser;
-
- private String name;
-
- private String path;
-
- private int port;
-
- private String serverVirtualSchema;
-
- private String virtualSchema;
-
- private boolean visible;
-
- private boolean redirect;
-
- /**
- * Returns the database.
- *
- * @return the database
- */
- public String getDatabase() {
- return database;
- }
-
- /**
- * Sets the database.
- *
- * @param database the new database
- */
- public void setDatabase(String database) {
- this.database = database;
- }
-
- /**
- * Returns true if the default flag is set.
- *
- * @return true if the default flag is set
- */
- public boolean isDefault() {
- return defaultValue;
- }
-
- /**
- * Sets the default flag.
- *
- * @param defaultValue
- * the value of the default flag
- */
- public void setDefault(boolean defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- /**
- * Returns the displayName.
- *
- * @return the displayName.
- */
- public String getDisplayName() {
- return displayName;
- }
-
- /**
- * Sets the displayName.
- *
- * @param displayName
- * the displayName to set.
- */
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
- }
-
- /**
- * Returns the host.
- *
- * @return the host.
- */
- public String getHost() {
- return host;
- }
-
- /**
- * Sets the host.
- *
- * @param host
- * the host to set.
- */
- public void setHost(String host) {
- this.host = host;
- }
-
- /**
- * Returns the includeDatasets.
- *
- * @return the includeDatasets
- */
- public String getIncludeDatasets() {
- return includeDatasets;
- }
-
- /**
- * Sets the includeDatasets.
- *
- * @param includeDatasets the new includeDatasets
- */
- public void setIncludeDatasets(String includeDatasets) {
- this.includeDatasets = includeDatasets;
- }
-
- /**
- * Returns the martUser.
- *
- * @return the martUser
- */
- public String getMartUser() {
- return martUser;
- }
-
- /**
- * Sets the martUser.
- *
- * @param martUser the new martUser
- */
- public void setMartUser(String martUser) {
- this.martUser = martUser;
- }
-
- /**
- * Returns the name
- *
- * @return the name.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the name.
- *
- * @param name
- * the name to set.
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Returns the path.
- *
- * @return the path
- */
- public String getPath() {
- return path;
- }
-
- /**
- * Sets the path.
- *
- * @param path the new path
- */
- public void setPath(String path) {
- this.path = path;
- }
-
- /**
- * Returns the port.
- *
- * @return the port.
- */
- public int getPort() {
- return port;
- }
-
- /**
- * Sets the port.
- *
- * @param port
- * the port to set.
- */
- public void setPort(int port) {
- this.port = port;
- }
-
- /**
- * Returns the serverVirtualSchema.
- *
- * @return the serverVirtualSchema.
- */
- public String getServerVirtualSchema() {
- return serverVirtualSchema;
- }
-
- /**
- * Sets the serverVirtualSchema.
- *
- * @param serverVirtualSchema
- * the serverVirtualSchema to set.
- */
- public void setServerVirtualSchema(String serverVirtualSchema) {
- this.serverVirtualSchema = serverVirtualSchema;
- }
-
- /**
- * Returns the virtualSchema.
- *
- * @return the virtualSchema.
- */
- public String getVirtualSchema() {
- return virtualSchema;
- }
-
- /**
- * Sets the virtualSchema.
- *
- * @param virtualSchema
- * the virtualSchema to set.
- */
- public void setVirtualSchema(String virtualSchema) {
- this.virtualSchema = virtualSchema;
- }
-
- /**
- * Returns true if the location is visible.
- *
- * @return Returns the visible.
- */
- public boolean isVisible() {
- return visible;
- }
-
- /**
- * @param visible
- * The visible to set.
- */
- public void setVisible(boolean visible) {
- this.visible = visible;
- }
-
- /**
- * Returns true if this location is redirected.
- *
- * @return the redirect
- */
- public boolean isRedirect() {
- return redirect;
- }
-
- /**
- * @param redirect the redirect to set
- */
- public void setRedirect(boolean redirect) {
- this.redirect = redirect;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.ensembl.mart.lib.config.MartLocation#getType()
- */
- public String getType() {
- return URL_TYPE;
- }
-
- /**
- * Returns the display name.
- *
- * @return the display name
- */
- public String toString() {
- return getDisplayName();
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result
- + ((database == null) ? 0 : database.hashCode());
- result = prime * result + (defaultValue ? 1231 : 1237);
- result = prime * result
- + ((displayName == null) ? 0 : displayName.hashCode());
- result = prime * result + ((host == null) ? 0 : host.hashCode());
- result = prime * result
- + ((includeDatasets == null) ? 0 : includeDatasets.hashCode());
- result = prime * result
- + ((martUser == null) ? 0 : martUser.hashCode());
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((path == null) ? 0 : path.hashCode());
- result = prime * result + port;
- result = prime * result + (redirect ? 1231 : 1237);
- result = prime
- * result
- + ((serverVirtualSchema == null) ? 0 : serverVirtualSchema
- .hashCode());
- result = prime * result
- + ((virtualSchema == null) ? 0 : virtualSchema.hashCode());
- result = prime * result + (visible ? 1231 : 1237);
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- final MartURLLocation other = (MartURLLocation) obj;
- if (database == null) {
- if (other.database != null)
- return false;
- } else if (!database.equals(other.database))
- return false;
- if (defaultValue != other.defaultValue)
- return false;
- if (displayName == null) {
- if (other.displayName != null)
- return false;
- } else if (!displayName.equals(other.displayName))
- return false;
- if (host == null) {
- if (other.host != null)
- return false;
- } else if (!host.equals(other.host))
- return false;
- if (includeDatasets == null) {
- if (other.includeDatasets != null)
- return false;
- } else if (!includeDatasets.equals(other.includeDatasets))
- return false;
- if (martUser == null) {
- if (other.martUser != null)
- return false;
- } else if (!martUser.equals(other.martUser))
- return false;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (path == null) {
- if (other.path != null)
- return false;
- } else if (!path.equals(other.path))
- return false;
- if (port != other.port)
- return false;
- if (redirect != other.redirect)
- return false;
- if (serverVirtualSchema == null) {
- if (other.serverVirtualSchema != null)
- return false;
- } else if (!serverVirtualSchema.equals(other.serverVirtualSchema))
- return false;
- if (virtualSchema == null) {
- if (other.virtualSchema != null)
- return false;
- } else if (!virtualSchema.equals(other.virtualSchema))
- return false;
- if (visible != other.visible)
- return false;
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/9e08cac0/src/main/java/org/biomart/martservice/ResultReceiver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/biomart/martservice/ResultReceiver.java b/src/main/java/org/biomart/martservice/ResultReceiver.java
deleted file mode 100644
index cc1d062..0000000
--- a/src/main/java/org/biomart/martservice/ResultReceiver.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2003 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate. Authorship
- * of the modifications may be determined from the ChangeLog placed at
- * the end of this file.
- *
- * This program 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 version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- ****************************************************************
- * Source code information
- * -----------------------
- * Filename $RCSfile: ResultReceiver.java,v $
- * Revision $Revision: 1.2 $
- * Release status $State: Exp $
- * Last modified on $Date: 2008/07/31 15:06:49 $
- * by $Author: davidwithers $
- * Created on Jan 18, 2008
- *****************************************************************/
-package org.biomart.martservice;
-
-/**
- * An interface for receiving results of a Query.
- *
- * @author David Withers
- */
-public interface ResultReceiver {
-
- /**
- * Receives a single row from the results of executing a Query.
- *
- * This method will be called frequently and should not block.
- *
- * @param resultRow
- */
- public void receiveResult(Object[] resultRow, long index) throws ResultReceiverException;
-
- /**
- * Receives an error for a single row from the results of executing a Query.
- *
- * This method will be called frequently and should not block.
- *
- * @param resultRow
- */
- public void receiveError(String errorMessage, long index) throws ResultReceiverException;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/9e08cac0/src/main/java/org/biomart/martservice/ResultReceiverException.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/biomart/martservice/ResultReceiverException.java b/src/main/java/org/biomart/martservice/ResultReceiverException.java
deleted file mode 100644
index c3498e6..0000000
--- a/src/main/java/org/biomart/martservice/ResultReceiverException.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2003 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate. Authorship
- * of the modifications may be determined from the ChangeLog placed at
- * the end of this file.
- *
- * This program 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 version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- ****************************************************************
- * Source code information
- * -----------------------
- * Filename $RCSfile: ResultReceiverException.java,v $
- * Revision $Revision: 1.1 $
- * Release status $State: Exp $
- * Last modified on $Date: 2008/03/04 16:47:57 $
- * by $Author: davidwithers $
- * Created on 05-May-2006
- *****************************************************************/
-package org.biomart.martservice;
-
-/**
- *
- * @author David Withers
- */
-public class ResultReceiverException extends Exception {
- private static final long serialVersionUID = 7151337259555845771L;
-
- /**
- * Constructs a new exception with no detail message.
- *
- */
- public ResultReceiverException() {
- super();
- }
-
- /**
- * Constructs a new exception with the specified detail message.
- *
- * @param message
- * the detail message
- * @param cause
- * the cause (a null value is permitted, and indicates that the
- * cause is nonexistent or unknown)
- */
- public ResultReceiverException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * Constructs a new exception with the specified detail message and cause.
- *
- * @param message
- * the detail message
- */
- public ResultReceiverException(String message) {
- super(message);
- }
-
- /**
- * Constructs a new exception with the specified cause.
- *
- * @param cause
- * the cause (a null value is permitted, and indicates that the
- * cause is nonexistent or unknown)
- */
- public ResultReceiverException(Throwable cause) {
- super(cause);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/9e08cac0/src/main/java/org/biomart/martservice/config/QueryConfigController.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/biomart/martservice/config/QueryConfigController.java b/src/main/java/org/biomart/martservice/config/QueryConfigController.java
deleted file mode 100644
index 450b2ba..0000000
--- a/src/main/java/org/biomart/martservice/config/QueryConfigController.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * Copyright (C) 2003 The University of Manchester
- *
- * Modifications to the initial code base are copyright of their
- * respective authors, or their employers as appropriate. Authorship
- * of the modifications may be determined from the ChangeLog placed at
- * the end of this file.
- *
- * This program 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 version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, 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 program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- ****************************************************************
- * Source code information
- * -----------------------
- * Filename $RCSfile: QueryConfigController.java,v $
- * Revision $Revision: 1.4 $
- * Release status $State: Exp $
- * Last modified on $Date: 2007/12/13 11:38:57 $
- * by $Author: davidwithers $
- * Created on 27-Mar-2006
- *****************************************************************/
-package org.biomart.martservice.config;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-import org.biomart.martservice.MartQuery;
-import org.biomart.martservice.config.event.QueryComponentEvent;
-import org.biomart.martservice.config.event.QueryComponentListener;
-import org.biomart.martservice.config.ui.QueryComponent;
-import org.biomart.martservice.query.Attribute;
-import org.biomart.martservice.query.Dataset;
-import org.biomart.martservice.query.Filter;
-import org.biomart.martservice.query.Query;
-import org.biomart.martservice.query.QueryListener;
-import org.ensembl.mart.lib.config.FilterDescription;
-
-/**
- * Controls the interaction between graphical <code>QueryComponent</code>s
- * and <code>Query</code>s.
- *
- * @author David Withers
- */
-public class QueryConfigController {
- private static Logger logger = Logger
- .getLogger("org.biomart.martservice.config");
-
- private static QueryListener queryListener = new QueryHandler();
-
- private MartQuery martQuery;
-
- private Query query;
-
- private Map<String, Attribute> initialAttributeMap = new HashMap<String, Attribute>();
-
- private Map<String, Filter> initialFilterMap = new HashMap<String, Filter>();
-
- private Map<String, Attribute> nameToAttributeMap = new HashMap<String, Attribute>();
-
- private Map <String, Filter> nameToFilterMap = new HashMap<String, Filter>();
-
- private QueryComponentHandler queryComponenHandler = new QueryComponentHandler();
-
- /**
- * Constructs an instance of a <code>QueryConfigController</code>.
- *
- * @param martQuery
- */
- public QueryConfigController(MartQuery martQuery) {
- this.martQuery = martQuery;
- query = martQuery.getQuery();
- query.addQueryListener(queryListener);
-
- for (Attribute attribute : query.getAttributes()) {
- initialAttributeMap.put(attribute.getQualifiedName(), attribute);
- nameToAttributeMap.put(attribute.getQualifiedName(), attribute);
- }
- for (Filter filter : query.getFilters()) {
- initialFilterMap.put(filter.getQualifiedName(), filter);
- nameToFilterMap.put(filter.getQualifiedName(), filter);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#finalize()
- */
- protected void finalize() throws Throwable {
- super.finalize();
- query.removeQueryListener(queryListener);
- }
-
- /**
- * Returns the <code>MartQuery</code> under control.
- *
- * @return the <code>MartQuery</code> under control
- */
- public MartQuery getMartQuery() {
- return martQuery;
- }
-
- /**
- * Removes a <code>QueryComponent</code> from the controller.
- *
- * @param queryComponent
- * the <code>QueryComponent</code> to remove
- */
- public void deregister(QueryComponent queryComponent) {
- queryComponent.removeQueryComponentListener(queryComponenHandler);
- }
-
- /**
- * Registers a <code>QueryComponent</code> with the controller.
- *
- * If the <code>Query</code> already contains an <code>Attribute</code>
- * or <code>Filter</code> with the corresponding name the
- * <code>QueryComponent</code> is set as selected.
- *
- * @param queryComponent
- * the <code>QueryComponent</code> to register
- */
- public void register(QueryComponent queryComponent) {
- if (queryComponent.getType() == QueryComponent.ATTRIBUTE) {
- getAttribute(queryComponent);
-
- // if query already contains attribute then set the component as
- // selected
- if (initialAttributeMap.containsKey(queryComponent
- .getQualifiedName())) {
- queryComponent.setSelected(true);
- }
-
- } else if (queryComponent.getType() == QueryComponent.FILTER) {
- Filter filter = getFilter(queryComponent);
-
- String value = filter.getValue();
- if (value != null) {
- if (filter.isBoolean()) {
- if ("excluded".equals(value)) {
- queryComponent.setValue("excluded");
- } else {
- queryComponent.setValue("only");
- }
- } else {
- queryComponent.setValue(value);
- }
- }
-
- if (initialFilterMap.containsKey(queryComponent.getQualifiedName())) {
- queryComponent.setSelected(true);
- }
- } else if (queryComponent.getType() == QueryComponent.LINK) {
- Iterator<String> linkedDatasets = martQuery.getLinkedDatasets().iterator();
- // only one linked dataset allowed for now
- if (linkedDatasets.hasNext()) {
- String dataset = linkedDatasets.next();
- queryComponent.setName(dataset);
- queryComponent.setValue(martQuery.getLink(dataset));
- }
- }
-
- queryComponent.addQueryComponentListener(queryComponenHandler);
-
- }
-
- /**
- * Returns the <code>Attribute</code> mapped to the
- * <code>QueryComponent</code>. If no <code>Attribute</code> is mapped
- * a new <code>Attribute</code> is created and added to the map.
- *
- * @param queryComponent
- * @return
- */
- private Attribute getAttribute(QueryComponent queryComponent) {
- String internalName = queryComponent.getQualifiedName();
- Attribute attribute = null;
- if (nameToAttributeMap.containsKey(internalName)) {
- attribute = (Attribute) nameToAttributeMap.get(internalName);
- } else {
- attribute = new Attribute(queryComponent.getName());
- if (queryComponent.getValue() != null) {
- attribute.setAttributes(queryComponent.getValue());
- }
- nameToAttributeMap.put(internalName, attribute);
- }
- return attribute;
- }
-
- /**
- * Returns the <code>Filter</code> mapped to the
- * <code>QueryComponent</code>. If no <code>Filter</code> is mapped a
- * new <code>Filter</code> is created and added to the map.
- *
- * @param queryComponent
- * @return
- */
- private Filter getFilter(QueryComponent queryComponent) {
- FilterDescription filterDescription = (FilterDescription) queryComponent
- .getConfigObject();
- String internalName = queryComponent.getQualifiedName();
- Filter filter;
- if (nameToFilterMap.containsKey(internalName)) {
- filter = (Filter) nameToFilterMap.get(internalName);
- } else {
- if ("boolean".equals(filterDescription.getType())) {
- if ("excluded".equals(queryComponent.getValue())) {
- filter = new Filter(queryComponent.getName(), "excluded", true);
- } else {
- filter = new Filter(queryComponent.getName(), "only", true);
- }
- } else {
- String defaultValue = filterDescription.getDefaultValue();
- if (defaultValue == null
- && !QueryConfigUtils.isNestedList(filterDescription)) {
- // if there is no default value but there are options then
- // choose the first option as the filter value
-// Option[] options = filterDescription.getOptions();
-// if (options != null && options.length > 0) {
-// defaultValue = options[0].getValue();
-// } else {
- defaultValue = queryComponent.getValue();
-// }
- }
- filter = new Filter(queryComponent.getName(), defaultValue);
- if ("id_list".equals(filterDescription.getType())) {
- filter.setList(true);
- }
- }
- nameToFilterMap.put(internalName, filter);
- }
- return filter;
- }
-
- class QueryComponentHandler implements QueryComponentListener {
-
- /*
- * (non-Javadoc)
- *
- * @see org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentListener#attributeAdded(org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentEvent)
- */
- public void attributeAdded(QueryComponentEvent event) {
- Attribute attribute = (Attribute) nameToAttributeMap.get(event
- .getDataset().getName()
- + "." + event.getName());
- synchronized (query) {
- martQuery.addAttribute(event.getDataset().getName(), attribute);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentListener#attributeRemoved(org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentEvent)
- */
- public void attributeRemoved(QueryComponentEvent event) {
- Attribute attribute = (Attribute) nameToAttributeMap.get(event
- .getDataset().getName()
- + "." + event.getName());
- synchronized (query) {
- martQuery.removeAttribute(attribute);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentListener#filterAdded(org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentEvent)
- */
- public void filterAdded(QueryComponentEvent event) {
- Filter filter = (Filter) nameToFilterMap.get(event.getDataset()
- .getName()
- + "." + event.getName());
- synchronized (query) {
- martQuery.addFilter(event.getDataset().getName(), filter);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentListener#filterRemoved(org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentEvent)
- */
- public void filterRemoved(QueryComponentEvent event) {
- Filter filter = (Filter) nameToFilterMap.get(event.getDataset()
- .getName()
- + "." + event.getName());
- synchronized (query) {
- martQuery.removeFilter(filter);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentListener#filterChanged(org.embl.ebi.escience.scuflworkers.biomartservice.config.QueryComponentEvent)
- */
- public void filterChanged(QueryComponentEvent event) {
- Filter filter = (Filter) nameToFilterMap.get(event.getDataset()
- .getName()
- + "." + event.getName());
- synchronized (query) {
- filter.setValue(event.getValue());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.biomart.martservice.config.event.QueryComponentListener#linkAdded(org.biomart.martservice.config.event.QueryComponentEvent)
- */
- public void linkAdded(QueryComponentEvent event) {
- martQuery.addLinkedDataset(event.getName(), event.getValue());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.biomart.martservice.config.event.QueryComponentListener#linkRemoved(org.biomart.martservice.config.event.QueryComponentEvent)
- */
- public void linkRemoved(QueryComponentEvent event) {
- martQuery.removeLinkedDataset(event.getName());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.biomart.martservice.config.QueryComponentListener#linkChanged(org.biomart.martservice.config.QueryComponentEvent)
- */
- public void linkChanged(QueryComponentEvent event) {
- martQuery.changeLinkedDataset(event.getName(), event.getValue());
- }
-
- }
-
- static class QueryHandler implements QueryListener {
-
- public void attributeAdded(Attribute attribute, Dataset dataset) {
- logger.info("Attribute Added " + attribute.getQualifiedName());
- }
-
- public void attributeRemoved(Attribute attribute, Dataset dataset) {
- logger.info("Attribute Removed " + attribute.getQualifiedName());
- }
-
- public void filterAdded(Filter filter, Dataset dataset) {
- logger.info("Filter Added " + filter.getQualifiedName() + " "
- + filter.getValue());
- }
-
- public void filterRemoved(Filter filter, Dataset dataset) {
- logger.info("Filter Removed " + filter.getQualifiedName());
- }
-
- public void filterChanged(Filter filter, Dataset dataset) {
- logger.info("Filter Changed " + filter.getQualifiedName() + " "
- + filter.getValue());
- }
-
- public void formatterAdded(String formatter) {
- logger.info("Formatter Added " + formatter);
- }
-
- public void formatterRemoved(String formatter) {
- logger.info("Formatter Removed " + formatter);
- }
-
- public void formatterChanged(String formatter) {
- logger.info("Formatter Changed to " + formatter);
- }
-
- }
-
-}
\ No newline at end of file