]> git.argeo.org Git - gpl/argeo-suite.git/blob - suite/workbench/SuiteWorkbenchService.java
Prepare next development cycle
[gpl/argeo-suite.git] / suite / workbench / SuiteWorkbenchService.java
1 package org.argeo.suite.workbench;
2
3 import java.util.List;
4
5 import javax.jcr.Node;
6
7 import org.argeo.connect.ui.workbench.AppWorkbenchService;
8 import org.argeo.eclipse.ui.EclipseUiUtils;
9 import org.argeo.suite.workbench.parts.DefaultDashboardEditor;
10 import org.eclipse.jface.wizard.Wizard;
11 import org.eclipse.swt.graphics.Image;
12
13 /** Centralize workbench services from the various base apps */
14 public class SuiteWorkbenchService implements AppWorkbenchService {
15
16 // Injected known AppWorkbenchServices: order is important, first found
17 // result will be returned by the various methods.
18 private List<AppWorkbenchService> knownAppWbServices;
19
20 @Override
21 public String getDefaultEditorId() {
22 return DefaultDashboardEditor.ID;
23 }
24
25 @Override
26 public String getEntityEditorId(Node entity) {
27 String result = null;
28 for (AppWorkbenchService appWbService : knownAppWbServices) {
29 result = appWbService.getEntityEditorId(entity);
30 if (EclipseUiUtils.notEmpty(result))
31 return result;
32 }
33 return null;
34 }
35
36 @Override
37 public String getSearchEntityEditorId(String nodeType) {
38 String result = null;
39 for (AppWorkbenchService appWbService : knownAppWbServices) {
40 result = appWbService.getSearchEntityEditorId(nodeType);
41 if (EclipseUiUtils.notEmpty(result))
42 return result;
43 }
44 return null;
45 }
46
47 @Override
48 public Image getIconForType(Node entity) {
49 Image result = null;
50 for (AppWorkbenchService appWbService : knownAppWbServices) {
51 result = appWbService.getIconForType(entity);
52 if (result != null)
53 return result;
54 }
55 return null;
56 }
57
58 @Override
59 public Wizard getCreationWizard(Node node) {
60 Wizard result = null;
61 for (AppWorkbenchService appWbService : knownAppWbServices) {
62 result = appWbService.getCreationWizard(node);
63 if (result != null)
64 return result;
65 }
66 return null;
67 }
68
69 /* DEPENDENCY INJECTION */
70 public void setKnownAppWbServices(List<AppWorkbenchService> knownAppWbServices) {
71 this.knownAppWbServices = knownAppWbServices;
72 }
73 }