CCM NG: Optimised lambda expressions in Workflow UI
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4284 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
4c8615624e
commit
efa065851a
|
|
@ -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 <a href="jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
|
|
@ -179,15 +180,16 @@ class BaseTaskForm extends BaseForm {
|
|||
final String[] selectedDependencies) {
|
||||
final List<Task> dependencies = task.getDependentTasks();
|
||||
final Map<Long, Task> toAdd = new HashMap<>();
|
||||
final Map<Long, Task> 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<Long, Task> 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));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<TaskAssignment> assignments = task.getAssignments();
|
||||
final List<Role> roles = new ArrayList<>();
|
||||
|
||||
assignments.forEach(assignment -> roles.add(assignment.getRole()));
|
||||
|
||||
final List<Role> roles = assignments.stream()
|
||||
.map(TaskAssignment::getRole)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
m_roles.setValue(state, roles);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
|
|
@ -109,12 +109,12 @@ class TaskEditForm extends BaseTaskForm {
|
|||
m_type.setValue(state, Long.toString(task.getTaskType()
|
||||
.getTaskTypeId()));
|
||||
|
||||
final List<Task> deps = task.getDependsOn();
|
||||
final List<String> list = new ArrayList<>();
|
||||
final List<Task> dependencies = task.getDependsOn();
|
||||
final List<String> 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);
|
||||
|
|
|
|||
|
|
@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
|
|
@ -336,15 +327,14 @@ final class TaskItemPane extends BaseItemPane {
|
|||
}
|
||||
|
||||
private String deps(final CmsTask task) {
|
||||
final List<Task> deps = task.getDependsOn();
|
||||
final List<Task> 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<Role> roles = new ArrayList<>();
|
||||
private final List<Role> 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
|
||||
|
|
|
|||
Loading…
Reference in New Issue