Apache JDO Project - [jira] Created: (JDO-499) JDOImplHelper should catch exceptions in

This is Interesting: Free IT Magazines  
Home > Archive > Apache JDO Project > June 2007 > [jira] Created: (JDO-499) JDOImplHelper should catch exceptions in





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author [jira] Created: (JDO-499) JDOImplHelper should catch exceptions in
Craig Russell (JIRA)

2007-06-12, 7:11 pm

JDOImplHelper should catch exceptions in nonBinaryCompatibleGet and nonBinaryCompatibleIs
-----------------------------------------------------------------------------------------

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 ignore exceptions thrown from registered implementations. This would protect users from errant implementations.

For example, the following returns the appropriate result if an implementation (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.


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com