package org.gbif.occurrence.ws.client.mock;

import org.gbif.api.model.common.paging.Pageable;
import org.gbif.api.model.common.paging.PagingResponse;
import org.gbif.api.model.occurrence.Download;
import org.gbif.api.model.registry.DatasetOccurrenceDownloadUsage;
import org.gbif.api.service.registry.OccurrenceDownloadService;

import java.util.Set;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;

public class OccurrenceDownloadMockServices implements OccurrenceDownloadService {

  @Override
  public void create(@NotNull Download download) {
    // TODO: Write implementation
    throw new UnsupportedOperationException("Not implemented yet");
  }

  @Override
  public Download get(@NotNull String s) {
    // TODO: Write implementation
    throw new UnsupportedOperationException("Not implemented yet");
  }

  @Override
  public PagingResponse<Download> list(
    @Nullable Pageable pageable, @Nullable Set<Download.Status> status
  ) {
    // TODO: Write implementation
    throw new UnsupportedOperationException("Not implemented yet");
  }

  @Override
  public PagingResponse<Download> listByUser(
    @NotNull String s, @Nullable Pageable pageable, @Nullable Set<Download.Status> status
  ) {
    // TODO: Write implementation
    throw new UnsupportedOperationException("Not implemented yet");
  }

  @Override
  public void update(@NotNull Download download) {
    // TODO: Write implementation
    throw new UnsupportedOperationException("Not implemented yet");
  }

  @Override
  public PagingResponse<DatasetOccurrenceDownloadUsage> listDatasetUsages(
    @NotNull String s, @Nullable Pageable pageable
  ) {
    // TODO: Write implementation
    throw new UnsupportedOperationException("Not implemented yet");
  }
}

@@ -326,29 +326,137 @@
 ce;%0A
-%0Aimport java.util.Set
+import org.gbif.api.vocabulary.Country;%0A%0Aimport java.util.Date;%0Aimport java.util.Map;%0Aimport java.util.Set;%0Aimport java.util.UUID
 ;%0Aim
@@ -1865,11 +1865,633 @@
 t%22);%0A  %7D
+%0A%0A  @Override%0A  public Map%3CInteger, Map%3CInteger, Long%3E%3E getMonthlyStats(%0A    @Nullable Date date, @Nullable Date date1, @Nullable Country country, @Nullable Country country1, @Nullable UUID uuid%0A  ) %7B%0A    // TODO: Write implementation%0A    throw new UnsupportedOperationException(%22Not implemented yet%22);%0A  %7D%0A%0A  @Override%0A  public Map%3CInteger, Map%3CInteger, Long%3E%3E getDownloadedRecordsStats(%0A    @Nullable Date date, @Nullable Date date1, @Nullable Country country, @Nullable Country country1, @Nullable UUID uuid%0A  ) %7B%0A    // TODO: Write implementation%0A    throw new UnsupportedOperationException(%22Not implemented yet%22);%0A  %7D
 %0A%7D%0A

Add unimplemented methods.