package com.mossle.bpm;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import com.mossle.api.org.OrgConnector;
import com.mossle.api.org.OrgDTO;
import org.activiti.engine.identity.Group;
import org.activiti.engine.impl.persistence.entity.GroupEntity;
import org.activiti.engine.impl.persistence.entity.GroupEntityManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CustomGroupEntityManager extends GroupEntityManager {
private static Logger logger = LoggerFactory
.getLogger(CustomGroupEntityManager.class);
private OrgConnector orgConnector;
@Override
public List<Group> findGroupsByUser(String userId) {
logger.debug("findGroupsByUser : {}", userId);
List<Group> groups = new ArrayList<Group>();
for (OrgDTO orgDto : orgConnector.getOrgsByUserId(userId)) {
GroupEntity groupEntity = new GroupEntity(orgDto.getId());
groupEntity.setName(orgDto.getName());
groupEntity.setType(orgDto.getTypeName());
groups.add(groupEntity);
}
return groups;
}
@Resource
public void setOrgConnector(OrgConnector orgConnector) {
this.orgConnector = orgConnector;
}
}