package eu.eudat.helpers; import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.UUID; import org.springframework.util.MultiValueMap; import eu.eudat.entities.DMP; import eu.eudat.entities.DMPProfile; import eu.eudat.entities.DataRepository; import eu.eudat.entities.Dataset; import eu.eudat.entities.DatasetProfile; import eu.eudat.entities.DatasetProfileRuleset; import eu.eudat.entities.DatasetProfileViewstyle; import eu.eudat.entities.Project; import eu.eudat.entities.Registry; import eu.eudat.entities.Service; public class Transformers { public static DMP createDMPfromMap(MultiValueMap formData) { DatasetProfileRuleset dpr = new DatasetProfileRuleset(); dpr.setLabel(formData.getFirst("DatasetProfileRuleset.label")); dpr.setDefinition(formData.getFirst("DatasetProfileRuleset.definition")); DatasetProfileViewstyle dpv = new DatasetProfileViewstyle(); dpv.setLabel(formData.getFirst("DatasetProfileViewStyle.label")); dpv.setDefinition(formData.getFirst("DatasetProfileViewStyle.definition")); DatasetProfile dp = new DatasetProfile(); dp.setLabel(formData.getFirst("DatasetProfileListingModel.label")); dp.setDefinition(formData.getFirst("DatasetProfileListingModel.definition")); Project project = new Project(); project.setDefinition(formData.getFirst("Project.definition")); project.setLabel(formData.getFirst("Project.label")); project.setReference(formData.getFirst("Project.reference")); project.setUri(formData.getFirst("Project.uri")); DMPProfile profile = new DMPProfile(); profile.setLabel(formData.getFirst("DMPProfile.label")); profile.setDefinition(formData.getFirst("DMPProfile.definition")); DataRepository dr = new DataRepository(); dr.setLabel(formData.getFirst("DataRepository.label")); dr.setDefinition(formData.getFirst("DataRepository.definition")); dr.setReference(formData.getFirst("DataRepository.reference")); dr.setAbbreviation(formData.getFirst("DataRepository.abbr")); dr.setUri(formData.getFirst("DataRepository.uri")); Registry reg = new Registry(); reg.setLabel(formData.getFirst("Registry.label")); reg.setAbbreviation(formData.getFirst("Registry.abbr")); reg.setReference(formData.getFirst("Registry.reference")); reg.setUri(formData.getFirst("Registry.uri")); reg.setDefinition(formData.getFirst("Registry.definition")); Service ser = new Service(); ser.setLabel(formData.getFirst("Service.label")); ser.setAbbreviation(formData.getFirst("Service.abbr")); ser.setReference(formData.getFirst("Service.reference")); ser.setUri(formData.getFirst("Service.uri")); ser.setDefinition(formData.getFirst("Service.definition")); Dataset ds = new Dataset(); ds.setLabel(formData.getFirst("Dataset.label")); ds.setProperties(formData.getFirst("Dataset.props")); ds.setUri(formData.getFirst("Dataset.uri")); ds.setProfile(dp); ds.setDataRepositories(new HashSet(Arrays.asList(dr))); ds.setRegistries(new HashSet(Arrays.asList(reg))); ds.setServices(new HashSet(Arrays.asList(ser))); Set datasets = new HashSet(); datasets.add(ds); DMP dmp = new DMP(); dmp.setLabel(formData.getFirst("DMP.label")); try { dmp.setPrevious(UUID.fromString(formData.getFirst("DMP.previous"))); }catch(Exception ex) {/*do nothing*/} dmp.setProfile(profile); dmp.setAssociatedDmps(formData.getFirst("DMP.profileData")); dmp.setProject(project); dmp.setVersion(Integer.parseInt(formData.getFirst("DMP.version"))); dmp.setDataset(datasets); System.out.println(dmp); return dmp; } }