Details
-
Type:
Bug Fix
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.5
-
Fix Version/s: 2.5
-
Component/s: Development, KNS Equivalency
-
Security Level: Public (Public: Anyone can view)
-
Labels:None
-
Sprint:Core 2.5.0-m6 Sprint 1
-
KAI Review Status:Not Required
-
KTI Review Status:Not Required
-
Code Review Status:Not Required
-
Include in Release Notes?:Yes
-
Story Points:3
Description
Links to test locally:
Labs - Maintenance Views: http://localhost:8080/krad-dev/kr-krad/labs?viewId=LabsMenuMaintenanceView
Existence Demo: http://localhost:8080/krad-dev/kr-krad/kradsampleapp?viewId=KradMaintenanceSample-PageR6C1
The fiscalOfficer on the travel account is defaulted to a PersonImpl object, so when validateReferenceExists is called the referenceDataObject that is returned is a PersonImpl object that has all the fields set to empty strings or null. true is returned from validateReferenceExists since the object itself is not null. Another issue may be that when getReferenceIfExists is called, DataObjectWrapperBase.fetchRelationship does nothing since org.kuali.rice.kim.api.identity.Person is a related type that is not supported by DataObjectService.
Code in DictionaryValidationServiceImpl (comments are a bit confusing in this method):
public boolean validateReferenceExists(Object dataObject, String referenceName) { // attempt to retrieve the specified object from the db Object referenceDataObject = getLegacyDataAdapter().getReferenceIfExists(dataObject, referenceName); // if it isn't there, then it doesn't exist, return false if (KRADUtils.isNotNull(referenceDataObject)) { return true; } // otherwise, it is there, return true return false; }
Attachments
Issue Links
- discovered by
-
KULRICE-11488 M94 demo
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
Labs - Maintenance Views: http://localhost:8080/krad-dev/kr-krad/labs?viewId=LabsMenuMaintenanceView
Existence Demo: http://localhost:8080/krad-dev/kr-krad/kradsampleapp?viewId=KradMaintenanceSample-PageR6C1 \\ \\ The fiscalOfficer on the travel account is defaulted to a PersonImpl object, so when validateReferenceExists is called the referenceDataObject that is returned is a PersonImpl object that has all the fields set to empty strings or null. true is returned from validateReferenceExists since the object itself is not null. Another issue may be that when getReferenceIfExists is called, DataObjectWrapperBase.fetchRelationship does nothing since org.kuali.rice.kim.api.identity.Person is a related type that is not supported by DataObjectService. Code in DictionaryValidationServiceImpl (comments are a bit confusing in this method): {code} public boolean validateReferenceExists(Object dataObject, String referenceName) { // attempt to retrieve the specified object from the db Object referenceDataObject = getLegacyDataAdapter().getReferenceIfExists(dataObject, referenceName); // if it isn't there, then it doesn't exist, return false if (KRADUtils.isNotNull(referenceDataObject)) { return true; } // otherwise, it is there, return true return false; } {code} |
Links to test locally:
Labs - Maintenance Views: http://localhost:8080/krad-dev/kr-krad/labs?viewId=LabsMenuMaintenanceView Existence Demo: http://localhost:8080/krad-dev/kr-krad/kradsampleapp?viewId=KradMaintenanceSample-PageR6C1 \\ \\ The fiscalOfficer on the travel account is defaulted to a PersonImpl object, so when validateReferenceExists is called the referenceDataObject that is returned is a PersonImpl object that has all the fields set to empty strings or null. true is returned from validateReferenceExists since the object itself is not null. Another issue may be that when getReferenceIfExists is called, DataObjectWrapperBase.fetchRelationship does nothing since org.kuali.rice.kim.api.identity.Person is a related type that is not supported by DataObjectService. Code in DictionaryValidationServiceImpl (comments are a bit confusing in this method): {code} public boolean validateReferenceExists(Object dataObject, String referenceName) { // attempt to retrieve the specified object from the db Object referenceDataObject = getLegacyDataAdapter().getReferenceIfExists(dataObject, referenceName); // if it isn't there, then it doesn't exist, return false if (KRADUtils.isNotNull(referenceDataObject)) { return true; } // otherwise, it is there, return true return false; } {code} |
Link |
This issue discovered by |
Fix Version/s | 2.5 [ 17044 ] |
Rank | Ranked higher |
Rank | Ranked lower |
Flagged | Impediment [ 13060 ] |
Flagged | Impediment [ 13060 ] |
Component/s | KNS Equivalency [ 13684 ] |
Sprint | Core 2.5.0-m6 Sprint 1 [ 353 ] |
Rank | Ranked lower |
Original Estimate | 1 day [ 28800 ] | |
Remaining Estimate | 1 day [ 28800 ] |
Sprint | Core 2.5.0-m5 Sprint 2b [ 353 ] | Core 2.5.0-m6 Sprint 1 [ 359 ] |
Sprint | Core 2.5.0-m6 Sprint 1 [ 359 ] | Core 2.5.0-m5 Sprint 2b [ 353 ] |
Rank | Ranked lower |
Sprint | Core 2.5.0-m5 Sprint 2b [ 353 ] | Core 2.5.0-m6 Sprint 1 [ 359 ] |
Rank | Ranked higher |
Original Estimate | 1 day [ 28800 ] | |
Remaining Estimate | 1 day [ 28800 ] |
Original Estimate | 3 days [ 86400 ] | |
Remaining Estimate | 3 days [ 86400 ] |
Assignee | Steve Edgar [ sedgar ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Original Estimate | 3 days [ 86400 ] | |
Remaining Estimate | 3 days [ 86400 ] | |
Story Points | 3 |
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |