/** * ============================================================================= * * 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.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.orcid.core.salesforce.model.Member; import org.orcid.core.salesforce.model.MemberDetails; /** * * @author Will Simpson * */ public class SubMemberForm implements ErrorsInterface, Serializable { private static final long serialVersionUID = 1L; private String accountId; private List<String> errors = new ArrayList<String>(); private Text name; private Text website; public String getAccountId() { return accountId; } public void setAccountId(String accountId) { this.accountId = accountId; } @Override public List<String> getErrors() { return errors; } @Override public void setErrors(List<String> errors) { this.errors = errors; } public Text getName() { return name; } public void setName(Text name) { this.name = name; } public Text getWebsite() { return website; } public void setWebsite(Text website) { this.website = website; } public static SubMemberForm fromMemberDetails(MemberDetails memberDetails) { SubMemberForm form = new SubMemberForm(); Member member = memberDetails.getMember(); form.setAccountId(member.getId()); form.setName(Text.valueOf(member.getPublicDisplayName())); form.setWebsite(Text.valueOf(member.getWebsiteUrl().toString())); return form; } public Member toMember() { Member member = new Member(); member.setName(getName().getValue()); member.setPublicDisplayName(getName().getValue()); try { member.setWebsiteUrl(new URL(getWebsite().getValue())); } catch (MalformedURLException e) { throw new RuntimeException("Error parsing website", e); } return member; } }