From: bsinou Date: Thu, 9 Mar 2017 14:40:26 +0000 (+0100) Subject: Adapt after SystemApp interfaces addition X-Git-Tag: argeo-suite-0.1.5~3 X-Git-Url: http://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=1f5e67056c6bb49a81afe4ec5b4f24b3cfd14121 Adapt after SystemApp interfaces addition --- diff --git a/org.argeo.suite.apps.web/META-INF/spring/osgi.xml b/org.argeo.suite.apps.web/META-INF/spring/osgi.xml index 85e3a5d..1eb932d 100644 --- a/org.argeo.suite.apps.web/META-INF/spring/osgi.xml +++ b/org.argeo.suite.apps.web/META-INF/spring/osgi.xml @@ -12,9 +12,9 @@ - + - + diff --git a/org.argeo.suite.apps.web/META-INF/spring/ui.xml b/org.argeo.suite.apps.web/META-INF/spring/ui.xml index b33ebc7..08f0c3f 100644 --- a/org.argeo.suite.apps.web/META-INF/spring/ui.xml +++ b/org.argeo.suite.apps.web/META-INF/spring/ui.xml @@ -6,7 +6,8 @@ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"> - + diff --git a/org.argeo.suite.apps/META-INF/spring/osgi.xml b/org.argeo.suite.apps/META-INF/spring/osgi.xml index 0ef2a6c..72c463b 100644 --- a/org.argeo.suite.apps/META-INF/spring/osgi.xml +++ b/org.argeo.suite.apps/META-INF/spring/osgi.xml @@ -19,9 +19,9 @@ - + - + @@ -31,10 +31,6 @@ - - - + interface="org.argeo.connect.workbench.SystemWorkbenchService" /> diff --git a/org.argeo.suite.apps/META-INF/spring/workbench-services.xml b/org.argeo.suite.apps/META-INF/spring/workbench-services.xml index 86b14b8..ea46634 100644 --- a/org.argeo.suite.apps/META-INF/spring/workbench-services.xml +++ b/org.argeo.suite.apps/META-INF/spring/workbench-services.xml @@ -24,7 +24,7 @@ - + diff --git a/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java b/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java index 52a9867..ea5dc23 100644 --- a/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java +++ b/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteAppService.java @@ -6,9 +6,11 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import org.argeo.connect.AppService; +import org.argeo.connect.SystemAppService; import org.argeo.suite.SuiteConstants; +import org.argeo.suite.SuiteException; -public class DefaultSuiteAppService implements AppService { +public class DefaultSuiteAppService implements SystemAppService { // Injected known AppWorkbenchServices: order is important, first found // result will be returned by the various methods. @@ -64,7 +66,8 @@ public class DefaultSuiteAppService implements AppService { if (appService.isKnownType(entity)) return appService.saveEntity(entity, publish); } - return AppService.super.saveEntity(entity, publish); + throw new SuiteException("Unknown NodeType for " + entity + ". Cannot save"); + // return AppService.super.saveEntity(entity, publish); } @Override diff --git a/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteMaintenanceService.java b/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteMaintenanceService.java index d0a0468..2ccb6cd 100644 --- a/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteMaintenanceService.java +++ b/org.argeo.suite.core/src/org/argeo/suite/core/DefaultSuiteMaintenanceService.java @@ -11,13 +11,14 @@ import javax.jcr.security.Privilege; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.connect.AppMaintenanceService; +import org.argeo.connect.SystemMaintenanceService; import org.argeo.jcr.JcrUtils; import org.argeo.node.NodeConstants; import org.argeo.suite.ArgeoSuiteRole; import org.argeo.suite.SuiteException; /** Make the DJay-ing to provide a full running Suite platform */ -public class DefaultSuiteMaintenanceService implements AppMaintenanceService { +public class DefaultSuiteMaintenanceService implements SystemMaintenanceService { private final static Log log = LogFactory.getLog(DefaultSuiteMaintenanceService.class); /* DEPENDENCY INJECTION */ diff --git a/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml b/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml index b0d5f19..330d40e 100644 --- a/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml +++ b/org.argeo.suite.workbench.rap/META-INF/spring/osgi.xml @@ -10,13 +10,12 @@ - + - + diff --git a/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml b/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml index 5903b42..5019156 100644 --- a/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml +++ b/org.argeo.suite.workbench.rap/META-INF/spring/parts.xml @@ -23,6 +23,6 @@ - + diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DefaultSuiteWorkbenchService.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DefaultSuiteWorkbenchService.java new file mode 100644 index 0000000..480af06 --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DefaultSuiteWorkbenchService.java @@ -0,0 +1,79 @@ +package org.argeo.suite.workbench; + +import java.util.List; + +import javax.jcr.Node; + +import org.argeo.connect.workbench.AppWorkbenchService; +import org.argeo.connect.workbench.SystemWorkbenchService; +import org.argeo.eclipse.ui.EclipseUiUtils; +import org.argeo.suite.workbench.parts.DefaultDashboardEditor; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.swt.graphics.Image; + +/** Centralise workbench services from the various base apps */ +public class DefaultSuiteWorkbenchService implements SystemWorkbenchService { + + // Injected known AppWorkbenchServices: order is important, first found + // result will be returned by the various methods. + private List knownAppWbServices; + private String defaultEditorId = DefaultDashboardEditor.ID; + + @Override + public String getDefaultEditorId() { + return defaultEditorId; + } + + @Override + public String getEntityEditorId(Node entity) { + String result = null; + for (AppWorkbenchService appWbService : knownAppWbServices) { + result = appWbService.getEntityEditorId(entity); + if (EclipseUiUtils.notEmpty(result)) + return result; + } + return null; + } + + @Override + public String getSearchEntityEditorId(String nodeType) { + String result = null; + for (AppWorkbenchService appWbService : knownAppWbServices) { + result = appWbService.getSearchEntityEditorId(nodeType); + if (EclipseUiUtils.notEmpty(result)) + return result; + } + return null; + } + + @Override + public Image getIconForType(Node entity) { + Image result = null; + for (AppWorkbenchService appWbService : knownAppWbServices) { + result = appWbService.getIconForType(entity); + if (result != null) + return result; + } + return null; + } + + @Override + public Wizard getCreationWizard(Node node) { + Wizard result = null; + for (AppWorkbenchService appWbService : knownAppWbServices) { + result = appWbService.getCreationWizard(node); + if (result != null) + return result; + } + return null; + } + + /* DEPENDENCY INJECTION */ + public void setKnownAppWbServices(List knownAppWbServices) { + this.knownAppWbServices = knownAppWbServices; + } + + public void setDefaultEditorId(String defaultEditorId) { + this.defaultEditorId = defaultEditorId; + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/SuiteWorkbenchService.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/SuiteWorkbenchService.java deleted file mode 100644 index 89dfc97..0000000 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/SuiteWorkbenchService.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.argeo.suite.workbench; - -import java.util.List; - -import javax.jcr.Node; - -import org.argeo.connect.workbench.AppWorkbenchService; -import org.argeo.eclipse.ui.EclipseUiUtils; -import org.argeo.suite.workbench.parts.DefaultDashboardEditor; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.swt.graphics.Image; - -/** Centralize workbench services from the various base apps */ -public class SuiteWorkbenchService implements AppWorkbenchService { - - // Injected known AppWorkbenchServices: order is important, first found - // result will be returned by the various methods. - private List knownAppWbServices; - private String defaultEditorId = DefaultDashboardEditor.ID; - - @Override - public String getDefaultEditorId() { - return defaultEditorId; - } - - @Override - public String getEntityEditorId(Node entity) { - String result = null; - for (AppWorkbenchService appWbService : knownAppWbServices) { - result = appWbService.getEntityEditorId(entity); - if (EclipseUiUtils.notEmpty(result)) - return result; - } - return null; - } - - @Override - public String getSearchEntityEditorId(String nodeType) { - String result = null; - for (AppWorkbenchService appWbService : knownAppWbServices) { - result = appWbService.getSearchEntityEditorId(nodeType); - if (EclipseUiUtils.notEmpty(result)) - return result; - } - return null; - } - - @Override - public Image getIconForType(Node entity) { - Image result = null; - for (AppWorkbenchService appWbService : knownAppWbServices) { - result = appWbService.getIconForType(entity); - if (result != null) - return result; - } - return null; - } - - @Override - public Wizard getCreationWizard(Node node) { - Wizard result = null; - for (AppWorkbenchService appWbService : knownAppWbServices) { - result = appWbService.getCreationWizard(node); - if (result != null) - return result; - } - return null; - } - - /* DEPENDENCY INJECTION */ - public void setKnownAppWbServices(List knownAppWbServices) { - this.knownAppWbServices = knownAppWbServices; - } - - public void setDefaultEditorId(String defaultEditorId) { - this.defaultEditorId = defaultEditorId; - } -} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java index 0ec0075..cdb802f 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java @@ -14,6 +14,7 @@ import org.argeo.connect.resources.ResourcesService; import org.argeo.connect.ui.ConnectUiStyles; import org.argeo.connect.util.ConnectJcrUtils; import org.argeo.connect.workbench.AppWorkbenchService; +import org.argeo.connect.workbench.SystemWorkbenchService; import org.argeo.connect.workbench.util.EntityEditorInput; import org.argeo.documents.DocumentsService; import org.argeo.eclipse.ui.EclipseUiUtils; @@ -44,7 +45,7 @@ public abstract class AbstractSuiteDashboard extends EditorPart { private ActivitiesService activitiesService; private PeopleService peopleService; private DocumentsService documentsService; - private AppWorkbenchService appWorkbenchService; + private SystemWorkbenchService systemWorkbenchService; private Session session; @@ -202,8 +203,8 @@ public abstract class AbstractSuiteDashboard extends EditorPart { return documentsService; } - protected AppWorkbenchService getAppWorkbenchService() { - return appWorkbenchService; + protected SystemWorkbenchService getSystemWorkbenchService() { + return systemWorkbenchService; } protected Image getLogoImg() { @@ -235,7 +236,7 @@ public abstract class AbstractSuiteDashboard extends EditorPart { this.peopleService = peopleService; } - public void setAppWorkbenchService(AppWorkbenchService appWorkbenchService) { - this.appWorkbenchService = appWorkbenchService; + public void setSystemWorkbenchService(SystemWorkbenchService systemWorkbenchService) { + this.systemWorkbenchService = systemWorkbenchService; } } diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/DefaultDashboardEditor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/DefaultDashboardEditor.java index b0e03b0..99bc560 100644 --- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/DefaultDashboardEditor.java +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/DefaultDashboardEditor.java @@ -71,7 +71,7 @@ public class DefaultDashboardEditor extends AbstractSuiteDashboard implements Re NodeIterator nit = getDocumentsService().getLastUpdatedDocuments(getSession()); while (nit.hasNext()) { Node file = nit.nextNode(); - createOpenEntityEditorLink(getAppWorkbenchService(), bodyCmp, ConnectJcrUtils.getName(file), file); + createOpenEntityEditorLink(getSystemWorkbenchService(), bodyCmp, ConnectJcrUtils.getName(file), file); } lastUpdatedDocsGadget.layout(true, true); } @@ -81,15 +81,15 @@ public class DefaultDashboardEditor extends AbstractSuiteDashboard implements Re parent.setLayout(EclipseUiUtils.noSpaceGridLayout()); createGadgetTitleCmp(parent, "Contacts"); Composite bodyCmp = createGadgetBodyCmp(parent); - ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Persons", + ConnectWorkbenchUtils.createOpenSearchEditorLink(getSystemWorkbenchService(), bodyCmp, "Persons", PeopleTypes.PEOPLE_PERSON); - ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Organisations", + ConnectWorkbenchUtils.createOpenSearchEditorLink(getSystemWorkbenchService(), bodyCmp, "Organisations", PeopleTypes.PEOPLE_ORG); - ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Mailing lists", + ConnectWorkbenchUtils.createOpenSearchEditorLink(getSystemWorkbenchService(), bodyCmp, "Mailing lists", PeopleTypes.PEOPLE_MAILING_LIST); - ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Tasks", + ConnectWorkbenchUtils.createOpenSearchEditorLink(getSystemWorkbenchService(), bodyCmp, "Tasks", ActivitiesTypes.ACTIVITIES_TASK); - ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Tags", + ConnectWorkbenchUtils.createOpenSearchEditorLink(getSystemWorkbenchService(), bodyCmp, "Tags", ResourcesTypes.RESOURCES_TAG); } }