public ProcessGroupFlowDTO createProcessGroupFlowDto(final ProcessGroup group, final ProcessGroupStatus groupStatus, final RevisionManager revisionManager, final Function<ProcessGroup, List<BulletinEntity>> getProcessGroupBulletins) { final ProcessGroupFlowDTO dto = new ProcessGroupFlowDTO(); dto.setId(group.getIdentifier()); dto.setLastRefreshed(new Date()); dto.setBreadcrumb(createBreadcrumbEntity(group)); dto.setFlow(createFlowDto(group, groupStatus, revisionManager, getProcessGroupBulletins)); final ProcessGroup parent = group.getParent(); if (parent != null) { dto.setParentGroupId(parent.getIdentifier()); } return dto; }
/** * Creates a FlowBreadcrumbEntity from the specified parent ProcessGroup. * * @param group group * @return dto */ private FlowBreadcrumbEntity createBreadcrumbEntity(final ProcessGroup group) { if (group == null) { return null; } final FlowBreadcrumbDTO dto = createBreadcrumbDto(group); final PermissionsDTO permissions = createPermissionsDto(group); final FlowBreadcrumbEntity entity = entityFactory.createFlowBreadcrumbEntity(dto, permissions); if (group.getParent() != null) { entity.setParentBreadcrumb(createBreadcrumbEntity(group.getParent())); } return entity; }