108 lines
3.6 KiB
Java
108 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"));
|
|
dp.setRuleset(dpr);
|
|
dp.setViewstyle(dpv);
|
|
|
|
|
|
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.setProfileData(formData.getFirst("DMP.profileData"));
|
|
dmp.setProject(project);
|
|
dmp.setVersion(Integer.parseInt(formData.getFirst("DMP.version")));
|
|
dmp.setDataset(datasets);
|
|
|
|
|
|
System.out.println(dmp);
|
|
|
|
return dmp;
|
|
|
|
}
|
|
|
|
|
|
}
|