38 lines
1.6 KiB
Java
38 lines
1.6 KiB
Java
package eu.eudat.model.mapper.publicapi;
|
|
|
|
import eu.eudat.model.Description;
|
|
import eu.eudat.model.publicapi.datasetprofile.DatasetProfilePublicModel;
|
|
import eu.eudat.model.publicapi.grant.GrantPublicOverviewModel;
|
|
import eu.eudat.model.publicapi.listingmodels.DatasetPublicListingModel;
|
|
import eu.eudat.model.publicapi.user.UserInfoPublicModel;
|
|
import eu.eudat.service.publicapi.PublicApiProperties;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import java.sql.Date;
|
|
import java.util.List;
|
|
|
|
@Component
|
|
public class DescriptionToPublicApiDatasetListingMapper {
|
|
|
|
public DatasetPublicListingModel toPublicListingModel(Description description, PublicApiProperties.ReferenceTypeMapConfig config) {
|
|
DatasetPublicListingModel model = new DatasetPublicListingModel();
|
|
model.setId(description.getId().toString());
|
|
model.setLabel(description.getLabel());
|
|
model.setDescription(description.getDescription());
|
|
model.setVersion(0);
|
|
|
|
model.setDmp(description.getDmp().getLabel());
|
|
model.setDmpId(description.getDmp().getId().toString());
|
|
model.setUsers(List.of(UserInfoPublicModel.fromDescriptionCreator(description.getCreatedBy())));
|
|
model.setProfile(DatasetProfilePublicModel.fromDataModel(description.getDescriptionTemplate()));
|
|
model.setGrant(GrantPublicOverviewModel.fromDescriptionReference(description.getDescriptionReferences(), config));
|
|
|
|
model.setCreatedAt(Date.from(description.getCreatedAt()));
|
|
model.setModifiedAt(Date.from(description.getUpdatedAt()));
|
|
model.setFinalizedAt(Date.from(description.getFinalizedAt()));
|
|
|
|
return model;
|
|
}
|
|
|
|
}
|