http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/PortProfile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/PortProfile.java
 
b/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/PortProfile.java
new file mode 100644
index 0000000..d89b571
--- /dev/null
+++ 
b/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/PortProfile.java
@@ -0,0 +1,22 @@
+package io.github.taverna_extras.component.api.profile;
+/*
+ * 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.
+ */
+
+public interface PortProfile extends AnnotatedElement {
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/Profile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/Profile.java
 
b/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/Profile.java
new file mode 100644
index 0000000..c08ddc9
--- /dev/null
+++ 
b/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/Profile.java
@@ -0,0 +1,65 @@
+package io.github.taverna_extras.component.api.profile;
+/*
+ * 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.util.List;
+import java.util.Map;
+
+import io.github.taverna_extras.component.api.ComponentException;
+import io.github.taverna_extras.component.api.NamedItem;
+import io.github.taverna_extras.component.api.Registry;
+
+import org.apache.jena.ontology.OntModel;
+
+public interface Profile extends NamedItem, AnnotatedElement {
+
+       Registry getComponentRegistry();
+
+       String getXML() throws ComponentException;
+
+       io.github.taverna_extras.component.api.profile.doc.Profile 
getProfileDocument()
+                       throws ComponentException;
+
+       String getId();
+
+       String getOntologyLocation(String ontologyId);
+
+       Map<String, String> getPrefixMap() throws ComponentException;
+
+       OntModel getOntology(String ontologyId);
+
+       List<PortProfile> getInputPortProfiles();
+
+       List<SemanticAnnotationProfile> getInputSemanticAnnotationProfiles()
+                       throws ComponentException;
+
+       List<PortProfile> getOutputPortProfiles();
+
+       List<SemanticAnnotationProfile> getOutputSemanticAnnotationProfiles()
+                       throws ComponentException;
+
+       List<ActivityProfile> getActivityProfiles();
+
+       List<SemanticAnnotationProfile> getActivitySemanticAnnotationProfiles()
+                       throws ComponentException;
+
+       ExceptionHandling getExceptionHandling();
+
+       void delete() throws ComponentException;
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/SemanticAnnotationProfile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/SemanticAnnotationProfile.java
 
b/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/SemanticAnnotationProfile.java
new file mode 100644
index 0000000..c7e040f
--- /dev/null
+++ 
b/taverna-component-repository-api/src/main/java/io/github/taverna_extras/component/api/profile/SemanticAnnotationProfile.java
@@ -0,0 +1,72 @@
+package io.github.taverna_extras.component.api.profile;
+/*
+ * 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.util.List;
+
+import org.apache.jena.ontology.Individual;
+import org.apache.jena.ontology.OntClass;
+import org.apache.jena.ontology.OntModel;
+import org.apache.jena.ontology.OntProperty;
+
+public interface SemanticAnnotationProfile {
+
+       /**
+        * Returns the ontology that defines semantic annotation.
+        * 
+        * @return the ontology that defines semantic annotation
+        */
+       OntModel getOntology();
+
+       /**
+        * Returns the predicate for the semantic annotation.
+        * 
+        * @return the predicate for the semantic annotation
+        */
+       OntProperty getPredicate();
+
+       String getPredicateString();
+
+       String getClassString();
+
+       /**
+        * Returns the individual that the semantic annotation must use.
+        * 
+        * May be null if no explicit individual is required.
+        * 
+        * @return the individual that the semantic annotation must use
+        */
+       Individual getIndividual();
+
+       /**
+        * Returns the individuals in the range of the predicate defined in the
+        * ontology.
+        * 
+        * @return the individuals in the range of the predicate defined in the
+        *         ontology
+        */
+       List<Individual> getIndividuals();
+
+       Integer getMinOccurs();
+
+       Integer getMaxOccurs();
+
+       OntClass getRangeClass();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Component.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Component.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Component.java
deleted file mode 100644
index e014fb9..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Component.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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 java.util.SortedMap;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-
-/**
- * The abstract interface supported by a component.
- * 
- * @author Donal Fellows
- * @author David Withers
- */
-public interface Component extends NamedItem {
-       /**
-        * @return the name of the Component.
-        */
-       @Override
-       String getName();
-
-       /**
-        * Returns the URL for the Component.
-        * 
-        * @return the URL for the Component.
-        */
-       URL getComponentURL();
-
-       /**
-        * Creates a new version of this Component.
-        * 
-        * @param bundle
-        *            the workflow that the new ComponentVersion will use.
-        * @return a new version of this Component.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       Version addVersionBasedOn(WorkflowBundle bundle, String revisionComment)
-                       throws ComponentException;
-
-       /**
-        * Returns the ComponentVersion that has the specified version number.
-        * 
-        * @param version
-        *            the version number of the ComponentVersion to return.
-        * @return the ComponentVersion that has the specified version number.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       Version getComponentVersion(Integer version) throws ComponentException;
-
-       /**
-        * @return the description of the Component.
-        */
-       @Override
-       String getDescription();
-
-       /**
-        * Returns a SortedMap of version number to ComponentVersion.
-        * <p>
-        * The returned map is sorted increasing numeric order.
-        * 
-        * @return a SortedMap of version number to ComponentVersion.
-        */
-       SortedMap<Integer, Version> getComponentVersionMap();
-
-       Registry getRegistry();
-
-       Family getFamily();
-
-       void delete() throws ComponentException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentException.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentException.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentException.java
deleted file mode 100644
index 044903e..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.
- */
-
-/**
- * Thrown when there is a problem interacting with a ComponentRegistry.
- *
- * @author David Withers
- */
-public class ComponentException extends Exception {
-       private static final long serialVersionUID = -5222074350812438467L;
-
-       public ComponentException() {
-               super();
-       }
-
-       public ComponentException(String message, Throwable cause) {
-               super(message, cause);
-       }
-
-       public ComponentException(String message) {
-               super(message);
-       }
-
-       public ComponentException(Throwable cause) {
-               super(cause);
-       }
-
-       public ComponentException(String messageTemplate, Object...parameters) {
-               super(String.format(messageTemplate, parameters));
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentFactory.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentFactory.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentFactory.java
deleted file mode 100644
index 5b69b61..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/ComponentFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.profile.Profile;
-
-public interface ComponentFactory {
-       public Registry getRegistry(URL registryBase) throws ComponentException;
-
-       public Family getFamily(URL registryBase, String familyName)
-                       throws ComponentException;
-
-       public Component getComponent(URL registryBase, String familyName,
-                       String componentName) throws ComponentException;
-
-       public Version getVersion(URL registryBase, String familyName,
-                       String componentName, Integer componentVersion)
-                       throws ComponentException;
-
-       public Version getVersion(Version.ID ident) throws ComponentException;
-
-       public Component getComponent(Version.ID ident) throws 
ComponentException;
-
-       public Profile getProfile(URL url) throws ComponentException;
-
-       public Profile getBaseProfile() throws ComponentException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Family.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Family.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Family.java
deleted file mode 100644
index ca4ec54..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Family.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.util.List;
-
-import io.github.taverna_extras.component.api.profile.Profile;
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-
-public interface Family extends NamedItem {
-       /**
-        * Creates a new Component and adds it to this ComponentFamily.
-        * 
-        * @param componentName
-        *            the name of the Component to create. Must not be null.
-        * @param bundle
-        *            the workflow for the Component. Must not be null.
-        * @return the new Component.
-        * @throws ComponentException
-        *             <ul>
-        *             <li>if componentName is null,
-        *             <li>if dataflow is null,
-        *             <li>if a Component with this name already exists,
-        *             <li>if there is a problem accessing the 
ComponentRegistry.
-        *             </ul>
-        */
-       Version createComponentBasedOn(String componentName, String description,
-                       WorkflowBundle bundle) throws ComponentException;
-
-       /**
-        * Returns the Component with the specified name.
-        * <p>
-        * If this ComponentFamily does not contain a Component with the 
specified
-        * name <code>null</code> is returned.
-        * 
-        * @param componentName
-        *            the name of the Component to return. Must not be null.
-        * @return the Component with the specified name.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       Component getComponent(String componentName) throws ComponentException;
-
-       /**
-        * Removes the specified Component from this ComponentFamily.
-        * <p>
-        * If this ComponentFamily does not contain the Component this method 
has no
-        * effect.
-        * 
-        * @param component
-        *            the Component to remove.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       void removeComponent(Component component) throws ComponentException;
-
-       /**
-        * Returns all the Components in this ComponentFamily.
-        * <p>
-        * If this ComponentFamily does not contain any Components an empty 
list is
-        * returned.
-        * 
-        * @return all the Components in this ComponentFamilies.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       List<Component> getComponents() throws ComponentException;
-
-       /**
-        * Returns the ComponentProfile for this ComponentFamily.
-        * 
-        * @return the ComponentProfile for this ComponentFamily.
-        * @throws ComponentException
-        */
-       Profile getComponentProfile() throws ComponentException;
-
-       /**
-        * Returns the ComponentRegistry that contains this ComponentFamily.
-        * 
-        * @return the ComponentRegistry that contains this ComponentFamily.
-        */
-       Registry getComponentRegistry();
-
-       /**
-        * @return the name of the component Family.
-        */
-       @Override
-       String getName();
-
-       /**
-        * @return the description of the component Family.
-        */
-       @Override
-       String getDescription();
-
-       /**
-        * Delete this family from its registry.
-        * @throws ComponentException
-        */
-       void delete() throws ComponentException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/License.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/License.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/License.java
deleted file mode 100644
index 2906288..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/License.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.
- */
-
-public interface License extends NamedItem {
-       public String getAbbreviation();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/NamedItem.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/NamedItem.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/NamedItem.java
deleted file mode 100644
index 775e515..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/NamedItem.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.
- */
-
-public interface NamedItem {
-       /** Name this entity. */
-       public String getName();
-       /** Describe this entity. */
-       public String getDescription();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Registry.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Registry.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Registry.java
deleted file mode 100644
index e6d1e23..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Registry.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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 java.util.List;
-import java.util.Set;
-
-import io.github.taverna_extras.component.api.profile.Profile;
-
-public interface Registry {
-
-       License getPreferredLicense() throws ComponentException;
-
-       Set<Version.ID> searchForComponents(String prefixString, String text)
-                       throws ComponentException;
-
-       /**
-        * Returns all the ComponentFamilies in this ComponetRegistry.
-        * <p>
-        * If this ComponentRegistry does not contain any ComponentFamilies an 
empty
-        * list is returned.
-        * 
-        * @return all the ComponentFamilies in this ComponetRegistry.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       List<Family> getComponentFamilies() throws ComponentException;
-
-       List<License> getLicenses() throws ComponentException;
-
-       List<SharingPolicy> getPermissions() throws ComponentException;
-
-       /**
-        * Adds a ComponentProfile to this ComponentRegistry.
-        * 
-        * @param componentProfile
-        *            the ComponentProfile to add. Must not be null.
-        * @param sharingPolicy
-        * @param license
-        * @return the ComponentProfile added to this ComponentRegistry.
-        * @throws ComponentException
-        *             <ul>
-        *             <li>if componentProfile is null,
-        *             <li>if there is a problem accessing the 
ComponentRegistry.
-        *             </ul>
-        */
-       Profile addComponentProfile(Profile componentProfile, License license,
-                       SharingPolicy sharingPolicy) throws ComponentException;
-
-       /**
-        * Returns all the ComponentProfiles in this ComponetRegistry.
-        * <p>
-        * If this ComponentRegistry does not contain any ComponentProfiles an 
empty
-        * list is returned.
-        * 
-        * @return all the ComponentProfiles in this ComponetRegistry.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       List<Profile> getComponentProfiles() throws ComponentException;
-
-       /**
-        * Returns the ComponentProfile with the given ID in this 
ComponetRegistry.
-        * <p>
-        * If this ComponentRegistry does not contain the ComponentProfile, a
-        * <tt>null</tt> is returned.
-        * 
-        * @return the matching ComponentProfile in this ComponetRegistry, or
-        *         <tt>null</tt> if there is no such thing.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       Profile getComponentProfile(String id) throws ComponentException;
-
-       String getRegistryBaseString();
-
-       /**
-        * Returns the location of this ComponentRepository.
-        * 
-        * @return the location of this ComponentRepository
-        */
-       URL getRegistryBase();
-
-       /**
-        * Removes a the ComponentFamily with the specified name from this
-        * ComponentRegistry.
-        * <p>
-        * If this ComponentRegistry does not contain a ComponentFamily with the
-        * specified name this method has no effect.
-        * 
-        * @param componentFamily
-        *            the ComponentFamily to remove.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       void removeComponentFamily(Family componentFamily) throws 
ComponentException;
-
-       /**
-        * Creates a new ComponentFamily and adds it to this ComponentRegistry.
-        * 
-        * @param familyName
-        *            the name of the ComponentFamily to create. Must not be 
null.
-        * @param componentProfile
-        *            the ComponentProfile for the new ComponentFamily. Must 
not be
-        *            null.
-        * @param sharingPolicy
-        *            the SharingPolicy to use for the new ComponentFamily.
-        * @return the new ComponentFamily
-        * @throws ComponentException
-        *             <ul>
-        *             <li>if familyName is null,
-        *             <li>if componentProfile is null,
-        *             <li>if a ComponentFamily with this name already exists,
-        *             <li>if there is a problem accessing the 
ComponentRegistry.
-        *             </ul>
-        */
-       Family createComponentFamily(String familyName, Profile 
componentProfile,
-                       String description, License license, SharingPolicy 
sharingPolicy)
-                       throws ComponentException;
-
-       /**
-        * Returns the ComponentFamily with the specified name.
-        * <p>
-        * If this ComponentRegistry does not contain a ComponentFamily with the
-        * specified name <code>null</code> is returned.
-        * 
-        * @param familyName
-        *            the name of the ComponentFamily to return. Must not be 
null.
-        * @return the ComponentFamily with the specified name in this
-        *         ComponentRepository or null if none exists.
-        * @throws ComponentException
-        *             if there is a problem accessing the ComponentRegistry.
-        */
-       Family getComponentFamily(String familyName) throws ComponentException;
-
-       /**
-        * @return A description of the type of registry this is.
-        */
-       String getRegistryTypeName();
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/SharingPolicy.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/SharingPolicy.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/SharingPolicy.java
deleted file mode 100644
index 9965339..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/SharingPolicy.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.
- */
-
-/**
- * @author alanrw
- *
- */
-public interface SharingPolicy {
-       
-       /**
-        * @return The user-relevant name of the permission
-        */
-       public abstract String getName();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Version.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Version.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Version.java
deleted file mode 100644
index 2929ed0..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/Version.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package io.github.taverna_extras.component.api;
-/*
- * 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.Serializable;
-import java.net.URL;
-
-import org.apache.taverna.scufl2.api.container.WorkflowBundle;
-
-public interface Version {
-       /** @return The version number of this version */
-       Integer getVersionNumber();
-
-       /** @return The description of this version */
-       String getDescription();
-
-       /** @return The implementation for this version */
-       WorkflowBundle getImplementation() throws ComponentException;
-
-       /** @return The component of which this is a version */
-       Component getComponent();
-
-       /** @return The identification token for this version */
-       ID getID();
-
-       URL getHelpURL();
-
-       interface ID extends Serializable {
-               /** @return The name of the family of the component to which we 
refer to */
-               String getFamilyName();
-
-               /** @return The base URL of the registry containing the 
component */
-               URL getRegistryBase();
-
-               /**
-                * @return The name of the component referred to, unique within 
its
-                *         family
-                */
-               String getComponentName();
-
-               /**
-                * @return The version number of the version of the component 
referred
-                *         to
-                */
-               Integer getComponentVersion();
-
-               /**
-                * Tests whether this ID is equal to the given one, 
<i>excluding</i> the
-                * version.
-                * 
-                * @param id
-                *            The ID to compare to.
-                * @return A boolean
-                */
-               boolean mostlyEqualTo(ID id);
-
-               /**
-                * Tests whether this ID is equal to the given component,
-                * <i>excluding</i> the version.
-                * 
-                * @param component
-                *            The component to compare to.
-                * @return A boolean
-                */
-               boolean mostlyEqualTo(Component component);
-       }
-
-       class Identifier implements ID {
-               private static final long serialVersionUID = 
1139928258250264997L;
-
-               private final URL registryBase;
-               private final String familyName;
-               private final String componentName;
-               private final Integer componentVersion;
-
-               public Identifier(URL registryBase, String familyName,
-                               String componentName, Integer componentVersion) 
{
-                       super();
-                       this.registryBase = registryBase;
-                       this.familyName = familyName;
-                       this.componentName = componentName;
-                       this.componentVersion = componentVersion;
-               }
-
-               /**
-                * @return the registryBase
-                */
-               @Override
-               public URL getRegistryBase() {
-                       return registryBase;
-               }
-
-               /**
-                * @return the familyName
-                */
-               @Override
-               public String getFamilyName() {
-                       return familyName;
-               }
-
-               /**
-                * @return the componentName
-                */
-               @Override
-               public String getComponentName() {
-                       return componentName;
-               }
-
-               /**
-                * @return the componentVersion
-                */
-               @Override
-               public Integer getComponentVersion() {
-                       return componentVersion;
-               }
-
-               @Override
-               public int hashCode() {
-                       final int prime = 31;
-                       int result = 1;
-                       result *= prime;
-                       result += (componentName == null) ? 0 : 
componentName.hashCode();
-                       result *= prime;
-                       result += (componentVersion == null) ? 0 : 
componentVersion
-                                       .hashCode();
-                       result *= prime;
-                       result += (familyName == null) ? 0 : 
familyName.hashCode();
-                       result *= prime;
-                       result += (registryBase == null) ? 0 : 
registryBase.hashCode();
-                       return result;
-               }
-
-               @Override
-               public boolean equals(Object obj) {
-                       if (this == obj)
-                               return true;
-                       if (obj == null)
-                               return false;
-                       if (!ID.class.isAssignableFrom(obj.getClass()))
-                               return false;
-                       ID other = (ID) obj;
-                       if (componentName == null) {
-                               if (other.getComponentName() != null)
-                                       return false;
-                       } else if 
(!componentName.equals(other.getComponentName()))
-                               return false;
-                       if (componentVersion == null) {
-                               if (other.getComponentVersion() != null)
-                                       return false;
-                       } else if 
(!componentVersion.equals(other.getComponentVersion()))
-                               return false;
-                       if (familyName == null) {
-                               if (other.getFamilyName() != null)
-                                       return false;
-                       } else if (!familyName.equals(other.getFamilyName()))
-                               return false;
-                       if (registryBase == null) {
-                               if (other.getRegistryBase() != null)
-                                       return false;
-                       } else if (!registryBase.toString().equals(
-                                       other.getRegistryBase().toString()))
-                               // NB: Comparison of URLs is on their string 
form!
-                               return false;
-                       return true;
-               }
-
-               @Override
-               public String toString() {
-                       return getComponentName() + " V. " + 
getComponentVersion()
-                                       + " in family " + getFamilyName() + " 
on "
-                                       + getRegistryBase().toExternalForm();
-               }
-
-               @Override
-               public boolean mostlyEqualTo(ID id) {
-                       if (this == id)
-                               return true;
-                       if (id == null)
-                               return false;
-                       if (getClass() != id.getClass())
-                               return false;
-                       if (componentName == null) {
-                               if (id.getFamilyName() != null)
-                                       return false;
-                       } else if (!componentName.equals(id.getComponentName()))
-                               return false;
-                       if (familyName == null) {
-                               if (id.getFamilyName() != null)
-                                       return false;
-                       } else if (!familyName.equals(id.getFamilyName()))
-                               return false;
-                       if (registryBase == null) {
-                               if (id.getRegistryBase() != null)
-                                       return false;
-                       } else if (!registryBase.toString().equals(
-                                       id.getRegistryBase().toString()))
-                               // NB: Comparison of URLs is on their string 
form!
-                               return false;
-                       return true;
-               }
-
-               @Override
-               public boolean mostlyEqualTo(Component c) {
-                       return mostlyEqualTo(new Identifier(c.getRegistry()
-                                       .getRegistryBase(), 
c.getFamily().getName(), c.getName(), 0));
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentConfig.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentConfig.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentConfig.java
deleted file mode 100644
index 7de348c..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.github.taverna_extras.component.api.config;
-/*
- * 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.
- */
-
-public interface ComponentConfig {
-       String URI = "http://ns.taverna.org.uk/2010/activity/component";;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentPropertyNames.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentPropertyNames.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentPropertyNames.java
deleted file mode 100644
index 457161d..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/config/ComponentPropertyNames.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.github.taverna_extras.component.api.config;
-/*
- * 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.
- */
-
-/**
- * The names of properties used in JSON configurations associated with
- * components.
- * 
- * @author Donal Fellows
- */
-public interface ComponentPropertyNames {
-       String REGISTRY_BASE = "registryBase";
-       String FAMILY_NAME = "familyName";
-       String COMPONENT_NAME = "componentName";
-       String COMPONENT_VERSION = "componentVersion";
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/package-info.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/package-info.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/package-info.java
deleted file mode 100644
index a0b3e2f..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/package-info.java
+++ /dev/null
@@ -1,25 +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.
- */
-
-/**
- * An abstract API for working with components in a registry.
- * @author Donal Fellows
- * @author David Withers
- */
-package io.github.taverna_extras.component.api;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ActivityProfile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ActivityProfile.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ActivityProfile.java
deleted file mode 100644
index 8795c8a..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ActivityProfile.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.
- */
-
-public interface ActivityProfile extends AnnotatedElement {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/AnnotatedElement.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/AnnotatedElement.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/AnnotatedElement.java
deleted file mode 100644
index 0ad0da4..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/AnnotatedElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.util.List;
-
-import io.github.taverna_extras.component.api.ComponentException;
-
-public interface AnnotatedElement {
-       List<SemanticAnnotationProfile> getSemanticAnnotations()
-                       throws ComponentException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionHandling.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionHandling.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionHandling.java
deleted file mode 100644
index ee5810d..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionHandling.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.util.ArrayList;
-import java.util.List;
-
-/**
- * @author alanrw
- * 
- */
-public class ExceptionHandling {
-       private final boolean failLists;
-       private final List<HandleException> remapped = new 
ArrayList<HandleException>();
-
-       public ExceptionHandling(
-                       
io.github.taverna_extras.component.api.profile.doc.ExceptionHandling proxied) {
-               for 
(io.github.taverna_extras.component.api.profile.doc.HandleException he : proxied
-                               .getHandleException())
-                       remapped.add(new HandleException(he));
-               this.failLists = proxied.getFailLists() != null;
-       }
-
-       public boolean failLists() {
-               return failLists;
-       }
-
-       public List<HandleException> getHandleExceptions() {
-               return remapped;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionReplacement.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionReplacement.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionReplacement.java
deleted file mode 100644
index 69163cf..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/ExceptionReplacement.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.api.profile.doc.Replacement;
-
-/**
- * @author alanrw
- * 
- */
-public class ExceptionReplacement {
-       private final String id, message;
-
-       public ExceptionReplacement(Replacement replacement) {
-               id = replacement.getReplacementId();
-               message = replacement.getReplacementMessage();
-       }
-
-       public String getReplacementId() {
-               return id;
-       }
-
-       public String getReplacementMessage() {
-               return message;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/HandleException.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/HandleException.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/HandleException.java
deleted file mode 100644
index fb29cd6..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/HandleException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.util.regex.Pattern.DOTALL;
-import static java.util.regex.Pattern.compile;
-
-import java.util.regex.Pattern;
-
-/**
- * @author alanrw
- * 
- */
-public class HandleException {
-       private final Pattern pattern;
-       private ExceptionReplacement replacement;
-       private final boolean pruneStack;
-
-       public HandleException(
-                       
io.github.taverna_extras.component.api.profile.doc.HandleException proxied) {
-               pruneStack = proxied.getPruneStack() != null;
-               pattern = compile(proxied.getPattern(), DOTALL);
-               if (proxied.getReplacement() != null)
-                       replacement = new 
ExceptionReplacement(proxied.getReplacement());
-       }
-
-       public boolean matches(String s) {
-               return pattern.matcher(s).matches();
-       }
-
-       public boolean pruneStack() {
-               return pruneStack;
-       }
-
-       public ExceptionReplacement getReplacement() {
-               return replacement;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/PortProfile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/PortProfile.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/PortProfile.java
deleted file mode 100644
index d89b571..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/PortProfile.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.
- */
-
-public interface PortProfile extends AnnotatedElement {
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/Profile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/Profile.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/Profile.java
deleted file mode 100644
index c08ddc9..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/Profile.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.util.List;
-import java.util.Map;
-
-import io.github.taverna_extras.component.api.ComponentException;
-import io.github.taverna_extras.component.api.NamedItem;
-import io.github.taverna_extras.component.api.Registry;
-
-import org.apache.jena.ontology.OntModel;
-
-public interface Profile extends NamedItem, AnnotatedElement {
-
-       Registry getComponentRegistry();
-
-       String getXML() throws ComponentException;
-
-       io.github.taverna_extras.component.api.profile.doc.Profile 
getProfileDocument()
-                       throws ComponentException;
-
-       String getId();
-
-       String getOntologyLocation(String ontologyId);
-
-       Map<String, String> getPrefixMap() throws ComponentException;
-
-       OntModel getOntology(String ontologyId);
-
-       List<PortProfile> getInputPortProfiles();
-
-       List<SemanticAnnotationProfile> getInputSemanticAnnotationProfiles()
-                       throws ComponentException;
-
-       List<PortProfile> getOutputPortProfiles();
-
-       List<SemanticAnnotationProfile> getOutputSemanticAnnotationProfiles()
-                       throws ComponentException;
-
-       List<ActivityProfile> getActivityProfiles();
-
-       List<SemanticAnnotationProfile> getActivitySemanticAnnotationProfiles()
-                       throws ComponentException;
-
-       ExceptionHandling getExceptionHandling();
-
-       void delete() throws ComponentException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-plugin-component/blob/b7b61e71/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/SemanticAnnotationProfile.java
----------------------------------------------------------------------
diff --git 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/SemanticAnnotationProfile.java
 
b/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/SemanticAnnotationProfile.java
deleted file mode 100644
index c7e040f..0000000
--- 
a/taverna-component-repository-api/src/main/java/org/apache/taverna/component/api/profile/SemanticAnnotationProfile.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package io.github.taverna_extras.component.api.profile;
-/*
- * 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.util.List;
-
-import org.apache.jena.ontology.Individual;
-import org.apache.jena.ontology.OntClass;
-import org.apache.jena.ontology.OntModel;
-import org.apache.jena.ontology.OntProperty;
-
-public interface SemanticAnnotationProfile {
-
-       /**
-        * Returns the ontology that defines semantic annotation.
-        * 
-        * @return the ontology that defines semantic annotation
-        */
-       OntModel getOntology();
-
-       /**
-        * Returns the predicate for the semantic annotation.
-        * 
-        * @return the predicate for the semantic annotation
-        */
-       OntProperty getPredicate();
-
-       String getPredicateString();
-
-       String getClassString();
-
-       /**
-        * Returns the individual that the semantic annotation must use.
-        * 
-        * May be null if no explicit individual is required.
-        * 
-        * @return the individual that the semantic annotation must use
-        */
-       Individual getIndividual();
-
-       /**
-        * Returns the individuals in the range of the predicate defined in the
-        * ontology.
-        * 
-        * @return the individuals in the range of the predicate defined in the
-        *         ontology
-        */
-       List<Individual> getIndividuals();
-
-       Integer getMinOccurs();
-
-       Integer getMaxOccurs();
-
-       OntClass getRangeClass();
-
-}
\ No newline at end of file

Reply via email to