http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivity.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivity.java b/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivity.java deleted file mode 100644 index 7e87939..0000000 --- a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivity.java +++ /dev/null @@ -1,351 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2007 The University of Manchester - * - * Modifications to the initial code base are copyright of their - * respective authors, or their employers as appropriate. - * - * 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 - ******************************************************************************/ -package net.sf.taverna.t2.activities.biomart; - -import java.io.IOException; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.sf.taverna.t2.reference.ReferenceService; -import net.sf.taverna.t2.reference.ReferenceServiceException; -import net.sf.taverna.t2.reference.T2Reference; -import net.sf.taverna.t2.workflowmodel.processor.activity.AbstractAsynchronousActivity; -import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityConfigurationException; -import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityOutputPort; -import net.sf.taverna.t2.workflowmodel.processor.activity.AsynchronousActivityCallback; - -import org.apache.log4j.Logger; -import org.biomart.martservice.MartQuery; -import org.biomart.martservice.MartServiceException; -import org.biomart.martservice.MartServiceXMLHandler; -import org.biomart.martservice.ResultReceiver; -import org.biomart.martservice.ResultReceiverException; -import org.biomart.martservice.config.QueryConfigUtils; -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.jdom.Document; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; - -import com.fasterxml.jackson.databind.JsonNode; - -/** - * An Activity providing Biomart functionality. - * - * @author David Withers - */ -public class BiomartActivity extends AbstractAsynchronousActivity<JsonNode> { - - public static final String URI = "http://ns.taverna.org.uk/2010/activity/biomart"; - - static boolean STREAM_RESULTS = true; - - private static Logger logger = Logger.getLogger(BiomartActivity.class); - - private JsonNode json; - - private MartQuery biomartQuery; - - @Override - public void configure(JsonNode json) - throws ActivityConfigurationException { - this.json = json; - String martQueryText = json.get("martQuery").asText(); - SAXBuilder builder = new SAXBuilder(); - try { - Document document = builder.build(new StringReader(martQueryText)); - biomartQuery = MartServiceXMLHandler.elementToMartQuery(document.getRootElement(), null); - } catch (JDOMException | IOException e) { - throw new ActivityConfigurationException(e); - } - } - - @Override - public JsonNode getConfiguration() { - return json; - } - - @Override - public void executeAsynch(final Map<String, T2Reference> data, - final AsynchronousActivityCallback callback) { - callback.requestRun(new Runnable() { - - public void run() { - final ReferenceService referenceService = callback.getContext().getReferenceService(); - - final Map<String, T2Reference> outputData = new HashMap<String, T2Reference>(); - - try { - // Get a query including data source etc, creating - // a copy so that any filter value settings are not - // overwritten by input values - biomartQuery.calculateLinks(); - Query query = new Query(biomartQuery.getQuery()); - - // Configure any filters - List<Filter> filters = query.getFilters(); - for (Filter filter : filters) { - String name = filter.getQualifiedName(); - if (data.containsKey(name + "_filter")) { - Object filterValue = referenceService.renderIdentifier(data - .get(name + "_filter"), String.class, callback.getContext()); - if (filterValue instanceof String) { - filter.setValue((String) filterValue); - } else if (filterValue instanceof List) { - List<?> idList = (List<?>) filterValue; - filter.setValue(QueryConfigUtils - .listToCsv(idList)); - } - } - } - - if (biomartQuery.getQuery().getFormatter() == null) { - if (STREAM_RESULTS) { - final List<Attribute> attributes = biomartQuery - .getAttributesInLinkOrder(); - final Map<String, List<T2Reference>> outputLists = new HashMap<String, List<T2Reference>>(); - for (Attribute attribute : attributes) { - outputLists.put(attribute.getQualifiedName(), - new ArrayList<T2Reference>()); - } - - biomartQuery.getMartService().executeQuery(query, - new ResultReceiver() { - - public void receiveResult( - Object[] resultLine, long index) throws ResultReceiverException { - Map<String, T2Reference> partialOutputData = new HashMap<String, T2Reference>(); - for (int i = 0; i < resultLine.length; i++) { - Attribute attribute = attributes - .get(i); - String outputName = attribute - .getQualifiedName(); - Integer outputDepth = getOutputPortDepth(outputName); - if (outputDepth == null) { - logger.warn("Skipping unknown output port " + outputName); - continue; - } - try { - T2Reference data = referenceService - .register(resultLine[i], outputDepth - 1, true, callback.getContext()); - partialOutputData.put( - outputName, data); - outputLists.get(outputName) - .add((int) index, data); - } catch (ReferenceServiceException e) { - throw new ResultReceiverException(e); -// callback.fail("Failure when calling the reference service", e); - } - } - callback.receiveResult( - partialOutputData, - new int[] { (int) index }); - } - - public void receiveError(String message, - long index) throws ResultReceiverException { - Map<String, T2Reference> partialOutputData = new HashMap<String, T2Reference>(); - for (Attribute attribute : attributes) { - String outputName = attribute - .getQualifiedName(); - Integer outputDepth = getOutputPortDepth(outputName); - if (outputDepth == null) { - logger.warn("Skipping unknown output port " + outputName); - continue; - } - try { - T2Reference error = referenceService.getErrorDocumentService() - .registerError(message, outputDepth - 1, callback.getContext()).getId(); - partialOutputData.put( - outputName, error); - outputLists.get(outputName) - .add((int) index, error); - } catch (ReferenceServiceException e) { - throw new ResultReceiverException(e); -// callback.fail("Failure when calling the reference service", e); - } - } - callback.receiveResult( - partialOutputData, - new int[] { (int) index }); - } - - }); - - for (Attribute attribute : attributes) { - String outputName = attribute - .getQualifiedName(); - Integer outputDepth = getOutputPortDepth(outputName); - if (outputDepth == null) { - logger.warn("Skipping unknown output port " + outputName); - continue; - } - outputData.put(outputName, referenceService.register( - outputLists.get(outputName), - outputDepth, true, callback.getContext())); - } - - } else { - // shouldn't need to reorder attributes for MartJ - // 0.5 - Object[] resultList = biomartQuery.getMartService() - .executeQuery(query); - List<Attribute> attributes = biomartQuery - .getAttributesInLinkOrder(); - assert resultList.length == attributes.size(); - for (int i = 0; i < resultList.length; i++) { - Attribute attribute = attributes.get(i); - String outputName = attribute - .getQualifiedName(); - Integer outputDepth = getOutputPortDepth(outputName); - if (outputDepth == null) { - logger.warn("Skipping unknown output port " + outputName); - } else { - outputData.put(outputName, referenceService.register( - resultList[i], outputDepth, true, callback.getContext())); - } - } - } - } else { - Object[] resultList = biomartQuery.getMartService() - .executeQuery(query); - assert resultList.length == 1; - Dataset dataset = biomartQuery.getQuery().getDatasets() - .get(0); - String outputName = dataset.getName(); - Integer outputDepth = getOutputPortDepth(outputName); - if (outputDepth == null) { - logger.warn("Skipping unknown output port " + outputName); - } else { - outputData.put(outputName, referenceService.register( - resultList[0], outputDepth, true, callback.getContext())); - } - } - - callback.receiveResult(outputData, new int[0]); - } catch (MartServiceException e) { - callback.fail("Failure calling biomart", e); - } catch (ReferenceServiceException e) { - callback.fail("Failure when calling the reference service", e); - } catch (ResultReceiverException e) { - callback.fail("Failure when receiving a result from biomart", e); - } - } - - }); - - } - - private Integer getOutputPortDepth(String portName) { - for (ActivityOutputPort port : getOutputPorts()) { - if (port.getName().equals(portName)) { - return port.getDepth(); - } - } - return null; - } - -// private void buildInputPorts(List<Edit<?>> editList) { -// Map<String, ActivityInputPort> newInputMap = new HashMap<String, ActivityInputPort>(); -// List<Filter> filters = biomartQuery.getQuery().getFilters(); -// // Create new input ports corresponding to filters -// for (Filter filter : filters) { -// String name = filter.getQualifiedName() + "_filter"; -// if (inputMap.containsKey(name)) { -// newInputMap.put(name, inputMap.remove(name)); -// } else { -// ActivityInputPort inputPort = null; -// if (filter.isList()) { -// inputPort = edits.createActivityInputPort(name, 1, true, -// new ArrayList<Class<? extends ExternalReferenceSPI>>(), -// String.class); -// } else { -// inputPort = edits.createActivityInputPort(name, 0, true, -// new ArrayList<Class<? extends ExternalReferenceSPI>>(), -// String.class); -// } -// newInputMap.put(name, inputPort); -// editList.add(edits.getAddActivityInputPortEdit(this, inputPort)); -// editList.add(createAddMimeTypeAnnotationEdit(inputPort, "text/plain")); -// } -// } -// //remove any ports still left in the map -// for (ActivityInputPort inputPort : inputMap.values()) { -// editList.add(edits.getRemoveActivityInputPortEdit(this, inputPort)); -// } -// inputMap = newInputMap; -// } - -// private void buildOutputPorts(List<Edit<?>> editList) { -// Map<String, ActivityOutputPort> newOutputMap = new HashMap<String, ActivityOutputPort>(); -// Query query = biomartQuery.getQuery(); -// List<Attribute> attributes = query.getAttributes(); -// String formatter = query.getFormatter(); -// if (formatter == null) { -// // Create new output ports corresponding to attributes -// for (Attribute attribute : attributes) { -// String name = attribute.getQualifiedName(); -// if (outputMap.containsKey(name)) { -// newOutputMap.put(name, outputMap.remove(name)); -// } else { -// ActivityOutputPort outputPort = null; -// if (attribute.getAttributes() != null) { -// outputPort = edits.createActivityOutputPort(name, 2, STREAM_RESULTS?1:2); -// } else { -// outputPort = edits.createActivityOutputPort(name, 1, STREAM_RESULTS?0:1); -// } -// newOutputMap.put(name, outputPort); -// editList.add(edits.getAddActivityOutputPortEdit(this, outputPort)); -// editList.add(createAddMimeTypeAnnotationEdit(outputPort, "text/plain")); -// } -// } -// } else if (attributes.size() > 0) { -// // create one port using the dataset name -// Attribute attribute = attributes.get(0); -// String name = attribute.getContainingDataset().getName(); -// if (outputMap.containsKey(name)) { -// newOutputMap.put(name, outputMap.remove(name)); -// } else { -// ActivityOutputPort outputPort = edits.createActivityOutputPort(name, 0, 0); -// newOutputMap.put(name, outputPort); -// editList.add(edits.getAddActivityOutputPortEdit(this, outputPort)); -// editList.add(createAddMimeTypeAnnotationEdit(outputPort, "text/plain")); -// } -// } -// //remove any ports still left in the map -// for (ActivityOutputPort outputPort : outputMap.values()) { -// editList.add(edits.getRemoveActivityOutputPortEdit(this, outputPort)); -// } -// outputMap = newOutputMap; -// } - -// private Edit<?> createAddMimeTypeAnnotationEdit(Annotated<?> annotated, String type) { -// MimeType mimeType = new MimeType(); -// mimeType.setText(type); -// return edits.getAddAnnotationChainEdit(annotated, mimeType); -// } - -}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityConfigurationBean.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityConfigurationBean.java b/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityConfigurationBean.java deleted file mode 100644 index 91cc323..0000000 --- a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityConfigurationBean.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2011 The University of Manchester - * - * Modifications to the initial code base are copyright of their - * respective authors, or their employers as appropriate. - * - * 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 - ******************************************************************************/ -package net.sf.taverna.t2.activities.biomart; - -import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationBean; -import net.sf.taverna.t2.workflowmodel.processor.config.ConfigurationProperty; - -import org.jdom.Element; - -/** - * Biomart configuration. - * - * @author David Withers - */ -@ConfigurationBean(uri = BiomartActivity.URI + "#Config") -public class BiomartActivityConfigurationBean { - - private Element martQuery; - - public Element getMartQuery() { - return martQuery; - } - - @ConfigurationProperty(name = "martQuery", label = "Mart Query", description = "Biomart query in XML") - public void setMartQuery(Element martQuery) { - this.martQuery = martQuery; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactory.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactory.java b/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactory.java deleted file mode 100644 index 4aaf043..0000000 --- a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactory.java +++ /dev/null @@ -1,144 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2011 The University of Manchester - * - * Modifications to the initial code base are copyright of their - * respective authors, or their employers as appropriate. - * - * 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 - ******************************************************************************/ -package net.sf.taverna.t2.activities.biomart; - -import java.io.IOException; -import java.io.StringReader; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import net.sf.taverna.t2.reference.ExternalReferenceSPI; -import net.sf.taverna.t2.workflowmodel.Edit; -import net.sf.taverna.t2.workflowmodel.Edits; -import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory; -import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityInputPort; -import net.sf.taverna.t2.workflowmodel.processor.activity.ActivityOutputPort; - -import org.apache.log4j.Logger; -import org.biomart.martservice.MartQuery; -import org.biomart.martservice.MartServiceXMLHandler; -import org.biomart.martservice.query.Attribute; -import org.biomart.martservice.query.Filter; -import org.biomart.martservice.query.Query; -import org.jdom.Document; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; - -/** - * An {@link ActivityFactory} for creating <code>BiomartActivity</code>. - * - * @author David Withers - */ -public class BiomartActivityFactory implements ActivityFactory { - - private static Logger logger = Logger.getLogger(BiomartActivityFactory.class); - - private Edits edits; - private SAXBuilder builder = new SAXBuilder(); - - @Override - public BiomartActivity createActivity() { - return new BiomartActivity(); - } - - @Override - public URI getActivityType() { - return URI.create(BiomartActivity.URI); - } - - @Override - public JsonNode getActivityConfigurationSchema() { - ObjectMapper objectMapper = new ObjectMapper(); - try { - return objectMapper.readTree(getClass().getResource("/schema.json")); - } catch (IOException e) { - return objectMapper.createObjectNode(); - } - } - - @Override - public Set<ActivityInputPort> getInputPorts(JsonNode configuration) { - Set<ActivityInputPort> inputPorts = new HashSet<>(); - try { - Query query = getQuery(configuration); - for (Filter filter : query.getFilters()) { - String name = filter.getQualifiedName() + "_filter"; - inputPorts.add(edits.createActivityInputPort(name, filter.isList() ? 1 : 0, true, - new ArrayList<Class<? extends ExternalReferenceSPI>>(), String.class)); - } - } catch (JDOMException | IOException e) { - logger.warn("Error caluculating input ports from BioMart configuration", e); - } - return inputPorts; - } - - @Override - public Set<ActivityOutputPort> getOutputPorts(JsonNode configuration) { - Set<ActivityOutputPort> outputPorts = new HashSet<>(); - try { - Query query = getQuery(configuration); - List<Attribute> attributes = query.getAttributes(); - if (query.getFormatter() == null) { - // Create new output ports corresponding to attributes - for (Attribute attribute : attributes) { - String name = attribute.getQualifiedName(); - ActivityOutputPort outputPort = null; - if (attribute.getAttributes() != null) { - outputPorts.add(edits.createActivityOutputPort(name, 2, - BiomartActivity.STREAM_RESULTS ? 1 : 2)); - } else { - outputPorts.add(edits.createActivityOutputPort(name, 1, - BiomartActivity.STREAM_RESULTS ? 0 : 1)); - } - } - } else if (attributes.size() > 0) { - // create one port using the dataset name - Attribute attribute = attributes.get(0); - String name = attribute.getContainingDataset().getName(); - outputPorts.add(edits.createActivityOutputPort(name, 0, 0)); - } - } catch (JDOMException | IOException e) { - logger.warn("Error caluculating output ports from BioMart configuration", e); - } - return outputPorts; - } - - public void setEdits(Edits edits) { - this.edits = edits; - } - - private Query getQuery(JsonNode configuration) throws JDOMException, IOException { - String martQueryText = configuration.get("martQuery").asText(); - Document document = builder.build(new StringReader(martQueryText)); - MartQuery martQuery = MartServiceXMLHandler.elementToMartQuery(document.getRootElement(), - null); - return martQuery.getQuery(); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityHealthChecker.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityHealthChecker.java b/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityHealthChecker.java deleted file mode 100644 index 8e48635..0000000 --- a/taverna-biomart-activity/src/main/java/net/sf/taverna/t2/activities/biomart/BiomartActivityHealthChecker.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2007 The University of Manchester - * - * Modifications to the initial code base are copyright of their - * respective authors, or their employers as appropriate. - * - * 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 - ******************************************************************************/ -package net.sf.taverna.t2.activities.biomart; - -import java.io.IOException; -import java.io.StringReader; -import java.util.List; - -import net.sf.taverna.t2.visit.VisitReport; - -import net.sf.taverna.t2.workflowmodel.health.RemoteHealthChecker; -import net.sf.taverna.t2.workflowmodel.processor.activity.Activity; -import net.sf.taverna.t2.workflowmodel.processor.activity.DisabledActivity; - - -import org.biomart.martservice.MartQuery; -import org.biomart.martservice.MartServiceXMLHandler; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; - -public class BiomartActivityHealthChecker extends RemoteHealthChecker { - - public boolean canVisit(Object subject) { - if (subject == null) { - return false; - } - if (subject instanceof BiomartActivity) { - return true; - } - if (subject instanceof DisabledActivity) { - return (((DisabledActivity) subject).getActivity() instanceof BiomartActivity); - } - return false; - } - - public VisitReport visit(Object o, List<Object> ancestors) { - Element biomartQueryElement = null; - Activity activity = (Activity) o; - if (activity instanceof BiomartActivity) { - String martQueryText = ((BiomartActivity)activity).getConfiguration().get("martQuery").asText(); - SAXBuilder builder = new SAXBuilder(); - try { - Document document = builder.build(new StringReader(martQueryText)); - biomartQueryElement = document.getRootElement(); - } catch (JDOMException | IOException e) { - e.printStackTrace(); - } - } else if (activity instanceof DisabledActivity) { - biomartQueryElement = (Element) ((DisabledActivity) activity).getActivityConfiguration(); - } - MartQuery biomartQuery = MartServiceXMLHandler.elementToMartQuery(biomartQueryElement, null); - return contactEndpoint(activity, biomartQuery.getMartService().getLocation()); - } - - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker b/taverna-biomart-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker deleted file mode 100644 index 19aae39..0000000 --- a/taverna-biomart-activity/src/main/resources/META-INF/services/net.sf.taverna.t2.workflowmodel.health.HealthChecker +++ /dev/null @@ -1 +0,0 @@ -# net.sf.taverna.t2.activities.biomart.BiomartActivityHealthChecker \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context-osgi.xml ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context-osgi.xml b/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context-osgi.xml deleted file mode 100644 index d8df086..0000000 --- a/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context-osgi.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:beans="http://www.springframework.org/schema/beans" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd - http://www.springframework.org/schema/osgi - http://www.springframework.org/schema/osgi/spring-osgi.xsd"> - - <service ref="biomartActivityHealthChecker" interface="net.sf.taverna.t2.workflowmodel.health.HealthChecker" /> - - <service ref="biomartActivityFactory" interface="net.sf.taverna.t2.workflowmodel.processor.activity.ActivityFactory" /> - - <reference id="edits" interface="net.sf.taverna.t2.workflowmodel.Edits" /> - -</beans:beans> http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context.xml ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context.xml b/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context.xml deleted file mode 100644 index dcc0538..0000000 --- a/taverna-biomart-activity/src/main/resources/META-INF/spring/biomart-activity-context.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="biomartActivityHealthChecker" class="net.sf.taverna.t2.activities.biomart.BiomartActivityHealthChecker" /> - - <bean id="biomartActivityFactory" class="net.sf.taverna.t2.activities.biomart.BiomartActivityFactory"> - <property name="edits" ref="edits" /> - </bean> - - -</beans> http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/main/resources/schema.json ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/main/resources/schema.json b/taverna-biomart-activity/src/main/resources/schema.json deleted file mode 100644 index 99eb9f2..0000000 --- a/taverna-biomart-activity/src/main/resources/schema.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-03/schema#", - "id": "http://ns.taverna.org.uk/2010/activity/biomart.schema.json", - "title": "Biomart activity configuration", - "type": "object", - "properties": { - "@context": { - "description": "JSON-LD context for interpreting the configuration as RDF", - "required": true, - "enum": ["http://ns.taverna.org.uk/2010/activity/biomart.context.json"] - }, - "martQuery": { - "title": "Mart Query", - "description": "Biomart query in XML", - "type": "string", - "required": true, - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/test/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactoryTest.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/test/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactoryTest.java b/taverna-biomart-activity/src/test/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactoryTest.java deleted file mode 100644 index 78ed2f6..0000000 --- a/taverna-biomart-activity/src/test/java/net/sf/taverna/t2/activities/biomart/BiomartActivityFactoryTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2011 The University of Manchester - * - * Modifications to the initial code base are copyright of their - * respective authors, or their employers as appropriate. - * - * 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 - ******************************************************************************/ -package net.sf.taverna.t2.activities.biomart; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.net.URI; - -import org.junit.Before; -import org.junit.Test; - -/** - * - * @author David Withers - */ -public class BiomartActivityFactoryTest { - - private BiomartActivityFactory factory; - - /** - * @throws java.lang.Exception - */ - @Before - public void setUp() throws Exception { - factory = new BiomartActivityFactory(); - } - - /** - * Test method for {@link net.sf.taverna.t2.activities.biomart.BiomartActivityFactory#createActivity()}. - */ - @Test - public void testCreateActivity() { - BiomartActivity createActivity = factory.createActivity(); - assertNotNull(createActivity); - } - - /** - * Test method for {@link net.sf.taverna.t2.activities.biomart.BiomartActivityFactory#getActivityType()}. - */ - @Test - public void testGetActivityURI() { - assertEquals(URI.create(BiomartActivity.URI), factory.getActivityType()); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-activity/src/test/resources/biomart-query.xml ---------------------------------------------------------------------- diff --git a/taverna-biomart-activity/src/test/resources/biomart-query.xml b/taverna-biomart-activity/src/test/resources/biomart-query.xml deleted file mode 100644 index e0b43bd..0000000 --- a/taverna-biomart-activity/src/test/resources/biomart-query.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<MartQuery xmlns:biomart="http://org.embl.ebi.escience/xscufl-biomart/0.1alpha"> - <MartService location="http://www.biomart.org/biomart/martservice" /> - <MartDataset displayName="Homo sapiens genes (NCBI36)" name="hsapiens_gene_ensembl" type="TableSet" initialBatchSize="100" maximumBatchSize="50000" visible="false"> - <MartURLLocation default="1" displayName="ENSEMBL 41 (SANGER)" host="www.biomart.org" name="ensembl" port="80" serverVirtualSchema="default" virtualSchema="default" visible="1" /> - </MartDataset> - <Query virtualSchemaName="default" count="0" softwareVersion="0.5"> - <Dataset name="hsapiens_gene_ensembl"> - <Attribute name="chromosome_name" /> - <Attribute name="go_description" /> - <Filter name="chromosome_name" value="1" /> - <Filter name="band_end" value="p36.32" /> - <Filter name="band_start" value="p36.33" /> - </Dataset> - </Query> -</MartQuery> - http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-martservice/pom.xml ---------------------------------------------------------------------- diff --git a/taverna-biomart-martservice/pom.xml b/taverna-biomart-martservice/pom.xml deleted file mode 100644 index 582a601..0000000 --- a/taverna-biomart-martservice/pom.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>net.sf.taverna</groupId> - <artifactId>taverna-parent</artifactId> - <version>3.0.1-SNAPSHOT</version> - </parent> - <groupId>org.biomart</groupId> - <artifactId>martservice</artifactId> - <packaging>bundle</packaging> - <name>MartService</name> - <version>2.0.1-SNAPSHOT</version> - <description>Biomart webservice API</description> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <version>2.3.7</version> - <extensions>true</extensions> - <configuration> - <instructions> - <Private-Package>org.ensembl.mart.lib,org.ensembl.mart.lib.config,org.ensembl.mart.util</Private-Package> - <Import-Package>!org.ensembl.util,!org.ensembl.mart.editor,!oracle.sql,!gnu.getopt,!org.ewin.*,*</Import-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - - <dependencies> - <dependency> - <groupId>org.biomart</groupId> - <artifactId>martj</artifactId> - <version>0.6</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.jdom</groupId> - <artifactId>com.springsource.org.jdom</artifactId> - <version>1.1.0</version> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>com.springsource.org.apache.commons.httpclient</artifactId> - <version>3.1.0</version> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>com.springsource.org.apache.commons.io</artifactId> - <version>1.4.0</version> - </dependency> - <dependency> - <groupId>org.apache.log4j</groupId> - <artifactId>com.springsource.org.apache.log4j</artifactId> - <version>${log4j.version}</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - - <repositories> - <repository> - <releases /> - <snapshots> - <enabled>false</enabled> - </snapshots> - <id>mygrid-repository</id> - <name>myGrid Repository</name> - <url>http://www.mygrid.org.uk/maven/repository</url> - </repository> - <repository> - <releases> - <enabled>false</enabled> - </releases> - <snapshots /> - <id>mygrid-snapshot-repository</id> - <name>myGrid Snapshot Repository</name> - <url>http://www.mygrid.org.uk/maven/snapshot-repository</url> - </repository> - <repository> - <id>com.springsource.repository.bundles.release</id> - <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name> - <url>http://repository.springsource.com/maven/bundles/release</url> - </repository> - <repository> - <id>com.springsource.repository.bundles.external</id> - <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name> - <url>http://repository.springsource.com/maven/bundles/external</url> - </repository> - </repositories> - <scm> - <connection>scm:git:https://github.com/taverna/taverna-biomart-martservice.git</connection> - <developerConnection>scm:git:ssh://[email protected]:taverna/taverna-biomart-martservice.git</developerConnection> - <url>https://github.com/taverna/taverna-biomart-martservice/</url> - <tag>HEAD</tag> - </scm> -</project> http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-martservice/src/main/java/org/biomart/martservice/DatasetLink.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/DatasetLink.java b/taverna-biomart-martservice/src/main/java/org/biomart/martservice/DatasetLink.java deleted file mode 100644 index e5dccd4..0000000 --- a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/DatasetLink.java +++ /dev/null @@ -1,220 +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: DatasetLink.java,v $ - * Revision $Revision: 1.2 $ - * Release status $State: Exp $ - * Last modified on $Date: 2007/12/13 11:38:55 $ - * by $Author: davidwithers $ - * Created on 12-Apr-2006 - *****************************************************************/ -package org.biomart.martservice; - -import java.util.Comparator; -import java.util.HashSet; -import java.util.Set; - -/** - * The link between two MartDatasets and the list of possible the link IDs that - * could join the source and target MartDataset. - * - * @author David Withers - */ -public class DatasetLink { - private static final Comparator<DatasetLink> displayComparator = new DatasetLinkComparator(); - - private MartDataset sourceDataset; - - private MartDataset targetDataset; - - private Set<String> links = new HashSet<String>(); - - /** - * Constructs an instance of an <code>DatasetLink</code> with the - * specified source and target. - * - * @param sourceDataset - * the link source - * @param targetDataset - * the link target - */ - public DatasetLink(MartDataset sourceDataset, MartDataset targetDataset) { - this.sourceDataset = sourceDataset; - this.targetDataset = targetDataset; - } - - /** - * Returns the source Dataset. - * - * @return the source Dataset - */ - public MartDataset getSourceDataset() { - return sourceDataset; - } - - /** - * Sets the source Dataset. - * - * @param sourceDataset - * the sourceDataset to set - */ - public void setSourceDataset(MartDataset sourceDataset) { - this.sourceDataset = sourceDataset; - } - - /** - * Returns the target Dataset. - * - * @return the target Dataset - */ - public MartDataset getTargetDataset() { - return targetDataset; - } - - /** - * Sets the target Dataset. - * - * @param targetDataset - * the target Dataset to set - */ - public void setTargetDataset(MartDataset targetDataset) { - this.targetDataset = targetDataset; - } - - /** - * Returns the link IDs that could join the source and target MartDatasets. - * - * @return the link IDs that could join the source and target MartDatasets - */ - public String[] getLinks() { - return links.toArray(new String[links.size()]); - } - - /** - * Adds a link ID. - * - * @param link - * the link ID to add. - */ - public void addLink(String link) { - links.add(link); - } - - /** - * Returns true if this DatasetLink has link IDs. - * - * @return true if this DatasetLink has link IDs - */ - public boolean hasLinks() { - return !links.isEmpty(); - } - - public String toString() { - return "[" + sourceDataset.getMartURLLocation().getDisplayName() + "] " - + sourceDataset.getDisplayName(); - } - - /* (non-Javadoc) - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - final int PRIME = 31; - int result = 1; - result = PRIME * result + ((sourceDataset == null) ? 0 : sourceDataset.hashCode()); - result = PRIME * result + ((targetDataset == null) ? 0 : targetDataset.hashCode()); - return result; - } - - /* (non-Javadoc) - * @see java.lang.Object#equals(java.lang.Object) - */ - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final DatasetLink other = (DatasetLink) obj; - if (sourceDataset == null) { - if (other.sourceDataset != null) - return false; - } else if (!sourceDataset.equals(other.sourceDataset)) - return false; - if (targetDataset == null) { - if (other.targetDataset != null) - return false; - } else if (!targetDataset.equals(other.targetDataset)) - return false; - return true; - } - - /** - * Returns a Comparator that compares DatasetLinks based on the display name - * of the source dataset and the display name of the MartURLLocation - * containing the source dataset. - * - * @return the display comparator - */ - public static Comparator<DatasetLink> getDisplayComparator() { - return displayComparator; - } - -} - -/** - * Comparator that compares DatasetLinks based on the display name of the source - * MartDataset and the display name of the MartURLLocation containing the source - * MartDataset. - * - * @author David Withers - */ -class DatasetLinkComparator implements Comparator<DatasetLink> { - - /** - * Compares two DatasetLinks based on the display name of the source dataset - * and the display name of the MartURLLocation containing the source - * dataset. - * - * @param o1 - * the first DatasetLink to be compared - * @param o2 - * the second DatasetLink to be compared - * @return a negative integer, zero, or a positive integer as the first - * argument is less than, equal to, or greater than the second - */ - public int compare(DatasetLink o1, DatasetLink o2) { - MartDataset ds1 = o1.getSourceDataset(); - MartDataset ds2 = o2.getSourceDataset(); - int result = ds1.getDisplayName().compareTo(ds2.getDisplayName()); - if (result == 0) { - result = ds1.getMartURLLocation().getDisplayName().compareTo( - ds2.getMartURLLocation().getDisplayName()); - } - return result; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartDataset.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartDataset.java b/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartDataset.java deleted file mode 100644 index 8c0f584..0000000 --- a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartDataset.java +++ /dev/null @@ -1,342 +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: MartDataset.java,v $ - * Revision $Revision: 1.2 $ - * Release status $State: Exp $ - * Last modified on $Date: 2007/10/04 14:17:19 $ - * by $Author: davidwithers $ - * Created on 17-Mar-2006 - *****************************************************************/ -package org.biomart.martservice; - -import java.util.Comparator; - -/** - * The dataset returned by a BioMart web service. - * - * @author David Withers - */ -public class MartDataset { - private static final Comparator<MartDataset> displayComparator = new MartDatasetComparator(); - - private String type; - - private String name; - - private String displayName; - - private boolean visible; - - private long initialBatchSize; - - private long maximumBatchSize; - - private String interfaceValue; - - private String modified; - - private MartURLLocation martURLLocation; - - /** - * 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 initialBatchSize. - * - * @return the initialBatchSize. - */ - public long getInitialBatchSize() { - return initialBatchSize; - } - - /** - * Sets the initialBatchSize. - * - * @param initialBatchSize - * the initialBatchSize to set. - */ - public void setInitialBatchSize(long initialBatchSize) { - this.initialBatchSize = initialBatchSize; - } - - /** - * Returns the maximumBatchSize. - * - * @return the maximumBatchSize. - */ - public long getMaximumBatchSize() { - return maximumBatchSize; - } - - /** - * Sets the maximumBatchSize. - * - * @param maximumBatchSize - * the maximumBatchSize to set. - */ - public void setMaximumBatchSize(long maximumBatchSize) { - this.maximumBatchSize = maximumBatchSize; - } - - /** - * 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 type. - * - * @return the type. - */ - public String getType() { - return type; - } - - /** - * Sets the type. - * - * @param type - * the type to set. - */ - public void setType(String type) { - this.type = type; - } - - /** - * Returns the visible flag. - * - * @return the visible flag - */ - public boolean isVisible() { - return visible; - } - - /** - * Sets the visible flag. - * - * @param visible - * the visible flag - */ - public void setVisible(boolean visible) { - this.visible = visible; - } - - /** - * Returns the modified date. - * - * @return the modified date - */ - public String getModified() { - return modified; - } - - /** - * Sets the modified date. - * - * @param modified the new modified date - */ - public void setModified(String modified) { - this.modified = modified; - } - - /** - * Returns the interface. - * - * @return the interface - */ - public String getInterface() { - return interfaceValue; - } - - /** - * Sets the interface. - * - * @param interfaceValue the new interface - */ - public void setInterface(String interfaceValue) { - this.interfaceValue = interfaceValue; - } - - /** - * Returns the martURLLocation. - * - * @return the martURLLocation - */ - public MartURLLocation getMartURLLocation() { - return martURLLocation; - } - - /** - * Sets the martURLLocation. - * - * @param martURLLocation - * the martURLLocation to set. - */ - public void setMartURLLocation(MartURLLocation martURLLocation) { - this.martURLLocation = martURLLocation; - } - - /** - * Returns the virtualSchema of the martURLLocation. If the martURLLocation - * is null, null is returned. - * - * @return the virtualSchema of the martURLLocation - */ - public String getVirtualSchema() { - MartURLLocation martURLLocation = getMartURLLocation(); - if (martURLLocation != null) { - return martURLLocation.getVirtualSchema(); - } else { - return null; - } - } - - /** - * Returns the qualified name of this dataset in the format - * 'virtualSchemaName.datasetName'. If there is no virtualSchema the - * datasetName is returned. - * - * @return the qualified name of this dataset - */ - public String getQualifiedName() { - String schema = getVirtualSchema(); - if (schema != null) { - return schema + "." + getName(); - } else { - return getName(); - } - } - - /** - * Returns the display name. - * - * @return the display name - */ - public String toString() { - return getDisplayName(); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - final int PRIME = 31; - int result = 1; - result = PRIME - * result - + ((getQualifiedName() == null) ? 0 : getQualifiedName() - .hashCode()); - return result; - } - - /** - * Tests equality based on the qualified name. - * - * @return true if the objects are equal based on the qualified name - */ - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final MartDataset other = (MartDataset) obj; - if (getQualifiedName() == null) { - if (other.getQualifiedName() != null) - return false; - } else if (!getQualifiedName().equals(other.getQualifiedName())) - return false; - return true; - } - - /** - * Returns a Comparator that compares MartDatasets based on their display - * names. - * - * @return the display comparator - */ - public static Comparator<MartDataset> getDisplayComparator() { - return displayComparator; - } - -} - -/** - * Comparator that compares MartDatasets based on their display names. - * - * @author David Withers - */ -class MartDatasetComparator implements Comparator<MartDataset> { - - /** - * Compares two MartDatasets based on their display names. - * - * @param martDataset1 - * the first MartDataset to be compared - * @param martDataset2 - * the second MartDataset to be compared - * @return a negative integer, zero, or a positive integer as the first - * argument is less than, equal to, or greater than the second - */ - public int compare(MartDataset martDataset1, MartDataset martDataset2) { - return martDataset1.getDisplayName().compareTo(martDataset2.getDisplayName()); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartQuery.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartQuery.java b/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartQuery.java deleted file mode 100644 index 9f75566..0000000 --- a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartQuery.java +++ /dev/null @@ -1,436 +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: MartQuery.java,v $ - * Revision $Revision: 1.2 $ - * Release status $State: Exp $ - * Last modified on $Date: 2007/12/13 11:38:55 $ - * by $Author: davidwithers $ - * Created on 08-May-2006 - *****************************************************************/ -package org.biomart.martservice; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.biomart.martservice.query.Attribute; -import org.biomart.martservice.query.Dataset; -import org.biomart.martservice.query.Filter; -import org.biomart.martservice.query.Link; -import org.biomart.martservice.query.Query; -import org.ensembl.mart.lib.config.AttributeDescription; -import org.ensembl.mart.lib.config.DatasetConfig; - -/** - * Class for creating queries to send to a BioMart web service. - * - * @author David Withers - */ -public class MartQuery { - private MartService martService; - - private MartDataset martDataset; - - private Query query; - - private Map<String, String> linkedDatasets = new HashMap<String, String>(); - - private String softwareVersion; - - public MartQuery() { - - } - - public MartQuery(MartService martService, MartDataset martDataset, String requestId) { - String version = null; - try { - version = martService.getVersion(martDataset.getMartURLLocation()); - } catch (MartServiceException e) { - //assume it's a pre 0.5 mart service - } - setMartService(martService); - setMartDataset(martDataset); - if (version == null || version.equals("0.4")) { - setQuery(new Query(martDataset.getVirtualSchema(), null, requestId)); - } else { - setQuery(new Query(martDataset.getVirtualSchema(), version, requestId)); - } - } - - /** - * @param martService - * @param martDataset - * @param query - */ - public MartQuery(MartService martService, MartDataset martDataset, - Query query) { - setMartService(martService); - setMartDataset(martDataset); - setQuery(query); - } - - /** - * Returns the martDataset. - * - * @return the martDataset. - */ - public MartDataset getMartDataset() { - return martDataset; - } - - /** - * Sets the martDataset. - * - * @param martDataset - * the martDataset to set. - */ - public void setMartDataset(MartDataset martDataset) { - this.martDataset = martDataset; - } - - /** - * Returns the martService. - * - * @return the martService. - */ - public MartService getMartService() { - return martService; - } - - /** - * Sets the martService. - * - * @param martService - * the martService to set. - */ - public void setMartService(MartService martService) { - this.martService = martService; - } - - /** - * Returns the query. - * - * @return the query. - */ - public Query getQuery() { - return query; - } - - /** - * Sets the query. - * - * @param query - * the query to set. - */ - public void setQuery(Query query) { - this.query = query; - softwareVersion = query.getSoftwareVersion(); - } - - /** - * Adds the ID that links the specified dataset to the initial dataset. - * - * @param datasetName - * the dataset - * @param linkId - * the link ID - */ - public void addLinkedDataset(String datasetName, String linkId) { - linkedDatasets.put(datasetName, linkId); - } - - /** - * Removes a dataset and any datasets linked to it. - * - * @param datasetName - * the dataset to remove - */ - public void removeLinkedDataset(String datasetName) { - linkedDatasets.remove(datasetName); - if (query.containsDataset(datasetName)) { - Dataset dataset = query.getDataset(datasetName); - dataset.removeAllAttributes(); - dataset.removeAllFilters(); - query.removeDataset(dataset); - for (Link link : query.getLinks(datasetName)) { - removeLinkedDataset(link.getTarget()); - } - - } - if (query.containsLink(datasetName)) { - query.removeLink(query.getLink(datasetName)); - } - } - - /** - * Changes the ID that links a dataset. This method performs no function, - * nor does it throw an exception, if the specified dataset does not exist. - * - * @param datasetName - * the dataset - * @param linkId - * the link ID - */ - public void changeLinkedDataset(String datasetName, String linkId) { - if (linkedDatasets.containsKey(datasetName)) { - linkedDatasets.put(datasetName, linkId); - if (query.containsLink(datasetName)) { - query.getLink(datasetName).setDefaultLink(linkId); - } - } - } - - public Set<String> getLinkedDatasets() { - return linkedDatasets.keySet(); - } - - public String getLink(String datasetName) { - return (String) linkedDatasets.get(datasetName); - } - - /** - * Returns the Datasets that this Query contains in the order specified by - * the links. - * - * @return the Datasets that this Query contains in the order specified by - * the links - */ - public List<Dataset> getDatasetsInLinkOrder() { - if (query.getLinks().size() > 0) { - List<Dataset> datasets = new ArrayList<Dataset>(); - datasets.addAll(getLinkedDatasets(martDataset.getName())); - // add other datasets - for (Dataset dataset : query.getDatasets()) { - if (!datasets.contains(dataset)) { - datasets.add(dataset); - } - } - return datasets; - } else { - return query.getDatasets(); - } - } - - /** - * @param dataset - * @return - */ - private List<Dataset> getLinkedDatasets(String dataset) { - List<Dataset> datasets = new ArrayList<Dataset>(); - datasets.add(query.getDataset(dataset)); - if (query.containsLink(dataset)) { - Link link = query.getLink(dataset); - if (!link.getTarget().equals(martDataset.getName())) { - datasets.addAll(getLinkedDatasets(link.getTarget())); - } - } - return datasets; - } - - /** - * Returns all the Attributes from all the Datasets in this Query in the - * order specified by the links. - * - * @return all the Attributes from all the Datasets in this Query in the - * order specified by the links - */ - public List<Attribute> getAttributesInLinkOrder() { - List<Attribute> attributes = new ArrayList<Attribute>(); - List<Dataset> datasets; - if (softwareVersion == null) { - datasets = getDatasetsInLinkOrder(); - } else { - datasets = query.getDatasets(); - } - for (Dataset dataset : datasets) { - attributes.addAll(dataset.getAttributes()); - } - return attributes; - } - - /** - * Adds an Attribute to the Dataset with the given datasetName. If the Query - * has no Dataset with the given datasetName then a new Dataset is created. - * - * @param datasetName - * the name of the Dataset to add the Attribute to - * @param attribute - * the Attribute to add - * @throws MartServiceException - */ - public void addAttribute(String datasetName, Attribute attribute) { - if (!query.containsDataset(datasetName)) { - Dataset dataset = new Dataset(datasetName); - if (datasetName.equals(martDataset.getName())) { - query.addDataset(0, dataset); - } else { - query.addDataset(dataset); - } - } - Dataset dataset = query.getDataset(datasetName); - dataset.addAttribute(attribute); - } - - /** - * Removes an Attribute from its containing Dataset. - * - * @param attribute - */ - public void removeAttribute(Attribute attribute) { - Dataset dataset = attribute.getContainingDataset(); - if (dataset != null) { - if (dataset.removeAttribute(attribute)) { - if (!dataset.hasAttributes() && !dataset.hasFilters()) { - Query query = dataset.getContainingQuery(); - if (query != null) { - query.removeDataset(dataset); - } - } - } - } - } - - /** - * Adds a Filter to the Dataset with the given datasetName. If the Query has - * no Dataset with the given datasetName then a new Dataset is created. - * - * @param datasetName - * the name of the Dataset to add the Filter to - * @param filter - * the Filter to add - * @throws MartServiceException - */ - public void addFilter(String datasetName, Filter filter) { - if (!query.containsDataset(datasetName)) { - Dataset dataset = new Dataset(datasetName); - if (datasetName.equals(martDataset.getName())) { - query.addDataset(0, dataset); - } else { - query.addDataset(dataset); - } - } - Dataset dataset = query.getDataset(datasetName); - dataset.addFilter(filter); - } - - /** - * Removes a Filter from its containing Dataset. - * - * @param filter - */ - public void removeFilter(Filter filter) { - Dataset dataset = filter.getContainingDataset(); - if (dataset != null) { - if (dataset.removeFilter(filter)) { - if (!dataset.hasAttributes() && !dataset.hasFilters()) { - Query query = dataset.getContainingQuery(); - if (query != null) { - query.removeDataset(dataset); - } - } - } - } - } - - /** - * @throws MartServiceException - */ - public void calculateLinks() throws MartServiceException { - if (softwareVersion == null) { - if (!martService.linksCalculated()) { - martService.calculateLinks(); - } - for (Link link : query.getLinks()) { - query.removeLink(link); - } - for (Dataset dataset : query.getDatasets()) { - if (!martDataset.getName().equals(dataset.getName())) { - addLinks(dataset.getName()); - } - } - } - } - - /** - * @param source - * @throws MartServiceException - */ - public void addLinks(String source) throws MartServiceException { - MartDataset sourceDataset = martService.getDataset(martDataset - .getVirtualSchema(), source); - MartDataset targetDataset = martDataset; - List<MartDataset> path = martService.getPath(sourceDataset, targetDataset); - if (path == null) { - path = martService.getPath(targetDataset, sourceDataset); - } - if (path == null) { - throw new MartServiceException("No link between " + source - + " and " + targetDataset.getName()); - } - Iterator<MartDataset> iter = path.iterator(); - if (iter.hasNext()) { - MartDataset lastDataset = (MartDataset) iter.next(); - while (iter.hasNext()) { - MartDataset dataset = (MartDataset) iter.next(); - DatasetLink link = martService.getLinkBetween(lastDataset, - dataset); - String linkId = link.getLinks()[0]; - if (link.getLinks().length > 1) { - if (getLink(source) != null) { - linkId = getLink(source); - } else { - List<Attribute> attributes = query.getDataset(source) - .getAttributes(); - if (attributes.size() > 0) { - Attribute attribute = (Attribute) attributes.get(0); - DatasetConfig config = martService - .getDatasetConfig(sourceDataset); - if (config.containsAttributeDescription(attribute - .getName())) { - AttributeDescription description = config - .getAttributeDescriptionByInternalName(attribute - .getName()); - String datasetLink = description - .getDatasetLink(); - if (datasetLink != null) { - linkId = datasetLink; - } - } - } - } - } - query.addLink(new Link(lastDataset.getName(), - dataset.getName(), linkId)); - lastDataset = dataset; - } - } - } - -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-bioinformatics/blob/e13e3b74/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartRegistry.java ---------------------------------------------------------------------- diff --git a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartRegistry.java b/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartRegistry.java deleted file mode 100644 index 93bf04d..0000000 --- a/taverna-biomart-martservice/src/main/java/org/biomart/martservice/MartRegistry.java +++ /dev/null @@ -1,96 +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: MartRegistry.java,v $ - * Revision $Revision: 1.2 $ - * Release status $State: Exp $ - * Last modified on $Date: 2007/12/13 11:38:55 $ - * by $Author: davidwithers $ - * Created on 17-Mar-2006 - *****************************************************************/ -package org.biomart.martservice; - -import java.util.ArrayList; -import java.util.List; - -/** - * The MartRegistry returned by a BioMart web service. - * - * @author David Withers - */ -public class MartRegistry { - private List<MartURLLocation> martURLLocations = new ArrayList<MartURLLocation>(); - - /** - * Returns the martURLLocations. - * - * @return the martURLLocations. - */ - public MartURLLocation[] getMartURLLocations() { - return martURLLocations - .toArray(new MartURLLocation[martURLLocations.size()]); - } - - /** - * Adds a martURLLocation to the registry. - * - * @param martURLLocations - * the martURLLocations to add. - */ - public void addMartURLLocation(MartURLLocation martURLLocation) { - martURLLocations.add(martURLLocation); - } - - /* (non-Javadoc) - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - final int PRIME = 31; - int result = 1; - result = PRIME * result + ((martURLLocations == null) ? 0 : martURLLocations.hashCode()); - return result; - } - - /* (non-Javadoc) - * @see java.lang.Object#equals(java.lang.Object) - */ - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final MartRegistry other = (MartRegistry) obj; - if (martURLLocations == null) { - if (other.martURLLocations != null) - return false; - } else if (!martURLLocations.equals(other.martURLLocations)) - return false; - return true; - } - -}
