dnet-applications/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ResponseUtils.java

62 lines
2.2 KiB
Java
Raw Normal View History

2022-02-04 10:12:15 +01:00
package eu.dnetlib.openaire.dsm.dao;
import java.util.List;
import java.util.Queue;
import com.google.common.collect.Lists;
2022-02-07 10:09:18 +01:00
import eu.dnetlib.openaire.dsm.domain.DatasourceSearchResponse;
2023-04-03 08:33:39 +02:00
import eu.dnetlib.openaire.exporter.model.dsm.ApiDetails;
import eu.dnetlib.openaire.exporter.model.dsm.ApiDetailsResponse;
2023-04-03 12:22:22 +02:00
import eu.dnetlib.openaire.exporter.model.dsm.DatasourceDetailResponse;
import eu.dnetlib.openaire.exporter.model.dsm.DatasourceDetails;
import eu.dnetlib.openaire.exporter.model.dsm.DatasourceInfo;
2023-04-03 12:22:22 +02:00
import eu.dnetlib.openaire.exporter.model.dsm.DatasourceSnippetExtended;
import eu.dnetlib.openaire.exporter.model.dsm.DatasourceSnippetResponse;
import eu.dnetlib.openaire.exporter.model.dsm.Header;
import eu.dnetlib.openaire.exporter.model.dsm.SimpleResponse;
2022-02-04 10:12:15 +01:00
public class ResponseUtils {
public static ApiDetailsResponse apiResponse(final List<ApiDetails> api, final long total) {
final ApiDetailsResponse rsp = new ApiDetailsResponse().setApi(api);
rsp.setHeader(header(total));
return rsp;
}
public static DatasourceSnippetResponse snippetResponse(final List<DatasourceSnippetExtended> snippets, final long total) {
final DatasourceSnippetResponse rsp = new DatasourceSnippetResponse(snippets);
rsp.setHeader(header(total));
return rsp;
}
public static DatasourceDetailResponse detailsResponse(final List<DatasourceDetails> details, final long total) {
final DatasourceDetailResponse rsp = new DatasourceDetailResponse(details);
rsp.setHeader(header(total));
return rsp;
}
public static DatasourceSearchResponse searchResponse(final List<DatasourceInfo> infos, final long total) {
final DatasourceSearchResponse rsp = new DatasourceSearchResponse(infos);
rsp.setHeader(header(total));
return rsp;
}
public static Header header(final Queue<Throwable> errors, final long total) {
return Header.newInsance()
2022-02-07 10:09:18 +01:00
.setExceptions(errors)
.setTotal(total);
2022-02-04 10:12:15 +01:00
}
public static Header header(final long total) {
return header(Lists.newLinkedList(), total);
}
public static <T> SimpleResponse<T> simpleResponse(final List<T> list) {
final SimpleResponse<T> rsp = new SimpleResponse<T>().setResponse(list);;
2022-02-04 10:12:15 +01:00
rsp.setHeader(header(Lists.newLinkedList(), list.size()));
return rsp;
}
}