258 lines
9.7 KiB
Java
258 lines
9.7 KiB
Java
package eu.old.eudat.publicapi.migration;
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import eu.old.eudat.migration.*;
|
|
import io.swagger.annotations.Api;
|
|
import jakarta.xml.bind.JAXBException;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.xml.sax.SAXException;
|
|
|
|
import javax.xml.parsers.ParserConfigurationException;
|
|
import java.io.IOException;
|
|
|
|
@Api(tags = "Migration")
|
|
@RestController
|
|
@CrossOrigin
|
|
@RequestMapping(value = {"/api/public/migration"})
|
|
public class MigrationController {
|
|
|
|
private final DmpMigrationService dmpMigrationService;
|
|
private final DataRepositoryMigrationService dataRepositoryMigrationService;
|
|
private final ExternalDatasetMigrationService externalDatasetMigrationService;
|
|
private final FunderMigrationService funderMigrationService;
|
|
private final GrantMigrationService grantMigrationService;
|
|
private final ProjectMigrationService projectMigrationService;
|
|
private final RegistryMigrationService registryMigrationService;
|
|
private final ResearcherMigrationService researcherMigrationService;
|
|
private final ServiceMigrationService serviceMigrationService;
|
|
private final DatasetMigrationService datasetMigrationService;
|
|
private final TagMigrationService tagMigrationService;
|
|
private final DmpDatasetProfileMigrationService dmpDatasetProfileMigrationService;
|
|
private final OrganizationMigrationService organizationMigrationService;
|
|
private final ReferenceMigrationService referenceMigrationService;
|
|
private final UserContactInfoMigrationService userContactInfoMigrationService;
|
|
private final DmpUserMigrationService dmpUserMigrationService;
|
|
private final UserMigrationService userMigrationService;
|
|
|
|
public MigrationController(
|
|
DmpMigrationService dmpMigrationService,
|
|
DatasetMigrationService datasetMigrationService,
|
|
DmpDatasetProfileMigrationService dmpDatasetProfileMigrationService,
|
|
DataRepositoryMigrationService dataRepositoryMigrationService,
|
|
ExternalDatasetMigrationService externalDatasetMigrationService,
|
|
FunderMigrationService funderMigrationService,
|
|
GrantMigrationService grantMigrationService,
|
|
ProjectMigrationService projectMigrationService,
|
|
RegistryMigrationService registryMigrationService,
|
|
ResearcherMigrationService researcherMigrationService,
|
|
ServiceMigrationService serviceMigrationService, TagMigrationService tagMigrationService,
|
|
OrganizationMigrationService organizationMigrationService,
|
|
ReferenceMigrationService referenceMigrationService,
|
|
UserContactInfoMigrationService userContactInfoMigrationService,
|
|
DmpUserMigrationService dmpUserMigrationService, UserMigrationService userMigrationService) {
|
|
this.dmpMigrationService = dmpMigrationService;
|
|
this.datasetMigrationService = datasetMigrationService;
|
|
this.dmpDatasetProfileMigrationService = dmpDatasetProfileMigrationService;
|
|
this.dataRepositoryMigrationService = dataRepositoryMigrationService;
|
|
this.externalDatasetMigrationService = externalDatasetMigrationService;
|
|
this.funderMigrationService = funderMigrationService;
|
|
this.grantMigrationService = grantMigrationService;
|
|
this.projectMigrationService = projectMigrationService;
|
|
this.registryMigrationService = registryMigrationService;
|
|
this.researcherMigrationService = researcherMigrationService;
|
|
this.serviceMigrationService = serviceMigrationService;
|
|
this.tagMigrationService = tagMigrationService;
|
|
this.organizationMigrationService = organizationMigrationService;
|
|
this.referenceMigrationService = referenceMigrationService;
|
|
this.userContactInfoMigrationService = userContactInfoMigrationService;
|
|
this.dmpUserMigrationService = dmpUserMigrationService;
|
|
this.userMigrationService = userMigrationService;
|
|
}
|
|
|
|
@GetMapping("all")
|
|
@Transactional
|
|
public boolean migrateAll() throws IOException, JAXBException, ParserConfigurationException, InstantiationException, IllegalAccessException, SAXException, NoSuchFieldException {
|
|
this.dataRepositoryMigrationService.migrate();
|
|
this.externalDatasetMigrationService.migrate();
|
|
this.funderMigrationService.migrate();
|
|
this.grantMigrationService.migrate();
|
|
this.organizationMigrationService.migrate();
|
|
this.projectMigrationService.migrate();
|
|
this.registryMigrationService.migrate();
|
|
this.researcherMigrationService.migrate();
|
|
this.serviceMigrationService.migrate();
|
|
|
|
this.dmpMigrationService.migrate();
|
|
this.dmpMigrationService.migrateDmpLicenses();
|
|
this.dmpDatasetProfileMigrationService.migrate();
|
|
this.datasetMigrationService.migrate();
|
|
this.tagMigrationService.migrate();
|
|
|
|
this.dmpUserMigrationService.migrate();
|
|
|
|
this.referenceMigrationService.migrateDatasetReferences();
|
|
this.referenceMigrationService.migrateDmpReferences();
|
|
|
|
this.userContactInfoMigrationService.migrate();
|
|
this.userMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("contacts")
|
|
@Transactional
|
|
public boolean migrateContacts() {
|
|
this.userContactInfoMigrationService.migrate();
|
|
return true;
|
|
|
|
}
|
|
|
|
@GetMapping("users")
|
|
@Transactional
|
|
public boolean migrateUsers() throws JsonProcessingException {
|
|
this.userMigrationService.migrate();
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
@GetMapping("dmps")
|
|
@Transactional
|
|
public boolean migrateDmps() throws JsonProcessingException, NoSuchFieldException, IllegalAccessException {
|
|
this.dmpMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("dmps/licenses")
|
|
@Transactional
|
|
public boolean migrateDmpLicenses() throws JsonProcessingException, NoSuchFieldException, IllegalAccessException {
|
|
this.dmpMigrationService.migrateDmpLicenses();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("datasets")
|
|
@Transactional
|
|
public boolean migrateDatasets() throws IOException, JAXBException, ParserConfigurationException, InstantiationException, IllegalAccessException, SAXException {
|
|
this.datasetMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("tags")
|
|
@Transactional
|
|
public boolean migrateTags() throws IOException, JAXBException, ParserConfigurationException, InstantiationException, IllegalAccessException, SAXException {
|
|
this.tagMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("dmp-dataset-profiles")
|
|
@Transactional
|
|
public boolean migrateDmpDatasetProfiles() throws IOException, JAXBException, ParserConfigurationException, InstantiationException, IllegalAccessException, SAXException {
|
|
this.dmpDatasetProfileMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("references")
|
|
@Transactional
|
|
public boolean migrateReferences() {
|
|
this.dataRepositoryMigrationService.migrate();
|
|
this.externalDatasetMigrationService.migrate();
|
|
this.funderMigrationService.migrate();
|
|
this.grantMigrationService.migrate();
|
|
this.organizationMigrationService.migrate();
|
|
this.projectMigrationService.migrate();
|
|
this.registryMigrationService.migrate();
|
|
this.researcherMigrationService.migrate();
|
|
this.serviceMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("dmp-references")
|
|
@Transactional
|
|
public boolean migrateDmpReferences() {
|
|
this.referenceMigrationService.migrateDmpReferences();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("dmp-users")
|
|
@Transactional
|
|
public boolean migrateDmpUsers() {
|
|
this.dmpUserMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("dataset-references")
|
|
@Transactional
|
|
public boolean migrateDatasetReferences() {
|
|
this.referenceMigrationService.migrateDatasetReferences();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("organizations")
|
|
@Transactional
|
|
public boolean migrateOrganizations() {
|
|
this.organizationMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
|
|
@GetMapping("dataRepositories")
|
|
@Transactional
|
|
public boolean migrateDataRepositories() {
|
|
this.dataRepositoryMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("externalDatasets")
|
|
@Transactional
|
|
public boolean migrateExternalDatasets() {
|
|
this.externalDatasetMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("funders")
|
|
@Transactional
|
|
public boolean migrateFunders() {
|
|
this.funderMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("grants")
|
|
@Transactional
|
|
public boolean migrateGrants() {
|
|
this.grantMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("projects")
|
|
@Transactional
|
|
public boolean migrateProjects() {
|
|
this.projectMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("registries")
|
|
@Transactional
|
|
public boolean migrateRegistries() {
|
|
this.registryMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("researchers")
|
|
@Transactional
|
|
public boolean migrateResearchers() {
|
|
this.researcherMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
@GetMapping("services")
|
|
@Transactional
|
|
public boolean migrateServices() {
|
|
this.serviceMigrationService.migrate();
|
|
return true;
|
|
}
|
|
|
|
}
|