You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by dk...@apache.org on 2016/09/08 13:36:41 UTC
incubator-taverna-server git commit: Remove broken code.
Repository: incubator-taverna-server
Updated Branches:
refs/heads/master d6871def3 -> 51ca0bfed
Remove broken code.
The execution delegate code simply did not work. It depended on a model
of execution that simply isn't present; it didn't build and couldn't
build.
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/commit/51ca0bfe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/tree/51ca0bfe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/diff/51ca0bfe
Branch: refs/heads/master
Commit: 51ca0bfeda26fceb2d9ed921273d5036c45dc0b1
Parents: d6871de
Author: Donal Fellows <do...@manchester.ac.uk>
Authored: Thu Sep 8 14:36:08 2016 +0100
Committer: Donal Fellows <do...@manchester.ac.uk>
Committed: Thu Sep 8 14:36:08 2016 +0100
----------------------------------------------------------------------
taverna-server-execution-delegate/pom.xml | 41 ----
.../execution_delegate/ExecutionDelegate.java | 188 -----------------
.../execution_delegate/RemoteExecution.java | 204 -------------------
.../src/test/java/SerializationTest.java | 54 -----
4 files changed, 487 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/51ca0bfe/taverna-server-execution-delegate/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-server-execution-delegate/pom.xml b/taverna-server-execution-delegate/pom.xml
deleted file mode 100644
index da825af..0000000
--- a/taverna-server-execution-delegate/pom.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<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>org.apache.taverna.server</groupId>
- <artifactId>apache-taverna-server</artifactId>
- <version>3.1.0-incubating-SNAPSHOT</version>
- </parent>
- <artifactId>taverna-server-execution-delegate</artifactId>
- <packaging>bundle</packaging>
- <name>Apache Taverna Server Reporting Probe</name>
- <dependencies>
- <dependency>
- <groupId>org.apache.taverna.engine</groupId>
- <artifactId>taverna-execution-api</artifactId>
- <version>${taverna.engine.version}</version>
- <type>bundle</type>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/51ca0bfe/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/ExecutionDelegate.java
----------------------------------------------------------------------
diff --git a/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/ExecutionDelegate.java b/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/ExecutionDelegate.java
deleted file mode 100644
index 439841d..0000000
--- a/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/ExecutionDelegate.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package org.taverna.server.execution_delegate;
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.net.URI;
-import java.rmi.RemoteException;
-import java.rmi.server.UnicastRemoteObject;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Map;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-import org.taverna.server.execution_delegate.RemoteExecution.ProcessorReportDocument.Property;
-
-import uk.org.taverna.platform.data.api.Data;
-import uk.org.taverna.platform.data.api.DataLocation;
-import uk.org.taverna.platform.execution.api.Execution;
-import uk.org.taverna.platform.report.ActivityReport;
-import uk.org.taverna.platform.report.ProcessorReport;
-import uk.org.taverna.platform.report.StatusReport;
-import uk.org.taverna.platform.report.WorkflowReport;
-import org.apache.taverna.scufl2.api.common.AbstractNamed;
-
-public class ExecutionDelegate extends UnicastRemoteObject implements
- RemoteExecution {
- private Execution delegated;
- private DatatypeFactory dtf;
-
- public ExecutionDelegate(Execution execution) throws RemoteException,
- DatatypeConfigurationException {
- super();
- delegated = execution;
- dtf = DatatypeFactory.newInstance();
- }
-
- @Override
- public String getID() {
- return delegated.getID();
- }
-
- @Override
- public void delete() {
- delegated.delete();
- }
-
- @Override
- public void start() {
- delegated.start();
- }
-
- @Override
- public void pause() {
- delegated.pause();
- }
-
- @Override
- public void resume() {
- delegated.resume();
- }
-
- @Override
- public void cancel() {
- delegated.cancel();
- }
-
- private XMLGregorianCalendar date(Date d) {
- if (d == null)
- return null;
- GregorianCalendar c = new GregorianCalendar();
- c.setTime(d);
- return dtf.newXMLGregorianCalendar(c);
- }
-
- private <R extends ReportDocument, T extends AbstractNamed> R init(
- R snapshot, StatusReport<T, ?, ?> report) {
- snapshot.created = date(report.getCreatedDate());
- snapshot.completed = date(report.getCompletedDate());
- snapshot.cancelled = date(report.getCancelledDate());
- snapshot.failed = date(report.getFailedDate());
- snapshot.started = date(report.getStartedDate());
- for (Date d : report.getPausedDates())
- snapshot.paused.add(date(d));
- for (Date d : report.getResumedDates())
- snapshot.resumed.add(date(d));
- snapshot.subject = report.getSubject().getName();
- snapshot.state = report.getState().toString();
- return snapshot;
- }
-
- private WorkflowReportDocument getReport(WorkflowReport report) {
- WorkflowReportDocument snapshot = init(new WorkflowReportDocument(),
- report);
- for (ProcessorReport pr : report.getChildReports())
- snapshot.processor.add(getReport(pr));
- initMap(snapshot.inputs, report.getInputs());
- initMap(snapshot.outputs, report.getOutputs());
- return snapshot;
- }
-
- private void initMap(ArrayList<PortMapping> snapshot, Map<String, ?> report) {
- for (String port : report.keySet())
- snapshot.add(data(port, report.get(port)));
- }
-
- private static final String DEFAULT_PROPERTY_STRING = "";
-
- private PortMapping data(String name, Object o) {
- String loc;
- if (o instanceof DataLocation) {
- DataLocation d = (DataLocation) o;
- loc = d.getDataServiceURI() + "#" + d.getDataID();
- } else {
- Data d = (Data) o;
- loc = null;
- if (d.hasReferences()) {
- try {
- loc = d.getReferences().iterator().next().getURI()
- .toString();
- } catch (Exception e) {
- }
- }
- if (loc == null) {
- DataLocation dl = d.getDataService().getDataLocation(d);
- loc = dl.getDataServiceURI() + "#" + dl.getDataID();
- }
- }
- return new PortMapping(name, URI.create(loc));
- }
-
- private ProcessorReportDocument getReport(ProcessorReport report) {
- ProcessorReportDocument snapshot = init(new ProcessorReportDocument(),
- report);
- for (ActivityReport pr : report.getChildReports())
- snapshot.activity.add(getReport(pr));
- snapshot.jobsQueued = report.getJobsStarted();
- snapshot.jobsStarted = report.getJobsStarted();
- snapshot.jobsCompleted = report.getJobsCompleted();
- snapshot.jobsErrored = report.getJobsCompletedWithErrors();
- for (String key : report.getPropertyKeys()) {
- Object value = report.getProperty(key);
- if (value instanceof String || value instanceof Number)
- snapshot.properties.add(new Property(key, value.toString()));
- else
- snapshot.properties.add(new Property(key,
- DEFAULT_PROPERTY_STRING));
- }
- return snapshot;
- }
-
- private ActivityReportDocument getReport(ActivityReport report) {
- ActivityReportDocument snapshot = init(new ActivityReportDocument(),
- report);
- for (WorkflowReport pr : report.getChildReports())
- snapshot.workflow.add(getReport(pr));
- initMap(snapshot.inputs, report.getInputs());
- initMap(snapshot.outputs, report.getOutputs());
- return snapshot;
- }
-
- @Override
- public WorkflowReportDocument getWorkflowReport() {
- return getReport(delegated.getWorkflowReport());
- }
-}
-
-// ExecutionDelegate.java:[96,2]
-// initMap(java.util.ArrayList<org.taverna.server.execution_delegate.RemoteExecution.PortMapping>,java.util.Map<java.lang.String,uk.org.taverna.platform.data.api.Data>)
-// in org.taverna.server.execution_delegate.ExecutionDelegate cannot be applied
-// to
-// (java.util.ArrayList<org.taverna.server.execution_delegate.RemoteExecution.PortMapping>,java.util.Map<java.lang.String,uk.org.taverna.platform.data.api.DataLocation>)
http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/51ca0bfe/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/RemoteExecution.java
----------------------------------------------------------------------
diff --git a/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/RemoteExecution.java b/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/RemoteExecution.java
deleted file mode 100644
index ad18908..0000000
--- a/taverna-server-execution-delegate/src/main/java/org/taverna/server/execution_delegate/RemoteExecution.java
+++ /dev/null
@@ -1,204 +0,0 @@
-package org.taverna.server.execution_delegate;
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import static javax.xml.bind.annotation.XmlAccessType.NONE;
-
-import java.net.URI;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Interface for a single execution of a Taverna workflow in a remote process.
- *
- * @author David Withers
- */
-public interface RemoteExecution extends Remote {
-
- /**
- * Returns the identifier for this execution.
- *
- * @return the identifier for this execution
- */
- String getID() throws RemoteException;
-
- /**
- * Returns the <code>WorkflowReport</code> for the execution.
- *
- * @return the <code>WorkflowReport</code> for the execution
- */
- WorkflowReportDocument getWorkflowReport() throws RemoteException;
-
- /**
- * Deletes the execution.
- */
- void delete() throws RemoteException;
-
- /**
- * Starts the execution.
- */
- void start() throws RemoteException;
-
- /**
- * Pauses the execution.
- */
- void pause() throws RemoteException;
-
- /**
- * Resumes a paused execution.
- */
- void resume() throws RemoteException;
-
- /**
- * Cancels the execution.
- */
- void cancel() throws RemoteException;
-
- @XmlType(name = "Report", propOrder = { "state", "created", "started",
- "completed", "failed", "cancelled", "paused", "resumed" })
- @XmlSeeAlso({ WorkflowReportDocument.class, ProcessorReportDocument.class,
- ActivityReportDocument.class })
- @XmlAccessorType(NONE)
- public static abstract class ReportDocument {
- @XmlAttribute
- public String subject;
- @XmlElement
- public String state;
- @XmlElement(required = true)
- @XmlSchemaType(name = "dateTime")
- public XMLGregorianCalendar created;
- @XmlElement
- @XmlSchemaType(name = "dateTime")
- public XMLGregorianCalendar started;
- @XmlElement
- @XmlSchemaType(name = "dateTime")
- public XMLGregorianCalendar completed;
- @XmlElement
- @XmlSchemaType(name = "dateTime")
- public XMLGregorianCalendar failed;
- @XmlElement
- @XmlSchemaType(name = "dateTime")
- public XMLGregorianCalendar cancelled;
- @XmlElement
- @XmlSchemaType(name = "dateTime")
- public List<XMLGregorianCalendar> paused;
- @XmlElement
- @XmlSchemaType(name = "dateTime")
- public List<XMLGregorianCalendar> resumed;
- }
-
- @XmlType(name = "WorkflowReport", propOrder = { "processor", "inputs",
- "outputs" })
- @XmlRootElement(name = "workflowReport")
- @XmlAccessorType(NONE)
- public static class WorkflowReportDocument extends ReportDocument {
- @XmlElement(name = "processor")
- public ArrayList<ProcessorReportDocument> processor = new ArrayList<ProcessorReportDocument>();
- @XmlElement(name = "input")
- public ArrayList<PortMapping> inputs = new ArrayList<PortMapping>();
- @XmlElement(name = "output")
- public ArrayList<PortMapping> outputs = new ArrayList<PortMapping>();
- }
-
- @XmlType(name = "ProcessorReport", propOrder = { "jobsQueued",
- "jobsStarted", "jobsCompleted", "jobsErrored", "properties",
- "activity" })
- @XmlAccessorType(NONE)
- public static class ProcessorReportDocument extends ReportDocument {
- @XmlElement(name = "jobsQueued", required = true)
- public int jobsQueued;
- @XmlElement(name = "jobsStarted", required = true)
- public int jobsStarted;
- @XmlElement(name = "jobsCompleted", required = true)
- public int jobsCompleted;
- @XmlElement(name = "jobsErrored", required = true)
- public int jobsErrored;
- @XmlElement(name = "property")
- @XmlElementWrapper(name = "properties")
- public ArrayList<Property> properties = new ArrayList<Property>();
- @XmlElement(name = "activity")
- public ArrayList<ActivityReportDocument> activity = new ArrayList<ActivityReportDocument>();
-
- @XmlType(name = "ProcessorProperty")
- @XmlAccessorType(NONE)
- public static class Property {
- @XmlAttribute(name = "key", required = true)
- String key;
- @XmlValue
- String value;
-
- public Property() {
- }
-
- public String getKey() {
- return key;
- }
-
- public String getValue() {
- return value;
- }
-
- Property(String key, String value) {
- this.key = key;
- this.value = value;
- }
- }
- }
-
- @XmlType(name = "ActivityReport", propOrder = { "workflow", "inputs",
- "outputs" })
- @XmlAccessorType(NONE)
- public static class ActivityReportDocument extends ReportDocument {
- @XmlElement(name = "workflow")
- public ArrayList<WorkflowReportDocument> workflow = new ArrayList<WorkflowReportDocument>();
- @XmlElement(name = "input")
- public ArrayList<PortMapping> inputs = new ArrayList<PortMapping>();
- @XmlElement(name = "output")
- public ArrayList<PortMapping> outputs = new ArrayList<PortMapping>();
- }
-
- @XmlType(name = "PortMapping")
- @XmlAccessorType(NONE)
- public static class PortMapping {
- public PortMapping() {
- }
-
- PortMapping(String port, URI data) {
- this.name = port;
- this.reference = data;
- }
-
- @XmlAttribute(name = "name")
- public String name;
- @XmlAttribute(name = "ref")
- @XmlSchemaType(name = "anyURI")
- public URI reference;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-server/blob/51ca0bfe/taverna-server-execution-delegate/src/test/java/SerializationTest.java
----------------------------------------------------------------------
diff --git a/taverna-server-execution-delegate/src/test/java/SerializationTest.java b/taverna-server-execution-delegate/src/test/java/SerializationTest.java
deleted file mode 100644
index c4bf0b9..0000000
--- a/taverna-server-execution-delegate/src/test/java/SerializationTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.SchemaOutputResolver;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.taverna.server.execution_delegate.RemoteExecution.WorkflowReportDocument;
-
-public class SerializationTest {
- private static final boolean PRINT = true;
- SchemaOutputResolver sink;
- StringWriter schema;
-
- String schema() {
- return schema.toString();
- }
-
- @Before
- public void init() {
- schema = new StringWriter();
- sink = new SchemaOutputResolver() {
- @Override
- public Result createOutput(String namespaceUri,
- String suggestedFileName) throws IOException {
- StreamResult sr = new StreamResult(schema);
- sr.setSystemId("/dev/null");
- return sr;
- }
- };
- assertEquals("", schema());
- }
-
- @Test
- public void testSchemaGeneration() throws JAXBException, IOException {
- JAXBContext.newInstance(WorkflowReportDocument.class).generateSchema(
- sink);
- assertFalse("generated schema must be non-empty", schema().isEmpty());
- assertTrue(
- "generated schema must define workflowReport element",
- schema().contains(
- "<xs:element name=\"workflowReport\" type=\"WorkflowReport\"/>\n"));
- if (PRINT)
- System.out.print(schema());
- }
-}