56 lines
3.1 KiB
Java
56 lines
3.1 KiB
Java
package org.opencdmp.service.description;
|
|
|
|
import org.opencdmp.commons.types.description.importexport.DescriptionImportExport;
|
|
import org.opencdmp.data.StorageFileEntity;
|
|
import org.opencdmp.model.Description;
|
|
import org.opencdmp.model.DescriptionValidationResult;
|
|
import org.opencdmp.model.StorageFile;
|
|
import org.opencdmp.model.persist.*;
|
|
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 jakarta.xml.bind.JAXBException;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.xml.sax.SAXException;
|
|
|
|
import javax.crypto.BadPaddingException;
|
|
import javax.crypto.IllegalBlockSizeException;
|
|
import javax.crypto.NoSuchPaddingException;
|
|
import javax.management.InvalidApplicationException;
|
|
import javax.xml.parsers.ParserConfigurationException;
|
|
import java.io.IOException;
|
|
import java.security.InvalidAlgorithmParameterException;
|
|
import java.security.InvalidKeyException;
|
|
import java.security.NoSuchAlgorithmException;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
|
|
public interface DescriptionService {
|
|
|
|
Map<UUID, List<String>> getDescriptionSectionPermissions(DescriptionSectionPermissionResolver model);
|
|
|
|
Description persist(DescriptionPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, IOException;
|
|
Description persistStatus(DescriptionStatusPersist model, FieldSet fields) throws IOException, InvalidApplicationException;
|
|
|
|
void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException, IOException;
|
|
|
|
List<DescriptionValidationResult> validate(List<UUID> descriptionIds) throws InvalidApplicationException;
|
|
|
|
void clone(UUID dmpId, UUID descriptionId) throws InvalidApplicationException, IOException;
|
|
|
|
ResponseEntity<byte[]> export(UUID id, String exportType) throws InvalidApplicationException, IOException, InvalidAlgorithmParameterException, NoSuchPaddingException, IllegalBlockSizeException, NoSuchAlgorithmException, BadPaddingException, InvalidKeyException;
|
|
|
|
StorageFile uploadFieldFile(DescriptionFieldFilePersist model, MultipartFile file, FieldSet fields) throws IOException;
|
|
StorageFileEntity getFieldFile(UUID descriptionId, UUID storageFileId);
|
|
void updateDescriptionTemplate(UpdateDescriptionTemplatePersist model) throws InvalidApplicationException, IOException, JAXBException;
|
|
|
|
DescriptionImportExport exportXmlEntity(UUID id) throws MyForbiddenException, MyNotFoundException, JAXBException, ParserConfigurationException, IOException, InstantiationException, IllegalAccessException, SAXException, InvalidApplicationException;
|
|
|
|
ResponseEntity<byte[]> exportXml(UUID id) throws MyForbiddenException, MyNotFoundException, JAXBException, ParserConfigurationException, IOException, InstantiationException, IllegalAccessException, SAXException, InvalidApplicationException;
|
|
}
|