<reference id="userAdminService" interface="org.argeo.connect.UserAdminService" />\r
\r
<!-- Maintenance service -->\r
- <reference id="appMaintenanceService" interface="org.argeo.connect.AppMaintenanceService" />\r
+ <reference id="systemMaintenanceService" interface="org.argeo.connect.SystemMaintenanceService" />\r
<!-- Generic DJ-ing app -->\r
- <reference id="suiteAppService" interface="org.argeo.connect.AppService" />\r
+ <reference id="systemAppService" interface="org.argeo.connect.SystemAppService" />\r
<!-- App specific services -->\r
<reference id="resourcesService" interface="org.argeo.connect.resources.ResourcesService" />\r
<reference id="activitiesService" interface="org.argeo.activities.ActivitiesService" />\r
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
<!-- Main entry point for the CMS -->
- <bean id="about" parent="app" init-method="init" destroy-method="destroy" depends-on="appMaintenanceService">
+ <bean id="about" parent="app" init-method="init" destroy-method="destroy"
+ depends-on="systemMaintenanceService">
<property name="workspace" value="main" />
<property name="header" ref="headerManager" />
<property name="pages">
<service ref="userAdminService" interface="org.argeo.connect.UserAdminService" />\r
\r
<!-- Maintenance service -->\r
- <service ref="suiteMaintenanceService" interface="org.argeo.connect.AppMaintenanceService" />\r
+ <service ref="suiteMaintenanceService" interface="org.argeo.connect.SystemMaintenanceService" />\r
\r
- <service ref="suiteAppService" interface="org.argeo.connect.AppService" />\r
+ <service ref="suiteAppService" interface="org.argeo.connect.SystemAppService" />\r
<!-- App specific services -->\r
<service ref="resourcesService" interface="org.argeo.connect.resources.ResourcesService" />\r
<service ref="activitiesService" interface="org.argeo.activities.ActivitiesService" />\r
\r
<!-- Assembly of the various apps workbench services -->\r
<service ref="suiteWorkbenchService"\r
- interface="org.argeo.connect.workbench.AppWorkbenchService" />\r
-\r
- <!-- Exposes People specific implementation of the AppWorkbenchService -->\r
- <service ref="peopleWorkbenchService"\r
- interface="org.argeo.people.workbench.PeopleWorkbenchService" />\r
+ interface="org.argeo.connect.workbench.SystemWorkbenchService" />\r
\r
</beans:beans>\r
<ref bean="resourcesWorkbenchService" />\r
</util:list>\r
\r
- <bean id="suiteWorkbenchService" class="org.argeo.suite.workbench.SuiteWorkbenchService">\r
+ <bean id="suiteWorkbenchService" class="org.argeo.suite.workbench.DefaultSuiteWorkbenchService">\r
<property name="knownAppWbServices" ref="knownWbServices" />\r
</bean>\r
\r
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.
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
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 */
<reference id="repository" interface="javax.jcr.Repository"\r
filter="(cn=home)" />\r
<reference id="resourcesService" interface="org.argeo.connect.resources.ResourcesService" />\r
- <reference id="activitiesService"\r
- interface="org.argeo.activities.ActivitiesService" />\r
+ <reference id="activitiesService" interface="org.argeo.activities.ActivitiesService" />\r
<reference id="peopleService" interface="org.argeo.people.PeopleService" />\r
<reference id="documentsService" interface="org.argeo.documents.DocumentsService" />\r
<reference id="trackerService" interface="org.argeo.tracker.TrackerService" />\r
\r
- <reference id="appWorkbenchService"\r
- interface="org.argeo.connect.workbench.AppWorkbenchService" />\r
+ <reference id="systemWorkbenchService"\r
+ interface="org.argeo.connect.workbench.SystemWorkbenchService" />\r
\r
</beans:beans>\r
<property name="activitiesService" ref="activitiesService" />
<property name="peopleService" ref="peopleService" />
<property name="documentsService" ref="documentsService" />
- <property name="appWorkbenchService" ref="appWorkbenchService" />
+ <property name="systemWorkbenchService" ref="systemWorkbenchService" />
</bean>
</beans>
--- /dev/null
+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<AppWorkbenchService> 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<AppWorkbenchService> knownAppWbServices) {
+ this.knownAppWbServices = knownAppWbServices;
+ }
+
+ public void setDefaultEditorId(String defaultEditorId) {
+ this.defaultEditorId = defaultEditorId;
+ }
+}
+++ /dev/null
-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<AppWorkbenchService> 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<AppWorkbenchService> knownAppWbServices) {
- this.knownAppWbServices = knownAppWbServices;
- }
-
- public void setDefaultEditorId(String defaultEditorId) {
- this.defaultEditorId = defaultEditorId;
- }
-}
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;
private ActivitiesService activitiesService;
private PeopleService peopleService;
private DocumentsService documentsService;
- private AppWorkbenchService appWorkbenchService;
+ private SystemWorkbenchService systemWorkbenchService;
private Session session;
return documentsService;
}
- protected AppWorkbenchService getAppWorkbenchService() {
- return appWorkbenchService;
+ protected SystemWorkbenchService getSystemWorkbenchService() {
+ return systemWorkbenchService;
}
protected Image getLogoImg() {
this.peopleService = peopleService;
}
- public void setAppWorkbenchService(AppWorkbenchService appWorkbenchService) {
- this.appWorkbenchService = appWorkbenchService;
+ public void setSystemWorkbenchService(SystemWorkbenchService systemWorkbenchService) {
+ this.systemWorkbenchService = systemWorkbenchService;
}
}
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);
}
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);
}
}