package edu.asu.spring.quadriga.dao.resolver.impl; import java.util.List; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import edu.asu.spring.quadriga.dao.impl.BaseDAO; import edu.asu.spring.quadriga.dao.resolver.IProjectHandleResolverDAO; import edu.asu.spring.quadriga.dto.ProjectDTO; import edu.asu.spring.quadriga.dto.ProjectHandleResolverDTO; /** * This DAO is responsible for storing and retrieving * {@link ProjectHandleResolverDTO}s in and from the database. * * @author jdamerow * */ @Repository @Transactional public class ProjectHandleResolverDAO extends BaseDAO<ProjectHandleResolverDTO> implements IProjectHandleResolverDAO { /* * (non-Javadoc) * * @see edu.asu.spring.quadriga.dao.resolver.impl.IProjectHandleResolverDAO# * getDTO(java.lang.String) */ @Override public ProjectHandleResolverDTO getDTO(String id) { return getDTO(ProjectHandleResolverDTO.class, id); } @Override public String getIdPrefix() { return messages.getProperty("resolver_id.prefix"); } @Override public List<ProjectHandleResolverDTO> getProjectResolversForUser(String username) { return sessionFactory.getCurrentSession().createCriteria(ProjectHandleResolverDTO.class) .add(Restrictions.eq("username", username)).list(); } @Override public List<ProjectDTO> getProjectsForResolverId(String resolverId) { String query = "select project from ProjectDTO project join project.resolvers mappings where " + "mappings.id = '" + resolverId + "'"; List<ProjectDTO> projectsList = sessionFactory.getCurrentSession().createQuery(query).list(); return projectsList; } }