cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kanwar Manish <kanwarman...@gmail.com>
Subject Re: Intermediate Update - Re: Can default values be set in Constructor instead of setPersistenceState()?
Date Sun, 05 Aug 2012 07:32:16 GMT
Hi Andrus

Here are my findings. I think point number three is the reason that
callbacks are not happening for me.

Question - Just to reconfirm - if I have configured the callbacks in my
modeler and I can see an abstract declaration for the callback in the
parent class, and overriding them in the sub class - it means I have
configured them correctly?

1) Class EntityResolver

     public LifecycleCallbackRegistry getCallbackRegistry() {
        if (callbackRegistry == null) {
            initCallbacks();
        }

        return callbackRegistry;
    }

*here callbackRegistry is Not null.*

2) Class LifeCycleCallBackEventHandler

void performCallbacks(Persistent object) {

Statement -  if (!defaultListeners.isEmpty()
                &&
!excludingDefaultListeners(object.getObjectId().getEntityName()))

*here is defaultListeners isEmpty condition is true.*

3) Class LifeCycleCallBackEventHandler

private void performCallbacks(Persistent object, Class<?>
callbackEntityClass) {

Statement - Collection<AbstractCallback> entityListeners =
listeners.get(key);

*here - entityListeners is null*

Cheers
Manish

On Fri, Aug 3, 2012 at 5:55 PM, Kanwar Manish <kanwarmanish@gmail.com>wrote:

> Starting Netbeans has worked. I will post my inputs ASAP.
>
> Cheers
> Manish
>
> On Fri, Aug 3, 2012 at 5:42 PM, Kanwar Manish <kanwarmanish@gmail.com>wrote:
>
>> Thanks Andrus and MRG
>>
>> Thankyou all for this much support.
>>
>> I can see at the breakpoint that it is indeed a DataContext only.
>>
>> Unfortunately I need some help from a NetBeans guy since even after
>> attaching the source - I can't step into the newObject code.
>>
>> Error I get while trying to set a breakpoint for injectInitialValue is
>>
>> "Not able to submit breakpoint LineBreakpoint BaseContext.java : 638,
>> reason: No source root found for URL
>> 'jar:file:/home/manish/Downloads/cayenne-server-3.1B1-sources.jar!/org/apache/cayenne/BaseContext.java'.
>> Verify the setup of project sources.
>> "
>> I think if I can cross this - I am close to finding something for sure.
>>
>> Anybody from the netbeans background please - your help is badly required?
>>
>> Thanks
>> Kanwar Manish
>>
>>
>> On Fri, Aug 3, 2012 at 5:02 PM, Andrus Adamchik <andrus@objectstyle.org>wrote:
>>
>>> ObjectContext is an interface... When you are dealing with an object in
>>> debugger, the instance will be of a specific implementation type (there
>>> can't be an instance of an interface obviously). Which is normally
>>> DataContext. So yes, not a problem.
>>>
>>> On Aug 3, 2012, at 2:04 PM, Kanwar Manish wrote:
>>>
>>> > Hey Thanks again
>>> >
>>> > This worked out like a charm.
>>> >
>>> > But I am using ObjectContext for creating my objects. I hope that is
>>> not
>>> > the problem?
>>> >
>>> > Thanks
>>> > Kanwar Manish
>>> >
>>> > On Fri, Aug 3, 2012 at 3:54 PM, Andrus Adamchik <
>>> andrus@objectstyle.org>wrote:
>>> >
>>> >> I am an Eclipse user.. I have no NetBeans experience at all
>>> unfortunately.
>>> >>
>>> >> But you can get the source jars matching Cayenne binary jars straight
>>> from
>>> >> Maven repo. Here is the one you likely need:
>>> >>
>>> >>
>>> >>
>>> http://search.maven.org/remotecontent?filepath=org/apache/cayenne/cayenne-server/3.1B1/cayenne-server-3.1B1-sources.jar
>>> >>
>>> >> Andrus
>>> >>
>>> >> On Aug 3, 2012, at 1:16 PM, Kanwar Manish wrote:
>>> >>
>>> >>> Thanks Andrus.
>>> >>>
>>> >>> I am afraid that will be a bit tough for me - for now. I am a
>>> complete
>>> >> Java
>>> >>> and Linux noob, coming from .NET background.
>>> >>>
>>> >>> I tried attaching 3.1B1 source to the binaries [in Netbeans 7.2]
but
>>> >>> failed. I just can't figure out which source folder to attach with
>>> which
>>> >>> Cayenne Jar [Client, server, tools or lifecycle].
>>> >>>
>>> >>> Can anybody help me out here please?
>>> >>>
>>> >>> Thanks
>>> >>> Manish
>>> >>>
>>> >>>
>>> >>>
>>> >>> On Fri, Aug 3, 2012 at 1:28 PM, Andrus Adamchik <
>>> andrus@objectstyle.org
>>> >>> wrote:
>>> >>>
>>> >>>> Hi,
>>> >>>>
>>> >>>> I am not aware of any issues with PostAdd. Your best bet is
to debug
>>> >>>> inside Cayenne DataContext.newObject(..). Specifically in
>>> BaseContext
>>> >> there
>>> >>>> is a method "injectInitialValue" that has this line at the end:
>>> >>>>
>>> >>>> // invoke callbacks
>>> >>>> getEntityResolver().getCallbackRegistry().performCallbacks(
>>> >>>>               LifecycleEvent.POST_ADD,
>>> >>>>               object);
>>> >>>>
>>> >>>> This is where callbacks are invoked. Please share what you find
>>> here,
>>> >> and
>>> >>>> maybe based on those clues we can unwind it further.
>>> >>>>
>>> >>>> Cheers,
>>> >>>> Andrus
>>> >>>>
>>> >>>>
>>> >>>> On Aug 3, 2012, at 9:08 AM, KM wrote:
>>> >>>>
>>> >>>>> Removed the check for the key.
>>> >>>>>
>>> >>>>> It seems that the problem is that this is not getting fired
at all.
>>> >>>>> Breakpoint is not being hit. This is strange.
>>> >>>>>
>>> >>>>> I have checked for the abstract declaration in the parent
class.
>>> >> Setting
>>> >>>>> this up in the modeler.
>>> >>>>>
>>> >>>>> Has anyone faced this problem before?
>>> >>>>>
>>> >>>>> Thanks
>>> >>>>> Kanwar Manish
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> --
>>> >>>>> View this message in context:
>>> >>>>
>>> >>
>>> http://cayenne.195.n3.nabble.com/Can-default-values-be-set-in-Constructor-instead-of-setPersistenceState-tp3320047p4024479.html
>>> >>>>> Sent from the Cayenne - User mailing list archive at Nabble.com.
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>
>>> >>
>>>
>>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message