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

This is Interesting: Free IT Magazines  
Home > Archive > Apache JDO Project > October 2007 > [jira] Updated: (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] Updated: (JDO-499) JDOImplHelper should catch exceptions in
Craig Russell (JIRA)

2007-10-19, 7:11 pm


[ https://issues.apache.org/jira/brow...ls:all-tabpanel ]

Craig Russell updated JDO-499:
------------------------------

Attachment: jdo-499.patch

Please review this patch. It wraps the binary compatible callouts to external implementations with try-catch to protect against errant implementations.

> 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
>
> Attachments: jdo-499.patch
>
>
> 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