Skip to content

Commit 6601ed1

Browse files
authored
Merge pull request #1287 from ORCID/emptyOrcidLogging
added logging of empty orcid ids
2 parents 6cb82c2 + 66f0498 commit 6601ed1

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

assertion-service/src/main/java/org/orcid/memberportal/service/assertion/services/AssertionService.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ public Assertion createAssertion(Assertion assertion, AssertionServiceUser owner
179179
if (tokenDeniedStatus == null) {
180180
String activeToken = record.getToken(assertion.getSalesforceId(), false);
181181
if (activeToken != null && !activeToken.isBlank()) {
182+
if (StringUtils.isBlank(record.getOrcid())) {
183+
LOG.warn("Setting empty orcid id '{}' in affiliation {} for email {} when creating assertion", record.getOrcid(), assertion.getId(), email);
184+
}
182185
assertion.setOrcidId(record.getOrcid());
183186
}
184187
}
@@ -719,9 +722,15 @@ public void markPendingAssertionsAsNotificationRequested(String salesforceId) {
719722

720723
public void updateOrcidIdsForEmailAndSalesforceId(String email, String salesforceId) {
721724
Optional<OrcidRecord> record = orcidRecordService.findOneByEmail(email);
725+
if (record.isEmpty()) {
726+
throw new IllegalArgumentException("Can't find orcid record for email " + email);
727+
}
722728
final String orcid = record.get().getOrcid();
723729
List<Assertion> assertions = assertionRepository.findAllByEmail(email);
724730
assertions.stream().filter(a -> a.getOrcidId() == null && salesforceId.equals(a.getSalesforceId())).forEach(a -> {
731+
if (StringUtils.isBlank(orcid)) {
732+
LOG.warn("Setting empty orcid id '{}' in affiliation {} for email {} after granting permission", orcid, a.getId(), email);
733+
}
725734
a.setOrcidId(orcid);
726735
assertionRepository.save(a);
727736
});

assertion-service/src/main/java/org/orcid/memberportal/service/assertion/services/OrcidRecordService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void deleteOrcidRecord(OrcidRecord orcidRecord) {
7474

7575
public void storeIdToken(String emailInStatus, String idToken, String orcidIdInJWT, String salesforceId) {
7676
OrcidRecord orcidRecord = orcidRecordRepository.findOneByEmail(emailInStatus)
77-
.orElseThrow(() -> new IllegalArgumentException("Unable to find userInfo for email: " + emailInStatus));
77+
.orElseThrow(() -> new IllegalArgumentException("Unable to find orcidRecord for email: " + emailInStatus));
7878

7979
OrcidToken newToken = new OrcidToken(salesforceId, idToken);
8080
List<OrcidToken> tokens = orcidRecord.getTokens().stream().filter(t -> !salesforceId.equals(t.getSalesforceId())).collect(Collectors.toList());

assertion-service/src/main/java/org/orcid/memberportal/service/assertion/web/rest/AssertionResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public ResponseEntity<String> storeIdToken(@RequestBody ObjectNode json) throws
319319
}
320320
}
321321
} else {
322-
LOG.warn("User {} have denied access", emailInStatus);
322+
LOG.info("User {} denied access", emailInStatus);
323323
orcidRecordService.storeUserDeniedAccess(emailInStatus, salesforceId);
324324
}
325325
return ResponseEntity.ok().body(responseData.toString());

0 commit comments

Comments
 (0)