argos/dmp-backend/src/main/java/eu/eudat/helpers/Transformers.java

106 lines
3.6 KiB
Java

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<String,String> 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<DataRepository>(Arrays.asList(dr)));
ds.setRegistries(new HashSet<Registry>(Arrays.asList(reg)));
ds.setServices(new HashSet<Service>(Arrays.asList(ser)));
Set<Dataset> datasets = new HashSet<Dataset>();
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;
}
}