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 <[email protected]>
Authored: Thu Aug 18 15:22:38 2016 +0100
Committer: Stian Soiland-Reyes <[email protected]>
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());
        }

Reply via email to