@Override @JsonIgnore public boolean isGroupAble() { //Dont group if it is a part-of identifier if(Relationship.PART_OF.equals(relationship)) return false; // Dont groups works where the external id is empty if (this.getValue() == null || this.getValue().isEmpty()) return false; // Dont work works by ISSN identifier if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value().equals(this.getType())) return false; return true; }
private boolean areBothExtIdsPartOf(WorkType workType, WorkExternalIdentifier existing, WorkExternalIdentifier newer) { boolean isExistingPartOf = false; boolean isNewPartOf = false; if (WorkType.BOOK_CHAPTER.equals(workType)) { if (WorkExternalIdentifierType.ISBN.equals(existing.getWorkExternalIdentifierType())) { isExistingPartOf = true; } if (WorkExternalIdentifierType.ISBN.equals(newer.getWorkExternalIdentifierType())) { isNewPartOf = true; } } else if (WorkType.JOURNAL_ARTICLE.equals(workType)) { if (WorkExternalIdentifierType.ISSN.equals(existing.getWorkExternalIdentifierType())) { isExistingPartOf = true; } if (WorkExternalIdentifierType.ISSN.equals(newer.getWorkExternalIdentifierType())) { isNewPartOf = true; } } return (isExistingPartOf && isNewPartOf); }
@Override public int hashCode() { int result = workExternalIdentifierType != null ? workExternalIdentifierType.hashCode() : 0; result = 31 * result + (workExternalIdentifierId != null ? workExternalIdentifierId.hashCode() : 0); return result; } }
public String convertTo(WorkExternalIdentifiers messagePojo, WorkType workType) { JSONWorkExternalIdentifiers workExternalIdentifiers = new JSONWorkExternalIdentifiers(); for (WorkExternalIdentifier workExternalIdentifier : messagePojo.getWorkExternalIdentifier()) { JSONWorkExternalIdentifier jsonWorkExternalIdentifier = new JSONWorkExternalIdentifier(); if (workExternalIdentifier.getWorkExternalIdentifierType() != null) { jsonWorkExternalIdentifier.setWorkExternalIdentifierType(workExternalIdentifier.getWorkExternalIdentifierType().value()); } if (workExternalIdentifier.getWorkExternalIdentifierId() != null && !PojoUtil.isEmpty(workExternalIdentifier.getWorkExternalIdentifierId().getContent())) { jsonWorkExternalIdentifier.setWorkExternalIdentifierId(new WorkExternalIdentifierId(workExternalIdentifier.getWorkExternalIdentifierId().getContent())); } WorkExternalIdentifierType type = WorkExternalIdentifierType.valueOf(conv.convertTo(jsonWorkExternalIdentifier.getWorkExternalIdentifierType(), null)); if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.equals(type)) { if (!workType.equals(org.orcid.jaxb.model.message.WorkType.BOOK)) { jsonWorkExternalIdentifier.setRelationship(org.orcid.jaxb.model.record_rc1.Relationship.PART_OF.value()); } else { jsonWorkExternalIdentifier.setRelationship(org.orcid.jaxb.model.record_rc1.Relationship.SELF.value()); } } else if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISBN.equals(type)) { if (workType.equals(org.orcid.jaxb.model.message.WorkType.BOOK_CHAPTER) || workType.equals(org.orcid.jaxb.model.message.WorkType.CONFERENCE_PAPER)) { jsonWorkExternalIdentifier.setRelationship(org.orcid.jaxb.model.record_rc1.Relationship.PART_OF.value()); } else { jsonWorkExternalIdentifier.setRelationship(org.orcid.jaxb.model.record_rc1.Relationship.SELF.value()); } } else { jsonWorkExternalIdentifier.setRelationship(org.orcid.jaxb.model.record_rc1.Relationship.SELF.value()); } workExternalIdentifiers.getWorkExternalIdentifier().add(jsonWorkExternalIdentifier); } return JsonUtils.convertToJsonString(workExternalIdentifiers); }
@JsonValue public String jsonValue() { return this.name(); }
public static WorkExternalIdentifierType fromValue(String value) { for (WorkExternalIdentifierType wit : WorkExternalIdentifierType.values()) { if (wit.value.equalsIgnoreCase(value)) { return wit; } } throw new IllegalArgumentException(value); }
public WorkExternalIdentifiers convertFrom(String source) { JSONWorkExternalIdentifiers jsonWorkExternalIdentifiers = JsonUtils.readObjectFromJsonString(source, JSONWorkExternalIdentifiers.class); WorkExternalIdentifiers workExternalIdentifiers = new WorkExternalIdentifiers(); for (JSONWorkExternalIdentifier jsonWorkExternalIdentifier : jsonWorkExternalIdentifiers.getWorkExternalIdentifier()) { if(jsonWorkExternalIdentifier.getRelationship() != null && !Relationship.VERSION_OF.name().equals(jsonWorkExternalIdentifier.getRelationship())) { WorkExternalIdentifier workExternalIdentifier = new WorkExternalIdentifier(); try { workExternalIdentifier.setWorkExternalIdentifierType(WorkExternalIdentifierType.fromValue(conv.convertFrom(jsonWorkExternalIdentifier.getWorkExternalIdentifierType(), null))); } catch (Exception e) { workExternalIdentifier.setWorkExternalIdentifierType(WorkExternalIdentifierType.OTHER_ID); } workExternalIdentifier.setWorkExternalIdentifierId(new org.orcid.jaxb.model.message.WorkExternalIdentifierId()); if (jsonWorkExternalIdentifier.getWorkExternalIdentifierId() != null) { workExternalIdentifier.getWorkExternalIdentifierId().setContent(jsonWorkExternalIdentifier.getWorkExternalIdentifierId().content); } workExternalIdentifiers.getWorkExternalIdentifier().add(workExternalIdentifier); } } return workExternalIdentifiers; }
@Override @JsonIgnore public boolean isGroupAble() { //Dont group if it is a part-of identifier if(Relationship.PART_OF.equals(relationship)) return false; // Dont groups works where the external id is empty if (this.getValue() == null || this.getValue().isEmpty()) return false; // Dont work works by ISSN identifier if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value().equals(this.getType())) return false; return true; }
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); } } } }
@Override @JsonIgnore public boolean isGroupAble() { //Dont group if it is a part-of identifier if(Relationship.PART_OF.equals(relationship)) return false; // Dont groups works where the external id is empty if (this.getValue() == null || this.getValue().isEmpty()) return false; // Dont work works by ISSN identifier if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value().equals(this.getType())) return false; return true; }
public static void populateExternalIdentifiers(ExternalIDs extIds, WorkForm workForm, WorkType workType) { if (extIds != null) { List<ActivityExternalIdentifier> workExternalIdentifiersList = new ArrayList<ActivityExternalIdentifier>(); for (ExternalID extId : extIds.getExternalIdentifier()) { if(extId.getRelationship() == null) { if(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.equals(extId.getType())) { if(WorkType.BOOK.equals(workType)) { extId.setRelationship(Relationship.PART_OF); } else { extId.setRelationship(Relationship.SELF); } } else if(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISBN.equals(extId.getType())) { if(WorkType.BOOK_CHAPTER.equals(workType) || WorkType.CONFERENCE_PAPER.equals(workType)) { extId.setRelationship(Relationship.PART_OF); } else { extId.setRelationship(Relationship.SELF); } } else { extId.setRelationship(Relationship.SELF); } } workExternalIdentifiersList.add(ActivityExternalIdentifier.valueOf(extId)); } workForm.setWorkExternalIdentifiers(workExternalIdentifiersList); } }
public static ExternalID fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { ExternalID id = new ExternalID(); id.setType(oldExtId.getWorkExternalIdentifierType().value()); id.setValue(oldExtId.getWorkExternalIdentifierId().getContent()); return id; }
for (ExternalID extId : workGroup.getIdentifiers().getExternalIdentifier()) { if (extId.getRelationship() == null) { if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.equals(extId.getType())) { if (WorkType.BOOK.equals(workType)) { extId.setRelationship(Relationship.PART_OF); extId.setRelationship(Relationship.SELF); } else if (org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISBN.equals(extId.getType())) { if (WorkType.BOOK_CHAPTER.equals(workType) || WorkType.CONFERENCE_PAPER.equals(workType)) { extId.setRelationship(Relationship.PART_OF);
public static ExternalID fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { ExternalID id = new ExternalID(); id.setType(oldExtId.getWorkExternalIdentifierType().value()); id.setValue(oldExtId.getWorkExternalIdentifierId().getContent()); return id; }
public static ExternalID fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { ExternalID id = new ExternalID(); id.setType(oldExtId.getWorkExternalIdentifierType().value()); id.setValue(oldExtId.getWorkExternalIdentifierId().getContent()); return id; }
public static ExternalID fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { ExternalID id = new ExternalID(); id.setType(oldExtId.getWorkExternalIdentifierType().value()); id.setValue(oldExtId.getWorkExternalIdentifierId().getContent()); return id; }
public static ExternalID fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { ExternalID id = new ExternalID(); id.setType(oldExtId.getWorkExternalIdentifierType().value()); id.setValue(oldExtId.getWorkExternalIdentifierId().getContent()); return id; }
public static ExternalID fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { ExternalID id = new ExternalID(); id.setType(oldExtId.getWorkExternalIdentifierType().value()); id.setValue(oldExtId.getWorkExternalIdentifierId().getContent()); return id; }
public static WorkExternalIdentifiers valueOf(org.orcid.jaxb.model.message.WorkExternalIdentifiers messageWorkExternalIdentifiers) { WorkExternalIdentifiers result = new WorkExternalIdentifiers(); if(messageWorkExternalIdentifiers != null && !messageWorkExternalIdentifiers.getWorkExternalIdentifier().isEmpty()) { for(org.orcid.jaxb.model.message.WorkExternalIdentifier messageExtId : messageWorkExternalIdentifiers.getWorkExternalIdentifier()) { WorkExternalIdentifier extId = new WorkExternalIdentifier(); if(messageExtId.getWorkExternalIdentifierId() != null) { extId.setWorkExternalIdentifierId(new WorkExternalIdentifierId(messageExtId.getWorkExternalIdentifierId().getContent())); } if(messageExtId.getWorkExternalIdentifierType() != null) { extId.setWorkExternalIdentifierType(WorkExternalIdentifierType.fromValue(messageExtId.getWorkExternalIdentifierType().value())); } result.getExternalIdentifier().add(extId); } } return result; } }
public static WorkExternalIdentifier fromMessageExtId(org.orcid.jaxb.model.message.WorkExternalIdentifier oldExtId) { WorkExternalIdentifier newExtId = new WorkExternalIdentifier(); if (oldExtId.getWorkExternalIdentifierId() != null) { newExtId.setWorkExternalIdentifierId(new WorkExternalIdentifierId(oldExtId.getWorkExternalIdentifierId().getContent())); } if (oldExtId.getWorkExternalIdentifierType() != null) { newExtId.setWorkExternalIdentifierType(WorkExternalIdentifierType.fromValue(oldExtId.getWorkExternalIdentifierType().value())); } return newExtId; }