package eu.eudat.service.description; import com.fasterxml.jackson.core.JsonProcessingException; import eu.eudat.model.Description; import eu.eudat.model.persist.DescriptionPersist; import eu.eudat.model.persist.DescriptionStatusPersist; import gr.cite.tools.exception.MyApplicationException; import gr.cite.tools.exception.MyForbiddenException; import gr.cite.tools.exception.MyNotFoundException; import gr.cite.tools.exception.MyValidationException; import gr.cite.tools.fieldset.FieldSet; import org.springframework.http.ResponseEntity; import javax.management.InvalidApplicationException; import java.io.IOException; import java.util.UUID; public interface DescriptionService { Description persist(DescriptionPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, IOException; Description persistStatus(DescriptionStatusPersist model, FieldSet fields) throws IOException; void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException, IOException; void clone(UUID dmpId, UUID descriptionId) throws InvalidApplicationException, IOException; ResponseEntity export(UUID id, String exportType) throws InvalidApplicationException, IOException; }