From efa065851ab705e7d3b533b0c933b8ff968975c2 Mon Sep 17 00:00:00 2001 From: jensp Date: Wed, 7 Sep 2016 06:52:44 +0000 Subject: [PATCH] CCM NG: Optimised lambda expressions in Workflow UI git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4284 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/ui/workflow/BaseTaskForm.java | 26 +++++++++------- .../cms/ui/workflow/TaskAddRole.java | 9 +++--- .../cms/ui/workflow/TaskEditForm.java | 20 ++++++------ .../cms/ui/workflow/TaskItemPane.java | 31 +++++++------------ 4 files changed, 41 insertions(+), 45 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/BaseTaskForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/BaseTaskForm.java index fdf6cebb0..bf5cd75e3 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/BaseTaskForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/BaseTaskForm.java @@ -46,6 +46,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.TooManyListenersException; +import java.util.stream.Collectors; /** * @author Jens Pelzetter @@ -179,15 +180,16 @@ class BaseTaskForm extends BaseForm { final String[] selectedDependencies) { final List dependencies = task.getDependentTasks(); final Map toAdd = new HashMap<>(); - final Map toRemove = new HashMap<>(); - // Everything is to be removed unless it is in the array. - dependencies.forEach(temp -> toRemove.put(temp.getTaskId(), temp)); - - final CdiUtil cdiUtil =CdiUtil.createCdiUtil(); + final Map toRemove = dependencies.stream() + .collect(Collectors.toMap(Task::getTaskId, + dependency -> dependency)); + + final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final TaskRepository taskRepo = cdiUtil.findBean(TaskRepository.class); - final WorkflowManager workflowManager = cdiUtil.findBean(WorkflowManager.class); - + final WorkflowManager workflowManager = cdiUtil.findBean( + WorkflowManager.class); + Long selectedId; Object addedTask; if (selectedDependencies != null) { @@ -200,11 +202,11 @@ class BaseTaskForm extends BaseForm { } } - toRemove.values().forEach(temp -> workflowManager.removeDependentTask( - task, temp)); - - toAdd.values().forEach(temp -> workflowManager.addDependentTask(task, - temp)); + toRemove.values().forEach(taskToRemove -> workflowManager + .removeDependentTask(task, taskToRemove)); + + toAdd.values().forEach(tasktoAdd -> workflowManager + .addDependentTask(task, tasktoAdd)); } } diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskAddRole.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskAddRole.java index 488d9ee64..98950a233 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskAddRole.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskAddRole.java @@ -56,6 +56,7 @@ import org.librecms.CmsConstants; import java.util.ArrayList; import java.util.List; import java.util.TooManyListenersException; +import java.util.stream.Collectors; class TaskAddRole extends CMSForm { @@ -104,10 +105,10 @@ class TaskAddRole extends CMSForm { final CmsTask task = m_task.getTask(state); final List assignments = task.getAssignments(); - final List roles = new ArrayList<>(); - - assignments.forEach(assignment -> roles.add(assignment.getRole())); - + final List roles = assignments.stream() + .map(TaskAssignment::getRole) + .collect(Collectors.toList()); + m_roles.setValue(state, roles); } diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskEditForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskEditForm.java index 24cd25a4f..1816b6e04 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskEditForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskEditForm.java @@ -18,7 +18,6 @@ */ package com.arsdigita.cms.ui.workflow; -import com.arsdigita.bebop.Form; import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.event.FormInitListener; @@ -45,6 +44,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.TooManyListenersException; +import java.util.stream.Collectors; /** * @author Jens Pelzetter @@ -109,12 +109,12 @@ class TaskEditForm extends BaseTaskForm { m_type.setValue(state, Long.toString(task.getTaskType() .getTaskTypeId())); - final List deps = task.getDependsOn(); - final List list = new ArrayList<>(); + final List dependencies = task.getDependsOn(); + final List depIdList = dependencies.stream() + .map(dependency -> Long.toString(dependency.getTaskId())) + .collect(Collectors.toList()); - deps.forEach(dep -> list.add(Long.toString(dep.getTaskId()))); - - m_deps.setValue(state, list.toArray()); + m_deps.setValue(state, depIdList.toArray()); } } @@ -130,7 +130,8 @@ class TaskEditForm extends BaseTaskForm { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final TaskRepository taskRepo = cdiUtil.findBean( TaskRepository.class); - final CmsTaskTypeRepository taskTypeRepo = cdiUtil.findBean(CmsTaskTypeRepository.class); + final CmsTaskTypeRepository taskTypeRepo = cdiUtil.findBean( + CmsTaskTypeRepository.class); final ConfigurationManager confManager = cdiUtil.findBean( ConfigurationManager.class); final KernelConfig kernelConfig = confManager.findConfiguration( @@ -142,8 +143,9 @@ class TaskEditForm extends BaseTaskForm { task.getDescription().addValue( defaultLocale, (String) m_description.getValue(state)); - - final CmsTaskType taskType = taskTypeRepo.findById((Long) m_type.getValue(state)); + + final CmsTaskType taskType = taskTypeRepo.findById((Long) m_type + .getValue(state)); task.setTaskType(taskType); taskRepo.save(task); diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskItemPane.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskItemPane.java index 9dd025e5e..aaf00b952 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskItemPane.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/workflow/TaskItemPane.java @@ -31,41 +31,32 @@ import com.arsdigita.bebop.table.DefaultTableCellRenderer; import com.arsdigita.bebop.table.TableColumn; import com.arsdigita.bebop.table.TableModel; import com.arsdigita.bebop.table.TableModelBuilder; -import com.arsdigita.cms.CMS; import com.arsdigita.cms.ui.BaseItemPane; import com.arsdigita.cms.ui.VisibilityComponent; import com.arsdigita.kernel.KernelConfig; import org.librecms.workflow.CmsTask; -import org.libreccm.core.EmailAddress; -import org.libreccm.security.Group; import org.libreccm.security.User; import com.arsdigita.toolbox.ui.ActionGroup; import com.arsdigita.toolbox.ui.PropertyList; import com.arsdigita.toolbox.ui.Section; import com.arsdigita.util.LockableImpl; -import com.arsdigita.web.Web; -import com.sun.javafx.scene.control.skin.VirtualFlow; import org.libreccm.cdi.utils.CdiUtil; -import org.libreccm.security.GroupRepository; import org.libreccm.security.PermissionChecker; import org.libreccm.security.Role; import org.libreccm.security.RoleRepository; import org.libreccm.security.Shiro; import org.libreccm.workflow.Task; import org.libreccm.workflow.UserTask; -import org.libreccm.workflow.Workflow; import org.libreccm.workflow.WorkflowManager; import org.librecms.CmsConstants; -import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Locale; -import java.util.StringJoiner; +import java.util.stream.Collectors; /** * @author Jens Pelzetter @@ -336,15 +327,14 @@ final class TaskItemPane extends BaseItemPane { } private String deps(final CmsTask task) { - final List deps = task.getDependsOn(); + final List dependencies = task.getDependsOn(); final KernelConfig kernelConfig = KernelConfig.getConfig(); final Locale defaultLocale = kernelConfig.getDefaultLocale(); - final StringJoiner joiner = new StringJoiner(", "); - deps.forEach(dep -> joiner.add(dep.getLabel().getValue( - defaultLocale))); - - return joiner.toString(); + return dependencies.stream() + .map(dependency -> dependency.getLabel().getValue( + defaultLocale)) + .collect(Collectors.joining(", ")); } } @@ -432,13 +422,14 @@ final class TaskItemPane extends BaseItemPane { private class Model implements TableModel { - private final List roles = new ArrayList<>(); + private final List roles; private Role role; private int index = -1; private Model(final CmsTask task) { - task.getAssignments().forEach(assignment -> roles.add( - assignment.getRole())); + roles = task.getAssignments().stream() + .map(assignment -> assignment.getRole()) + .collect(Collectors.toList()); } @Override @@ -449,7 +440,7 @@ final class TaskItemPane extends BaseItemPane { @Override public final boolean nextRow() { index++; - return index < roles.size(); + return index < roles.size(); } @Override