public Comparator<OrcidWork> workPubDateComparator() { return (work1, work2) -> { PublicationDate pubDate1 = work1.getPublicationDate(); PublicationDate pubDate2 = work2.getPublicationDate(); if (pubDate1 != null && pubDate2 != null) { @SuppressWarnings("deprecation") String dateString1 = PojoUtil.createDateSortString(null, pubDate1); @SuppressWarnings("deprecation") String dateString2 = PojoUtil.createDateSortString(null, pubDate2); return -dateString1.compareTo(dateString2); } else { return NullUtils.compareNulls(pubDate1, pubDate2); } }; }
private PublicationDateEntity getWorkPublicationDate(OrcidWork orcidWork) { if (orcidWork != null && orcidWork.getPublicationDate() != null) { PublicationDate publicationDate = orcidWork.getPublicationDate(); Integer year = publicationDate.getYear() != null ? toInteger(publicationDate.getYear().getValue()) : null; Integer month = publicationDate.getMonth() != null ? toInteger(publicationDate.getMonth().getValue()) : null; Integer day = publicationDate.getDay() != null ? toInteger(publicationDate.getDay().getValue()) : null; return new PublicationDateEntity(year, month, day); } return null; }
@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; }
if (this.orcidWork.getPublicationDate() != null ? !this.orcidWork.getPublicationDate().equals(orcidWork.getPublicationDate()) : orcidWork.getPublicationDate() != null) { return false;