Skip to Content.
Sympa Menu

grouper-dev - Re: [grouper-dev] dbVersionDifferentFields and getAttributeOrNull interraction

Subject: Grouper Developers Forum

List archive

Re: [grouper-dev] dbVersionDifferentFields and getAttributeOrNull interraction


Chronological Thread 
  • From: Arnaud Deman <>
  • Cc: Grouper Dev <>
  • Subject: Re: [grouper-dev] dbVersionDifferentFields and getAttributeOrNull interraction
  • Date: Fri, 13 Feb 2009 14:35:03 +0100
  • Organization: GIP RECIA

Hi,

I still have the same kind of problem, even with the transactional support activated.


For instance, in the groupPreUpdate method and it looks like if the set returned by dbVersionDifferentFields was correct only after the first call of getAttributeOrNull.

The second point is that it changes the behaviour of the groupPostUpdate method. If there is a call of getAttributeOrNull in groupPreUpdate method, I can retrieve the previous values of the group in groupPostUpdate via dbVersion. If the method is commented I cannot: there is no difference between the previous and the current values of the group.

I don't know if another configuration error could be the cause of this behaviour...

Regards,
Arnaud.

Chris Hyzer a écrit :
I answer to myself,

I have made a mistake with the mysql db (MyISAM instead of InnoDB) :-[
.
I think this could explain my problems !
    

That is weird... and I am very glad you figured it out!  :)

Chris


  
Thanks,
Arnaud.


Arnaud Deman a écrit :
    
Hi everyone,

Is it normal that call of the method dbVersion change the result of
the method dbVersionDifferentFields ?

For instance the code :

       final String currentExtension =
group.getAttributeOrNull(EXTENSION);
       LOGGER.debug(" (1) ==> " + group.dbVersionDifferentFields());

       final Group previousValues = group.dbVersion();
       LOGGER.debug(" (2) ==> " + group.dbVersionDifferentFields());

       final String previousExtension =
previousValues.getAttributeOrNull(EXTENSION);
       LOGGER.debug(" (3) ==> " + group.dbVersionDifferentFields());

Produces the output:

    (1) ==> [attribute__Définition, modifyTime, name, displayName,
extension, displayExtension, description]
    (2) ==> [attribute__Définition, modifyTime, name, displayName,
extension, displayExtension, description]
    (3) ==> [modifyTime]

I am trying to use the dbVersionDifferentField to determine when my
hooks should be executed and I have several tests but the first one
changes the results of the other tests. I think I could work with a
clone of the set returned by dbVersionDifferentFields but I would
      
like
    
to understand.

I have also noticed that a single change in a group (via the
grouper-UI) can trigger several time the same method in a GroupHooks
class. One time with the attributes and one time with only the
modifyTime attribute.


Thanks,
Arnaud.
      

-- 

Arnaud Deman
GIP RECIA
Parc d'activités les Aulnaies
151 rue de la Juine - 45160 OLIVET
Tel : 02 38 42 14 63 




Archive powered by MHonArc 2.6.16.

Top of Page