@@ -178,8 +178,8 @@ else if( logObject.hasMember(association) ) {
178178
179179 }
180180
181- if ( createLogLines (auditableObject , logObject , sudoContext , logType , association ) > 0 ) {
182-
181+ if ( createLogLines (auditableObject , logObject , sudoContext , context , logType , association ) > 0 ) {
182+ Core . commit ( sudoContext , logObject );
183183 return logObject ;
184184 }
185185 else if ( CreateLogObjectWithoutMemberChanges ) {
@@ -193,7 +193,7 @@ else if( CreateLogObjectWithoutMemberChanges ) {
193193 }
194194 }
195195
196- private static int createLogLines (IMendixObject inputObject , IMendixObject logObject , IContext sudoContext , TypeOfLog logType , String skipAssociation ) throws CoreException {
196+ private static int createLogLines (IMendixObject inputObject , IMendixObject logObject , IContext sudoContext ,IContext currentContext , TypeOfLog logType , String skipAssociation ) throws CoreException {
197197 boolean isNew = false ;
198198 if ( logType != TypeOfLog .Delete ) {
199199 // The object is new
@@ -222,11 +222,11 @@ private static int createLogLines(IMendixObject inputObject, IMendixObject logOb
222222 line = null ;
223223 if (member instanceof MendixObjectReference ){
224224 if ( !member .getName ().startsWith ("System." ) )
225- line = createReferenceLogLine (logObject , member , isNew , sudoContext );
225+ line = createReferenceLogLine (logObject , member , isNew , sudoContext , currentContext );
226226 }
227227
228228 else if ( member instanceof MendixObjectReferenceSet )
229- line = createReferenceSetLogLine (logObject , member , isNew , sudoContext );
229+ line = createReferenceSetLogLine (logObject , member , isNew , sudoContext , currentContext );
230230
231231 else {
232232 String attributeName = member .getName ();
@@ -278,31 +278,31 @@ private static IMendixObject createSingleLogLine( IMendixObject logObject, IMend
278278 }
279279
280280
281- private static IMendixObject createReferenceLogLine (IMendixObject logObject , IMendixObjectMember <?> member , boolean isNew , IContext context ) throws CoreException {
281+ private static IMendixObject createReferenceLogLine (IMendixObject logObject , IMendixObjectMember <?> member , boolean isNew , IContext sudocontext , IContext currentcontext ) throws CoreException {
282282 //get current and previous id
283- IMendixIdentifier cID = (IMendixIdentifier ) member .getValue (context );
284- IMendixIdentifier pID = (IMendixIdentifier ) member .getOriginalValue (context );
283+ IMendixIdentifier cID = (IMendixIdentifier ) member .getValue (currentcontext );
284+ IMendixIdentifier pID = (IMendixIdentifier ) member .getOriginalValue (currentcontext );
285285
286286 // Get the values of reference objects
287- String pValue = getValueFromReference (pID , context );
288- String newValue = getValueFromReference (cID , context );
287+ String pValue = getValueFromReference (pID , currentcontext );
288+ String newValue = getValueFromReference (cID , currentcontext );
289289
290290 if ( IncludeOnlyChangedAttributes == false || !pValue .equals (newValue ) || isNew ) {
291- IMendixObject logLine = Core .instantiate (context , LogLine .getType ());
291+ IMendixObject logLine = Core .instantiate (sudocontext , LogLine .getType ());
292292
293- logLine .setValue (context , LogLine .MemberNames .Member .toString (), member .getName () );
294- logLine .setValue (context , LogLine .MemberNames .MemberType .toString (), MemberType .Reference .toString () );
295- logLine .setValue (context , LogLine .MemberNames .LogLine_Log .toString (), logObject .getId () );
296- logLine .setValue (context , LogLine .MemberNames .NewValue .toString (), newValue );
293+ logLine .setValue (sudocontext , LogLine .MemberNames .Member .toString (), member .getName () );
294+ logLine .setValue (sudocontext , LogLine .MemberNames .MemberType .toString (), MemberType .Reference .toString () );
295+ logLine .setValue (sudocontext , LogLine .MemberNames .LogLine_Log .toString (), logObject .getId () );
296+ logLine .setValue (sudocontext , LogLine .MemberNames .NewValue .toString (), newValue );
297297
298298 if (isNew )
299- logLine .setValue (context , LogLine .MemberNames .OldValue .toString (), "" );
299+ logLine .setValue (sudocontext , LogLine .MemberNames .OldValue .toString (), "" );
300300 else
301- logLine .setValue (context , LogLine .MemberNames .OldValue .toString (), pValue );
301+ logLine .setValue (sudocontext , LogLine .MemberNames .OldValue .toString (), pValue );
302302
303- if ( !logLine .getValue (context , LogLine .MemberNames .OldValue .toString ()).equals (logLine .getValue (context , LogLine .MemberNames .NewValue .toString ())) || isNew ) {
303+ if ( !logLine .getValue (sudocontext , LogLine .MemberNames .OldValue .toString ()).equals (logLine .getValue (sudocontext , LogLine .MemberNames .NewValue .toString ())) || isNew ) {
304304 _logNode .trace ("Member: " + member .getName () + " has changed." );
305- logObject .setValue (context , Log .MemberNames .NumberOfChangedMembers .toString (), (Integer ) logObject .getValue (context , Log .MemberNames .NumberOfChangedMembers .toString ()) + 1 );
305+ logObject .setValue (sudocontext , Log .MemberNames .NumberOfChangedMembers .toString (), (Integer ) logObject .getValue (sudocontext , Log .MemberNames .NumberOfChangedMembers .toString ()) + 1 );
306306 }
307307
308308 return logLine ;
@@ -337,39 +337,39 @@ private static String getValueFromReference(IMendixIdentifier ID, IContext conte
337337
338338
339339 @ SuppressWarnings ("unchecked" )
340- private static IMendixObject createReferenceSetLogLine (IMendixObject logObject , IMendixObjectMember <?> member , boolean isNew , IContext context ) throws CoreException {
340+ private static IMendixObject createReferenceSetLogLine (IMendixObject logObject , IMendixObjectMember <?> member , boolean isNew , IContext sudocontext , IContext currentcontext ) throws CoreException {
341341 String currentValue = "" , previousValue = "" ;
342342
343- List <IMendixIdentifier > currentIDList = (List <IMendixIdentifier >) member .getValue (context );
344- List <IMendixIdentifier > previousIDList = (List <IMendixIdentifier >) member .getOriginalValue (context );
343+ List <IMendixIdentifier > currentIDList = (List <IMendixIdentifier >) member .getValue (currentcontext );
344+ List <IMendixIdentifier > previousIDList = (List <IMendixIdentifier >) member .getOriginalValue (currentcontext );
345345
346346 if ( currentIDList != null && currentIDList .size () > 0 ) {
347347 for (IMendixIdentifier id : currentIDList ) {
348- currentValue += getValueFromReference (id , context );
348+ currentValue += getValueFromReference (id , currentcontext );
349349 }
350350 }
351351
352352 if ( previousIDList != null && previousIDList .size () > 0 ) {
353353 for (IMendixIdentifier id : previousIDList ) {
354- previousValue += getValueFromReference (id , context );
354+ previousValue += getValueFromReference (id , currentcontext );
355355 }
356356 }
357357
358358 if ( IncludeOnlyChangedAttributes == false || !previousValue .equals (currentValue ) || isNew ) {
359- IMendixObject logLine = Core .instantiate (context , LogLine .getType ());
360- logLine .setValue (context , LogLine .MemberNames .Member .toString (), member .getName () );
361- logLine .setValue (context , LogLine .MemberNames .MemberType .toString (), MemberType .ReferenceSet .toString () );
362- logLine .setValue (context , LogLine .MemberNames .LogLine_Log .toString (), logObject .getId () );
363- logLine .setValue (context , LogLine .MemberNames .NewValue .toString (), currentValue );
359+ IMendixObject logLine = Core .instantiate (sudocontext , LogLine .getType ());
360+ logLine .setValue (sudocontext , LogLine .MemberNames .Member .toString (), member .getName () );
361+ logLine .setValue (sudocontext , LogLine .MemberNames .MemberType .toString (), MemberType .ReferenceSet .toString () );
362+ logLine .setValue (sudocontext , LogLine .MemberNames .LogLine_Log .toString (), logObject .getId () );
363+ logLine .setValue (sudocontext , LogLine .MemberNames .NewValue .toString (), currentValue );
364364
365365 if (isNew )
366- logLine .setValue (context , LogLine .MemberNames .OldValue .toString (), "" );
366+ logLine .setValue (sudocontext , LogLine .MemberNames .OldValue .toString (), "" );
367367 else
368- logLine .setValue (context , LogLine .MemberNames .OldValue .toString (), previousValue );
368+ logLine .setValue (sudocontext , LogLine .MemberNames .OldValue .toString (), previousValue );
369369
370- if ( !logLine .getValue (context , LogLine .MemberNames .OldValue .toString ()).equals (logLine .getValue (context , LogLine .MemberNames .NewValue .toString ())) || isNew ) {
370+ if ( !logLine .getValue (sudocontext , LogLine .MemberNames .OldValue .toString ()).equals (logLine .getValue (currentcontext , LogLine .MemberNames .NewValue .toString ())) || isNew ) {
371371 _logNode .trace ("Member: " + member .getName () + " has changed." );
372- logObject .setValue (context , Log .MemberNames .NumberOfChangedMembers .toString (), (Integer ) logObject .getValue (context , Log .MemberNames .NumberOfChangedMembers .toString ()) + 1 );
372+ logObject .setValue (sudocontext , Log .MemberNames .NumberOfChangedMembers .toString (), (Integer ) logObject .getValue (currentcontext , Log .MemberNames .NumberOfChangedMembers .toString ()) + 1 );
373373 }
374374
375375 return logLine ;
0 commit comments