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 2018/06/29 10:54:56 UTC
[09/27] incubator-taverna-plugin-component git commit: package rename
folders
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/annotations/package-info.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/annotations/package-info.java b/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/annotations/package-info.java
deleted file mode 100644
index 6a89454..0000000
--- a/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/annotations/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.
- */
-/**
- * Miscellaneous annotations on other parts of the component engine.
- *
- * @author Donal Fellows
- */
-package io.github.taverna_extras.component.registry.standard.annotations;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/package-info.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/package-info.java b/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/package-info.java
deleted file mode 100644
index 89df01a..0000000
--- a/taverna-component-activity/src/main/java/org/apache/taverna/component/registry/standard/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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.
- */
-/**
- * This is the new interface to the myExperiment registry, a.k.a. μExperiment.
- * @author Donal Fellows
- */
-package io.github.taverna_extras.component.registry.standard;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/AnnotationUtils.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/AnnotationUtils.java b/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/AnnotationUtils.java
deleted file mode 100644
index a3ac463..0000000
--- a/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/AnnotationUtils.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package io.github.taverna_extras.component.utils;
-/*
- * 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.io.IOException;
-import java.io.StringReader;
-import java.util.WeakHashMap;
-
-import org.apache.taverna.scufl2.api.annotation.Annotation;
-import org.apache.taverna.scufl2.api.common.Child;
-import org.apache.taverna.scufl2.api.common.Scufl2Tools;
-import org.apache.taverna.scufl2.api.common.URITools;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.ucfpackage.UCFPackage.ResourceEntry;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Statement;
-
-public class AnnotationUtils {
- private static final String TITLE_ANNOTATION = "http://purl.org/dc/terms/title";
- private static final String DESCRIPTION_ANNOTATION = "http://purl.org/dc/terms/description";
- private Scufl2Tools tools = new Scufl2Tools();
- private URITools uris = new URITools();
-
- public Model getAnnotationModel(Child<WorkflowBundle> subject) throws IOException {
- return ModelFactory.createDefaultModel().add(getModel(subject));
- }
-
- private WeakHashMap<Child<?>, Model> cache = new WeakHashMap<>();
-
- private static void readParse(Model model, WorkflowBundle bundle, String path)
- throws IOException {
- model.read(
- new StringReader(bundle.getResources()
- .getResourceAsString(path)), bundle.getGlobalBaseURI()
- .resolve(path).toString(), "TTL");
- }
-
- public Model getModel(Child<WorkflowBundle> subject) throws IOException {
- WorkflowBundle bundle = subject.getParent();
- Model m = cache.get(subject);
- if (m == null) {
- m = ModelFactory.createDefaultModel();
- long initialSize = m.size();
- for (Annotation a : tools.annotationsFor(subject,
- subject.getParent()))
- if (!a.getBody().isAbsolute())
- readParse(m, bundle, a.getBody().getPath());
- if (m.size() == initialSize)
- for (ResourceEntry o : bundle.getResources()
- .listResources("annotation").values())
- readParse(m, bundle, o.getPath());
- cache.put(subject, m);
- }
- return m;
- }
-
- public Statement getAnnotation(Child<WorkflowBundle> subject,
- String uriForAnnotation) throws IOException {
- Model m = getModel(subject);
- Property p = m.getProperty(uriForAnnotation);
- return m.getResource(uris.uriForBean(subject).toString()).getProperty(
- p);
- }
-
- /** Get the title of the main workflow in a workflow bundle. */
- public String getTitle(WorkflowBundle bundle, String defaultTitle) {
- try {
- Statement s = getAnnotation(bundle.getMainWorkflow(),
- TITLE_ANNOTATION);
- if (s != null && s.getObject().isLiteral())
- return s.getObject().asLiteral().getString();
- } catch (IOException e) {
- // TODO log this error?
- }
- return defaultTitle;
- }
-
- /** Get the description of the main workflow in a workflow bundle. */
- public String getDescription(WorkflowBundle bundle, String defaultDescription) {
- try {
- Statement s = getAnnotation(bundle.getMainWorkflow(),
- DESCRIPTION_ANNOTATION);
- if (s != null && s.getObject().isLiteral())
- return s.getObject().asLiteral().getString();
- } catch (IOException e) {
- // TODO log this error?
- }
- return defaultDescription;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/SystemUtils.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/SystemUtils.java b/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/SystemUtils.java
deleted file mode 100644
index 9a57122..0000000
--- a/taverna-component-activity/src/main/java/org/apache/taverna/component/utils/SystemUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package io.github.taverna_extras.component.utils;
-/*
- * 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.io.ByteArrayOutputStream;
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.JAXBElement;
-
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.registry.api.Description;
-import org.apache.taverna.configuration.app.ApplicationConfiguration;
-import org.apache.taverna.platform.execution.api.InvalidWorkflowException;
-import org.apache.taverna.platform.execution.api.WorkflowCompiler;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-import org.apache.taverna.workflowmodel.Dataflow;
-
-public class SystemUtils {
- private static final String T2FLOW_TYPE = "application/vnd.taverna.t2flow+xml";
- private static final String SCUFL2_TYPE = "application/vnd.taverna.scufl2.workflow-bundle";
- private ApplicationConfiguration appConfig;
- private WorkflowBundleIO workflowBundleIO;
- private List<WorkflowCompiler> compilers;
-
- public byte[] serializeBundle(WorkflowBundle bundle) throws ComponentException {
- try {
- ByteArrayOutputStream dataflowStream = new ByteArrayOutputStream();
- workflowBundleIO.writeBundle(bundle, dataflowStream, SCUFL2_TYPE);
- return dataflowStream.toByteArray();
- } catch (Exception e) {
- throw new ComponentException(
- "failed to serialize component implementation", e);
- }
- }
-
- private String determineMediaTypeForFilename(File file) {
- String[] pieces = file.getName().split("\\.");
- switch (pieces[pieces.length - 1]) {
- case "t2flow":
- return T2FLOW_TYPE;
- default:
- return SCUFL2_TYPE;
- }
- }
-
- public void saveBundle(WorkflowBundle bundle, File file) throws Exception {
- workflowBundleIO.writeBundle(bundle, file,
- determineMediaTypeForFilename(file));
- }
-
- public WorkflowBundle getBundleFromUri(String uri) throws Exception {
- return workflowBundleIO.readBundle(new URL(uri), null);
- }
-
- public WorkflowBundle getBundle(File file) throws Exception {
- return workflowBundleIO.readBundle(file, null);
- }
-
- public static JAXBElement<?> getElement(Description d, String name)
- throws ComponentException {
- for (Object o : d.getContent())
- if (o instanceof JAXBElement) {
- JAXBElement<?> el = (JAXBElement<?>) o;
- if (el.getName().getLocalPart().equals(name))
- return el;
- }
- throw new ComponentException("no " + name + " element");
- }
-
- public static String getElementString(Description d, String name)
- throws ComponentException {
- return getElement(d, name).getValue().toString().trim();
- }
-
- public static String getValue(Description d) {
- StringBuilder sb = new StringBuilder();
- for (Object o : d.getContent())
- if (!(o instanceof JAXBElement))
- sb.append(o);
- return sb.toString();
- }
-
- public File getApplicationHomeDir() {
- return appConfig.getApplicationHomeDir().toFile();
- }
-
- public void setAppConfig(ApplicationConfiguration appConfig) {
- this.appConfig = appConfig;
- }
-
- public void setWorkflowBundler(WorkflowBundleIO workflowBundler) {
- this.workflowBundleIO = workflowBundler;
- }
-
- public void setCompilers(List<WorkflowCompiler> compilers) {
- this.compilers = compilers;
- }
-
- public Dataflow compile(WorkflowBundle implementation)
- throws InvalidWorkflowException {
- InvalidWorkflowException exn = null;
- if (compilers != null)
- for (WorkflowCompiler c : new ArrayList<>(compilers))
- try {
- return c.getDataflow(implementation);
- } catch (InvalidWorkflowException e) {
- if (exn == null)
- exn = e;
- continue;
- }
- if (exn != null)
- throw exn;
- throw new InvalidWorkflowException("no compiler available");
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/AnnotationTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/AnnotationTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/AnnotationTest.java
new file mode 100644
index 0000000..6b885c3
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/AnnotationTest.java
@@ -0,0 +1,48 @@
+package io.github.taverna_extras.component;
+/*
+ * 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 org.junit.Assert.*;
+
+import java.io.IOException;
+
+import io.github.taverna_extras.component.utils.AnnotationUtils;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.io.ReaderException;
+import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
+
+public class AnnotationTest {
+ //org.apache.taverna.scufl2.annotation.AnnotationTools anntoo;
+ @Test
+ public void test() throws ReaderException, IOException {
+ AnnotationUtils au = new AnnotationUtils();
+ WorkflowBundleIO b = new WorkflowBundleIO();
+ final String WORKFLOW_FILE = "/hello_anyone.wfbundle";
+ final String TITLE = "Hello Anyone";
+ final String DESC = "An extension to helloworld.t2flow - this workflow takes a workflow input \"name\" which is combined with the string constant \"Hello, \" using the local worker \"Concatenate two strings\", and outputs the produced string to the workflow output \"greeting\".";
+
+ WorkflowBundle bdl = b.readBundle(
+ getClass().getResource(WORKFLOW_FILE), null);
+ assertEquals(TITLE, au.getTitle(bdl, "---NOT---GIVEN---"));
+ assertEquals(DESC, au.getDescription(bdl, "---NOT---GIVEN---"));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/ComponentActivityTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/ComponentActivityTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/ComponentActivityTest.java
new file mode 100644
index 0000000..63ce804
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/ComponentActivityTest.java
@@ -0,0 +1,125 @@
+package io.github.taverna_extras.component;
+/*
+ * 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 io.github.taverna_extras.component.activity.ComponentActivity;
+import io.github.taverna_extras.component.activity.ComponentActivityConfigurationBean;
+import io.github.taverna_extras.component.activity.ComponentActivityFactory;
+
+
+public class ComponentActivityTest {
+
+ @SuppressWarnings("unused")
+ private ComponentActivityConfigurationBean configBean;
+
+ @SuppressWarnings("unused")
+ private ComponentActivity activity = new ComponentActivityFactory().createActivity(); // FIXME
+
+/* @Before
+ public void makeConfigBean() throws Exception {
+ configBean = new ComponentActivityConfigurationBean();
+ configBean.setExampleString("something");
+ configBean
+ .setExampleUri(URI.create("http://localhost:8080/myEndPoint"));
+ }
+
+ @Test(expected = ActivityConfigurationException.class)
+ public void invalidConfiguration() throws ActivityConfigurationException {
+ ComponentActivityConfigurationBean invalidBean = new ComponentActivityConfigurationBean();
+ invalidBean.setExampleString("invalidExample");
+ // Should throw ActivityConfigurationException
+ activity.configure(invalidBean);
+ }
+
+ @Test
+ public void executeAsynch() throws Exception {
+ activity.configure(configBean);
+
+ Map<String, Object> inputs = new HashMap<String, Object>();
+ inputs.put("firstInput", "hello");
+
+ Map<String, Class<?>> expectedOutputTypes = new HashMap<String, Class<?>>();
+ expectedOutputTypes.put("simpleOutput", String.class);
+ expectedOutputTypes.put("moreOutputs", String.class);
+
+ Map<String, Object> outputs = ActivityInvoker.invokeAsyncActivity(
+ activity, inputs, expectedOutputTypes);
+
+ assertEquals("Unexpected outputs", 2, outputs.size());
+ assertEquals("simple", outputs.get("simpleOutput"));
+ assertEquals(Arrays.asList("Value 1", "Value 2"), outputs
+ .get("moreOutputs"));
+
+ }
+
+ @Test
+ public void reConfiguredActivity() throws Exception {
+ assertEquals("Unexpected inputs", 0, activity.getInputPorts().size());
+ assertEquals("Unexpected outputs", 0, activity.getOutputPorts().size());
+
+ activity.configure(configBean);
+ assertEquals("Unexpected inputs", 1, activity.getInputPorts().size());
+ assertEquals("Unexpected outputs", 2, activity.getOutputPorts().size());
+
+ activity.configure(configBean);
+ // Should not change on reconfigure
+ assertEquals("Unexpected inputs", 1, activity.getInputPorts().size());
+ assertEquals("Unexpected outputs", 2, activity.getOutputPorts().size());
+ }
+
+ @Test
+ public void reConfiguredSpecialPorts() throws Exception {
+ activity.configure(configBean);
+
+ ComponentActivityConfigurationBean specialBean = new ComponentActivityConfigurationBean();
+ specialBean.setExampleString("specialCase");
+ specialBean.setExampleUri(URI
+ .create("http://localhost:8080/myEndPoint"));
+ activity.configure(specialBean);
+ // Should now have added the optional ports
+ assertEquals("Unexpected inputs", 2, activity.getInputPorts().size());
+ assertEquals("Unexpected outputs", 3, activity.getOutputPorts().size());
+ }
+
+ @Test
+ public void configureActivity() throws Exception {
+ Set<String> expectedInputs = new HashSet<String>();
+ expectedInputs.add("firstInput");
+
+ Set<String> expectedOutputs = new HashSet<String>();
+ expectedOutputs.add("simpleOutput");
+ expectedOutputs.add("moreOutputs");
+
+ activity.configure(configBean);
+
+ Set<ActivityInputPort> inputPorts = activity.getInputPorts();
+ assertEquals(expectedInputs.size(), inputPorts.size());
+ for (ActivityInputPort inputPort : inputPorts) {
+ assertTrue("Wrong input : " + inputPort.getName(), expectedInputs
+ .remove(inputPort.getName()));
+ }
+
+ Set<OutputPort> outputPorts = activity.getOutputPorts();
+ assertEquals(expectedOutputs.size(), outputPorts.size());
+ for (OutputPort outputPort : outputPorts) {
+ assertTrue("Wrong output : " + outputPort.getName(),
+ expectedOutputs.remove(outputPort.getName()));
+ }
+ }*/
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentFamilyTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentFamilyTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentFamilyTest.java
new file mode 100644
index 0000000..29e4473
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentFamilyTest.java
@@ -0,0 +1,122 @@
+package io.github.taverna_extras.component.registry;
+/*
+ * 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 org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.net.URL;
+
+import io.github.taverna_extras.component.api.Family;
+import io.github.taverna_extras.component.api.Version;
+import io.github.taverna_extras.component.api.profile.Profile;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public class ComponentFamilyTest extends Harness {
+ private Family componentFamily;
+ private Profile componentProfile;
+ private WorkflowBundle bundle;
+
+ @Before
+ public void setup() throws Exception {
+ URL componentProfileUrl = getClass().getClassLoader().getResource(
+ "ValidationComponent.xml");
+ assertNotNull(componentProfileUrl);
+ componentProfile = util.getProfile(componentProfileUrl);
+ componentRegistry.addComponentProfile(componentProfile, null, null);
+ URL dataflowUrl = getClass().getClassLoader().getResource(
+ "beanshell_test.t2flow");
+ assertNotNull(dataflowUrl);
+ bundle = new WorkflowBundleIO().readBundle(dataflowUrl, null);
+ componentFamily = componentRegistry.createComponentFamily(
+ "Test Component Family", componentProfile, "Some description",
+ null, null);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ componentRegistry.removeComponentFamily(componentFamily);
+ }
+
+ @Test
+ public void testGetComponentRegistry() throws Exception {
+ assertEquals(componentRegistry, componentFamily.getComponentRegistry());
+ }
+
+ @Test
+ public void testGetName() throws Exception {
+ assertEquals("Test Component Family", componentFamily.getName());
+ assertEquals("Test Component Family", componentFamily.getName());
+ }
+
+ @Test
+ public void testGetComponentProfile() throws Exception {
+ Profile componentProfile2 = componentFamily.getComponentProfile();
+ assertNotNull(componentProfile2);
+ String id = componentProfile.getId();
+ String id2 = componentProfile2.getId();
+ assertEquals(id, id2);
+ }
+
+ @Test
+ public void testGetComponents() throws Exception {
+ assertEquals(0, componentFamily.getComponents().size());
+ assertEquals(0, componentFamily.getComponents().size());
+ Version componentVersion = componentFamily.createComponentBasedOn(
+ "Test Component", "Some description", bundle);
+ assertEquals(1, componentFamily.getComponents().size());
+ assertTrue(componentFamily.getComponents().contains(
+ componentVersion.getComponent()));
+ // componentFamily.removeComponent(componentVersion.getComponent());
+ // assertEquals(0, componentFamily.getComponents().size());
+ }
+
+ @Test
+ public void testCreateComponentBasedOn() throws Exception {
+ Version componentVersion = componentFamily.createComponentBasedOn(
+ "Test Component", "Some description", bundle);
+ assertEquals("Test Component", componentVersion.getComponent()
+ .getName());
+ }
+
+ @Test
+ public void testGetComponent() throws Exception {
+ assertNull(componentFamily.getComponent("Test Component"));
+ Version componentVersion = componentFamily.createComponentBasedOn(
+ "Test Component", "Some description", bundle);
+ assertNotNull(componentFamily.getComponent("Test Component"));
+ assertEquals(componentVersion.getComponent(),
+ componentFamily.getComponent("Test Component"));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentRegistryTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentRegistryTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentRegistryTest.java
new file mode 100644
index 0000000..f5328cc
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentRegistryTest.java
@@ -0,0 +1,181 @@
+package io.github.taverna_extras.component.registry;
+/*
+ * 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 org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.net.URL;
+import java.util.List;
+
+import io.github.taverna_extras.component.api.ComponentException;
+import io.github.taverna_extras.component.api.Family;
+import io.github.taverna_extras.component.api.profile.Profile;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public abstract class ComponentRegistryTest extends Harness {
+ private Profile componentProfile;
+
+ @Before
+ public void setup() throws Exception {
+ URL componentProfileUrl = getClass().getClassLoader().getResource(
+ "ValidationComponent.xml");
+ assertNotNull(componentProfileUrl);
+ componentProfile = util.getProfile(componentProfileUrl);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ for (Family componentFamily : componentRegistry.getComponentFamilies()) {
+ componentRegistry.removeComponentFamily(componentFamily);
+ }
+ }
+
+ @Test
+ public void testGetComponentFamilies() throws Exception {
+ assertEquals(0, componentRegistry.getComponentFamilies().size());
+ assertEquals(0, componentRegistry.getComponentFamilies().size());
+ Family componentFamily = componentRegistry.createComponentFamily(
+ "TestComponentFamily", componentProfile, "Some description",
+ null, null);
+ assertEquals(1, componentRegistry.getComponentFamilies().size());
+ assertTrue(componentRegistry.getComponentFamilies().contains(
+ componentFamily));
+ componentRegistry.removeComponentFamily(componentFamily);
+ assertEquals(0, componentRegistry.getComponentFamilies().size());
+ }
+
+ @Test
+ public void testGetComponentFamily() throws Exception {
+ assertNull(componentRegistry.getComponentFamily("TestComponentFamily"));
+ assertNull(componentRegistry.getComponentFamily("TestComponentFamily"));
+ Family componentFamily = componentRegistry.createComponentFamily(
+ "TestComponentFamily", componentProfile, "Some description",
+ null, null);
+ assertNotNull(componentRegistry
+ .getComponentFamily("TestComponentFamily"));
+ assertNotNull(componentRegistry
+ .getComponentFamily("TestComponentFamily"));
+ assertEquals(componentFamily,
+ componentRegistry.getComponentFamily("TestComponentFamily"));
+ componentRegistry.removeComponentFamily(componentFamily);
+ assertNull(componentRegistry.getComponentFamily("TestComponentFamily"));
+ }
+
+ @Test
+ public void testCreateComponentFamily() throws Exception {
+ assertEquals(0, componentRegistry.getComponentFamilies().size());
+ assertNull(componentRegistry.getComponentFamily("TestComponentFamily"));
+ Family componentFamily = componentRegistry.createComponentFamily(
+ "TestComponentFamily", componentProfile, "Some description",
+ null, null);
+ assertEquals("TestComponentFamily", componentFamily.getName());
+ assertEquals(componentRegistry, componentFamily.getComponentRegistry());
+ assertEquals(0, componentFamily.getComponents().size());
+ // assertEquals(componentProfile,
+ // componentFamily.getComponentProfile());
+ assertEquals(1, componentRegistry.getComponentFamilies().size());
+ assertNotNull(componentRegistry
+ .getComponentFamily("TestComponentFamily"));
+ assertEquals(componentFamily,
+ componentRegistry.getComponentFamily("TestComponentFamily"));
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateComponentFamilyDuplicate() throws Exception {
+ componentRegistry.createComponentFamily("TestComponentFamily",
+ componentProfile, "Some description", null, null);
+ componentRegistry.createComponentFamily("TestComponentFamily",
+ componentProfile, "Some description", null, null);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateComponentFamilyNullProfile() throws Exception {
+ componentRegistry.createComponentFamily("TestComponentFamily", null,
+ "Some description", null, null);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateComponentFamilyNullName() throws Exception {
+ componentRegistry.createComponentFamily(null, componentProfile,
+ "Some description", null, null);
+ }
+
+ @Test
+ public void testRemoveComponentFamily() throws Exception {
+ assertEquals(0, componentRegistry.getComponentFamilies().size());
+ assertNull(componentRegistry.getComponentFamily("TestComponentFamily"));
+ Family componentFamily = componentRegistry.createComponentFamily(
+ "TestComponentFamily", componentProfile, "Some description",
+ null, null);
+ assertEquals(1, componentRegistry.getComponentFamilies().size());
+ assertNotNull(componentRegistry
+ .getComponentFamily("TestComponentFamily"));
+ assertEquals(componentFamily,
+ componentRegistry.getComponentFamily("TestComponentFamily"));
+ componentRegistry.removeComponentFamily(componentFamily);
+ assertEquals(0, componentRegistry.getComponentFamilies().size());
+ assertNull(componentRegistry.getComponentFamily("TestComponentFamily"));
+ }
+
+ @Test
+ public void testGetResistryBase() throws Exception {
+ assertEquals(componentRegistryUrl, componentRegistry.getRegistryBase());
+ }
+
+ @Test
+ public void testGetComponentProfiles() throws Exception {
+ assertNotNull(componentRegistry.getComponentProfiles());
+ }
+
+ @Test
+ public void testAddComponentProfile() throws Exception {
+ List<Profile> componentProfiles = componentRegistry
+ .getComponentProfiles();
+ boolean contained = false;
+ for (Profile p : componentProfiles) {
+ if (p.getId().equals(componentProfile.getId())) {
+ contained = true;
+ }
+ }
+ assertFalse(contained);
+ int componentProfileCount = componentProfiles.size();
+ componentRegistry.addComponentProfile(componentProfile, null, null);
+ int newSize = componentRegistry.getComponentProfiles().size();
+ assertEquals(componentProfileCount + 1, newSize);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testAddComponentProfileNullProfile() throws Exception {
+ componentRegistry.addComponentProfile(null, null, null);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentTest.java
new file mode 100644
index 0000000..0ced0c8
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentTest.java
@@ -0,0 +1,111 @@
+package io.github.taverna_extras.component.registry;
+/*
+ * 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 org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.net.URL;
+
+import io.github.taverna_extras.component.api.Component;
+import io.github.taverna_extras.component.api.Family;
+import io.github.taverna_extras.component.api.Version;
+import io.github.taverna_extras.component.api.profile.Profile;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public class ComponentTest extends Harness {
+ private Family componentFamily;
+ private Component component;
+ private WorkflowBundle bundle;
+
+ @Before
+ public void setUp() throws Exception {
+ URL dataflowUrl = getClass().getClassLoader().getResource(
+ "beanshell_test.t2flow");
+ assertNotNull(dataflowUrl);
+ bundle = new WorkflowBundleIO().readBundle(dataflowUrl, null);
+ URL componentProfileUrl = getClass().getClassLoader().getResource(
+ "ValidationComponent.xml");
+ assertNotNull(componentProfileUrl);
+ Profile componentProfile = util
+ .getProfile(componentProfileUrl);
+ componentFamily = componentRegistry.createComponentFamily(
+ "Test Component Family", componentProfile, "Some description",
+ null, null);
+ component = componentFamily.createComponentBasedOn("Test Component",
+ "Some description", bundle).getComponent();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ componentRegistry.removeComponentFamily(componentFamily);
+ }
+
+ @Test
+ public void testGetName() throws Exception {
+ assertEquals("Test Component", component.getName());
+ assertEquals("Test Component", component.getName());
+ }
+
+ @Test
+ public void testGetComponentVersionMap() throws Exception {
+ assertNotNull(component.getComponentVersionMap());
+ assertEquals(1, component.getComponentVersionMap().size());
+ assertEquals(component, component.getComponentVersionMap().get(1)
+ .getComponent());
+ }
+
+ @Test
+ public void testGetComponentVersion() throws Exception {
+ assertNotNull(component.getComponentVersion(1));
+ assertNull(component.getComponentVersion(2));
+ }
+
+ @Test
+ public void testAddVersionBasedOn() throws Exception {
+ assertNotNull(component.getComponentVersion(1));
+ assertNull(component.getComponentVersion(2));
+ Version componentVersion = component.addVersionBasedOn(bundle,
+ "Some description");
+ assertNotNull(componentVersion);
+ assertEquals(component, componentVersion.getComponent());
+ assertEquals(2, componentVersion.getVersionNumber().intValue());
+ assertEquals(bundle.getIdentifier(), componentVersion.getImplementation()
+ .getIdentifier());
+ }
+
+ @Test
+ public void testGetComponentURL() throws Exception {
+ assertNotNull(component.getComponentURL());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentVersionTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentVersionTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentVersionTest.java
new file mode 100644
index 0000000..48b320b
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/ComponentVersionTest.java
@@ -0,0 +1,94 @@
+package io.github.taverna_extras.component.registry;
+/*
+ * 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 org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.net.URL;
+
+import io.github.taverna_extras.component.api.Family;
+import io.github.taverna_extras.component.api.Version;
+import io.github.taverna_extras.component.api.profile.Profile;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public class ComponentVersionTest extends Harness {
+ private Family componentFamily;
+ private WorkflowBundle bundle;
+ private Version componentVersion;
+
+ @Before
+ public void setUp() throws Exception {
+ URL dataflowUrl = getClass().getClassLoader().getResource(
+ "beanshell_test.t2flow");
+ assertNotNull(dataflowUrl);
+ bundle = new WorkflowBundleIO().readBundle(dataflowUrl, null);
+ URL componentProfileUrl = getClass().getClassLoader().getResource(
+ "ValidationComponent.xml");
+ assertNotNull(componentProfileUrl);
+ Profile componentProfile = util.getProfile(componentProfileUrl);
+ componentFamily = componentRegistry.createComponentFamily(
+ "Test Component Family", componentProfile, "Some description",
+ null, null);
+ componentVersion = componentFamily.createComponentBasedOn(
+ "Test Component", "Some description", bundle);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ componentRegistry.removeComponentFamily(componentFamily);
+ }
+
+ @Test
+ public void testGetVersionNumber() throws Exception {
+ assertNotNull(componentVersion.getVersionNumber());
+ assertEquals(componentVersion.getVersionNumber(),
+ componentVersion.getVersionNumber());
+ }
+
+ @Test
+ public void testGetDescription() throws Exception {
+ assertNotNull(componentVersion.getDescription());
+ }
+
+ @Test
+ public void testGetDataflow() throws Exception {
+ assertNotNull(componentVersion.getImplementation());
+ assertEquals(bundle.getIdentifier(), componentVersion.getImplementation()
+ .getIdentifier());
+ }
+
+ @Test
+ public void testGetComponent() throws Exception {
+ assertNotNull(componentVersion.getComponent());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/Harness.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/Harness.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/Harness.java
new file mode 100644
index 0000000..663704c
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/Harness.java
@@ -0,0 +1,30 @@
+package io.github.taverna_extras.component.registry;
+/*
+ * 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.URL;
+
+import io.github.taverna_extras.component.api.Registry;
+import io.github.taverna_extras.component.registry.ComponentUtil;
+
+public class Harness {
+ public static URL componentRegistryUrl;
+ public static Registry componentRegistry;
+ public static ComponentUtil util;
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentFamilyTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentFamilyTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentFamilyTest.java
new file mode 100644
index 0000000..b5791e8
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentFamilyTest.java
@@ -0,0 +1,40 @@
+package io.github.taverna_extras.component.registry.local;
+/*
+ * 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 io.github.taverna_extras.component.registry.ComponentFamilyTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+public class LocalComponentFamilyTest extends ComponentFamilyTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentRegistryTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentRegistryTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentRegistryTest.java
new file mode 100644
index 0000000..2a57e1c
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentRegistryTest.java
@@ -0,0 +1,59 @@
+package io.github.taverna_extras.component.registry.local;
+/*
+ * 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 org.junit.Assert.assertSame;
+
+import io.github.taverna_extras.component.api.Registry;
+import io.github.taverna_extras.component.registry.ComponentRegistryTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+public class LocalComponentRegistryTest extends ComponentRegistryTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+
+ @Test
+ public void testGetComponentRegistry() throws Exception {
+ Registry getAgain = RegistrySupport.factory
+ .getComponentRegistry(componentRegistryUrl);
+ assertSame(componentRegistry, getAgain);
+ }
+
+ @Test
+ @Ignore("broken")
+ @Override
+ public void testAddComponentProfile() throws Exception {
+ super.testAddComponentProfile();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentTest.java
new file mode 100644
index 0000000..f82e591
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentTest.java
@@ -0,0 +1,40 @@
+package io.github.taverna_extras.component.registry.local;
+/*
+ * 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 io.github.taverna_extras.component.registry.ComponentTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+public class LocalComponentTest extends ComponentTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentVersionTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentVersionTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentVersionTest.java
new file mode 100644
index 0000000..f08425e
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/LocalComponentVersionTest.java
@@ -0,0 +1,40 @@
+package io.github.taverna_extras.component.registry.local;
+/*
+ * 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 io.github.taverna_extras.component.registry.ComponentVersionTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+public class LocalComponentVersionTest extends ComponentVersionTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/RegistrySupport.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/RegistrySupport.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/RegistrySupport.java
new file mode 100644
index 0000000..cac3eff
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/local/RegistrySupport.java
@@ -0,0 +1,44 @@
+package io.github.taverna_extras.component.registry.local;
+/*
+ * 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 java.lang.System.getProperty;
+import static org.apache.commons.io.FileUtils.deleteDirectory;
+import static io.github.taverna_extras.component.registry.Harness.componentRegistry;
+import static io.github.taverna_extras.component.registry.Harness.componentRegistryUrl;
+
+import java.io.File;
+
+import io.github.taverna_extras.component.registry.local.LocalComponentRegistryFactory;
+
+class RegistrySupport {
+ private static File testRegistry;
+ final static LocalComponentRegistryFactory factory = new LocalComponentRegistryFactory();
+
+ public static void pre() throws Exception {
+ testRegistry = new File(getProperty("java.io.tmpdir"), "TestRegistry");
+ testRegistry.mkdir();
+ componentRegistryUrl = testRegistry.toURI().toURL();
+ componentRegistry = factory.getComponentRegistry(componentRegistryUrl);
+ }
+
+ public static void post() throws Exception {
+ deleteDirectory(testRegistry);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentFamilyTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentFamilyTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentFamilyTest.java
new file mode 100644
index 0000000..bb06af5
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentFamilyTest.java
@@ -0,0 +1,42 @@
+package io.github.taverna_extras.component.registry.standard;
+/*
+ * 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 io.github.taverna_extras.component.registry.ComponentFamilyTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public class NewComponentFamilyTest extends ComponentFamilyTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentRegistryTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentRegistryTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentRegistryTest.java
new file mode 100644
index 0000000..86417d5
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentRegistryTest.java
@@ -0,0 +1,75 @@
+package io.github.taverna_extras.component.registry.standard;
+/*
+ * 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 org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
+import java.net.URL;
+
+import io.github.taverna_extras.component.api.Version;
+import io.github.taverna_extras.component.registry.ComponentRegistryTest;
+import io.github.taverna_extras.component.registry.standard.NewComponent;
+import io.github.taverna_extras.component.registry.standard.NewComponentRegistry;
+import io.github.taverna_extras.component.registry.standard.Policy;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.taverna.scufl2.api.container.WorkflowBundle;
+import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore("affects remote service")
+public class NewComponentRegistryTest extends ComponentRegistryTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+
+ @Test
+ public void testGetComponentRegistry() throws Exception {
+ assertSame(componentRegistry,
+ RegistrySupport.factory.getComponentRegistry(componentRegistryUrl));
+ }
+
+ @Test
+ public void testUploadWorkflow() throws Exception {
+ URL dataflowUrl = getClass().getClassLoader().getResource(
+ "beanshell_test.t2flow");
+ WorkflowBundle bundle = new WorkflowBundleIO().readBundle(dataflowUrl, null);
+
+ NewComponentRegistry registry = (NewComponentRegistry) RegistrySupport.factory.getComponentRegistry(componentRegistryUrl);
+ Version v = registry.createComponentFrom(null, "Test Workflow",
+ "test description", bundle, null, Policy.PRIVATE);
+ assertEquals("test description", v.getDescription());
+ registry.deleteComponent((NewComponent) v.getComponent());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentTest.java
new file mode 100644
index 0000000..2281cb0
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentTest.java
@@ -0,0 +1,42 @@
+package io.github.taverna_extras.component.registry.standard;
+/*
+ * 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 io.github.taverna_extras.component.registry.ComponentTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public class NewComponentTest extends ComponentTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentVersionTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentVersionTest.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentVersionTest.java
new file mode 100644
index 0000000..cad04eb
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/NewComponentVersionTest.java
@@ -0,0 +1,42 @@
+package io.github.taverna_extras.component.registry.standard;
+/*
+ * 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 io.github.taverna_extras.component.registry.ComponentVersionTest;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+
+/**
+ *
+ *
+ * @author David Withers
+ */
+@Ignore
+public class NewComponentVersionTest extends ComponentVersionTest {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ RegistrySupport.pre();
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ RegistrySupport.post();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/RegistrySupport.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/RegistrySupport.java b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/RegistrySupport.java
new file mode 100644
index 0000000..a1d0fef
--- /dev/null
+++ b/taverna-component-activity/src/test/java/io/github/taverna_extras/component/registry/standard/RegistrySupport.java
@@ -0,0 +1,55 @@
+package io.github.taverna_extras.component.registry.standard;
+/*
+ * 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 io.github.taverna_extras.component.registry.Harness.componentRegistry;
+import static io.github.taverna_extras.component.registry.Harness.componentRegistryUrl;
+
+import java.net.URL;
+
+import io.github.taverna_extras.component.api.Component;
+import io.github.taverna_extras.component.api.Family;
+import io.github.taverna_extras.component.api.profile.Profile;
+import io.github.taverna_extras.component.registry.standard.NewComponent;
+import io.github.taverna_extras.component.registry.standard.NewComponentFamily;
+import io.github.taverna_extras.component.registry.standard.NewComponentRegistry;
+import io.github.taverna_extras.component.registry.standard.NewComponentRegistryFactory;
+
+class RegistrySupport {
+ static final String DEPLOYMENT = "http://aeon.cs.man.ac.uk:3006";
+ static final NewComponentRegistryFactory factory = new NewComponentRegistryFactory();// FIXME
+
+ public static void pre() throws Exception {
+ componentRegistryUrl = new URL(DEPLOYMENT);
+ componentRegistry = factory.getComponentRegistry(componentRegistryUrl);
+ }
+
+ public static void post() throws Exception {
+ NewComponentRegistry registry = (NewComponentRegistry) factory
+ .getComponentRegistry(componentRegistryUrl);
+ for (Profile p : registry.getComponentProfiles())
+ registry.client.delete("/file.xml", "id=" + p.getId());
+ for (Family f : registry.getComponentFamilies()) {
+ for (Component c : f.getComponents())
+ registry.deleteComponent((NewComponent) c);
+ registry.client.delete("/pack.xml", "id="
+ + ((NewComponentFamily) f).getId());
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/org/apache/taverna/component/AnnotationTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/org/apache/taverna/component/AnnotationTest.java b/taverna-component-activity/src/test/java/org/apache/taverna/component/AnnotationTest.java
deleted file mode 100644
index 6b885c3..0000000
--- a/taverna-component-activity/src/test/java/org/apache/taverna/component/AnnotationTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package io.github.taverna_extras.component;
-/*
- * 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 org.junit.Assert.*;
-
-import java.io.IOException;
-
-import io.github.taverna_extras.component.utils.AnnotationUtils;
-import org.junit.Test;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.ReaderException;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-
-public class AnnotationTest {
- //org.apache.taverna.scufl2.annotation.AnnotationTools anntoo;
- @Test
- public void test() throws ReaderException, IOException {
- AnnotationUtils au = new AnnotationUtils();
- WorkflowBundleIO b = new WorkflowBundleIO();
- final String WORKFLOW_FILE = "/hello_anyone.wfbundle";
- final String TITLE = "Hello Anyone";
- final String DESC = "An extension to helloworld.t2flow - this workflow takes a workflow input \"name\" which is combined with the string constant \"Hello, \" using the local worker \"Concatenate two strings\", and outputs the produced string to the workflow output \"greeting\".";
-
- WorkflowBundle bdl = b.readBundle(
- getClass().getResource(WORKFLOW_FILE), null);
- assertEquals(TITLE, au.getTitle(bdl, "---NOT---GIVEN---"));
- assertEquals(DESC, au.getDescription(bdl, "---NOT---GIVEN---"));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/org/apache/taverna/component/ComponentActivityTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/org/apache/taverna/component/ComponentActivityTest.java b/taverna-component-activity/src/test/java/org/apache/taverna/component/ComponentActivityTest.java
deleted file mode 100644
index 63ce804..0000000
--- a/taverna-component-activity/src/test/java/org/apache/taverna/component/ComponentActivityTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package io.github.taverna_extras.component;
-/*
- * 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 io.github.taverna_extras.component.activity.ComponentActivity;
-import io.github.taverna_extras.component.activity.ComponentActivityConfigurationBean;
-import io.github.taverna_extras.component.activity.ComponentActivityFactory;
-
-
-public class ComponentActivityTest {
-
- @SuppressWarnings("unused")
- private ComponentActivityConfigurationBean configBean;
-
- @SuppressWarnings("unused")
- private ComponentActivity activity = new ComponentActivityFactory().createActivity(); // FIXME
-
-/* @Before
- public void makeConfigBean() throws Exception {
- configBean = new ComponentActivityConfigurationBean();
- configBean.setExampleString("something");
- configBean
- .setExampleUri(URI.create("http://localhost:8080/myEndPoint"));
- }
-
- @Test(expected = ActivityConfigurationException.class)
- public void invalidConfiguration() throws ActivityConfigurationException {
- ComponentActivityConfigurationBean invalidBean = new ComponentActivityConfigurationBean();
- invalidBean.setExampleString("invalidExample");
- // Should throw ActivityConfigurationException
- activity.configure(invalidBean);
- }
-
- @Test
- public void executeAsynch() throws Exception {
- activity.configure(configBean);
-
- Map<String, Object> inputs = new HashMap<String, Object>();
- inputs.put("firstInput", "hello");
-
- Map<String, Class<?>> expectedOutputTypes = new HashMap<String, Class<?>>();
- expectedOutputTypes.put("simpleOutput", String.class);
- expectedOutputTypes.put("moreOutputs", String.class);
-
- Map<String, Object> outputs = ActivityInvoker.invokeAsyncActivity(
- activity, inputs, expectedOutputTypes);
-
- assertEquals("Unexpected outputs", 2, outputs.size());
- assertEquals("simple", outputs.get("simpleOutput"));
- assertEquals(Arrays.asList("Value 1", "Value 2"), outputs
- .get("moreOutputs"));
-
- }
-
- @Test
- public void reConfiguredActivity() throws Exception {
- assertEquals("Unexpected inputs", 0, activity.getInputPorts().size());
- assertEquals("Unexpected outputs", 0, activity.getOutputPorts().size());
-
- activity.configure(configBean);
- assertEquals("Unexpected inputs", 1, activity.getInputPorts().size());
- assertEquals("Unexpected outputs", 2, activity.getOutputPorts().size());
-
- activity.configure(configBean);
- // Should not change on reconfigure
- assertEquals("Unexpected inputs", 1, activity.getInputPorts().size());
- assertEquals("Unexpected outputs", 2, activity.getOutputPorts().size());
- }
-
- @Test
- public void reConfiguredSpecialPorts() throws Exception {
- activity.configure(configBean);
-
- ComponentActivityConfigurationBean specialBean = new ComponentActivityConfigurationBean();
- specialBean.setExampleString("specialCase");
- specialBean.setExampleUri(URI
- .create("http://localhost:8080/myEndPoint"));
- activity.configure(specialBean);
- // Should now have added the optional ports
- assertEquals("Unexpected inputs", 2, activity.getInputPorts().size());
- assertEquals("Unexpected outputs", 3, activity.getOutputPorts().size());
- }
-
- @Test
- public void configureActivity() throws Exception {
- Set<String> expectedInputs = new HashSet<String>();
- expectedInputs.add("firstInput");
-
- Set<String> expectedOutputs = new HashSet<String>();
- expectedOutputs.add("simpleOutput");
- expectedOutputs.add("moreOutputs");
-
- activity.configure(configBean);
-
- Set<ActivityInputPort> inputPorts = activity.getInputPorts();
- assertEquals(expectedInputs.size(), inputPorts.size());
- for (ActivityInputPort inputPort : inputPorts) {
- assertTrue("Wrong input : " + inputPort.getName(), expectedInputs
- .remove(inputPort.getName()));
- }
-
- Set<OutputPort> outputPorts = activity.getOutputPorts();
- assertEquals(expectedOutputs.size(), outputPorts.size());
- for (OutputPort outputPort : outputPorts) {
- assertTrue("Wrong output : " + outputPort.getName(),
- expectedOutputs.remove(outputPort.getName()));
- }
- }*/
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-activity/src/test/java/org/apache/taverna/component/registry/ComponentFamilyTest.java
----------------------------------------------------------------------
diff --git a/taverna-component-activity/src/test/java/org/apache/taverna/component/registry/ComponentFamilyTest.java b/taverna-component-activity/src/test/java/org/apache/taverna/component/registry/ComponentFamilyTest.java
deleted file mode 100644
index 29e4473..0000000
--- a/taverna-component-activity/src/test/java/org/apache/taverna/component/registry/ComponentFamilyTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package io.github.taverna_extras.component.registry;
-/*
- * 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 org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.net.URL;
-
-import io.github.taverna_extras.component.api.Family;
-import io.github.taverna_extras.component.api.Version;
-import io.github.taverna_extras.component.api.profile.Profile;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-import org.apache.taverna.scufl2.api.io.WorkflowBundleIO;
-
-/**
- *
- *
- * @author David Withers
- */
-@Ignore
-public class ComponentFamilyTest extends Harness {
- private Family componentFamily;
- private Profile componentProfile;
- private WorkflowBundle bundle;
-
- @Before
- public void setup() throws Exception {
- URL componentProfileUrl = getClass().getClassLoader().getResource(
- "ValidationComponent.xml");
- assertNotNull(componentProfileUrl);
- componentProfile = util.getProfile(componentProfileUrl);
- componentRegistry.addComponentProfile(componentProfile, null, null);
- URL dataflowUrl = getClass().getClassLoader().getResource(
- "beanshell_test.t2flow");
- assertNotNull(dataflowUrl);
- bundle = new WorkflowBundleIO().readBundle(dataflowUrl, null);
- componentFamily = componentRegistry.createComponentFamily(
- "Test Component Family", componentProfile, "Some description",
- null, null);
- }
-
- @After
- public void tearDown() throws Exception {
- componentRegistry.removeComponentFamily(componentFamily);
- }
-
- @Test
- public void testGetComponentRegistry() throws Exception {
- assertEquals(componentRegistry, componentFamily.getComponentRegistry());
- }
-
- @Test
- public void testGetName() throws Exception {
- assertEquals("Test Component Family", componentFamily.getName());
- assertEquals("Test Component Family", componentFamily.getName());
- }
-
- @Test
- public void testGetComponentProfile() throws Exception {
- Profile componentProfile2 = componentFamily.getComponentProfile();
- assertNotNull(componentProfile2);
- String id = componentProfile.getId();
- String id2 = componentProfile2.getId();
- assertEquals(id, id2);
- }
-
- @Test
- public void testGetComponents() throws Exception {
- assertEquals(0, componentFamily.getComponents().size());
- assertEquals(0, componentFamily.getComponents().size());
- Version componentVersion = componentFamily.createComponentBasedOn(
- "Test Component", "Some description", bundle);
- assertEquals(1, componentFamily.getComponents().size());
- assertTrue(componentFamily.getComponents().contains(
- componentVersion.getComponent()));
- // componentFamily.removeComponent(componentVersion.getComponent());
- // assertEquals(0, componentFamily.getComponents().size());
- }
-
- @Test
- public void testCreateComponentBasedOn() throws Exception {
- Version componentVersion = componentFamily.createComponentBasedOn(
- "Test Component", "Some description", bundle);
- assertEquals("Test Component", componentVersion.getComponent()
- .getName());
- }
-
- @Test
- public void testGetComponent() throws Exception {
- assertNull(componentFamily.getComponent("Test Component"));
- Version componentVersion = componentFamily.createComponentBasedOn(
- "Test Component", "Some description", bundle);
- assertNotNull(componentFamily.getComponent("Test Component"));
- assertEquals(componentVersion.getComponent(),
- componentFamily.getComponent("Test Component"));
- }
-
-}