Repository: incubator-taverna-workbench
Updated Branches:
  refs/heads/master 497d30c5f -> 4e3849dd9


accept WorkflowBean Visitor


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/commit/c820761f
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/c820761f
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/c820761f

Branch: refs/heads/master
Commit: c820761f72a176866a3c06f9dfeec956913d8c2d
Parents: 497d30c
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Oct 24 19:07:06 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Oct 24 19:07:06 2016 +0100

----------------------------------------------------------------------
 .../AbstractConfigurableServiceProvider.java    | 27 +++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/c820761f/taverna-activity-palette-api/src/main/java/org/apache/taverna/servicedescriptions/AbstractConfigurableServiceProvider.java
----------------------------------------------------------------------
diff --git 
a/taverna-activity-palette-api/src/main/java/org/apache/taverna/servicedescriptions/AbstractConfigurableServiceProvider.java
 
b/taverna-activity-palette-api/src/main/java/org/apache/taverna/servicedescriptions/AbstractConfigurableServiceProvider.java
index 3d589ec..fc35358 100644
--- 
a/taverna-activity-palette-api/src/main/java/org/apache/taverna/servicedescriptions/AbstractConfigurableServiceProvider.java
+++ 
b/taverna-activity-palette-api/src/main/java/org/apache/taverna/servicedescriptions/AbstractConfigurableServiceProvider.java
@@ -16,6 +16,9 @@
  */
 package org.apache.taverna.servicedescriptions;
 
+import java.net.URI;
+
+import org.apache.taverna.scufl2.api.common.Visitor;
 import org.apache.taverna.scufl2.api.configurations.Configuration;
 
 public abstract class AbstractConfigurableServiceProvider extends
@@ -42,8 +45,12 @@ public abstract class AbstractConfigurableServiceProvider 
extends
        }
 
        @Override
+       public abstract AbstractConfigurableServiceProvider newInstance();
+
+       
+       @Override
        public AbstractConfigurableServiceProvider clone() {
-               AbstractConfigurableServiceProvider provider = 
(AbstractConfigurableServiceProvider) newInstance();
+               AbstractConfigurableServiceProvider provider = newInstance();
                Configuration configuration = getConfiguration();
                if (configuration != null)
                        provider.configure(configuration);
@@ -66,4 +73,22 @@ public abstract class AbstractConfigurableServiceProvider 
extends
        public String toString() {
                return getName() + " " + getConfiguration();
        }
+
+       @Override
+       public boolean accept(Visitor visitor) {
+               if (visitor.visitEnter(this)) {
+                       getConfiguration().accept(visitor);
+               }
+               return visitor.visitLeave(this);
+       }
+
+       @Override
+       public void setType(URI type) {
+               if (! type.equals(getType())) {
+                       throw new IllegalArgumentException(
+                                       "Unsupported change of fixed type " + 
getType() + " to " + getType());
+               }
+       }
+
+       
 }

Reply via email to