package edu.asu.spring.quadriga.service.workspace.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import edu.asu.spring.quadriga.dao.workspace.IWorkspaceCCDAO; import edu.asu.spring.quadriga.dao.workspace.IWorkspaceDAO; import edu.asu.spring.quadriga.domain.conceptcollection.IConceptCollection; import edu.asu.spring.quadriga.domain.workspace.IWorkSpace; import edu.asu.spring.quadriga.domain.workspace.IWorkspaceConceptCollection; import edu.asu.spring.quadriga.dto.WorkspaceDTO; import edu.asu.spring.quadriga.exceptions.QuadrigaStorageException; import edu.asu.spring.quadriga.mapper.workspace.IWorkspaceCCShallowMapper; import edu.asu.spring.quadriga.mapper.workspace.IWorkspaceDeepMapper; import edu.asu.spring.quadriga.service.workspace.IWorkspaceCCManager; @Service public class WorkspaceCCManager implements IWorkspaceCCManager { @Autowired private IWorkspaceCCDAO dbConnect; @Autowired private IWorkspaceCCShallowMapper wsCCShallowMapper; @Autowired private IWorkspaceDeepMapper wsDeepMapper; @Autowired private IWorkspaceDAO wsDAO; @Override @Transactional public void addWorkspaceCC(String workspaceId, String CCId, String userId) throws QuadrigaStorageException { dbConnect.addWorkspaceCC(workspaceId, CCId, userId); } @Override @Transactional public List<IWorkspaceConceptCollection> listWorkspaceCC(String workspaceId) throws QuadrigaStorageException { WorkspaceDTO workspaceDTO = wsDAO.getDTO(workspaceId); IWorkSpace workspace = wsDeepMapper.mapWorkspaceDTO(workspaceDTO); List<IWorkspaceConceptCollection> wsCCList = wsCCShallowMapper.getWorkspaceCCList(workspace, workspaceDTO); return wsCCList; } @Override @Transactional public List<IConceptCollection> getNonAssociatedWorkspaceConcepts(String workspaceId) throws QuadrigaStorageException { return dbConnect.getNonAssociatedWorkspaceConcepts(workspaceId); } @Override @Transactional public void deleteWorkspaceCC(String workspaceId, String userId, String CCId) throws QuadrigaStorageException { dbConnect.deleteWorkspaceCC(workspaceId, userId, CCId); } }