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

From: Kevin Menard (JIRA) ("Kevin)
Date: Sat Feb 02 2008 - 17:09:34 EST

  • Next message: Andrus Adamchik (JIRA): "[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&focusedCommentId=12723#action_12723 ]

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

    I've been looking into this issue some more and it looks to me like being able to know which attributes are PK attributes is something that may be important for the client. My guess is that DbEntities are not sent to the client as a security concern. Would it make more sense to relax this a little and send the DbEntities to match the corresponding ObjEntities? If not, should be we look at a reduced functionality DbEntity for client use?

    > 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..AYENNE_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.
    



    This archive was generated by hypermail 2.0.0 : Sat Feb 02 2008 - 17:10:02 EST