private String getWorkExternalIdsJson(OrcidWork work) { if (work == null || work.getWorkExternalIdentifiers() == null) { return null; } JSONWorkExternalIdentifiersConverterV1 converter = new JSONWorkExternalIdentifiersConverterV1(); return converter.convertTo(work.getWorkExternalIdentifiers(), work.getWorkType()); }
public void checkWork(OrcidWork orcidWork) { if (validateTitle) { WorkTitle title = orcidWork.getWorkTitle(); if (title == null || title.getTitle() == null || StringUtils.isEmpty(title.getTitle().getContent())) { throw new OrcidValidationException("Invalid Title: title cannot be null nor emtpy"); } } if (validateWorksHaveExternalIds) { if (orcidWork.getWorkExternalIdentifiers() == null || orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier() == null || orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) { throw new OrcidValidationException("Invalid work: Works added using message version 1.2_rc5 or greater must contain at least one external identifier"); } } }
if (this.getWorkExternalIdentifiers() == null) { if (other.getWorkExternalIdentifiers() != null && other.getWorkExternalIdentifiers().getWorkExternalIdentifier() != null && !other.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) return false; } else if (other.getWorkExternalIdentifiers() == null) { if (this.getWorkExternalIdentifiers().getWorkExternalIdentifier() != null && !this.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) return false; } else { List<WorkExternalIdentifier> otherExternalIdentifiers = other.getWorkExternalIdentifiers().getWorkExternalIdentifier(); List<WorkExternalIdentifier> thisExternalIdentifiers = this.getWorkExternalIdentifiers().getWorkExternalIdentifier(); boolean sharedExtId = false;
private void downGradeActivity(OrcidWork orcidWork) { WorkExternalIdentifiers externalIdentifiers = orcidWork.getWorkExternalIdentifiers(); if (externalIdentifiers != null) { for (WorkExternalIdentifier wei : externalIdentifiers.getWorkExternalIdentifier()) { WorkExternalIdentifierType type = wei.getWorkExternalIdentifierType(); if (WOSUID.equals(type)) { wei.setWorkExternalIdentifierType(OTHER_ID); } } } }
return false; if (this.getWorkExternalIdentifiers() == null) { if (other.getWorkExternalIdentifiers() != null) return false; } else if (!this.getWorkExternalIdentifiers().equals(other.getWorkExternalIdentifiers())) return false;
OrcidWork newWorkToCompare = newOrcidWorksList.get(j); if (newWork.getWorkExternalIdentifiers() != null && newWork.getWorkExternalIdentifiers().getWorkExternalIdentifier() != null && !newWork.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) { for (WorkExternalIdentifier workExtId : newWork.getWorkExternalIdentifiers().getWorkExternalIdentifier()) { if (newWorkToCompare.getWorkExternalIdentifiers() != null && newWorkToCompare.getWorkExternalIdentifiers().getWorkExternalIdentifier() != null && !newWorkToCompare.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) { for (WorkExternalIdentifier workExtIdToCompare : newWorkToCompare.getWorkExternalIdentifiers().getWorkExternalIdentifier()) { if (orcidWork.getWorkExternalIdentifiers() != null && orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier() != null && !orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) { for (WorkExternalIdentifier newExternalIdentifier : orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier()) { if (existingWork.getWorkExternalIdentifiers() != null && existingWork.getWorkExternalIdentifiers().getWorkExternalIdentifier() != null && !existingWork.getWorkExternalIdentifiers().getWorkExternalIdentifier().isEmpty()) { for (WorkExternalIdentifier existingExternalIdentifier : existingWork.getWorkExternalIdentifiers().getWorkExternalIdentifier()) {
private void downGradeActivity(OrcidWork orcidWork) { Source source = orcidWork.getSource(); if (source != null) { SourceOrcid sourceOrcid = source.getSourceOrcid(); if (sourceOrcid != null) { orcidWork.setSource(null); orcidWork.setWorkSource(new WorkSource(sourceOrcid)); } } WorkExternalIdentifiers externalIdentifiers = orcidWork.getWorkExternalIdentifiers(); if (externalIdentifiers != null) { for (WorkExternalIdentifier wei : externalIdentifiers.getWorkExternalIdentifier()) { WorkExternalIdentifierType type = wei.getWorkExternalIdentifierType(); if (type != null) { if (Arrays.binarySearch(NEW_WORK_EXT_ID_TYPES, type) >= 0) { wei.setWorkExternalIdentifierType(OTHER_ID); } } } } }
@Override public int hashCode() { int result = this.orcidWork.getWorkTitle() != null ? this.orcidWork.getWorkTitle().hashCode() : 0; result = 31 * result + (this.orcidWork.getShortDescription() != null ? this.orcidWork.getShortDescription().hashCode() : 0); result = 31 * result + (this.orcidWork.getWorkCitation() != null ? this.orcidWork.getWorkCitation().hashCode() : 0); result = 31 * result + (this.orcidWork.getWorkType() != null ? this.orcidWork.getWorkType().hashCode() : 0); result = 31 * result + (this.orcidWork.getPublicationDate() != null ? this.orcidWork.getPublicationDate().hashCode() : 0); result = 31 * result + (this.orcidWork.getWorkExternalIdentifiers() != null ? this.orcidWork.getWorkExternalIdentifiers().hashCode() : 0); result = 31 * result + (this.orcidWork.getUrl() != null ? this.orcidWork.getUrl().hashCode() : 0); result = 31 * result + (this.orcidWork.getWorkContributors() != null ? this.orcidWork.getWorkContributors().hashCode() : 0); result = 31 * result + (this.orcidWork.getWorkSource() != null ? this.orcidWork.getWorkSource().hashCode() : 0); return result; }
return false; if (this.orcidWork.getWorkExternalIdentifiers() != null ? !this.orcidWork.getWorkExternalIdentifiers().equals(orcidWork.getWorkExternalIdentifiers()) : orcidWork .getWorkExternalIdentifiers() != null) { return false;
for (OrcidWork orcidWork : orcidWorks) { if (orcidWork.getWorkExternalIdentifiers() != null) { for (WorkExternalIdentifier workExternalIdentifier : orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier()) {
orcidWorkSubset.setVisibility(fullOrcidWork.getVisibility()); orcidWorkSubset.setWorkTitle(fullOrcidWork.getWorkTitle()); orcidWorkSubset.setWorkExternalIdentifiers(fullOrcidWork.getWorkExternalIdentifiers()); orcidWorksTitlesOnly.getOrcidWork().add(orcidWorkSubset);
orcidWorkSubset.setVisibility(fullOrcidWork.getVisibility()); orcidWorkSubset.setWorkTitle(fullOrcidWork.getWorkTitle()); orcidWorkSubset.setWorkExternalIdentifiers(fullOrcidWork.getWorkExternalIdentifiers()); orcidWorksTitlesOnly.getOrcidWork().add(orcidWorkSubset);