openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Sutter (JIRA)" <j...@apache.org>
Subject [jira] Updated: (OPENJPA-396) Cloning Calendar proxies doesn't detach from StateManager
Date Mon, 08 Oct 2007 14:52:50 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kevin Sutter updated OPENJPA-396:
---------------------------------

    Attachment: OPENJPA-396.patch

Proposed patch for OpenJPA-396.  It was built against the 1.0.x branch, but also seems to
work with the trunk (1.1.0).

When testing this patch, I found that TestProxyManager had a couple of problems that needed
correcting.  After these changes were made, I had to re-factor a few of the "assert" methods
so that we were testing for proper equality when copying vs cloning.  That's why the patch
for TestProxyManager looks larger than expected.

I plan to commit these changes later today unless concerns are raised with the patch.

Thanks,
Kevin

> Cloning Calendar proxies doesn't detach from StateManager
> ---------------------------------------------------------
>
>                 Key: OPENJPA-396
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-396
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.0.0, 1.0.1, 1.1.0
>            Reporter: Kevin Sutter
>            Assignee: Kevin Sutter
>             Fix For: 1.0.1, 1.1.0
>
>         Attachments: OPENJPA-396.patch
>
>
> This problem was first discussed on our dev mailing list:  http://www.nabble.com/Cloning-Calendar-proxies-tf4571181.html
> Per the discussion on that thread, I am proposing to modify the generated proxy code
to override the clone() method.  This clone() method will do the necessary copying of data
from the original object, but then also null out the sm (StateManager) and zero out the field
attributes.  This action detaches the cloned object from the StateManager (and associated
EntityManager).
> Instead of limiting this action to the Calendar proxy, I am adding the clone() method
implementation to all of our proxy objects that we generate.  Granted, some of the object
types do not directly support the clone() method, but that will be detected when or if anybody
attempts to use the clone() method on these types (compiler generated error message).
> I'll be posting a patch shortly and I plan to commit the changes later today (unless
there is opposition).
> Thanks,
> Kevin

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message