I actually have a version of this that now allows the test case to run 
successfully.  Unfortunately, it causes another test to fail so I'm still 
working on it.  I'll update the list once I have something good.


----- Original Message -----
From: "Geert Bevin" <[EMAIL PROTECTED]>
To: "Tim Eck" <[EMAIL PROTECTED]>
Cc: "Alex Miller" <[EMAIL PROTECTED]>, "tc-dev" <[email protected]>
Sent: Monday, August 27, 2007 1:43:39 AM (GMT-0600) America/Chicago
Subject: Re: [tc-dev] [JIRA] Commented: (DEV-865) CloneNotSupportedException 
got swallowed and replaced by IllegalMonitorStateException

Looks good to me.

I thought it could be taken further and turned into a static util  
method that it's even easier to maintain. However, after writing it  
out, I saw that this could create a problem when the parent clone  
method is the default one, which has protected access. So your  
approach seems best :-).


On 24 Aug 2007, at 20:52, Tim Eck wrote:

> I'm probably missing something, but why can't we just put our  
> processing
> in a separate method and avoid any complications with existing  
> exception
> handlers? The code end up looking something like this then:
>
> public Object clone() {
>    try {
>       return __tc_clone();
>    } catch (CloneNotSupportedException cnse) {
>       Throw new RuntimeException(cnse);
>    }
> }
>
> private Object __tc_clone() throws CloneNotSupportedException {
>    TCObject tco = (this instanceof Manageable) ?
>       ((Manageable) this).__tc_managed() :
>       null;
>    if (tco != null) {
>       synchronized (tco.getResolveLock()) {
>          tco.resolveAllRefs();
>          return Util.fixTC(this, super.clone());
>      }
>    }
>
>    return super.clone();
> }
>
> The only real difference is that our special logic is self contained.
>
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:tc-dev-
>> [EMAIL PROTECTED] On Behalf Of Alex Miller
>> Sent: Thursday, August 23, 2007 3:40 PM
>> To: tc-dev
>> Subject: Re: [tc-dev] [JIRA] Commented: (DEV-865)
>> CloneNotSupportedException got swallowed and replaced by
>> IllegalMonitorStateException
>>
>> Anyone have any thoughts on this?
>>
>>
>
>
> _______________________________________________
> tc-dev mailing list
> [email protected]
> http://lists.terracotta.org/mailman/listinfo/tc-dev

--
Geert Bevin
Terracotta - http://www.terracotta.org
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Music and words - http://gbevin.com


_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to