+ private Control createUi(Composite parent, Node context) throws RepositoryException {
+ Composite bodyCmp = new Composite(parent, SWT.NO_FOCUS);
+ bodyCmp.setLayout(new GridLayout());
+
+ // Title
+ Label titleLbl = new Label(bodyCmp, SWT.WRAP | SWT.LEAD);
+ CmsUtils.markup(titleLbl);
+ String titleStr = "<big><b> Hello " + CurrentUser.getDisplayName() + " </b></big>";
+ titleLbl.setText(titleStr);
+ GridData gd = new GridData(SWT.CENTER, SWT.BOTTOM, false, false);
+ gd.verticalIndent = 5;
+ gd.horizontalIndent = 10;
+ titleLbl.setLayoutData(gd);
+
+ Calendar now = GregorianCalendar.getInstance();
+
+ NodeIterator nit = activitiesService.getMyTasks(getSession(), true);
+ if (nit.hasNext()) {
+ List<Node> overdueTasks = new ArrayList<>();
+ while (nit.hasNext()) {
+ Node currNode = nit.nextNode();
+ if (currNode.hasProperty(ActivitiesNames.ACTIVITIES_DUE_DATE)
+ && currNode.getProperty(ActivitiesNames.ACTIVITIES_DUE_DATE).getDate().before(now))
+ overdueTasks.add(currNode);
+ }
+ if (!overdueTasks.isEmpty()) {
+ Label overdueLbl = new Label(bodyCmp, SWT.WRAP | SWT.LEAD);
+ CmsUtils.markup(overdueLbl);
+ long size = overdueTasks.size();
+ String overdueStr = "You have " + size + " overdue task" + (size > 1 ? "s" : "") + ".";
+ overdueLbl.setText(overdueStr);
+ }
+ }