06-13-07 12:11 AM
JDOImplHelper should catch exceptions in nonBinaryCompatibleGet and nonBinar
yCompatibleIs
----------------------------------------------------------------------------
-------------
Key: JDO-499
URL: https://issues.apache.org/jira/browse/JDO-499
Project: JDO
Issue Type: Bug
Components: api2, api2-legacy
Affects Versions: JDO 2 final
Reporter: Craig Russell
Assignee: Craig Russell
Priority: Minor
Fix For: JDO 2 maintenance release 1
The code to perform non-binary-compatible state tests should catch and ignor
e exceptions thrown from registered implementations. This would protect user
s from errant implementations.
For example, the following returns the appropriate result if an implementati
on (not the implementation responsible for the instance) throws an exception
.
/**
* Return an object associated with a non-binary-compatible instance.
* Delegate to all registered StateInterrogation instances until
* one of them handles the call (returns a non-null answer).
* The caller provides the stateless "method object" that does
* the actual call to the StateInterrogation instance.
* @param pc the instance whose associated object is needed
* @param sibr the method object that delegates to the
* non-binary-compatible implementation
* @return the associated object or null if the implementation does not
* manage the class of the instance
*/
public Object nonBinaryCompatibleGet(Object pc,
StateInterrogationObjectReturn sibr) {
Iterator sit = getStateInterrogationIterator();
while (sit.hasNext()) {
try {
StateInterrogation si = (StateInterrogation)sit.next();
Object result = sibr.get(pc, si);
if (result != null) return result;
} catch (Throwable t) {
// ignore exceptions thrown by non-binary-compatible impls
}
}
return null;
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[ Post a follow-up to this message ]
|