package edu.asu.spring.quadriga.dao.dictionary.impl; import java.util.List; import org.hibernate.Query; import org.springframework.stereotype.Repository; import edu.asu.spring.quadriga.dao.dictionary.IDictionaryCollaboratorDAO; import edu.asu.spring.quadriga.dao.impl.BaseDAO; import edu.asu.spring.quadriga.dto.DictionaryCollaboratorDTO; import edu.asu.spring.quadriga.dto.QuadrigaUserDTO; @Repository public class DictionaryCollaboratorDAO extends BaseDAO<DictionaryCollaboratorDTO> implements IDictionaryCollaboratorDAO { @Override public DictionaryCollaboratorDTO getDTO(String id) { return getDTO(DictionaryCollaboratorDTO.class, id); } @Override public List<QuadrigaUserDTO> getUsersNotCollaborating(String dtoId) { Query query = sessionFactory .getCurrentSession() .createQuery( "SELECT quadUser FROM QuadrigaUserDTO quadUser where quadUser.username NOT IN " + "(Select dictCollab.quadrigaUserDTO.username from DictionaryCollaboratorDTO dictCollab " + "where dictCollab.collaboratorDTOPK.dictionaryid =:dictionaryid) AND quadUser.username " + "NOT IN (Select dict.dictionaryowner.username from DictionaryDTO dict where dict.dictionaryid =:dictionaryid)"); query.setParameter("dictionaryid", dtoId); return query.list(); } }