
com.capitalone.dashboard.repository.QueryRepository Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hygieia-common Show documentation
Show all versions of hygieia-common Show documentation
Core package shared by API layer and Microservices
The newest version!
package com.capitalone.dashboard.repository;
import com.capitalone.dashboard.query.model.QueryException;
import com.capitalone.dashboard.query.repository.OneQueryExecutor;
import org.apache.commons.collections4.IterableUtils;
import org.bson.types.ObjectId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page;
import org.springframework.data.repository.NoRepositoryBean;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@NoRepositoryBean
public interface QueryRepository extends OneQueryExecutor {
Logger LOGGER = LoggerFactory.getLogger(QueryRepository.class);
default List findAll (String query) {
try {
return IterableUtils.toList(find(query));
} catch (QueryException qe) {
LOGGER.error(qe.getMessage(), qe);
return Collections.emptyList();
}
}
default Page findAllAsPage (String query) {
try {
return (Page) find(query);
} catch (QueryException qe) {
LOGGER.error(qe.getMessage(), qe);
return (Page) IterableUtils.emptyIterable();
}
}
@Override
default T findOne (String query) {
try {
Iterable items = find(query);
if (IterableUtils.isEmpty(items)) {
return null;
} else {
return IterableUtils.toList(items).get(0);
}
} catch (QueryException qe) {
LOGGER.error(qe.getMessage(), qe);
return null;
}
}
default T findOne (ObjectId id) {
return findOne("id eq " + quote(id.toHexString()));
}
default Iterable save (Collection documents) {
return saveAll(documents);
}
default Iterable save (Iterable documents) {
return saveAll(documents);
}
default void delete (Collection documents) {
deleteAll(documents);
}
default void delete (Iterable documents) {
deleteAll(documents);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy