argos/dmp-backend/src/main/java/dao/entities/DatasetDaoImpl.java

53 lines
1.5 KiB
Java
Raw Normal View History

package dao.entities;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
2017-10-06 19:20:05 +02:00
import javax.persistence.Query;
import javax.persistence.TypedQuery;
import javax.transaction.Transactional;
import dao.JpaDao;
import entities.Dataset;
import entities.responses.IDLabelPair;
public class DatasetDaoImpl extends JpaDao<Dataset, UUID> implements DatasetDao {
public Dataset loadDetails(Dataset t) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<UUID> listAllIDs() {
String queryString = "SELECT dataset.id FROM Dataset dataset";
TypedQuery<UUID> typedQuery = entityManager.createQuery(queryString, UUID.class);
return typedQuery.getResultList();
}
@Override
public List<IDLabelPair> listAllIDsLabels() {
String queryString = "SELECT dataset.id, dataset.label FROM Dataset dataset";
Query query = (Query) entityManager.createQuery(queryString);
2017-10-06 19:20:05 +02:00
List<Object[]> rows = query.getResultList();
return rows.stream().map(row -> {
return new IDLabelPair(row[0].toString(), row[1].toString());
})
.collect(Collectors.toList());
}
2017-10-06 19:20:05 +02:00
@Override
public int assignDMPToDataset(String datasetID , String dmpID) {
System.out.println("Dataset -> "+datasetID +" switches to dmp -> "+dmpID);
Query query = entityManager.createQuery("UPDATE Dataset dataset SET dataset.dmp=:dmpID where dataset.id=:datasetID ");
query.setParameter("dmpID", dmpID);
query.setParameter("datasetID", datasetID);
return query.executeUpdate();
}
}