You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Frank Herrmann <fr...@modernizingmedicine.com> on 2016/03/16 20:12:08 UTC

Tracking down a Runtime Relationship - Cayenne 3.1

Hello all,

We have a developer here that recently asked for my help and told him I'd
reach out. He is getting a validation failure error on a runtime
relationship (specifically runtimeRelationship725). As these are created
during runtime, he is setting a break point in the code at the commit to
try and figure out what object this runtime relationship is attached to. My
question is, is there an easy way to pinpoint what object this relationship
is attached to, or what relationship it is reversing so he can troubleshoot
the validation error?

Thanks,

-Frank

-- 
FRANK HERRMANN
SOFTWARE ENGINEER

T: 561-880-2998 x1563

E: frank.herrmann@modmed.com



[image: [ Modernizing Medicine ]] <http://www.modmed.com/>
[image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine> [image:
[ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/> [image:
[ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
<http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
<http://instagram.com/modernizing_medicine>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by do...@xsinet.co.za.
Hi yeah, sorry my bad

I was out of office and just replied from my faulty memory it seems.

Thanks Michael, sorry Frank
j


-----Original Message----- 
From: Michael Gentry
Sent: Thursday, March 17, 2016 4:12 PM
To: Cayenne Users
Subject: Re: Tracking down a Runtime Relationship - Cayenne 3.1

Hi Jurgen,

Maybe you are seeing something different than me?  When I have logging
turned on, I see things like:

org.apache.cayenne.map.EntityResolver added runtime complimentary
DbRelationship from s_budget_years to p_line_items
...
org.apache.cayenne.map.EntityResolver added runtime complimentary
ObjRelationship from BudgetYears to LineItem

It doesn't specify the relationship name, though.

mrg


On Thu, Mar 17, 2016 at 9:30 AM, <do...@xsinet.co.za> wrote:

>
>
> Hi Frank
>
> Cayenne logs the runtime relationships it generates when it loads the
> model into memory.
>
> So if you look in the log which it also sends to System.err and search
> for "runtimeRelationship725" then you will be able to see which entity
> it's associated with. At least then he'll have a clue as where to begin
> looking.
>
> Regards
>
> Jurgen
>
> On 2016-03-17 15:02, Frank Herrmann wrote:
>
> > Thanks. I passed this along to the developer. We are using version 3.1.
> >
> > On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <mg...@masslight.net>
> > wrote:
> > Hi Frank, I don't have any handy code to do this at the moment, but the
> approach I would take is to write a utility method to dump the model's
> source/destination relationship information immediately after loading the
> model into memory. Then, when you get the validation exception, you can
> reference that data dump for assistance. mrg PS. What version of Cayenne?
> On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
> frank.herrmann@modernizingmedicine.com> wrote: Hello all, We have a
> developer here that recently asked for my help and told him I'd reach out.
> He is getting a validation failure error on a runtime relationship
> (specifically runtimeRelationship725). As these are created during 
> runtime,
> he is setting a break point in the code at the commit to try and figure 
> out
> what object this runtime relationship is attached to. My question is, is
> there an easy way to pinpoint what object this relationship is attached 
> to,
> or what relationship it is reversing so he can troubleshoot the
> validation error? Thanks, -Frank -- FRANK HERRMANN SOFTWARE ENGINEER T: 
> 561-880-2998
> x1563 E: frank.herrmann@modmed.com [image: [ Modernizing Medicine ]] <
> http://www.modmed.com/ [1]> [image: [ Facebook ]] <
> http://www.facebook.com/modernizingmedicine [2]> [image: [ LinkedIn ]] <
> http://www.linkedin.com/company/modernizing-medicine/ [3]> [image: [
> YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]> [image:
> [ Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]] <
> http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]] <
> http://instagram.com/modernizing_medicine [7]>
>
> --
> FRANK HERRMANN
> SOFTWARE ENGINEER
>
> T: 561-880-2998 x1563
>
> E: frank.herrmann@modmed.com
>
> [image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]>
> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine [2]>
> [image:
> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/
> [3]> [image:
> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
> [image: [
> Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]]
> <http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]]
> <http://instagram.com/modernizing_medicine [7]>
>
>
>
> Links:
> ------
> [1] http://www.modmed.com/
> [2] http://www.facebook.com/modernizingmedicine
> [3] http://www.linkedin.com/company/modernizing-medicine/
> [4] http://www.youtube.com/user/modernizingmedicine
> [5] https://twitter.com/modmed_EMA
> [6] http://www.modmed.com/BlogBeyondEMR
> [7] http://instagram.com/modernizing_medicine
> 


Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by Michael Gentry <bl...@gmail.com>.
FWIW, I updated the code to be better at compound keys (I think) and
produce slightly better output:

https://gist.github.com/mrg/4dce22b67175c27f4047#file-cayenneutils-java-L188

Let me know if there are any issues!

Thanks,

mrg


On Thu, Mar 17, 2016 at 12:03 PM, Michael Gentry <bl...@gmail.com>
wrote:

> BTW, the code I posted only does database runtime relationships, not Java
> object relationships, plus it handles compound keys poorly, so there is
> room for improvement!  :-)
>
> Thanks,
>
> mrg
>
>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by Michael Gentry <bl...@gmail.com>.
BTW, the code I posted only does database runtime relationships, not Java
object relationships, plus it handles compound keys poorly, so there is
room for improvement!  :-)

Thanks,

mrg


On Thu, Mar 17, 2016 at 10:52 AM, Michael Gentry <bl...@gmail.com>
wrote:

> Hi Frank,
>
> You can try adding/calling this to print them:
>
> import org.apache.cayenne.map.DbEntity;
> import org.apache.cayenne.map.DbJoin;
> import org.apache.cayenne.map.DbRelationship;
>
> ...
>
>     public static void dumpRuntimeRelationships(ObjectContext
> objectContext)
>     {
>         for (DbEntity entity :
> objectContext.getEntityResolver().getDbEntities())
>         {
>             StringBuilder builder = new StringBuilder();
>
>             for (DbRelationship relationship : entity.getRelationships())
>             {
>                 if
> (relationship.getName().startsWith("runtimeRelationship"))
>                 {
>                     builder.append("    Name: ");
>                     builder.append(relationship.getName());
>                     builder.append(", Source: ");
>
> builder.append(relationship.getSourceEntity().getName());
>                     builder.append(", Target: ");
>
> builder.append(relationship.getTargetEntity().getName());
>                     builder.append(", Joins: ");
>
>                     for (DbJoin join : relationship.getJoins())
>                     {
>                         builder.append(join.getSourceName());
>                         builder.append(" : ");
>                         builder.append(join.getTargetName());
>                     }
>
>                     builder.append("\n");
>                 }
>             }
>
>             if (builder.length() > 0)
>             {
>                 builder.insert(0, "\n");
>                 builder.insert(0, entity.getName());
>                 builder.insert(0, "\nEntity: ");
>
>                 System.out.println(builder);
>             }
>         }
>     }
>
>
> Example output:
>
> Entity: s_budget_years
>     Name: runtimeRelationship18, Source: s_budget_years, Target:
> p_line_items, Joins: pk : delta_quantity_fk
>     Name: runtimeRelationship19, Source: s_budget_years, Target:
> p_line_items, Joins: pk : delta_total_cost_fk
>
>
>
> mrg
>
> PS. The "source" info is a bit redundant, but will copy/paste well if you
> need to send to someone.
>
>
>
> On Thu, Mar 17, 2016 at 10:17 AM, Frank Herrmann <
> frank.herrmann@modernizingmedicine.com> wrote:
>
>> Thanks everyone. We were able to pepper some temporary logging in the code
>> and figure out the relationship. I appreciate all the quick responses.
>>
>> -Frank
>>
>> On Thu, Mar 17, 2016 at 10:12 AM, Michael Gentry <bl...@gmail.com>
>> wrote:
>>
>> > Hi Jurgen,
>> >
>> > Maybe you are seeing something different than me?  When I have logging
>> > turned on, I see things like:
>> >
>> > org.apache.cayenne.map.EntityResolver added runtime complimentary
>> > DbRelationship from s_budget_years to p_line_items
>> > ...
>> > org.apache.cayenne.map.EntityResolver added runtime complimentary
>> > ObjRelationship from BudgetYears to LineItem
>> >
>> > It doesn't specify the relationship name, though.
>> >
>> > mrg
>> >
>> >
>> > On Thu, Mar 17, 2016 at 9:30 AM, <do...@xsinet.co.za> wrote:
>> >
>> > >
>> > >
>> > > Hi Frank
>> > >
>> > > Cayenne logs the runtime relationships it generates when it loads the
>> > > model into memory.
>> > >
>> > > So if you look in the log which it also sends to System.err and search
>> > > for "runtimeRelationship725" then you will be able to see which entity
>> > > it's associated with. At least then he'll have a clue as where to
>> begin
>> > > looking.
>> > >
>> > > Regards
>> > >
>> > > Jurgen
>> > >
>> > > On 2016-03-17 15:02, Frank Herrmann wrote:
>> > >
>> > > > Thanks. I passed this along to the developer. We are using version
>> 3.1.
>> > > >
>> > > > On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <
>> mgentry@masslight.net
>> > >
>> > > > wrote:
>> > > > Hi Frank, I don't have any handy code to do this at the moment, but
>> the
>> > > approach I would take is to write a utility method to dump the model's
>> > > source/destination relationship information immediately after loading
>> the
>> > > model into memory. Then, when you get the validation exception, you
>> can
>> > > reference that data dump for assistance. mrg PS. What version of
>> Cayenne?
>> > > On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
>> > > frank.herrmann@modernizingmedicine.com> wrote: Hello all, We have a
>> > > developer here that recently asked for my help and told him I'd reach
>> > out.
>> > > He is getting a validation failure error on a runtime relationship
>> > > (specifically runtimeRelationship725). As these are created during
>> > runtime,
>> > > he is setting a break point in the code at the commit to try and
>> figure
>> > out
>> > > what object this runtime relationship is attached to. My question is,
>> is
>> > > there an easy way to pinpoint what object this relationship is
>> attached
>> > to,
>> > > or what relationship it is reversing so he can troubleshoot the
>> > > validation error? Thanks, -Frank -- FRANK HERRMANN SOFTWARE ENGINEER
>> T:
>> > 561-880-2998
>> > > x1563 E: frank.herrmann@modmed.com [image: [ Modernizing Medicine ]]
>> <
>> > > http://www.modmed.com/ [1]> [image: [ Facebook ]] <
>> > > http://www.facebook.com/modernizingmedicine [2]> [image: [ LinkedIn
>> ]] <
>> > > http://www.linkedin.com/company/modernizing-medicine/ [3]> [image: [
>> > > YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
>> [image:
>> > > [ Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]] <
>> > > http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]] <
>> > > http://instagram.com/modernizing_medicine [7]>
>> > >
>> > > --
>> > > FRANK HERRMANN
>> > > SOFTWARE ENGINEER
>> > >
>> > > T: 561-880-2998 x1563
>> > >
>> > > E: frank.herrmann@modmed.com
>> > >
>> > > [image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]>
>> > > [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine
>> [2]>
>> > > [image:
>> > > [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/
>> > > [3]> [image:
>> > > [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
>> > > [image: [
>> > > Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]]
>> > > <http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]]
>> > > <http://instagram.com/modernizing_medicine [7]>
>> > >
>> > >
>> > >
>> > > Links:
>> > > ------
>> > > [1] http://www.modmed.com/
>> > > [2] http://www.facebook.com/modernizingmedicine
>> > > [3] http://www.linkedin.com/company/modernizing-medicine/
>> > > [4] http://www.youtube.com/user/modernizingmedicine
>> > > [5] https://twitter.com/modmed_EMA
>> > > [6] http://www.modmed.com/BlogBeyondEMR
>> > > [7] http://instagram.com/modernizing_medicine
>> > >
>> >
>>
>>
>>
>> --
>> FRANK HERRMANN
>> SOFTWARE ENGINEER
>>
>> T: 561-880-2998 x1563
>>
>> E: frank.herrmann@modmed.com
>>
>>
>>
>> [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
>> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine>
>> [image:
>> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/>
>> [image:
>> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
>> Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
>> <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
>> <http://instagram.com/modernizing_medicine>
>>
>
>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

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

You can try adding/calling this to print them:

import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbJoin;
import org.apache.cayenne.map.DbRelationship;

...

    public static void dumpRuntimeRelationships(ObjectContext objectContext)
    {
        for (DbEntity entity :
objectContext.getEntityResolver().getDbEntities())
        {
            StringBuilder builder = new StringBuilder();

            for (DbRelationship relationship : entity.getRelationships())
            {
                if
(relationship.getName().startsWith("runtimeRelationship"))
                {
                    builder.append("    Name: ");
                    builder.append(relationship.getName());
                    builder.append(", Source: ");

builder.append(relationship.getSourceEntity().getName());
                    builder.append(", Target: ");

builder.append(relationship.getTargetEntity().getName());
                    builder.append(", Joins: ");

                    for (DbJoin join : relationship.getJoins())
                    {
                        builder.append(join.getSourceName());
                        builder.append(" : ");
                        builder.append(join.getTargetName());
                    }

                    builder.append("\n");
                }
            }

            if (builder.length() > 0)
            {
                builder.insert(0, "\n");
                builder.insert(0, entity.getName());
                builder.insert(0, "\nEntity: ");

                System.out.println(builder);
            }
        }
    }


Example output:

Entity: s_budget_years
    Name: runtimeRelationship18, Source: s_budget_years, Target:
p_line_items, Joins: pk : delta_quantity_fk
    Name: runtimeRelationship19, Source: s_budget_years, Target:
p_line_items, Joins: pk : delta_total_cost_fk



mrg

PS. The "source" info is a bit redundant, but will copy/paste well if you
need to send to someone.



On Thu, Mar 17, 2016 at 10:17 AM, Frank Herrmann <
frank.herrmann@modernizingmedicine.com> wrote:

> Thanks everyone. We were able to pepper some temporary logging in the code
> and figure out the relationship. I appreciate all the quick responses.
>
> -Frank
>
> On Thu, Mar 17, 2016 at 10:12 AM, Michael Gentry <bl...@gmail.com>
> wrote:
>
> > Hi Jurgen,
> >
> > Maybe you are seeing something different than me?  When I have logging
> > turned on, I see things like:
> >
> > org.apache.cayenne.map.EntityResolver added runtime complimentary
> > DbRelationship from s_budget_years to p_line_items
> > ...
> > org.apache.cayenne.map.EntityResolver added runtime complimentary
> > ObjRelationship from BudgetYears to LineItem
> >
> > It doesn't specify the relationship name, though.
> >
> > mrg
> >
> >
> > On Thu, Mar 17, 2016 at 9:30 AM, <do...@xsinet.co.za> wrote:
> >
> > >
> > >
> > > Hi Frank
> > >
> > > Cayenne logs the runtime relationships it generates when it loads the
> > > model into memory.
> > >
> > > So if you look in the log which it also sends to System.err and search
> > > for "runtimeRelationship725" then you will be able to see which entity
> > > it's associated with. At least then he'll have a clue as where to begin
> > > looking.
> > >
> > > Regards
> > >
> > > Jurgen
> > >
> > > On 2016-03-17 15:02, Frank Herrmann wrote:
> > >
> > > > Thanks. I passed this along to the developer. We are using version
> 3.1.
> > > >
> > > > On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <
> mgentry@masslight.net
> > >
> > > > wrote:
> > > > Hi Frank, I don't have any handy code to do this at the moment, but
> the
> > > approach I would take is to write a utility method to dump the model's
> > > source/destination relationship information immediately after loading
> the
> > > model into memory. Then, when you get the validation exception, you can
> > > reference that data dump for assistance. mrg PS. What version of
> Cayenne?
> > > On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
> > > frank.herrmann@modernizingmedicine.com> wrote: Hello all, We have a
> > > developer here that recently asked for my help and told him I'd reach
> > out.
> > > He is getting a validation failure error on a runtime relationship
> > > (specifically runtimeRelationship725). As these are created during
> > runtime,
> > > he is setting a break point in the code at the commit to try and figure
> > out
> > > what object this runtime relationship is attached to. My question is,
> is
> > > there an easy way to pinpoint what object this relationship is attached
> > to,
> > > or what relationship it is reversing so he can troubleshoot the
> > > validation error? Thanks, -Frank -- FRANK HERRMANN SOFTWARE ENGINEER T:
> > 561-880-2998
> > > x1563 E: frank.herrmann@modmed.com [image: [ Modernizing Medicine ]] <
> > > http://www.modmed.com/ [1]> [image: [ Facebook ]] <
> > > http://www.facebook.com/modernizingmedicine [2]> [image: [ LinkedIn
> ]] <
> > > http://www.linkedin.com/company/modernizing-medicine/ [3]> [image: [
> > > YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
> [image:
> > > [ Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]] <
> > > http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]] <
> > > http://instagram.com/modernizing_medicine [7]>
> > >
> > > --
> > > FRANK HERRMANN
> > > SOFTWARE ENGINEER
> > >
> > > T: 561-880-2998 x1563
> > >
> > > E: frank.herrmann@modmed.com
> > >
> > > [image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]>
> > > [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine
> [2]>
> > > [image:
> > > [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/
> > > [3]> [image:
> > > [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
> > > [image: [
> > > Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]]
> > > <http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]]
> > > <http://instagram.com/modernizing_medicine [7]>
> > >
> > >
> > >
> > > Links:
> > > ------
> > > [1] http://www.modmed.com/
> > > [2] http://www.facebook.com/modernizingmedicine
> > > [3] http://www.linkedin.com/company/modernizing-medicine/
> > > [4] http://www.youtube.com/user/modernizingmedicine
> > > [5] https://twitter.com/modmed_EMA
> > > [6] http://www.modmed.com/BlogBeyondEMR
> > > [7] http://instagram.com/modernizing_medicine
> > >
> >
>
>
>
> --
> FRANK HERRMANN
> SOFTWARE ENGINEER
>
> T: 561-880-2998 x1563
>
> E: frank.herrmann@modmed.com
>
>
>
> [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine>
> [image:
> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/>
> [image:
> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
> Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
> <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
> <http://instagram.com/modernizing_medicine>
>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by Frank Herrmann <fr...@modernizingmedicine.com>.
Thanks everyone. We were able to pepper some temporary logging in the code
and figure out the relationship. I appreciate all the quick responses.

-Frank

On Thu, Mar 17, 2016 at 10:12 AM, Michael Gentry <bl...@gmail.com>
wrote:

> Hi Jurgen,
>
> Maybe you are seeing something different than me?  When I have logging
> turned on, I see things like:
>
> org.apache.cayenne.map.EntityResolver added runtime complimentary
> DbRelationship from s_budget_years to p_line_items
> ...
> org.apache.cayenne.map.EntityResolver added runtime complimentary
> ObjRelationship from BudgetYears to LineItem
>
> It doesn't specify the relationship name, though.
>
> mrg
>
>
> On Thu, Mar 17, 2016 at 9:30 AM, <do...@xsinet.co.za> wrote:
>
> >
> >
> > Hi Frank
> >
> > Cayenne logs the runtime relationships it generates when it loads the
> > model into memory.
> >
> > So if you look in the log which it also sends to System.err and search
> > for "runtimeRelationship725" then you will be able to see which entity
> > it's associated with. At least then he'll have a clue as where to begin
> > looking.
> >
> > Regards
> >
> > Jurgen
> >
> > On 2016-03-17 15:02, Frank Herrmann wrote:
> >
> > > Thanks. I passed this along to the developer. We are using version 3.1.
> > >
> > > On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <mgentry@masslight.net
> >
> > > wrote:
> > > Hi Frank, I don't have any handy code to do this at the moment, but the
> > approach I would take is to write a utility method to dump the model's
> > source/destination relationship information immediately after loading the
> > model into memory. Then, when you get the validation exception, you can
> > reference that data dump for assistance. mrg PS. What version of Cayenne?
> > On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
> > frank.herrmann@modernizingmedicine.com> wrote: Hello all, We have a
> > developer here that recently asked for my help and told him I'd reach
> out.
> > He is getting a validation failure error on a runtime relationship
> > (specifically runtimeRelationship725). As these are created during
> runtime,
> > he is setting a break point in the code at the commit to try and figure
> out
> > what object this runtime relationship is attached to. My question is, is
> > there an easy way to pinpoint what object this relationship is attached
> to,
> > or what relationship it is reversing so he can troubleshoot the
> > validation error? Thanks, -Frank -- FRANK HERRMANN SOFTWARE ENGINEER T:
> 561-880-2998
> > x1563 E: frank.herrmann@modmed.com [image: [ Modernizing Medicine ]] <
> > http://www.modmed.com/ [1]> [image: [ Facebook ]] <
> > http://www.facebook.com/modernizingmedicine [2]> [image: [ LinkedIn ]] <
> > http://www.linkedin.com/company/modernizing-medicine/ [3]> [image: [
> > YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]> [image:
> > [ Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]] <
> > http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]] <
> > http://instagram.com/modernizing_medicine [7]>
> >
> > --
> > FRANK HERRMANN
> > SOFTWARE ENGINEER
> >
> > T: 561-880-2998 x1563
> >
> > E: frank.herrmann@modmed.com
> >
> > [image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]>
> > [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine [2]>
> > [image:
> > [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/
> > [3]> [image:
> > [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
> > [image: [
> > Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]]
> > <http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]]
> > <http://instagram.com/modernizing_medicine [7]>
> >
> >
> >
> > Links:
> > ------
> > [1] http://www.modmed.com/
> > [2] http://www.facebook.com/modernizingmedicine
> > [3] http://www.linkedin.com/company/modernizing-medicine/
> > [4] http://www.youtube.com/user/modernizingmedicine
> > [5] https://twitter.com/modmed_EMA
> > [6] http://www.modmed.com/BlogBeyondEMR
> > [7] http://instagram.com/modernizing_medicine
> >
>



-- 
FRANK HERRMANN
SOFTWARE ENGINEER

T: 561-880-2998 x1563

E: frank.herrmann@modmed.com



[image: [ Modernizing Medicine ]] <http://www.modmed.com/>
[image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine> [image:
[ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/> [image:
[ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
<http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
<http://instagram.com/modernizing_medicine>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

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

Maybe you are seeing something different than me?  When I have logging
turned on, I see things like:

org.apache.cayenne.map.EntityResolver added runtime complimentary
DbRelationship from s_budget_years to p_line_items
...
org.apache.cayenne.map.EntityResolver added runtime complimentary
ObjRelationship from BudgetYears to LineItem

It doesn't specify the relationship name, though.

mrg


On Thu, Mar 17, 2016 at 9:30 AM, <do...@xsinet.co.za> wrote:

>
>
> Hi Frank
>
> Cayenne logs the runtime relationships it generates when it loads the
> model into memory.
>
> So if you look in the log which it also sends to System.err and search
> for "runtimeRelationship725" then you will be able to see which entity
> it's associated with. At least then he'll have a clue as where to begin
> looking.
>
> Regards
>
> Jurgen
>
> On 2016-03-17 15:02, Frank Herrmann wrote:
>
> > Thanks. I passed this along to the developer. We are using version 3.1.
> >
> > On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <mg...@masslight.net>
> > wrote:
> > Hi Frank, I don't have any handy code to do this at the moment, but the
> approach I would take is to write a utility method to dump the model's
> source/destination relationship information immediately after loading the
> model into memory. Then, when you get the validation exception, you can
> reference that data dump for assistance. mrg PS. What version of Cayenne?
> On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
> frank.herrmann@modernizingmedicine.com> wrote: Hello all, We have a
> developer here that recently asked for my help and told him I'd reach out.
> He is getting a validation failure error on a runtime relationship
> (specifically runtimeRelationship725). As these are created during runtime,
> he is setting a break point in the code at the commit to try and figure out
> what object this runtime relationship is attached to. My question is, is
> there an easy way to pinpoint what object this relationship is attached to,
> or what relationship it is reversing so he can troubleshoot the
> validation error? Thanks, -Frank -- FRANK HERRMANN SOFTWARE ENGINEER T: 561-880-2998
> x1563 E: frank.herrmann@modmed.com [image: [ Modernizing Medicine ]] <
> http://www.modmed.com/ [1]> [image: [ Facebook ]] <
> http://www.facebook.com/modernizingmedicine [2]> [image: [ LinkedIn ]] <
> http://www.linkedin.com/company/modernizing-medicine/ [3]> [image: [
> YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]> [image:
> [ Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]] <
> http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]] <
> http://instagram.com/modernizing_medicine [7]>
>
> --
> FRANK HERRMANN
> SOFTWARE ENGINEER
>
> T: 561-880-2998 x1563
>
> E: frank.herrmann@modmed.com
>
> [image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]>
> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine [2]>
> [image:
> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/
> [3]> [image:
> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
> [image: [
> Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]]
> <http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]]
> <http://instagram.com/modernizing_medicine [7]>
>
>
>
> Links:
> ------
> [1] http://www.modmed.com/
> [2] http://www.facebook.com/modernizingmedicine
> [3] http://www.linkedin.com/company/modernizing-medicine/
> [4] http://www.youtube.com/user/modernizingmedicine
> [5] https://twitter.com/modmed_EMA
> [6] http://www.modmed.com/BlogBeyondEMR
> [7] http://instagram.com/modernizing_medicine
>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by do...@xsinet.co.za.
 

Hi Frank 

Cayenne logs the runtime relationships it generates when it loads the
model into memory. 

So if you look in the log which it also sends to System.err and search
for "runtimeRelationship725" then you will be able to see which entity
it's associated with. At least then he'll have a clue as where to begin
looking. 

Regards 

Jurgen 

On 2016-03-17 15:02, Frank Herrmann wrote: 

> Thanks. I passed this along to the developer. We are using version 3.1.
> 
> On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <mg...@masslight.net>
> wrote:
> Hi Frank, I don't have any handy code to do this at the moment, but the approach I would take is to write a utility method to dump the model's source/destination relationship information immediately after loading the model into memory. Then, when you get the validation exception, you can reference that data dump for assistance. mrg PS. What version of Cayenne? On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann < frank.herrmann@modernizingmedicine.com> wrote: Hello all, We have a developer here that recently asked for my help and told him I'd reach out. He is getting a validation failure error on a runtime relationship (specifically runtimeRelationship725). As these are created during runtime, he is setting a break point in the code at the commit to try and figure out what object this runtime relationship is attached to. My question is, is there an easy way to pinpoint what object this relationship is attached to, or what relationship it is reversing so he can troubleshoot the
validation error? Thanks, -Frank -- FRANK HERRMANN SOFTWARE ENGINEER T: 561-880-2998 x1563 E: frank.herrmann@modmed.com [image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine [2]> [image: [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/ [3]> [image: [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]> [image: [ Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]] <http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]] <http://instagram.com/modernizing_medicine [7]>

-- 
FRANK HERRMANN
SOFTWARE ENGINEER

T: 561-880-2998 x1563

E: frank.herrmann@modmed.com

[image: [ Modernizing Medicine ]] <http://www.modmed.com/ [1]>
[image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine [2]>
[image:
[ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/
[3]> [image:
[ YouTube ]] <http://www.youtube.com/user/modernizingmedicine [4]>
[image: [
Twitter ]] <https://twitter.com/modmed_EMA [5]> [image: [ Blog ]]
<http://www.modmed.com/BlogBeyondEMR [6]> [image: [ Instagram ]]
<http://instagram.com/modernizing_medicine [7]>

 

Links:
------
[1] http://www.modmed.com/
[2] http://www.facebook.com/modernizingmedicine
[3] http://www.linkedin.com/company/modernizing-medicine/
[4] http://www.youtube.com/user/modernizingmedicine
[5] https://twitter.com/modmed_EMA
[6] http://www.modmed.com/BlogBeyondEMR
[7] http://instagram.com/modernizing_medicine

Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by Frank Herrmann <fr...@modernizingmedicine.com>.
Thanks. I passed this along to the developer. We are using version 3.1.

On Wed, Mar 16, 2016 at 6:29 PM, Michael Gentry <mg...@masslight.net>
wrote:

> Hi Frank,
>
> I don't have any handy code to do this at the moment, but the approach I
> would take is to write a utility method to dump the model's
> source/destination relationship information immediately after loading the
> model into memory.  Then, when you get the validation exception, you can
> reference that data dump for assistance.
>
> mrg
>
> PS. What version of Cayenne?
>
>
> On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
> frank.herrmann@modernizingmedicine.com> wrote:
>
> > Hello all,
> >
> > We have a developer here that recently asked for my help and told him I'd
> > reach out. He is getting a validation failure error on a runtime
> > relationship (specifically runtimeRelationship725). As these are created
> > during runtime, he is setting a break point in the code at the commit to
> > try and figure out what object this runtime relationship is attached to.
> My
> > question is, is there an easy way to pinpoint what object this
> relationship
> > is attached to, or what relationship it is reversing so he can
> troubleshoot
> > the validation error?
> >
> > Thanks,
> >
> > -Frank
> >
> > --
> > FRANK HERRMANN
> > SOFTWARE ENGINEER
> >
> > T: 561-880-2998 x1563
> >
> > E: frank.herrmann@modmed.com
> >
> >
> >
> > [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
> > [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine>
> > [image:
> > [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/>
> > [image:
> > [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
> > Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
> > <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
> > <http://instagram.com/modernizing_medicine>
> >
>



-- 
FRANK HERRMANN
SOFTWARE ENGINEER

T: 561-880-2998 x1563

E: frank.herrmann@modmed.com



[image: [ Modernizing Medicine ]] <http://www.modmed.com/>
[image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine> [image:
[ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/> [image:
[ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
<http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
<http://instagram.com/modernizing_medicine>

Re: Tracking down a Runtime Relationship - Cayenne 3.1

Posted by Michael Gentry <mg...@masslight.net>.
Hi Frank,

I don't have any handy code to do this at the moment, but the approach I
would take is to write a utility method to dump the model's
source/destination relationship information immediately after loading the
model into memory.  Then, when you get the validation exception, you can
reference that data dump for assistance.

mrg

PS. What version of Cayenne?


On Wed, Mar 16, 2016 at 3:12 PM, Frank Herrmann <
frank.herrmann@modernizingmedicine.com> wrote:

> Hello all,
>
> We have a developer here that recently asked for my help and told him I'd
> reach out. He is getting a validation failure error on a runtime
> relationship (specifically runtimeRelationship725). As these are created
> during runtime, he is setting a break point in the code at the commit to
> try and figure out what object this runtime relationship is attached to. My
> question is, is there an easy way to pinpoint what object this relationship
> is attached to, or what relationship it is reversing so he can troubleshoot
> the validation error?
>
> Thanks,
>
> -Frank
>
> --
> FRANK HERRMANN
> SOFTWARE ENGINEER
>
> T: 561-880-2998 x1563
>
> E: frank.herrmann@modmed.com
>
>
>
> [image: [ Modernizing Medicine ]] <http://www.modmed.com/>
> [image: [ Facebook ]] <http://www.facebook.com/modernizingmedicine>
> [image:
> [ LinkedIn ]] <http://www.linkedin.com/company/modernizing-medicine/>
> [image:
> [ YouTube ]] <http://www.youtube.com/user/modernizingmedicine> [image: [
> Twitter ]] <https://twitter.com/modmed_EMA> [image: [ Blog ]]
> <http://www.modmed.com/BlogBeyondEMR> [image: [ Instagram ]]
> <http://instagram.com/modernizing_medicine>
>