001/* 002 * Licensed under the Apache License, Version 2.0 (the "License"); 003 * you may not use this file except in compliance with the License. 004 * You may obtain a copy of the License at 005 * 006 * http://www.apache.org/licenses/LICENSE-2.0 007 * 008 * Unless required by applicable law or agreed to in writing, software 009 * distributed under the License is distributed on an "AS IS" BASIS, 010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 011 * See the License for the specific language governing permissions and 012 * limitations under the License. 013 */ 014package org.gbif.api.service.registry; 015 016import java.util.UUID; 017 018public interface DatasetValidationService { 019 020 /** 021 * Stores or updates the validation report for a specific crawl attempt of a dataset. 022 * 023 * @param datasetKey key of the target dataset 024 * @param attempt crawl attempt number 025 * @param report validation report as a JSON string 026 */ 027 void createOrUpdate(UUID datasetKey, int attempt, String report); 028 029 /** 030 * Retrieves the validation report for a specific crawl attempt of a dataset. 031 * 032 * @param datasetKey key of the target dataset 033 * @param attempt crawl attempt number 034 * @return validation report as a JSON string 035 */ 036 String get(UUID datasetKey, int attempt); 037 038 /** 039 * Retrieves the validation report for the latest crawl attempt of a dataset. 040 * 041 * @param datasetKey key of the target dataset 042 * @return validation report as a JSON string 043 */ 044 String getLatest(UUID datasetKey); 045 046}