From a5867ac26310d8610f84fc054f513ae6c19d91fb Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 20 May 2018 13:39:48 +0200 Subject: [PATCH] Separate Argeo Tracker bundle --- .../OSGI-INF/systemMaintenanceService.xml | 3 +- org.argeo.suite.cms/bnd.bnd | 21 +++-- org.argeo.suite.e4/bnd.bnd | 2 - .../e4/parts/AbstractSuiteDashboard.java | 37 ++++---- .../e4/parts/DefaultDashboardEditor.java | 87 ++++++++++--------- .../e4xmi/standard-toolbars.e4xmi | 4 +- .../OSGI-INF/trackerE4Service.xml | 0 .../OSGI-INF/trackerMaintenanceService.xml | 0 .../OSGI-INF/trackerService.xml | 0 org.argeo.suite.tracker/bnd.bnd | 12 +++ .../e4xmi/tracker-toolbars.e4xmi | 4 +- 11 files changed, 92 insertions(+), 78 deletions(-) rename {org.argeo.suite.e4 => org.argeo.suite.tracker}/OSGI-INF/trackerE4Service.xml (100%) rename {org.argeo.suite.cms => org.argeo.suite.tracker}/OSGI-INF/trackerMaintenanceService.xml (100%) rename {org.argeo.suite.cms => org.argeo.suite.tracker}/OSGI-INF/trackerService.xml (100%) diff --git a/org.argeo.suite.cms/OSGI-INF/systemMaintenanceService.xml b/org.argeo.suite.cms/OSGI-INF/systemMaintenanceService.xml index af90a46..34a8a99 100644 --- a/org.argeo.suite.cms/OSGI-INF/systemMaintenanceService.xml +++ b/org.argeo.suite.cms/OSGI-INF/systemMaintenanceService.xml @@ -1,9 +1,10 @@ - + + diff --git a/org.argeo.suite.cms/bnd.bnd b/org.argeo.suite.cms/bnd.bnd index 4b4b9bc..5724a49 100644 --- a/org.argeo.suite.cms/bnd.bnd +++ b/org.argeo.suite.cms/bnd.bnd @@ -1,16 +1,15 @@ Bundle-ActivationPolicy: lazy Service-Component: OSGI-INF/systemAppService.xml,\ - OSGI-INF/userManagerService.xml,\ - OSGI-INF/resourcesService.xml,\ - OSGI-INF/activitiesService.xml,\ - OSGI-INF/peopleService.xml,\ - OSGI-INF/trackerService.xml,\ - OSGI-INF/documentsService.xml,\ - OSGI-INF/systemMaintenanceService.xml,\ - OSGI-INF/activitiesMaintenanceService.xml,\ - OSGI-INF/resourcesMaintenanceService.xml,\ - OSGI-INF/peopleMaintenanceService.xml,\ - OSGI-INF/trackerMaintenanceService.xml +OSGI-INF/userManagerService.xml,\ +OSGI-INF/resourcesService.xml,\ +OSGI-INF/activitiesService.xml,\ +OSGI-INF/peopleService.xml,\ +OSGI-INF/trackerService.xml,\ +OSGI-INF/documentsService.xml,\ +OSGI-INF/systemMaintenanceService.xml,\ +OSGI-INF/activitiesMaintenanceService.xml,\ +OSGI-INF/resourcesMaintenanceService.xml,\ +OSGI-INF/peopleMaintenanceService.xml Import-Package: javax.jcr,\ javax.transaction,\ diff --git a/org.argeo.suite.e4/bnd.bnd b/org.argeo.suite.e4/bnd.bnd index 173570a..5b76067 100644 --- a/org.argeo.suite.e4/bnd.bnd +++ b/org.argeo.suite.e4/bnd.bnd @@ -3,7 +3,6 @@ Service-Component: OSGI-INF/systemE4Service.xml,\ OSGI-INF/resourcesE4Service.xml,\ OSGI-INF/activitiesE4Service.xml,\ OSGI-INF/peopleE4Service.xml,\ -OSGI-INF/trackerE4Service.xml,\ OSGI-INF/documentsE4Service.xml Import-Package: org.eclipse.swt,\ @@ -17,6 +16,5 @@ org.argeo.activities.e4,\ org.argeo.people.e4,\ org.argeo.people.e4.handlers,\ org.argeo.documents.e4,\ -org.argeo.tracker.e4,\ org.argeo.connect.e4.resources,\ * diff --git a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java index 521c1fc..7aeb67b 100644 --- a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java +++ b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java @@ -5,11 +5,8 @@ import javax.annotation.PreDestroy; import javax.inject.Inject; import javax.jcr.Node; import javax.jcr.Repository; -import javax.jcr.RepositoryException; import javax.jcr.Session; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.cms.ui.eclipse.forms.FormToolkit; import org.argeo.cms.util.CmsUtils; import org.argeo.connect.SystemAppService; @@ -35,7 +32,8 @@ import org.eclipse.swt.widgets.Link; /** Generic dashboard for Argeo Suite applications */ public abstract class AbstractSuiteDashboard { - private final static Log log = LogFactory.getLog(AbstractSuiteDashboard.class); + // private final static Log log = + // LogFactory.getLog(AbstractSuiteDashboard.class); // DEPENDENCY INJECTION @Inject @@ -163,19 +161,20 @@ public abstract class AbstractSuiteDashboard { } /* DEPENDENCY INJECTION */ - public void setRepository(Repository repository) { - this.repository = repository; - } - - public void setResourcesService(ResourcesService resourcesService) { - this.resourcesService = resourcesService; - } - - public void setSystemAppService(SystemAppService systemAppService) { - this.systemAppService = systemAppService; - } - - public void setSystemWorkbenchService(SystemWorkbenchService systemWorkbenchService) { - this.systemWorkbenchService = systemWorkbenchService; - } + // public void setRepository(Repository repository) { + // this.repository = repository; + // } + // + // public void setResourcesService(ResourcesService resourcesService) { + // this.resourcesService = resourcesService; + // } + // + // public void setSystemAppService(SystemAppService systemAppService) { + // this.systemAppService = systemAppService; + // } + // + // public void setSystemWorkbenchService(SystemWorkbenchService + // systemWorkbenchService) { + // this.systemWorkbenchService = systemWorkbenchService; + // } } diff --git a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/DefaultDashboardEditor.java b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/DefaultDashboardEditor.java index abf77ad..5fd2f56 100644 --- a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/DefaultDashboardEditor.java +++ b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/DefaultDashboardEditor.java @@ -33,7 +33,7 @@ import org.argeo.tracker.TrackerService; import org.argeo.tracker.core.TrackerUtils; import org.argeo.tracker.ui.TaskListLabelProvider; import org.argeo.tracker.ui.TaskVirtualListComposite; -import org.eclipse.e4.ui.di.Focus; +import org.eclipse.e4.core.di.annotations.Optional; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; @@ -64,7 +64,9 @@ public class DefaultDashboardEditor extends AbstractSuiteDashboard implements Re @Inject private ActivitiesService activitiesService; + @Inject + @Optional private TrackerService trackerService; private String datePattern = "dd MMM yyyy"; @@ -114,7 +116,7 @@ public class DefaultDashboardEditor extends AbstractSuiteDashboard implements Re // noTaskLbl.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, true)); } else { - TaskListLabelProvider labelProvider = new TaskListLabelProvider(trackerService); + TaskListLabelProvider labelProvider = new TaskListLabelProvider(getSystemAppService()); tvlc = new TaskVirtualListComposite(parent, SWT.NO_FOCUS, (ILabelProvider) labelProvider, 54); tvlc.setLayoutData(EclipseUiUtils.fillAll()); final TableViewer viewer = tvlc.getTableViewer(); @@ -224,41 +226,44 @@ public class DefaultDashboardEditor extends AbstractSuiteDashboard implements Re } } - nit = trackerService.getMyMilestones(getSession(), true); - List openMilestones = new ArrayList<>(); - - if (nit.hasNext()) { - List overdueMilestones = new ArrayList<>(); - while (nit.hasNext()) { - Node currNode = nit.nextNode(); - openMilestones.add(currNode); - if (isOverdue(currNode, TrackerNames.TRACKER_TARGET_DATE)) - overdueMilestones.add(currNode); - } - if (!overdueMilestones.isEmpty()) { - Composite overdueCmp = new Composite(leftCmp, SWT.NO_FOCUS); - long size = overdueMilestones.size(); - String overdueStr = "You have " + size + " overdue milestone" + (size > 1 ? "s" : "") + ": "; - populateMuliValueClickableList(overdueCmp, overdueMilestones.toArray(new Node[0]), new MilestoneLp(), - overdueStr); + if (trackerService != null) { + nit = trackerService.getMyMilestones(getSession(), true); + List openMilestones = new ArrayList<>(); + + if (nit.hasNext()) { + List overdueMilestones = new ArrayList<>(); + while (nit.hasNext()) { + Node currNode = nit.nextNode(); + openMilestones.add(currNode); + if (isOverdue(currNode, TrackerNames.TRACKER_TARGET_DATE)) + overdueMilestones.add(currNode); + } + if (!overdueMilestones.isEmpty()) { + Composite overdueCmp = new Composite(leftCmp, SWT.NO_FOCUS); + long size = overdueMilestones.size(); + String overdueStr = "You have " + size + " overdue milestone" + (size > 1 ? "s" : "") + ": "; + populateMuliValueClickableList(overdueCmp, overdueMilestones.toArray(new Node[0]), + new MilestoneLp(), overdueStr); + } } - } - // My projects - List openProjects = JcrUtils.nodeIteratorToList(trackerService.getMyProjects(getSession(), true)); - if (!openProjects.isEmpty()) { - Group myProjectsGp = new Group(rightCmp, SWT.NO_FOCUS); - myProjectsGp.setText("My open projects"); - myProjectsGp.setLayoutData(EclipseUiUtils.fillWidth()); - populateMuliValueClickableList(myProjectsGp, openProjects.toArray(new Node[0]), new ProjectLp(), null); - } + // My projects + List openProjects = JcrUtils.nodeIteratorToList(trackerService.getMyProjects(getSession(), true)); + if (!openProjects.isEmpty()) { + Group myProjectsGp = new Group(rightCmp, SWT.NO_FOCUS); + myProjectsGp.setText("My open projects"); + myProjectsGp.setLayoutData(EclipseUiUtils.fillWidth()); + populateMuliValueClickableList(myProjectsGp, openProjects.toArray(new Node[0]), new ProjectLp(), null); + } - // My Milestones - if (!openMilestones.isEmpty()) { - Group myMilestoneGp = new Group(rightCmp, SWT.NO_FOCUS); - myMilestoneGp.setText("My open milestones"); - myMilestoneGp.setLayoutData(EclipseUiUtils.fillWidth()); - populateMuliValueClickableList(myMilestoneGp, openMilestones.toArray(new Node[0]), new MilestoneLp(), null); + // My Milestones + if (!openMilestones.isEmpty()) { + Group myMilestoneGp = new Group(rightCmp, SWT.NO_FOCUS); + myMilestoneGp.setText("My open milestones"); + myMilestoneGp.setLayoutData(EclipseUiUtils.fillWidth()); + populateMuliValueClickableList(myMilestoneGp, openMilestones.toArray(new Node[0]), new MilestoneLp(), + null); + } } } @@ -363,13 +368,13 @@ public class DefaultDashboardEditor extends AbstractSuiteDashboard implements Re } } - public void setActivitiesService(ActivitiesService activitiesService) { - this.activitiesService = activitiesService; - } - - public void setTrackerService(TrackerService trackerService) { - this.trackerService = trackerService; - } + // public void setActivitiesService(ActivitiesService activitiesService) { + // this.activitiesService = activitiesService; + // } + // + // public void setTrackerService(TrackerService trackerService) { + // this.trackerService = trackerService; + // } // LOCAL HELPERS private void populateMuliValueClickableList(Composite parent, Node[] nodes, ColumnLabelProvider lp, diff --git a/org.argeo.suite.standard/e4xmi/standard-toolbars.e4xmi b/org.argeo.suite.standard/e4xmi/standard-toolbars.e4xmi index 48eb28d..50b5209 100644 --- a/org.argeo.suite.standard/e4xmi/standard-toolbars.e4xmi +++ b/org.argeo.suite.standard/e4xmi/standard-toolbars.e4xmi @@ -6,8 +6,8 @@ - - + + diff --git a/org.argeo.suite.e4/OSGI-INF/trackerE4Service.xml b/org.argeo.suite.tracker/OSGI-INF/trackerE4Service.xml similarity index 100% rename from org.argeo.suite.e4/OSGI-INF/trackerE4Service.xml rename to org.argeo.suite.tracker/OSGI-INF/trackerE4Service.xml diff --git a/org.argeo.suite.cms/OSGI-INF/trackerMaintenanceService.xml b/org.argeo.suite.tracker/OSGI-INF/trackerMaintenanceService.xml similarity index 100% rename from org.argeo.suite.cms/OSGI-INF/trackerMaintenanceService.xml rename to org.argeo.suite.tracker/OSGI-INF/trackerMaintenanceService.xml diff --git a/org.argeo.suite.cms/OSGI-INF/trackerService.xml b/org.argeo.suite.tracker/OSGI-INF/trackerService.xml similarity index 100% rename from org.argeo.suite.cms/OSGI-INF/trackerService.xml rename to org.argeo.suite.tracker/OSGI-INF/trackerService.xml diff --git a/org.argeo.suite.tracker/bnd.bnd b/org.argeo.suite.tracker/bnd.bnd index 80da3bf..17336a4 100644 --- a/org.argeo.suite.tracker/bnd.bnd +++ b/org.argeo.suite.tracker/bnd.bnd @@ -1,2 +1,14 @@ Bundle-SymbolicName: org.argeo.suite.tracker;singleton:=true Bundle-ActivationPolicy: lazy + +Service-Component: OSGI-INF/trackerService.xml,\ +OSGI-INF/trackerMaintenanceService.xml,\ +OSGI-INF/trackerE4Service.xml + +Import-Package: javax.jcr,\ +org.argeo.connect,\ +org.argeo.activities,\ +org.argeo.tracker,\ +org.argeo.tracker.core,\ +org.argeo.tracker.e4,\ +* diff --git a/org.argeo.suite.tracker/e4xmi/tracker-toolbars.e4xmi b/org.argeo.suite.tracker/e4xmi/tracker-toolbars.e4xmi index 03aefe3..3bd8937 100644 --- a/org.argeo.suite.tracker/e4xmi/tracker-toolbars.e4xmi +++ b/org.argeo.suite.tracker/e4xmi/tracker-toolbars.e4xmi @@ -3,8 +3,8 @@ - - + + -- 2.30.2