argos/dmp-backend/src/main/java/eu/eudat/dao/entities/DataRepositoryDaoImpl.java

42 lines
1.3 KiB
Java

package eu.eudat.dao.entities;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import eu.eudat.dao.databaselayer.service.DatabaseService;
import eu.eudat.queryable.QueryableList;
import org.hibernate.query.Query;
import eu.eudat.dao.JpaDao;
import eu.eudat.entities.DataRepository;
import eu.eudat.entities.responses.IDLabelPair;
import eu.eudat.models.criteria.Criteria;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
@Component("dataRepositoryDao")
public class DataRepositoryDaoImpl implements DataRepositoryDao{
@Autowired
DatabaseService<DataRepository> databaseService;
@Override
public List<DataRepository> listBy(Criteria<DataRepository> criteria) {
QueryableList<DataRepository> query = databaseService.getQueryable(DataRepository.class);
if(criteria.getLike()!=null)query.where((builder, root) -> builder.equal(root.get("reference"),criteria.getLike()));
return query.toList();
}
@Override
public DataRepository createOrUpdate(DataRepository item) {
return databaseService.createOrUpdate(item,DataRepository.class);
}
}