<ref bean="trackerMaintenanceService" />\r
</util:list>\r
\r
- <!-- Make the DJ-aying between the various known Apps Maintenance -->\r
+ <!-- Make the DJ-aying between the various known Apps Maintenance -->\r
<bean id="suiteMaintenanceService" class="org.argeo.suite.core.DefaultSuiteMaintenanceService"\r
init-method="init" destroy-method="destroy">\r
<property name="repository" ref="repository" />\r
<property name="maintenanceServices" ref="knownMaintenanceServices" />\r
</bean>\r
\r
- <!-- APP SERVICES (backends) -->\r
+ <!-- APP SERVICES (backends) -->\r
<bean id="resourcesService" class="org.argeo.connect.resources.core.ResourcesServiceImpl" />\r
\r
<bean id="activitiesService" class="org.argeo.connect.activities.core.ActivitiesServiceImpl">\r
<property name="resourcesService" ref="resourcesService" />\r
</bean>\r
\r
- <bean id="trackerService" class="org.argeo.connect.tracker.core.TrackerServiceImpl" />\r
+ <bean id="trackerService" class="org.argeo.connect.tracker.core.TrackerServiceImpl">\r
+ <property name="activitiesService" ref="activitiesService" />\r
+ </bean>\r
\r
<bean id="documentsService" class="org.argeo.connect.documents.DocumentsService" />\r
\r
<property name="documentsService" ref="documentsService" />\r
</bean>\r
\r
- <!-- VARIOUS -->\r
+ <!-- VARIOUS -->\r
\r
<!-- Execute initialization with a system authentication -->\r
<bean\r
coworker, manager;
public String dn() {
- return new StringBuilder(LdapAttrs.cn.name()).append("=").append(SuiteConstants.AS_DOMAIN_PREFIX).append(".")
+ return new StringBuilder(LdapAttrs.cn.name()).append("=").append(SuiteConstants.SUITE_APP_PREFIX).append(".")
.append(name()).append(",").append(NodeConstants.ROLES_BASEDN).toString();
}
}
/** Argeo Suite constants */
public interface SuiteConstants {
- String AS_DOMAIN_PREFIX = "org.argeo.suite";
+ String SUITE_APP_PREFIX = "org.argeo.suite";
+ String SUITE_APP_BASE_NAME = "suite";
+
}
import org.argeo.connect.tracker.TrackerService;
import org.argeo.connect.tracker.TrackerTypes;
import org.argeo.connect.util.ConnectJcrUtils;
+import org.argeo.suite.SuiteConstants;
public class DefaultSuiteAppService implements AppService {
@Override
public String getAppBaseName() {
- return null;
+ return SuiteConstants.SUITE_APP_BASE_NAME;
}
@Override
public String getDefaultRelPath(Node entity) throws RepositoryException {
- return null;
+ if (ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_PARENT)
+ || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_NODE_TEMPLATE)
+ || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_ENCODED_TAG)
+ || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG))
+ return resourcesService.getDefaultRelPath(entity);
+ else if (ConnectJcrUtils.isNodeType(entity, TrackerTypes.TRACKER_PROJECT))
+ return trackerService.getDefaultRelPath(entity);
+ else if (ConnectJcrUtils.isNodeType(entity, ActivitiesTypes.ACTIVITIES_TASK)
+ || ConnectJcrUtils.isNodeType(entity, ActivitiesTypes.ACTIVITIES_ACTIVITY))
+ return activitiesService.getDefaultRelPath(entity);
+ else if (ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_PERSON)
+ || ConnectJcrUtils.isNodeType(entity, PeopleTypes.PEOPLE_ORG))
+ return peopleService.getDefaultRelPath(entity);
+ else if (ConnectJcrUtils.isNodeType(entity, NodeType.NT_FILE)
+ || ConnectJcrUtils.isNodeType(entity, NodeType.NT_FOLDER))
+ return documentsService.getDefaultRelPath(entity);
+ else
+ return null;
}
@Override
public Node saveEntity(Node entity, boolean publish) {
if (ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_PARENT)
|| ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_NODE_TEMPLATE)
- || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_ENCODED_INSTANCE)
- || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG_INSTANCE))
+ || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_ENCODED_TAG)
+ || ConnectJcrUtils.isNodeType(entity, ResourcesTypes.RESOURCES_TAG))
return resourcesService.saveEntity(entity, publish);
else if (ConnectJcrUtils.isNodeType(entity, TrackerTypes.TRACKER_PROJECT))
return trackerService.saveEntity(entity, publish);
<entry>
<key>
<util:constant
- static-field="org.argeo.connect.resources.ResourcesTypes.RESOURCES_TAG_INSTANCE" />
+ static-field="org.argeo.connect.resources.ResourcesTypes.RESOURCES_TAG" />
</key>
<bean class="org.argeo.connect.people.web.pages.TagLikeInstancePage">
<property name="peopleService" ref="peopleService" />
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
<!-- Assembly of the various AppWorkbenchServices -->
+ <bean id="resourcesWorkbenchService"
+ class="org.argeo.connect.resources.workbench.ResourcesWorkbenchService" />
+
<bean id="activitiesWorkbenchService"
class="org.argeo.connect.activities.workbench.ActivitiesWorkbenchService" />
<!--order is important -->
<util:list id="knownWbServices">
- <ref bean="activitiesWorkbenchService" />
<ref bean="peopleWorkbenchService" />
<ref bean="documentsWorkbenchService" />
+ <ref bean="activitiesWorkbenchService" />
+ <ref bean="resourcesWorkbenchService" />
</util:list>
- <bean id="suiteWorkbenchService" class="org.argeo.suite.workbench.AsWorkbenchServiceImpl">
+ <bean id="suiteWorkbenchService" class="org.argeo.suite.workbench.SuiteWorkbenchService">
<property name="knownAppWbServices" ref="knownWbServices" />
</bean>
-
-</beans>
\ No newline at end of file
+</beans>
+++ /dev/null
-package org.argeo.suite.workbench;
-
-import java.util.List;
-
-import javax.jcr.Node;
-
-import org.argeo.connect.ui.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 AsWorkbenchServiceImpl implements AppWorkbenchService {
-
- // Injected known AppWorkbenchServices: order is important, first found
- // result will be returned by the various methods.
- private List<AppWorkbenchService> knownAppWbServices;
-
- @Override
- public String getDefaultEditorId() {
- return DefaultDashboardEditor.ID;
- }
-
- // @Override
- // public String getOpenEntityEditorCmdId() {
- //// String result = null;
- //// for (AppWorkbenchService appWbService : knownAppWbServices) {
- //// result = appWbService.getOpenEntityEditorCmdId();
- //// if (EclipseUiUtils.notEmpty(result))
- //// return result;
- //// }
- // return OpenEntityEditor.ID;
- // }
-
- // @Override
- // public String getOpenSearchEntityEditorCmdId() {
- // String result = null;
- // for (AppWorkbenchService appWbService : knownAppWbServices) {
- // result = appWbService.getOpenSearchEntityEditorCmdId();
- // if (EclipseUiUtils.notEmpty(result))
- // return result;
- // }
- // return null;
- // }
-
- @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;
- }
-
- @Override
- public String getOpenFileCmdId() {
- return null;
- }
-
- /* DEPENDENCY INJECTION */
- public void setKnownAppWbServices(List<AppWorkbenchService> knownAppWbServices) {
- this.knownAppWbServices = knownAppWbServices;
- }
-}
--- /dev/null
+package org.argeo.suite.workbench;
+
+import java.util.List;
+
+import javax.jcr.Node;
+
+import org.argeo.connect.ui.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;
+
+ @Override
+ public String getDefaultEditorId() {
+ return DefaultDashboardEditor.ID;
+ }
+
+ @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;
+ }
+}
ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Tasks",
ActivitiesTypes.ACTIVITIES_TASK);
ConnectWorkbenchUtils.createOpenSearchEditorLink(getAppWorkbenchService(), bodyCmp, "Tags",
- ResourcesTypes.RESOURCES_TAG_INSTANCE);
+ ResourcesTypes.RESOURCES_TAG);
}
}