/** * ============================================================================= * * ORCID (R) Open Source * http://orcid.org * * Copyright (c) 2012-2014 ORCID, Inc. * Licensed under an MIT-Style License (MIT) * http://orcid.org/open-source-license * * This copyright and license information (including a link to the full license) * shall be included in its entirety in all copies or substantial portion of * the software. * * ============================================================================= */ package org.orcid.pojo.ajaxForm; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.orcid.core.security.visibility.OrcidVisibilityDefaults; import org.orcid.jaxb.model.common_v2.CreditName; import org.orcid.jaxb.model.record_v2.FamilyName; import org.orcid.jaxb.model.record_v2.GivenNames; import org.orcid.jaxb.model.record_v2.Name; public class NamesForm implements ErrorsInterface, Serializable { private static final long serialVersionUID = 1L; private List<String> errors = new ArrayList<String>(); private Text givenNames; private Text familyName; private Text creditName; private Visibility namesVisibility; public static NamesForm valueOf(Name name) { NamesForm nf = new NamesForm(); if (name != null) { if (name.getGivenNames() != null) { nf.setGivenNames(Text.valueOf(name.getGivenNames().getContent())); } if (name.getFamilyName() != null) { nf.setFamilyName(Text.valueOf(name.getFamilyName().getContent())); } if (name.getCreditName() != null) { nf.setCreditName(Text.valueOf(name.getCreditName().getContent())); } if (name.getVisibility() != null) { nf.setNamesVisibility(Visibility.valueOf(name.getVisibility())); } else { org.orcid.jaxb.model.common_v2.Visibility v = org.orcid.jaxb.model.common_v2.Visibility.fromValue(OrcidVisibilityDefaults.NAMES_DEFAULT.getVisibility().value()); nf.setNamesVisibility(Visibility.valueOf(v)); } } return nf; } public Name toName() { Name name = new Name(); if(!PojoUtil.isEmpty(givenNames)) { name.setGivenNames(new GivenNames(givenNames.getValue())); } if(!PojoUtil.isEmpty(familyName)) { name.setFamilyName(new FamilyName(familyName.getValue())); } if(!PojoUtil.isEmpty(creditName)) { name.setCreditName(new CreditName(creditName.getValue())); } if(namesVisibility != null && namesVisibility.getVisibility() != null) { name.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(namesVisibility.getVisibility().value())); } else { name.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(OrcidVisibilityDefaults.NAMES_DEFAULT.getVisibility().value())); } return name; } public Visibility getNamesVisibility() { return namesVisibility; } public void setNamesVisibility(Visibility visibility) { this.namesVisibility = visibility; } public List<String> getErrors() { return errors; } public void setErrors(List<String> errors) { this.errors = errors; } public Text getGivenNames() { return givenNames; } public void setGivenNames(Text givenNames) { this.givenNames = givenNames; } public Text getFamilyName() { return familyName; } public void setFamilyName(Text familyName) { this.familyName = familyName; } public Text getCreditName() { return creditName; } public void setCreditName(Text creditName) { this.creditName = creditName; } }