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