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 2016/10/21 09:48:37 UTC

[03/29] incubator-taverna-workbench git commit: more perspectives..

more perspectives..


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/2a4278f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/tree/2a4278f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/diff/2a4278f4

Branch: refs/heads/master
Commit: 2a4278f4d07b73741a30d6d78d7c16147f21de41
Parents: d234ff1
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Aug 18 15:22:38 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Oct 21 09:16:26 2016 +0200

----------------------------------------------------------------------
 taverna-workbench-impl/pom.xml                  | 18 +++++
 .../workbench/ui/impl/WorkbenchTest.java        | 82 ++++++++++++++++++++
 2 files changed, 100 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/2a4278f4/taverna-workbench-impl/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-workbench-impl/pom.xml b/taverna-workbench-impl/pom.xml
index 8a97e2e..cab4f94 100644
--- a/taverna-workbench-impl/pom.xml
+++ b/taverna-workbench-impl/pom.xml
@@ -211,6 +211,24 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
+			<groupId>org.apache.taverna.engine</groupId>
+			<artifactId>taverna-services-impl</artifactId>
+			<version>${taverna.engine.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>${project.parent.groupId}</groupId>
+			<artifactId>taverna-contextual-views-impl</artifactId>
+			<version>${project.parent.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>${project.parent.groupId}</groupId>
+			<artifactId>taverna-activity-palette-impl</artifactId>
+			<version>${project.parent.version}</version>
+			<scope>test</scope>
+		</dependency>						
+		<dependency>
 			<groupId>commons-beanutils</groupId>
 			<artifactId>commons-beanutils</artifactId>
 			<version>1.9.2</version>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-workbench/blob/2a4278f4/taverna-workbench-impl/src/test/java/org/apache/taverna/workbench/ui/impl/WorkbenchTest.java
----------------------------------------------------------------------
diff --git a/taverna-workbench-impl/src/test/java/org/apache/taverna/workbench/ui/impl/WorkbenchTest.java b/taverna-workbench-impl/src/test/java/org/apache/taverna/workbench/ui/impl/WorkbenchTest.java
index 43eee47..9996dd0 100644
--- a/taverna-workbench-impl/src/test/java/org/apache/taverna/workbench/ui/impl/WorkbenchTest.java
+++ b/taverna-workbench-impl/src/test/java/org/apache/taverna/workbench/ui/impl/WorkbenchTest.java
@@ -1,5 +1,6 @@
 package org.apache.taverna.workbench.ui.impl;
 
+import java.lang.reflect.InvocationTargetException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
@@ -7,8 +8,10 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.ServiceLoader;
 import java.util.Set;
 
+import org.apache.commons.beanutils.BeanUtils;
 import org.apache.taverna.configuration.app.ApplicationConfiguration;
 import org.apache.taverna.configuration.app.impl.ApplicationConfigurationImpl;
 import org.apache.taverna.plugin.Plugin;
@@ -18,6 +21,13 @@ import org.apache.taverna.plugin.xml.jaxb.PluginVersions;
 import org.apache.taverna.security.credentialmanager.CMException;
 import org.apache.taverna.security.credentialmanager.CredentialManager;
 import org.apache.taverna.security.credentialmanager.impl.CredentialManagerImpl;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionProvider;
+import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry;
+import org.apache.taverna.servicedescriptions.impl.ServiceDescriptionRegistryImpl;
+import org.apache.taverna.services.ServiceRegistry;
+import org.apache.taverna.services.impl.ServiceRegistryImpl;
+import org.apache.taverna.ui.menu.DefaultMenuBar;
+import org.apache.taverna.ui.menu.DefaultToolBar;
 import org.apache.taverna.ui.menu.MenuComponent;
 import org.apache.taverna.ui.menu.MenuManager;
 import org.apache.taverna.ui.menu.impl.MenuManagerImpl;
@@ -34,7 +44,13 @@ import org.apache.taverna.workbench.selection.SelectionManager;
 import org.apache.taverna.workbench.selection.impl.SelectionManagerImpl;
 import org.apache.taverna.workbench.ui.credentialmanager.startup.InitialiseSSLStartupHook;
 import org.apache.taverna.workbench.ui.credentialmanager.startup.SetCredManAuthenticatorStartupHook;
+import org.apache.taverna.workbench.ui.servicepanel.ServicePanelComponentFactory;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactory;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.ContextualViewFactoryRegistry;
+import org.apache.taverna.workbench.ui.views.contextualviews.activity.impl.ContextualViewFactoryRegistryImpl;
+import org.apache.taverna.workbench.ui.views.contextualviews.impl.ContextualViewComponentFactory;
 import org.apache.taverna.workbench.ui.zaria.PerspectiveSPI;
+import org.apache.taverna.workbench.ui.zaria.UIComponentFactorySPI;
 
 public class WorkbenchTest {
 
@@ -57,6 +73,8 @@ public class WorkbenchTest {
 	private SelectionManagerImpl selectionManager;
 	private List<MenuComponent> menuComponents;
 	private CredentialManagerImpl credentialManager;
+	private ContextualViewFactoryRegistryImpl registry;
+	private ServicePanelComponentFactory servicePanelFactory;
 
 	public FileManager getFileManager() {
 		if (fileManager == null) {
@@ -86,6 +104,9 @@ public class WorkbenchTest {
 	public List<MenuComponent> getMenuComponents() {
 		if (menuComponents == null) {
 			menuComponents = new ArrayList<>();
+			menuComponents.add(new DefaultMenuBar());
+			menuComponents.add(new DefaultToolBar());
+			
 //			for (MenuComponent mc : ServiceLoader.load(MenuComponent.class)) {
 //				try {
 //					BeanUtils.copyProperties(this, mc);
@@ -122,10 +143,71 @@ public class WorkbenchTest {
 		p.setEditManager(getEditManager());
 		p.setFileManager(getFileManager());
 		p.setMenuManager(getMenuManager());
+		p.setContextualViewComponentFactory(getContextualViewComponentFactory());
+		p.setServicePanelComponentFactory(getServicePanelComponentFactory());
+		
 		// TODO: More setters
 		return p;
 	}
 
+	private UIComponentFactorySPI getServicePanelComponentFactory() {
+		if (servicePanelFactory == null) {
+			servicePanelFactory = new ServicePanelComponentFactory();		
+			servicePanelFactory.setEditManager(getEditManager());
+			servicePanelFactory.setMenuManager(getMenuManager());
+			servicePanelFactory.setSelectionManager(getSelectionManager());
+			servicePanelFactory.setServiceDescriptionRegistry(getServiceDescriptionRegistry());
+			servicePanelFactory.setServiceRegistry(getServiceRegistry());
+		}
+		
+		return servicePanelFactory;
+	}
+
+	public ServiceRegistry getServiceRegistry() {
+		return new ServiceRegistryImpl();
+	}
+
+	public ServiceDescriptionRegistry getServiceDescriptionRegistry() {
+		ServiceDescriptionRegistryImpl serviceDescriptionRegistryImpl = new ServiceDescriptionRegistryImpl(getApplicationConfiguration());		
+		List<ServiceDescriptionProvider> serviceProviders = new ArrayList<>();
+		for (ServiceDescriptionProvider sdp : ServiceLoader.load(ServiceDescriptionProvider.class)) {
+			try {
+				BeanUtils.copyProperties(this, sdp);
+			} catch (IllegalAccessException | InvocationTargetException e) {
+				e.printStackTrace();
+			}
+			serviceProviders.add(sdp);
+		}
+		
+		serviceDescriptionRegistryImpl.setServiceDescriptionProvidersList(serviceProviders);
+		return serviceDescriptionRegistryImpl;
+	}
+
+	public UIComponentFactorySPI getContextualViewComponentFactory() {
+		ContextualViewComponentFactory contextualViewComponentFactory = new ContextualViewComponentFactory();
+		contextualViewComponentFactory.setEditManager(getEditManager());
+		contextualViewComponentFactory.setSelectionManager(getSelectionManager());
+		contextualViewComponentFactory.setContextualViewFactoryRegistry(getContextualViewFactoryRegistry());
+		return contextualViewComponentFactory;
+	}
+
+	public ContextualViewFactoryRegistry getContextualViewFactoryRegistry() {
+		if (registry == null) { 
+			registry = new ContextualViewFactoryRegistryImpl();
+			List<ContextualViewFactory<?>> views = new ArrayList<>();
+			for (ContextualViewFactory view : ServiceLoader.load(ContextualViewFactory.class)) {
+				try {
+					BeanUtils.copyProperties(this, view);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				views.add(view);
+			}			
+			registry.setContextualViewFactories(views);
+		}
+		return registry;
+	}
+
 	public List<PerspectiveSPI> getPerspectives() {
 		return Arrays.asList(getDesignPerspective(), getResultsPerspective());
 	}