Skip to content

Commit f9625d2

Browse files
authored
Merge pull request #1 from RoelandSalij/master
Fixed issue with calculated attributes in combination with CurrentUser
2 parents a5cd2a6 + e383260 commit f9625d2

File tree

2 files changed

+33
-33
lines changed

2 files changed

+33
-33
lines changed
0 Bytes
Binary file not shown.

src/AuditTrailModule/javasource/audittrail/log/CreateLogObject.java

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)