use of org.orcid.jaxb.model.record_rc3.Work in project ORCID-Source by ORCID.
the class WorksController method addWork.
private void addWork(WorkForm workForm) {
Work newWork = workForm.toWork();
newWork.setPutCode(null);
// Create work
newWork = workManager.createWork(getEffectiveUserOrcid(), newWork, false);
// Set the id in the work to be returned
Long workId = newWork.getPutCode();
workForm.setPutCode(Text.valueOf(workId));
}
use of org.orcid.jaxb.model.record_rc3.Work in project ORCID-Source by ORCID.
the class WorksController method createWorksIdList.
/**
* created a work id list and sorts a map associated with the list in in the
* session
*
*/
private List<String> createWorksIdList(HttpServletRequest request) {
String orcid = getEffectiveUserOrcid();
List<Work> works = workManager.findWorks(orcid, profileEntityManager.getLastModified(orcid));
HashMap<Long, WorkForm> worksMap = new HashMap<Long, WorkForm>();
List<String> workIds = new ArrayList<String>();
if (works != null) {
for (Work work : works) {
try {
worksMap.put(work.getPutCode(), WorkForm.valueOf(work));
workIds.add(String.valueOf(work.getPutCode()));
} catch (Exception e) {
LOGGER.error("ProfileWork failed to parse as Work. Put code" + work.getPutCode());
}
}
request.getSession().setAttribute(WORKS_MAP, worksMap);
}
return workIds;
}
use of org.orcid.jaxb.model.record_rc3.Work in project ORCID-Source by ORCID.
the class WorksController method updateWork.
private void updateWork(WorkForm workForm) throws Exception {
// Get current profile
String userOrcid = getEffectiveUserOrcid();
if (!userOrcid.equals(workForm.getSource())) {
throw new Exception(getMessage("web.orcid.activity_incorrectsource.exception"));
}
Work updatedWork = workForm.toWork();
// Edit work
workManager.updateWork(userOrcid, updatedWork, false);
}
use of org.orcid.jaxb.model.record_rc3.Work in project ORCID-Source by ORCID.
the class WorkFormTest method testSerializeWork.
@Test
public void testSerializeWork() throws Exception {
Work work = getWork();
WorkForm workForm = WorkForm.valueOf(work);
MemoryEfficientByteArrayOutputStream.serialize(workForm);
}
use of org.orcid.jaxb.model.record_rc3.Work in project ORCID-Source by ORCID.
the class WorkFormTest method getWork.
public static Work getWork() {
Work work = new Work();
work.setCountry(new Country(Iso3166Country.US));
Date date = new Date();
work.setCreatedDate(new CreatedDate(DateUtils.convertToXMLGregorianCalendar(date)));
work.setJournalTitle(new Title("Journal Title"));
work.setLanguageCode("EN");
work.setPublicationDate(new PublicationDate(new Year(2015), new Month(1), new Day(1)));
work.setPutCode(Long.valueOf("12345"));
work.setShortDescription("Short description");
work.setUrl(new Url("http://test.com"));
work.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.LIMITED);
work.setWorkCitation(new org.orcid.jaxb.model.record_v2.Citation("Citation", CitationType.BIBTEX));
WorkContributors contributors = new WorkContributors();
org.orcid.jaxb.model.common_v2.Contributor contributor = new org.orcid.jaxb.model.common_v2.Contributor();
contributor.setCreditName(new CreditName("Credit name"));
contributor.setContributorOrcid(new ContributorOrcid("0000-0000-0000-0000"));
ContributorAttributes att = new ContributorAttributes();
att.setContributorRole(ContributorRole.ASSIGNEE);
att.setContributorSequence(SequenceType.FIRST);
contributor.setContributorAttributes(att);
contributors.getContributor().add(contributor);
work.setWorkContributors(contributors);
ExternalIDs weis = new ExternalIDs();
ExternalID wei = new ExternalID();
wei.setRelationship(Relationship.SELF);
wei.setUrl(new Url("http://test.com"));
wei.setValue("ID");
wei.setType(WorkExternalIdentifierType.AGR.value());
weis.getExternalIdentifier().add(wei);
work.setWorkExternalIdentifiers(weis);
WorkTitle workTitle = new WorkTitle();
workTitle.setTitle(new Title("Work Title"));
workTitle.setSubtitle(new Subtitle("Subtitle"));
TranslatedTitle translated = new TranslatedTitle("Translated", "US");
workTitle.setTranslatedTitle(translated);
work.setWorkTitle(workTitle);
work.setWorkType(WorkType.ARTISTIC_PERFORMANCE);
return work;
}
Aggregations