KNL-1286 is missing something. Our Sakai won't start with that patch.
Without a body delete path defined, addResourceToDeleteTable will generate an error. addDeleteResource will fail, because putDeleteResource will return null. That will throw a null pointer exception. (Not quite sure why it's useful to check for null and generate the same error as if you hadn't checked. If the null check had returned, this problem wouldn't have happened.)
Since addResourceToDeleteTable is called in only one place, the best fix is probably to patch that place not to do anything.
I.e. add
if (m_bodyPathDeleted == null)
return;
at the beginning of addResourceToDeleteTable in BaseContentService.java
Why doesn't this always cause startup to fail? I suspect it's because with OSP a delete is done during bean instantiation. Without OSP there's a good chance that any errors would be non-fatal. I conjecture that tests are being done without OSP.
Maybe it's valid to run with bodyPathDeleted null and maybe it isn't. But if we're going to do KNL-1286, it should be complete.
- relates to
-
SAK-39073 bodyPathDeleted silently defaults to {sakai.home}/null
-
- RESOLVED
-