changes in dmp deposit model
This commit is contained in:
parent
82a5a9934a
commit
61849a5abf
|
@ -23,4 +23,5 @@ c. **2** stands for both ways deposition if the repository allows the deposits o
|
|||
**repositoryAccessTokenUrl** - repository's access token url e.g. "https://sandbox.zenodo.org/oauth/token" <br>
|
||||
**repositoryClientId** - repository's client id<br>
|
||||
**repositoryClientSecret** - repository's client secret<br>
|
||||
**redirectUri** - redirect uri to argos after the oauth2 flow from the repository<br>
|
||||
**redirectUri** - redirect uri to argos after the oauth2 flow from the repository<br>
|
||||
**hasLogo** - if the repository has a logo<br>
|
|
@ -2,6 +2,7 @@ package eu.eudat.depositinterface.zenodorepository.interfaces;
|
|||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.depositinterface.models.DMPDepositModel;
|
||||
import eu.eudat.depositinterface.models.FileEnvelope;
|
||||
import eu.eudat.depositinterface.repository.RepositoryDeposit;
|
||||
import eu.eudat.depositinterface.repository.RepositoryDepositConfiguration;
|
||||
import eu.eudat.depositinterface.zenodorepository.config.ConfigLoader;
|
||||
|
@ -12,10 +13,7 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
|
@ -23,9 +21,7 @@ import org.springframework.web.client.HttpClientErrorException;
|
|||
import org.springframework.web.client.HttpServerErrorException;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
import java.util.*;
|
||||
|
||||
|
@ -128,15 +124,25 @@ public class ZenodoDeposit implements RepositoryDeposit {
|
|||
|
||||
if (unpublishedUrl == null) {
|
||||
// Second step, add the file to the entry.
|
||||
File pdfFile = dmpDepositModel.getPdfFile();
|
||||
String fileName = dmpDepositModel.getPdfFileName();
|
||||
FileSystemResource fileSystemResource = new FileSystemResource(pdfFile);
|
||||
FileEnvelope pdfEnvelope = dmpDepositModel.getPdfFile();
|
||||
FileSystemResource fileSystemResource = new FileSystemResource(pdfEnvelope.getFile());
|
||||
HttpEntity<FileSystemResource> addFileMapRequest = new HttpEntity<>(fileSystemResource, null);
|
||||
|
||||
String addFileUrl = links.get("bucket") + "/" + fileName + "?access_token=" + zenodoToken;
|
||||
String addFileUrl = links.get("bucket") + "/" + pdfEnvelope.getFilename() + "?access_token=" + zenodoToken;
|
||||
restTemplate.put(addFileUrl, addFileMapRequest);
|
||||
|
||||
ResponseEntity<byte[]> jsonFile = dmpDepositModel.getRdaJson();
|
||||
FileEnvelope rdaJsonEnvelope = dmpDepositModel.getRdaJsonFile();
|
||||
HttpHeaders responseHeaders = new HttpHeaders();
|
||||
responseHeaders.setContentLength(rdaJsonEnvelope.getFile().length());
|
||||
responseHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
|
||||
responseHeaders.set("Content-Disposition", "attachment;filename=" + rdaJsonEnvelope.getFilename());
|
||||
responseHeaders.set("Access-Control-Expose-Headers", "Content-Disposition");
|
||||
responseHeaders.get("Access-Control-Expose-Headers").add("Content-Type");
|
||||
|
||||
byte[] content = Files.readAllBytes(rdaJsonEnvelope.getFile().toPath());
|
||||
|
||||
ResponseEntity<byte[]> jsonFile = new ResponseEntity<>(content, responseHeaders, HttpStatus.OK);
|
||||
|
||||
UUID jsonFileUUID = UUID.randomUUID();
|
||||
File tempJsonFile = new File(this.environment.getProperty("storage.temp") + jsonFileUUID + ".json");
|
||||
try (FileOutputStream jsonFos = new FileOutputStream(tempJsonFile)) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
configuration.doi_funder=DOI_Funder.json
|
||||
configuration.logo=zenodo.jpg
|
||||
configuration.zenodo.logo=${CONFIGURATION_LOGO_ZENODO}
|
||||
storage.temp=${STORAGE_TMP_ZENODO}
|
||||
configuration.zenodo=${CONFIGURATION_ZENODO}
|
||||
|
|
Loading…
Reference in New Issue