You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by "Kevin Menard (JIRA)" <de...@cayenne.apache.org> on 2007/10/29 21:38:51 UTC

[JIRA] Commented: (CAY-574) DataObjectUtils 'objectForPK' should work on the client

    [ https://issues.apache.org/cayenne/browse/CAY-574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12570 ] 

Kevin Menard commented on CAY-574:
----------------------------------

Sorry, but I'm not quite following what the suggested fixes are.  I have recently run into the issue with 3.0M2 and am looking to fix it if I can.  I think I agree with #2.  It looks like a query should be performed rather than a DbEntity lookup, but I don't quite follow the analysis of #1.

> DataObjectUtils 'objectForPK' should work on the client
> -------------------------------------------------------
>
>                 Key: CAY-574
>                 URL: https://issues.apache.org/cayenne/browse/CAY-574
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Cayenne Core Library
>    Affects Versions: 1.2 [STABLE], UNDEFINED FUTURE
>            Reporter: Andrus Adamchik
>             Fix For: UNDEFINED FUTURE
>
>
> While DataObjectUtil.objectForPK takes ObjectContext as an argument, using it on the remote client is not possible. The following exceptions happen on various overloaded calls:
> 1. This will require method signature change:
> DataObjectUtils.objectForPK( c1,new ObjectId("MtTable1", "TABLE1_ID", 1));
> java.lang.ClassCastException
> 	at org.objectstyle.cayenne.DataObjectUtils.objectForPK(DataObjectUtils.java:276)
> 	at org.objectstyle.cayenne.remote.ClientChannelEventsTst.testSyncSimpleProperty(ClientChannelEventsTst.java:93)
> 	
> 2. This should issue a query instead of doing DbEntity lookup:
>    DataObjectUtils.objectForPK(
>                 c2,
>                 ClientMtTable1.class,
>                 1);
> org.objectstyle.cayenne.CayenneRuntimeException: [v.@CAYENNE_VERSION@ @CAYENNE_BUILD_DATE@] No DbEntity for ObjEntity: MtTable1
> 	at org.objectstyle.cayenne.DataObjectUtils.buildId(DataObjectUtils.java:352)
> 	at org.objectstyle.cayenne.DataObjectUtils.objectForPK(DataObjectUtils.java:167)
>      

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