package com.jspxcms.core.service.impl; import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.jspxcms.core.domain.WorkflowStep; import com.jspxcms.core.domain.WorkflowStepRole; import com.jspxcms.core.repository.WorkflowStepRoleDao; import com.jspxcms.core.service.RoleService; import com.jspxcms.core.service.WorkflowStepRoleService; @Service @Transactional(readOnly = true) public class WorkflowStepRoleServiceImpl implements WorkflowStepRoleService { @Transactional public Set<WorkflowStepRole> save(WorkflowStep step, Integer[] roleIds) { Set<WorkflowStepRole> stepRoles = new HashSet<WorkflowStepRole>(); if (roleIds != null) { WorkflowStepRole stepRole; for (Integer roleId : roleIds) { stepRole = new WorkflowStepRole(step, roleService.get(roleId)); dao.save(stepRole); stepRoles.add(stepRole); } } return stepRoles; } public long countByRoleId(Collection<Integer> roleIds) { return dao.countByRoleId(roleIds); } private RoleService roleService; @Autowired public void setRoleService(RoleService roleService) { this.roleService = roleService; } private WorkflowStepRoleDao dao; @Autowired public void setDao(WorkflowStepRoleDao dao) { this.dao = dao; } }