package org.gbif.occurrence.ws.client.mock; import org.gbif.api.model.common.search.SearchResponse; import org.gbif.api.model.occurrence.Occurrence; import org.gbif.api.model.occurrence.search.OccurrenceSearchParameter; import org.gbif.api.model.occurrence.search.OccurrenceSearchRequest; import org.gbif.api.service.occurrence.OccurrenceSearchService; import org.gbif.api.service.occurrence.OccurrenceService; import java.util.List; import javax.annotation.Nullable; import javax.validation.constraints.Min; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.inject.Inject; /** * Mock service of {@link OccurrenceSearchService}. */ public class OccurrenceSearchMockService implements OccurrenceSearchService { @Inject private OccurrenceService occurrenceService; private static final int NUM_RESULTS = 20; @Override public SearchResponse<Occurrence, OccurrenceSearchParameter> search(OccurrenceSearchRequest request) { List<Occurrence> results = Lists.newArrayList(); for (int i = 0; i < NUM_RESULTS; i++) { results.add(occurrenceService.get(i)); } SearchResponse<Occurrence, OccurrenceSearchParameter> response = new SearchResponse<Occurrence, OccurrenceSearchParameter>(0L, NUM_RESULTS, new Long(NUM_RESULTS), results, null); response.setResults(results); return response; } @Override public List<String> suggestCatalogNumbers(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("11").add("22").add("33").build(); } @Override public List<String> suggestCollectionCodes(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("EBIRD").add("SG").add("PFW").build(); } @Override public List<String> suggestRecordedBy(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("collector1").add("collector2").add("collector3").build(); } @Override public List<String> suggestRecordNumbers(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("r1").add("r2").add("r3").build(); } @Override public List<String> suggestInstitutionCodes(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("AUDCLO").add("GBIF-SE:ArtDatabanken SG").add("CLO").build(); } @Override public List<String> suggestOccurrenceIds(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("id1").add("id2").add("id3").build(); } @Override public List<String> suggestOrganismIds(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("id1").add("id2").add("id3").build(); } @Override public List<String> suggestLocalities(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("Florida").add("San Jorge").add("Panama Canal").build(); } @Override public List<String> suggestWaterBodies(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("Pacific Ocean").add("Atlantic Ocean").build(); } @Override public List<String> suggestStateProvinces(String prefix, @Nullable Integer limit) { return new ImmutableList.Builder<String>().add("Florida").add("New York").add("Texas").build(); } }