Skip to content

Commit 6f619e8

Browse files
Specify event name on Parameter Mismatch Error Message
1 parent 56f0ccb commit 6f619e8

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

dotnet/src/dotnetframework/GxClasses/Core/GXApplication.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3173,7 +3173,7 @@ public void ExecuteBeforeCommit(string callerName)
31733173
{
31743174
inBeforeCommit = true;
31753175
if (beforeCommitObj != null)
3176-
ClassLoader.ExecuteVoidRef(beforeCommitObj, "execute", new Object[] { callerName });
3176+
ClassLoader.ExecuteVoidRef(beforeCommitObj, "execute", new Object[] { callerName }, "Before Commit");
31773177
inBeforeCommit = false;
31783178
}
31793179
}
@@ -3184,7 +3184,7 @@ public void ExecuteAfterCommit(string callerName)
31843184
{
31853185
inAfterCommit = true;
31863186
if (afterCommitObj != null)
3187-
ClassLoader.ExecuteVoidRef(afterCommitObj, "execute", new Object[] { callerName });
3187+
ClassLoader.ExecuteVoidRef(afterCommitObj, "execute", new Object[] { callerName },"After Commit");
31883188
inAfterCommit = false;
31893189
}
31903190
}
@@ -3195,7 +3195,7 @@ public void ExecuteBeforeRollback(string callerName)
31953195
{
31963196
inBeforeRollback = true;
31973197
if (beforeRollbackObj != null)
3198-
ClassLoader.ExecuteVoidRef(beforeRollbackObj, "execute", new Object[] { callerName });
3198+
ClassLoader.ExecuteVoidRef(beforeRollbackObj, "execute", new Object[] { callerName }, "Before Rollback");
31993199
inBeforeRollback = false;
32003200
}
32013201
}
@@ -3206,7 +3206,7 @@ public void ExecuteAfterRollback(string callerName)
32063206
{
32073207
inAfterRollback = true;
32083208
if (afterRollbackObj != null)
3209-
ClassLoader.ExecuteVoidRef(afterRollbackObj, "execute", new Object[] { callerName });
3209+
ClassLoader.ExecuteVoidRef(afterRollbackObj, "execute", new Object[] { callerName }, "After Rollback");
32103210
inAfterRollback = false;
32113211
}
32123212
}
@@ -3216,7 +3216,7 @@ public bool ExecuteBeforeConnect(IGxDataStore datastore)
32163216
if (beforeConnectObj != null)
32173217
{
32183218
GXLogging.Debug(log, "ExecuteBeforeConnect");
3219-
ClassLoader.ExecuteVoidRef(beforeConnectObj, "execute", new Object[] { datastore });
3219+
ClassLoader.ExecuteVoidRef(beforeConnectObj, "execute", new Object[] { datastore }, "Before Connect");
32203220
return true;
32213221
}
32223222
else
@@ -3230,7 +3230,7 @@ public bool ExecuteAfterConnect(String datastoreName)
32303230
if (afterConnectObj != null)
32313231
{
32323232
GXLogging.Debug(log, "ExecuteAfterConnect");
3233-
ClassLoader.ExecuteVoidRef(afterConnectObj, "execute", new Object[] { datastoreName });
3233+
ClassLoader.ExecuteVoidRef(afterConnectObj, "execute", new Object[] { datastoreName }, "After Connect");
32343234
return true;
32353235
}
32363236
else

dotnet/src/dotnetframework/GxClasses/Helpers/GXMetadata.cs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,11 @@ internal static string ConstructorArgsString(Object[] constructorArgs)
232232
}
233233
return argsConstr;
234234
}
235-
236235
static public void ExecuteVoidRef(object o, string mthd, Object[] args)
236+
{
237+
ExecuteVoidRef(o, mthd, args, null);
238+
}
239+
internal static void ExecuteVoidRef(object o, string mthd, Object[] args, string propertyName)
237240
{
238241
try
239242
{
@@ -279,7 +282,7 @@ static public void ExecuteVoidRef(object o, string mthd, Object[] args)
279282

280283
}catch(MissingMethodException)
281284
{
282-
throw new GxClassLoaderException(BuildParameterMismatchErrorMessage(mi.DeclaringType.FullName, pis, args));
285+
throw new GxClassLoaderException(BuildParameterMismatchErrorMessage(mi.DeclaringType.FullName, pis, args, propertyName));
283286
}
284287
}
285288
else
@@ -296,35 +299,38 @@ static public void ExecuteVoidRef(object o, string mthd, Object[] args)
296299
throw GxClassLoaderException.ProcessException(e);
297300
}
298301
}
299-
static string BuildParameterMismatchErrorMessage(string objectName, ParameterInfo[] methodParameters, object[] runtimeMethodParameters)
302+
static string BuildParameterMismatchErrorMessage(string objectName, ParameterInfo[] methodParameters, object[] runtimeMethodParameters, string propertyName)
300303
{
301304
string parmInfo = GetParameterTypesString(methodParameters);
302305
string runtimeParms = GetParameterValuesString(runtimeMethodParameters);
303306
StringBuilder errorMessage = new StringBuilder();
304-
if (methodParameters.Length == 0)
307+
308+
errorMessage.Append($"Program {objectName} ");
309+
if (!string.IsNullOrEmpty(propertyName))
305310
{
306-
errorMessage.Append($"The object {objectName} does not have any parameters, thus it does not match the ");
311+
errorMessage.Append($"referenced in {propertyName} property ");
307312
}
308-
else if (methodParameters.Length == 1)
313+
errorMessage.Append($"does not have the expected parameter definition.");
314+
if (methodParameters.Length == 0)
309315
{
310-
errorMessage.Append($"The parm rule of {objectName} with parameter: {parmInfo} does not match the ");
316+
errorMessage.Append($"It does not have any parameters.");
311317
}
312-
else
318+
else
313319
{
314-
errorMessage.Append($"The parm rule of {objectName} with parameters: {parmInfo} does not match the ");
320+
errorMessage.Append($"Program parameter definition: {parmInfo}.");
315321
}
316322

317323
if (runtimeMethodParameters.Length == 0)
318324
{
319-
errorMessage.Append($"absence of values provided at runtime. ");
325+
errorMessage.Append($"No parameter values were provided at runtime. ");
320326
}
321327
else if (runtimeMethodParameters.Length == 1)
322328
{
323-
errorMessage.Append($"value provided in runtime: {runtimeParms}. ");
329+
errorMessage.Append($"Parameter value provided at runtime: {runtimeParms}. ");
324330
}
325331
else
326332
{
327-
errorMessage.Append($"values provided in runtime: {runtimeParms}. ");
333+
errorMessage.Append($"Parameter values provided at runtime: {runtimeParms}. ");
328334
}
329335
errorMessage.Append($"Please check the parm rule of the {objectName}.");
330336

0 commit comments

Comments
 (0)