You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Ken Anderson <ke...@amphorainc.com> on 2017/12/12 18:44:30 UTC

URI for data object?

Everyone,

I’ve been looking around the Cayenne API, but have not been able to find a way to serialize an object ID into a string, and then turn that string back into an object ID or object.  What’s the best/right way to do this?  For instance, if you want to store a reference to a database object in a text file…

Thanks,
Ken
Confidentiality Notice: This e-mail and accompanying documents contain confidential information intended for a specific individual and purpose. This e-mailed information is private and protected by law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, or distribution, or the taking of any action based on the contents of this information, is strictly prohibited.

Re: URI for data object?

Posted by Andrus Adamchik <an...@objectstyle.org>.
There's also this set of utilities to convert an object to a String ID and back:

    https://github.com/apache/cayenne/tree/master/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id

It uses the format like "MyEntity:1:2:3" and IIRC does not attempt to perform separator escaping for char ID values. Feel free to use it as is, or copy the code and create your own format.

Andrus


> On Dec 12, 2017, at 2:24 PM, Michael Gentry <bl...@gmail.com> wrote:
> 
> Hi Ken,
> 
> I had some code somewhere that did this, but can't find it offhand.
> 
> Nutshell version, I was storing the information in this format:
> 
> EntityName:KeyName:KeyValue
> 
> You can get that information from the Cayenne[1] (or DataObjectUtils if on
> 3.0) helper class.  That format requires a single PK and likewise a single
> integer PK value.
> 
> When I needed the object back, I split on the colons and used the parts to
> construct a new ObjectId(entityName, key, value) and passed that to
> Cayenne.objectForPK(context, objectId).
> 
> mrg
> 
> [1] http://cayenne.apache.org/docs/3.1/api/org/apache/cayenne/Cayenne.html
> 
> 
> 
> On Tue, Dec 12, 2017 at 1:44 PM, Ken Anderson <ke...@amphorainc.com>
> wrote:
> 
>> Everyone,
>> 
>> I’ve been looking around the Cayenne API, but have not been able to find a
>> way to serialize an object ID into a string, and then turn that string back
>> into an object ID or object.  What’s the best/right way to do this?  For
>> instance, if you want to store a reference to a database object in a text
>> file…
>> 
>> Thanks,
>> Ken
>> Confidentiality Notice: This e-mail and accompanying documents contain
>> confidential information intended for a specific individual and purpose.
>> This e-mailed information is private and protected by law. If you are not
>> the intended recipient, you are hereby notified that any disclosure,
>> copying, or distribution, or the taking of any action based on the contents
>> of this information, is strictly prohibited.
>> 


Re: URI for data object?

Posted by Michael Gentry <bl...@gmail.com>.
Hi Ken,

I had some code somewhere that did this, but can't find it offhand.

Nutshell version, I was storing the information in this format:

EntityName:KeyName:KeyValue

You can get that information from the Cayenne[1] (or DataObjectUtils if on
3.0) helper class.  That format requires a single PK and likewise a single
integer PK value.

When I needed the object back, I split on the colons and used the parts to
construct a new ObjectId(entityName, key, value) and passed that to
Cayenne.objectForPK(context, objectId).

mrg

[1] http://cayenne.apache.org/docs/3.1/api/org/apache/cayenne/Cayenne.html



On Tue, Dec 12, 2017 at 1:44 PM, Ken Anderson <ke...@amphorainc.com>
wrote:

> Everyone,
>
> I’ve been looking around the Cayenne API, but have not been able to find a
> way to serialize an object ID into a string, and then turn that string back
> into an object ID or object.  What’s the best/right way to do this?  For
> instance, if you want to store a reference to a database object in a text
> file…
>
> Thanks,
> Ken
> Confidentiality Notice: This e-mail and accompanying documents contain
> confidential information intended for a specific individual and purpose.
> This e-mailed information is private and protected by law. If you are not
> the intended recipient, you are hereby notified that any disclosure,
> copying, or distribution, or the taking of any action based on the contents
> of this information, is strictly prohibited.
>