Skip to content

Commit

Permalink
Merge pull request #6 from BIBSYSDEV/np-1706_renamed-dto
Browse files Browse the repository at this point in the history
Renamed to DataCiteMetadataDto
  • Loading branch information
norrs authored Nov 23, 2020
2 parents bfe5ba4 + 87aa1ef commit cd366cb
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 38 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# nva-doi-partner-data

Transforms data from NVA DynamoDB to Datacite XML
Transforms data from NVA Publication to Datacite XML
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package no.unit.nva.transformer;

import no.unit.nva.transformer.dto.CreatorDto;
import no.unit.nva.transformer.dto.DynamoRecordDto;
import no.unit.nva.transformer.dto.DataCiteMetadataDto;
import org.datacite.schema.kernel_4.Resource;
import org.datacite.schema.kernel_4.Resource.Publisher;
import org.datacite.schema.kernel_4.Resource.Titles;
Expand All @@ -23,15 +23,15 @@ public class Transformer {
private final Marshaller marshaller;

/**
* Transforms a DynamoDB record to a Datacite Record.
* @param dynamoRecordDto A DynamoDB record.
* Transforms a DataCiteMetadataDto to a Datacite Record.
* @param dataCiteMetadataDto A DataCiteMetadataDto instance.
* @throws JAXBException If the XML initialisation fails.
*/
public Transformer(DynamoRecordDto dynamoRecordDto) throws JAXBException {
public Transformer(DataCiteMetadataDto dataCiteMetadataDto) throws JAXBException {
marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
this.resource = new Resource();
fromDynamoRecord(dynamoRecordDto);
fromDataCiteMetadataDto(dataCiteMetadataDto);
}

private static JAXBContext getContext() {
Expand All @@ -42,44 +42,44 @@ private static JAXBContext getContext() {
}
}

private void fromDynamoRecord(DynamoRecordDto dynamoRecordDto) {
setResourceIdentifier(dynamoRecordDto);
setResourceCreators(dynamoRecordDto);
setResourceTitle(dynamoRecordDto);
setPublisher(dynamoRecordDto);
setPublicationYear(dynamoRecordDto);
setResourceType(dynamoRecordDto);
private void fromDataCiteMetadataDto(DataCiteMetadataDto dataCiteMetadataDto) {
setResourceIdentifier(dataCiteMetadataDto);
setResourceCreators(dataCiteMetadataDto);
setResourceTitle(dataCiteMetadataDto);
setPublisher(dataCiteMetadataDto);
setPublicationYear(dataCiteMetadataDto);
setResourceType(dataCiteMetadataDto);
}

private void setResourceType(DynamoRecordDto dynamoRecordDto) {
resource.setResourceType(dynamoRecordDto.getResourceType().toResourceType());
private void setResourceType(DataCiteMetadataDto dataCiteMetadataDto) {
resource.setResourceType(dataCiteMetadataDto.getResourceType().toResourceType());
}

private void setPublicationYear(DynamoRecordDto dynamoRecordDto) {
resource.setPublicationYear(dynamoRecordDto.getPublicationYear());
private void setPublicationYear(DataCiteMetadataDto dataCiteMetadataDto) {
resource.setPublicationYear(dataCiteMetadataDto.getPublicationYear());
}

private void setPublisher(DynamoRecordDto dynamoRecordDto) {
private void setPublisher(DataCiteMetadataDto dataCiteMetadataDto) {
Publisher publisher = new Publisher();
publisher.setValue(dynamoRecordDto.getPublisher().getValue());
publisher.setValue(dataCiteMetadataDto.getPublisher().getValue());
resource.setPublisher(publisher);
}

private void setResourceTitle(DynamoRecordDto dynamoRecordDto) {
private void setResourceTitle(DataCiteMetadataDto dataCiteMetadataDto) {
Title title = new Title();
title.setValue(dynamoRecordDto.getTitle().getValue());
title.setValue(dataCiteMetadataDto.getTitle().getValue());
Titles titles = new Titles();
titles.getTitle().add(title);
resource.setTitles(titles);
}

private void setResourceIdentifier(DynamoRecordDto dynamoRecordDto) {
resource.setIdentifier(dynamoRecordDto.getIdentifier().asIdentifier());
private void setResourceIdentifier(DataCiteMetadataDto dataCiteMetadataDto) {
resource.setIdentifier(dataCiteMetadataDto.getIdentifier().asIdentifier());
}

private void setResourceCreators(DynamoRecordDto dynamoRecordDto) {
private void setResourceCreators(DataCiteMetadataDto dataCiteMetadataDto) {
var creators = new Resource.Creators();
dynamoRecordDto.getCreator().stream()
dataCiteMetadataDto.getCreator().stream()
.map(CreatorDto::toCreator)
.collect(Collectors.toList())
.forEach(creator -> creators.getCreator().add(creator));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class CreatorDto {


/**
* Creates a representation of the DynamoDB Creator object that can be transformed to Datacite Creator.
* Creates a representation of the DataCiteMetadataDto Creator object that can be transformed to Datacite Creator.
* @param creatorName A name string.
* @param nameIdentifier Not yet in use.
* @param affiliation Not yet in use.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
import javax.xml.bind.JAXBException;
import java.util.List;

public class DynamoRecordDto {
public class DataCiteMetadataDto {
private final IdentifierDto identifier;
private final List<CreatorDto> creator;
private final TitleDto title;
private final PublisherDto publisher;
private final String publicationYear;
private final ResourceTypeDto resourceType;

private DynamoRecordDto(Builder builder) {
private DataCiteMetadataDto(Builder builder) {
identifier = builder.identifier;
creator = builder.creator;
title = builder.title;
Expand Down Expand Up @@ -91,8 +91,8 @@ public Builder withResourceType(ResourceTypeDto resourceType) {
return this;
}

public DynamoRecordDto build() {
return new DynamoRecordDto(this);
public DataCiteMetadataDto build() {
return new DataCiteMetadataDto(this);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package no.unit.nva.transformer;

import no.unit.nva.transformer.dto.CreatorDto;
import no.unit.nva.transformer.dto.DynamoRecordDto;
import no.unit.nva.transformer.dto.DataCiteMetadataDto;
import no.unit.nva.transformer.dto.IdentifierDto;
import no.unit.nva.transformer.dto.PublisherDto;
import no.unit.nva.transformer.dto.ResourceTypeDto;
Expand Down Expand Up @@ -79,13 +79,13 @@ private String enclosedString(String string) {
return ">" + string + "<";
}

private DynamoRecordDto generateRecord(String identifier,
String creator,
String title,
String year,
String publisher,
String resourceType) {
return new DynamoRecordDto.Builder()
private DataCiteMetadataDto generateRecord(String identifier,
String creator,
String title,
String year,
String publisher,
String resourceType) {
return new DataCiteMetadataDto.Builder()
.withIdentifier(getIdentifier(identifier))
.withCreator(getCreator(creator))
.withTitle(getTitle(title))
Expand Down

0 comments on commit cd366cb

Please sign in to comment.