Details
-
Bug
-
Resolution: Fixed
-
Minor
-
2.2.0
-
None
-
None
Description
Using SubjectFinder().assignSubjectIdentifier(ident) does not work, as the code path ends up querying the subject id which wasn't defined. Note that if you add the sourceId, it does work, since it is a different code path.
groovy:000> new SubjectFinder().assignSubjectId("800000252").findSubject()
|
===> Subject id: 800000252, sourceId: eduLDAP, name: Jennifer Arnold
|
|
groovy:000> new SubjectFinder().assignSubjectIdentifier("jarnold").findSubject()
|
ERROR java.lang.IllegalArgumentException:
|
null Subject Id
|
|
groovy:000> new SubjectFinder().assignSubjectIdentifier("jarnold").assignSourceId("eduLDAP") findSubject()
|
===> Subject id: 800000252, sourceId: eduLDAP, name: Jennifer Arnold
|
The problem code may be around line 290
if (!StringUtils.isBlank(this.subjectIdentifier)) {
|
if (!StringUtils.isBlank(this.sourceId)) {
|
return SubjectFinder.findByIdentifierAndSource(this.subjectIdentifier, this.sourceId, this.ignoreCachedSubjects, false);
|
}
|
return SubjectFinder.findByIdentifier(this.subjectId, this.ignoreCachedSubjects, false);
|
}
|