initial commit
This commit is contained in:
commit
c946b6b935
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.7.4</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
|
||||
<groupId>eu.eudat</groupId>
|
||||
<artifactId>depositinterface</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,130 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DMPDepositModel {
|
||||
private UUID id;
|
||||
private int version;
|
||||
private String label;
|
||||
private String description;
|
||||
private boolean isPublic;
|
||||
private Set<UserDMPDepositModel> users;
|
||||
private Set<OrganisationDepositModel> organisations;
|
||||
private Set<ResearcherDepositModel> researchers;
|
||||
private GrantDepositModel grant;
|
||||
private File pdfFile;
|
||||
private String pdfFileName;
|
||||
private ResponseEntity<byte[]> rdaJson;
|
||||
private File supportingFilesZip;
|
||||
private String previousDOI;
|
||||
private String extraProperties;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getVersion() {
|
||||
return version;
|
||||
}
|
||||
public void setVersion(int version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public boolean isPublic() {
|
||||
return isPublic;
|
||||
}
|
||||
public void setPublic(boolean aPublic) {
|
||||
isPublic = aPublic;
|
||||
}
|
||||
|
||||
public Set<UserDMPDepositModel> getUsers() {
|
||||
return users;
|
||||
}
|
||||
public void setUsers(Set<UserDMPDepositModel> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
public Set<OrganisationDepositModel> getOrganisations() {
|
||||
return organisations;
|
||||
}
|
||||
public void setOrganisations(Set<OrganisationDepositModel> organisations) {
|
||||
this.organisations = organisations;
|
||||
}
|
||||
|
||||
public Set<ResearcherDepositModel> getResearchers() {
|
||||
return researchers;
|
||||
}
|
||||
public void setResearchers(Set<ResearcherDepositModel> researchers) {
|
||||
this.researchers = researchers;
|
||||
}
|
||||
|
||||
public GrantDepositModel getGrant() {
|
||||
return grant;
|
||||
}
|
||||
public void setGrant(GrantDepositModel grant) {
|
||||
this.grant = grant;
|
||||
}
|
||||
|
||||
public File getPdfFile() {
|
||||
return pdfFile;
|
||||
}
|
||||
public void setPdfFile(File pdfFile) {
|
||||
this.pdfFile = pdfFile;
|
||||
}
|
||||
|
||||
public String getPdfFileName() {
|
||||
return pdfFileName;
|
||||
}
|
||||
public void setPdfFileName(String pdfFileName) {
|
||||
this.pdfFileName = pdfFileName;
|
||||
}
|
||||
|
||||
public ResponseEntity<byte[]> getRdaJson() {
|
||||
return rdaJson;
|
||||
}
|
||||
public void setRdaJson(ResponseEntity<byte[]> rdaJson) {
|
||||
this.rdaJson = rdaJson;
|
||||
}
|
||||
|
||||
public File getSupportingFilesZip() {
|
||||
return supportingFilesZip;
|
||||
}
|
||||
public void setSupportingFilesZip(File supportingFilesZip) {
|
||||
this.supportingFilesZip = supportingFilesZip;
|
||||
}
|
||||
|
||||
public String getPreviousDOI() {
|
||||
return previousDOI;
|
||||
}
|
||||
public void setPreviousDOI(String previousDOI) {
|
||||
this.previousDOI = previousDOI;
|
||||
}
|
||||
|
||||
public String getExtraProperties() {
|
||||
return extraProperties;
|
||||
}
|
||||
public void setExtraProperties(String extraProperties) {
|
||||
this.extraProperties = extraProperties;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
public class FunderDepositModel {
|
||||
private String label;
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class GrantDepositModel {
|
||||
private UUID id;
|
||||
private String reference;
|
||||
private FunderDepositModel funder;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getReference() {
|
||||
return reference;
|
||||
}
|
||||
public void setReference(String reference) {
|
||||
this.reference = reference;
|
||||
}
|
||||
|
||||
public FunderDepositModel getFunder() {
|
||||
return funder;
|
||||
}
|
||||
public void setFunder(FunderDepositModel funder) {
|
||||
this.funder = funder;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
public class OrganisationDepositModel {
|
||||
private String label;
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
public class ResearcherDepositModel {
|
||||
private String label;
|
||||
private String reference;
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getReference() {
|
||||
return reference;
|
||||
}
|
||||
public void setReference(String reference) {
|
||||
this.reference = reference;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
public class UserDMPDepositModel {
|
||||
|
||||
public enum UserDMPRoles {
|
||||
OWNER(0), USER(1);
|
||||
|
||||
private int value;
|
||||
|
||||
UserDMPRoles(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
public static UserDMPRoles fromInteger(int value) {
|
||||
switch (value) {
|
||||
case 0:
|
||||
return OWNER;
|
||||
case 1:
|
||||
return USER;
|
||||
default:
|
||||
throw new RuntimeException("Unsupported User Dmp Role Message Code");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private UserInfoDepositModel user;
|
||||
private Integer role;
|
||||
|
||||
public UserInfoDepositModel getUser() {
|
||||
return user;
|
||||
}
|
||||
public void setUser(UserInfoDepositModel user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public Integer getRole() {
|
||||
return role;
|
||||
}
|
||||
public void setRole(Integer role) {
|
||||
this.role = role;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package eu.eudat.depositinterface.models;
|
||||
|
||||
public class UserInfoDepositModel {
|
||||
private String name;
|
||||
private String email;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package eu.eudat.depositinterface.repository;
|
||||
|
||||
import eu.eudat.depositinterface.models.DMPDepositModel;
|
||||
|
||||
public interface RepositoryDeposit {
|
||||
|
||||
String deposit(DMPDepositModel dmpDepositModel, String repositoryAccessToken) throws Exception;
|
||||
|
||||
String authenticate(String code);
|
||||
|
||||
RepositoryDepositConfiguration getConfiguration();
|
||||
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
package eu.eudat.depositinterface.repository;
|
||||
|
||||
public class RepositoryDepositConfiguration {
|
||||
|
||||
public enum DepositType {
|
||||
SystemDeposit(0), UserDeposit(1), BothWaysDeposit(2);
|
||||
|
||||
private int value;
|
||||
|
||||
DepositType(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static DepositType fromInteger(int value) {
|
||||
switch (value) {
|
||||
case 0:
|
||||
return SystemDeposit;
|
||||
case 1:
|
||||
return UserDeposit;
|
||||
case 2:
|
||||
return BothWaysDeposit;
|
||||
default:
|
||||
throw new RuntimeException("Unsupported Deposit Account Type");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int depositType;
|
||||
private String repositoryId;
|
||||
private String accessToken;
|
||||
private String repositoryUrl;
|
||||
private String repositoryAuthorizationUrl;
|
||||
private String repositoryRecordUrl;
|
||||
private String repositoryAccessTokenUrl;
|
||||
private String repositoryClientId;
|
||||
private String repositoryClientSecret;
|
||||
private String redirectUri;
|
||||
|
||||
public int getDepositType() {
|
||||
return depositType;
|
||||
}
|
||||
public void setDepositType(int depositType) {
|
||||
this.depositType = depositType;
|
||||
}
|
||||
|
||||
public String getRepositoryId() {
|
||||
return repositoryId;
|
||||
}
|
||||
public void setRepositoryId(String repositoryId) {
|
||||
this.repositoryId = repositoryId;
|
||||
}
|
||||
|
||||
public String getAccessToken() {
|
||||
return accessToken;
|
||||
}
|
||||
public void setAccessToken(String accessToken) {
|
||||
this.accessToken = accessToken;
|
||||
}
|
||||
|
||||
public String getRepositoryUrl() {
|
||||
return repositoryUrl;
|
||||
}
|
||||
public void setRepositoryUrl(String repositoryUrl) {
|
||||
this.repositoryUrl = repositoryUrl;
|
||||
}
|
||||
|
||||
public String getRepositoryAuthorizationUrl() {
|
||||
return repositoryAuthorizationUrl;
|
||||
}
|
||||
public void setRepositoryAuthorizationUrl(String repositoryAuthorizationUrl) {
|
||||
this.repositoryAuthorizationUrl = repositoryAuthorizationUrl;
|
||||
}
|
||||
|
||||
public String getRepositoryRecordUrl() {
|
||||
return repositoryRecordUrl;
|
||||
}
|
||||
public void setRepositoryRecordUrl(String repositoryRecordUrl) {
|
||||
this.repositoryRecordUrl = repositoryRecordUrl;
|
||||
}
|
||||
|
||||
public String getRepositoryAccessTokenUrl() {
|
||||
return repositoryAccessTokenUrl;
|
||||
}
|
||||
public void setRepositoryAccessTokenUrl(String repositoryAccessTokenUrl) {
|
||||
this.repositoryAccessTokenUrl = repositoryAccessTokenUrl;
|
||||
}
|
||||
|
||||
public String getRepositoryClientId() {
|
||||
return repositoryClientId;
|
||||
}
|
||||
public void setRepositoryClientId(String repositoryClientId) {
|
||||
this.repositoryClientId = repositoryClientId;
|
||||
}
|
||||
|
||||
public String getRepositoryClientSecret() {
|
||||
return repositoryClientSecret;
|
||||
}
|
||||
public void setRepositoryClientSecret(String repositoryClientSecret) {
|
||||
this.repositoryClientSecret = repositoryClientSecret;
|
||||
}
|
||||
|
||||
public String getRedirectUri() {
|
||||
return redirectUri;
|
||||
}
|
||||
public void setRedirectUri(String redirectUri) {
|
||||
this.redirectUri = redirectUri;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue