preliminary implementation of IWS - Invoke Web Service Method
This commit is contained in:
parent
09023ddc86
commit
c0b0c70785
@ -304,7 +304,11 @@ namespace Mocha.Core
|
||||
// BWSR - Build Web Service Response Method - 171
|
||||
// GRE - Get Referenced Element Method - 197
|
||||
public static Guid GetRelationshipMethod { get; } = new Guid("{d53c9232-89ef-4cca-8520-261da6787450}"); // 207
|
||||
// IWS - Invoke Web Service Method - 208
|
||||
/// <summary>
|
||||
/// IWS - Invoke Web Service Method [1$208]
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static Guid InvokeWebServiceMethod { get; } = new Guid("{26d9e733-50a0-49f7-9b2c-2142934e3952}");
|
||||
public static Guid InstanceOpMethod { get; } = new Guid("{4c814982-938f-4116-bdc1-827bae6a5f71}");
|
||||
public static Guid ConditionalSelectAttributeMethod { get; } = new Guid("{d534a369-321e-4c32-bd7f-8ff2017f191e}"); // 13038
|
||||
// SSC - Conditional Select from Instance Set Method - 13039
|
||||
@ -547,5 +551,11 @@ namespace Mocha.Core
|
||||
public static Guid Complement { get; } = new Guid("{fa69b904-315b-4bb1-80a6-c71708fbfde5}");
|
||||
public static Guid Difference { get; } = new Guid("{ec67f62d-387c-4179-9b03-0d9b70195688}");
|
||||
}
|
||||
public static class WebServiceInvocationTypes
|
||||
{
|
||||
public static Guid BasicAuth { get; } = new Guid("{88372a06-7025-4e08-880e-7bc472e77003}");
|
||||
public static Guid OAuth2 { get; } = new Guid("{9e62468f-0c8e-49ad-a61b-839bdb3509ac}");
|
||||
public static Guid Microsoft { get; } = new Guid("{bd9cc03f-a0c1-4815-95b9-d7d3d21599a8}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -472,5 +472,14 @@ namespace Mocha.Core
|
||||
public static Guid Filter_By_Type_Op__uses__Class { get; } = new Guid("{2f5fddc8-5ab0-4c59-8a83-536a2ce0a30c}");
|
||||
|
||||
public static Guid Combine_Sets_Op__uses__Set_Function { get; } = new Guid("{b20e54d4-2535-44c0-8c99-0411f27a69df}");
|
||||
|
||||
|
||||
public static Guid Invoke_Web_Service_Method__has_user_id__Executable_returning_Attribute { get; } = new Guid("{dc567ccc-ec9f-4e8b-b698-fb52bb21502a}");
|
||||
public static Guid Invoke_Web_Service_Method__has_password__Executable_returning_Attribute { get; } = new Guid("{b7d8ac3b-9419-4a49-8ebf-22aa08d9ff16}");
|
||||
public static Guid Invoke_Web_Service_Method__has_destination_url__Executable_returning_Attribute { get; } = new Guid("{bbd9b5a7-041f-4fb3-a8c1-2889ff2e17a7}");
|
||||
public static Guid Invoke_Web_Service_Method__has__Web_Service_Invocation_Type { get; } = new Guid("{429218f8-0ea7-4177-83be-74efe59b65b1}");
|
||||
public static Guid Invoke_Web_Service_Method__uses__Executable_returning_Element { get; } = new Guid("{020e26ba-565d-47a4-bdcc-f0050ff6b848}");
|
||||
public static Guid Invoke_Web_Service_Method__correlated_instances_from__Executable_returning_Instance_Set { get; } = new Guid("{8f1406b4-f48f-45fb-a6ef-2ad51998735f}");
|
||||
public static Guid Invoke_Web_Service_Method__has_error__Executable_returning_Element { get; } = new Guid("{86aa5338-d913-4044-af8d-7aa4e1a9ddbc}");
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,63 @@
|
||||
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
|
||||
//
|
||||
// This file is part of Mocha.NET.
|
||||
//
|
||||
// Mocha.NET is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Mocha.NET is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
using System.Text.Json.Nodes;
|
||||
|
||||
namespace Mocha.Core.MethodImplementations;
|
||||
|
||||
public class InvokeWebServiceMethodImplementation : MethodImplementation
|
||||
{
|
||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.InvokeWebServiceMethod;
|
||||
|
||||
|
||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||
{
|
||||
InstanceHandle r_Method__for__Class = oms.GetInstance(KnownRelationshipGuids.Method__for__Class);
|
||||
|
||||
InstanceHandle userIdAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_user_id__Executable_returning_Attribute));
|
||||
string userId = oms.Evaluate<string>(context, userIdAttribute);
|
||||
|
||||
InstanceHandle passwordAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_password__Executable_returning_Attribute));
|
||||
string password = oms.Evaluate<string>(context, passwordAttribute);
|
||||
|
||||
InstanceHandle destinationUrlAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_destination_url__Executable_returning_Attribute));
|
||||
string destinationUrl = oms.Evaluate<string>(context, destinationUrlAttribute);
|
||||
|
||||
InstanceHandle errorElement = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_error__Executable_returning_Element));
|
||||
|
||||
using (HttpClient client = new HttpClient())
|
||||
{
|
||||
HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Get, new Uri(destinationUrl));
|
||||
try
|
||||
{
|
||||
HttpResponseMessage resp = client.Send(req);
|
||||
}
|
||||
catch (HttpRequestException ex)
|
||||
{
|
||||
if (errorElement != InstanceHandle.Empty)
|
||||
{
|
||||
JsonObject errorJson = oms.Evaluate<JsonObject>(context, errorElement, new KeyValuePair<InstanceHandle, object?>[]
|
||||
{
|
||||
new KeyValuePair<InstanceHandle, object?>(oms.GetInstance(KnownAttributeGuids.Text.Value), 404)
|
||||
}, null, out InstanceHandle ws);
|
||||
return errorElement;
|
||||
}
|
||||
}
|
||||
}
|
||||
return InstanceHandle.Empty;
|
||||
}
|
||||
}
|
||||
@ -2599,9 +2599,44 @@ public abstract class Oms
|
||||
throw new FormatException();
|
||||
}
|
||||
|
||||
public T Evaluate<T>(OmsContext context, object? workDataObject, IEnumerable<KeyValuePair<InstanceHandle, object?>>? parms = null, T defaultValue = default(T))
|
||||
{
|
||||
InstanceHandle ws = InstanceHandle.Empty;
|
||||
return Evaluate<T>(context, workDataObject, parms, defaultValue, out ws);
|
||||
}
|
||||
public T Evaluate<T>(OmsContext context, object? workDataObject, IEnumerable<KeyValuePair<InstanceHandle, object?>>? parms, T defaultValue, out InstanceHandle returnedWorkData)
|
||||
{
|
||||
object? value = Evaluate(context, workDataObject, InstanceHandle.Empty, parms, defaultValue, out returnedWorkData);
|
||||
if (value is T)
|
||||
{
|
||||
return (T)value;
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
public object? Evaluate(OmsContext context, object? workDataObject, InstanceHandle sourceInstance, object? defaultValue = null)
|
||||
{
|
||||
return Evaluate(context, workDataObject, sourceInstance, null, defaultValue);
|
||||
}
|
||||
|
||||
public object? Evaluate(OmsContext context, object? workDataObject, InstanceHandle sourceInstance, IEnumerable<KeyValuePair<InstanceHandle, object?>>? parms, object? defaultValue = null)
|
||||
{
|
||||
InstanceHandle ws = InstanceHandle.Empty;
|
||||
return Evaluate(context, workDataObject, sourceInstance, parms, defaultValue, out ws);
|
||||
}
|
||||
|
||||
public object? Evaluate(OmsContext context, object? workDataObject, InstanceHandle sourceInstance, IEnumerable<KeyValuePair<InstanceHandle, object?>>? parms, object? defaultValue, out InstanceHandle returnedWorkData)
|
||||
{
|
||||
returnedWorkData = InstanceHandle.Empty;
|
||||
object? value = defaultValue;
|
||||
if (parms != null)
|
||||
{
|
||||
foreach (KeyValuePair<InstanceHandle, object?> kvp in parms)
|
||||
{
|
||||
context.SetWorkData(kvp.Key, kvp.Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (workDataObject is InstanceHandle workDataInstance)
|
||||
{
|
||||
if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.TextAttribute)))
|
||||
@ -2614,6 +2649,7 @@ public abstract class Oms
|
||||
else
|
||||
{
|
||||
value = context.GetWorkData<string>(workDataInstance);
|
||||
returnedWorkData = workDataInstance;
|
||||
}
|
||||
}
|
||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
||||
@ -2626,6 +2662,7 @@ public abstract class Oms
|
||||
else
|
||||
{
|
||||
value = context.GetWorkData<bool>(workDataInstance);
|
||||
returnedWorkData = workDataInstance;
|
||||
}
|
||||
}
|
||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.NumericAttribute)))
|
||||
@ -2638,6 +2675,7 @@ public abstract class Oms
|
||||
else
|
||||
{
|
||||
value = context.GetWorkData<decimal>(workDataInstance);
|
||||
returnedWorkData = workDataInstance;
|
||||
}
|
||||
}
|
||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.DateAttribute)))
|
||||
@ -2650,6 +2688,7 @@ public abstract class Oms
|
||||
else
|
||||
{
|
||||
value = context.GetWorkData<DateTime>(workDataInstance);
|
||||
returnedWorkData = workDataInstance;
|
||||
}
|
||||
}
|
||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.WorkSet)))
|
||||
@ -2662,12 +2701,14 @@ public abstract class Oms
|
||||
else
|
||||
{
|
||||
value = context.GetWorkData(workDataInstance);
|
||||
returnedWorkData = workDataInstance;
|
||||
}
|
||||
}
|
||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.Executable)))
|
||||
{
|
||||
InstanceHandle workSet = Execute(context, workDataInstance);
|
||||
value = context.GetWorkData(workSet);
|
||||
returnedWorkData = workSet;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2676,6 +2717,7 @@ public abstract class Oms
|
||||
InstanceHandle workData = Execute(context, workDataInstance);
|
||||
object? val = context.GetWorkData(workData);
|
||||
value = val?.ToString();
|
||||
returnedWorkData = workData;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@ -67,11 +67,11 @@ public class OmsMethodBuilder
|
||||
return new BuildResponseMethodBinding(methodBinding);
|
||||
}
|
||||
|
||||
public GetAttributeMethod CreateGetAttributeMethod(InstanceHandle forClassInstance, string verb, string name, InstanceHandle attributeInstance)
|
||||
public GetAttributeMethod CreateGetAttributeMethod(IInstanceReference forClassInstance, string verb, string name, InstanceHandle attributeInstance)
|
||||
{
|
||||
return CreateGetAttributeMethod(forClassInstance, verb, name, null, false, attributeInstance);
|
||||
}
|
||||
public GetAttributeMethod CreateGetAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle attributeInstance)
|
||||
public GetAttributeMethod CreateGetAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle attributeInstance)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Attribute_Method__returns__Attribute), attributeInstance);
|
||||
@ -79,21 +79,21 @@ public class OmsMethodBuilder
|
||||
}
|
||||
|
||||
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, WorkSet returnsWorkSet, InstanceHandle specifiedInstance)
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(IInstanceReference forClassInstance, string verb, string name, WorkSet returnsWorkSet, InstanceHandle specifiedInstance)
|
||||
{
|
||||
return CreateGetSpecifiedInstancesMethod(forClassInstance, verb, name, null, false, returnsWorkSet, specifiedInstance);
|
||||
}
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceHandle specifiedInstance)
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceHandle specifiedInstance)
|
||||
{
|
||||
GetSpecifiedInstancesMethod meth = CreateGetSpecifiedInstancesMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsWorkSet, new InstanceHandle[] { specifiedInstance });
|
||||
Oms.SetAttributeValue(meth.GetHandle(), Oms.GetInstance(KnownAttributeGuids.Boolean.Singular), true);
|
||||
return meth;
|
||||
}
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(IInstanceReference forClassInstance, string verb, string name, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
|
||||
{
|
||||
return CreateGetSpecifiedInstancesMethod(forClassInstance, verb, name, null, false, returnsWorkSet, specifiedInstances);
|
||||
}
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
|
||||
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetSpecifiedInstancesMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Specified_Instances_Method__returns__Work_Set), returnsWorkSet.GetHandle());
|
||||
@ -101,11 +101,11 @@ public class OmsMethodBuilder
|
||||
return new GetSpecifiedInstancesMethod(method);
|
||||
}
|
||||
|
||||
private InstanceHandle CreateMethodBase(InstanceHandle methodClassInstance, InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic)
|
||||
private InstanceHandle CreateMethodBase(IInstanceReference methodClassInstance, IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic)
|
||||
{
|
||||
return CreateMethodBase(methodClassInstance, forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid());
|
||||
}
|
||||
private InstanceHandle CreateMethodBase(InstanceHandle methodClassInstance, InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier)
|
||||
private InstanceHandle CreateMethodBase(IInstanceReference methodClassInstance, IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier)
|
||||
{
|
||||
InstanceHandle method = Oms.CreateInstanceOf(methodClassInstance, globalIdentifier);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Method__for__Class), forClassInstance);
|
||||
@ -124,7 +124,7 @@ public class OmsMethodBuilder
|
||||
return method;
|
||||
}
|
||||
|
||||
public BuildAttributeMethod CreateBuildAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, string initialValue = "")
|
||||
public BuildAttributeMethod CreateBuildAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, string initialValue = "")
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||
@ -132,7 +132,7 @@ public class OmsMethodBuilder
|
||||
return new BuildAttributeMethod(method);
|
||||
}
|
||||
|
||||
public BuildAttributeMethod CreateBuildAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, object? initialValue = null)
|
||||
public BuildAttributeMethod CreateBuildAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, object? initialValue = null)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||
@ -151,11 +151,11 @@ public class OmsMethodBuilder
|
||||
return new BuildAttributeMethod(method);
|
||||
}
|
||||
|
||||
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
|
||||
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
|
||||
{
|
||||
return CreateGetAttributeBySystemRoutineMethod(forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid(), returnsAttribute, usesSystemAttributeRoutine);
|
||||
}
|
||||
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
|
||||
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetAttributeBySystemRoutineMethod), forClassInstance, verb, name, accessModifier, isStatic, globalIdentifier);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Attribute_by_System_Routine_Method__returns__Attribute), returnsAttribute);
|
||||
@ -163,11 +163,11 @@ public class OmsMethodBuilder
|
||||
return new GetAttributeBySystemRoutineMethod(method);
|
||||
}
|
||||
|
||||
public GetInstanceSetBySystemRoutineMethod CreateGetInstanceSetBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, SystemInstanceSetRoutine usesSystemInstanceSetRoutine)
|
||||
public GetInstanceSetBySystemRoutineMethod CreateGetInstanceSetBySystemRoutineMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, SystemInstanceSetRoutine usesSystemInstanceSetRoutine)
|
||||
{
|
||||
return CreateGetInstanceSetBySystemRoutineMethod(forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid(), returnsWorkSet, usesSystemInstanceSetRoutine);
|
||||
}
|
||||
public GetInstanceSetBySystemRoutineMethod CreateGetInstanceSetBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, WorkSet returnsWorkSet, SystemInstanceSetRoutine usesSystemInstanceSetRoutine)
|
||||
public GetInstanceSetBySystemRoutineMethod CreateGetInstanceSetBySystemRoutineMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, WorkSet returnsWorkSet, SystemInstanceSetRoutine usesSystemInstanceSetRoutine)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetAttributeBySystemRoutineMethod), forClassInstance, verb, name, accessModifier, isStatic, globalIdentifier);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Instance_Set_by_System_Routine_Method__returns__Work_Set), returnsWorkSet.GetHandle());
|
||||
@ -175,11 +175,11 @@ public class OmsMethodBuilder
|
||||
return new GetInstanceSetBySystemRoutineMethod(method);
|
||||
}
|
||||
|
||||
public AssignAttributeMethod CreateAssignAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, ReturnAttributeMethodBinding assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
|
||||
public AssignAttributeMethod CreateAssignAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, ReturnAttributeMethodBinding assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
|
||||
{
|
||||
return CreateAssignAttributeMethod(forClassInstance, verb, name, accessModifier, isStatic, assignsFromExecutableReturningAttribute.GetHandle(), assignsToAttribute);
|
||||
}
|
||||
public AssignAttributeMethod CreateAssignAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
|
||||
public AssignAttributeMethod CreateAssignAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.AssignAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Assign_Attribute_Method__uses__Executable_returning_Attribute), assignsFromExecutableReturningAttribute);
|
||||
@ -187,19 +187,19 @@ public class OmsMethodBuilder
|
||||
return new AssignAttributeMethod(method);
|
||||
}
|
||||
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, Relationship returnsRelationship, bool singular = false)
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, Relationship returnsRelationship, bool singular = false)
|
||||
{
|
||||
return CreateGetRelationshipMethod(forClassInstance, verb, name, accessModifier, Guid.NewGuid(), returnsRelationship.GetHandle(), singular);
|
||||
}
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, Guid globalIdentifier, Relationship returnsRelationship, bool singular = false)
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, Guid globalIdentifier, Relationship returnsRelationship, bool singular = false)
|
||||
{
|
||||
return CreateGetRelationshipMethod(forClassInstance, verb, name, accessModifier, globalIdentifier, returnsRelationship.GetHandle(), singular);
|
||||
}
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, InstanceHandle returnsRelationship, bool singular = false)
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, InstanceHandle returnsRelationship, bool singular = false)
|
||||
{
|
||||
return CreateGetRelationshipMethod(forClassInstance, verb, name, accessModifier, Guid.NewGuid(), returnsRelationship, singular);
|
||||
}
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, Guid globalIdentifier, InstanceHandle returnsRelationship, bool singular = false)
|
||||
public GetRelationshipMethod CreateGetRelationshipMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, Guid globalIdentifier, InstanceHandle returnsRelationship, bool singular = false)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetRelationshipMethod), forClassInstance, verb, name, accessModifier, false, globalIdentifier);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Relationship_Method__returns__Relationship), returnsRelationship);
|
||||
@ -207,11 +207,11 @@ public class OmsMethodBuilder
|
||||
return new GetRelationshipMethod(method);
|
||||
}
|
||||
|
||||
public GetReferencedAttributeMethod CreateGetReferencedAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, IExecutableReturningInstanceSet usesReferenceInstanceSet, IExecutableReturningAttribute usesAnswerExecutableReturningAttribute, InstanceHandle? usesAccumulationFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public GetReferencedAttributeMethod CreateGetReferencedAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, IExecutableReturningInstanceSet usesReferenceInstanceSet, IExecutableReturningAttribute usesAnswerExecutableReturningAttribute, InstanceHandle? usesAccumulationFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
return CreateGetReferencedAttributeMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsAttribute, usesReferenceInstanceSet.GetHandle(), usesAnswerExecutableReturningAttribute.GetHandle(), usesAccumulationFunction, usesOrderExecutableReturningAttribute);
|
||||
}
|
||||
public GetReferencedAttributeMethod CreateGetReferencedAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle usesReferenceInstanceSet, InstanceHandle usesAnswerExecutableReturningAttribute, InstanceHandle? usesAccumulationFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public GetReferencedAttributeMethod CreateGetReferencedAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle usesReferenceInstanceSet, InstanceHandle usesAnswerExecutableReturningAttribute, InstanceHandle? usesAccumulationFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetReferencedAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Referenced_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||
@ -228,26 +228,22 @@ public class OmsMethodBuilder
|
||||
return new GetReferencedAttributeMethod(method);
|
||||
}
|
||||
|
||||
public SelectFromInstanceSetMethod CreateSelectFromInstanceSetMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceWrapper usesExecutableReturningInstanceSet, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
return CreateSelectFromInstanceSetMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsWorkSet.GetHandle(), usesExecutableReturningInstanceSet.GetHandle(), usesSetFunction, usesSelectionFunction, usesOrderExecutableReturningAttribute);
|
||||
}
|
||||
public SelectFromInstanceSetMethod CreateSelectFromInstanceSetMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsWorkSet, InstanceHandle usesExecutableReturningInstanceSet, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public SelectFromInstanceSetMethod CreateSelectFromInstanceSetMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, IInstanceReference returnsWorkSet, IInstanceReference? usesExecutableReturningInstanceSet, IInstanceReference? usesSetFunction = null, IInstanceReference? usesSelectionFunction = null, IInstanceReference? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.SelectFromInstanceSetMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_From_Instance_Set_Method__returns__Work_Set), returnsWorkSet);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Executable_returning_Instance_Set), usesExecutableReturningInstanceSet);
|
||||
if (usesSetFunction != null)
|
||||
{
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Set_Function), usesSetFunction.GetValueOrDefault());
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Set_Function), usesSetFunction);
|
||||
}
|
||||
if (usesSelectionFunction != null)
|
||||
{
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Selection_Function), usesSelectionFunction.GetValueOrDefault());
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Selection_Function), usesSelectionFunction);
|
||||
}
|
||||
if (usesOrderExecutableReturningAttribute != null)
|
||||
{
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses_order__Executable_returning_Attribute), usesOrderExecutableReturningAttribute.GetValueOrDefault());
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses_order__Executable_returning_Attribute), usesOrderExecutableReturningAttribute);
|
||||
}
|
||||
/*
|
||||
if (usesAccumulationFunction != null)
|
||||
@ -263,7 +259,7 @@ public class OmsMethodBuilder
|
||||
}
|
||||
|
||||
|
||||
public ConditionalSelectFromInstanceSetMethod CreateConditionalSelectFromInstanceSetMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceWrapper[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public ConditionalSelectFromInstanceSetMethod CreateConditionalSelectFromInstanceSetMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceWrapper[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
List<InstanceHandle> cases2 = new List<InstanceHandle>();
|
||||
foreach (InstanceWrapper wrapper in cases)
|
||||
@ -272,7 +268,7 @@ public class OmsMethodBuilder
|
||||
}
|
||||
return CreateConditionalSelectFromInstanceSetMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsWorkSet.GetHandle(), cases2.ToArray(), usesSetFunction, usesSelectionFunction, usesOrderExecutableReturningAttribute);
|
||||
}
|
||||
public ConditionalSelectFromInstanceSetMethod CreateConditionalSelectFromInstanceSetMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsWorkSet, InstanceHandle[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public ConditionalSelectFromInstanceSetMethod CreateConditionalSelectFromInstanceSetMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsWorkSet, InstanceHandle[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.ConditionalSelectFromInstanceSetMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Conditional_Select_From_Instance_Set_Method__returns__Work_Set), returnsWorkSet);
|
||||
@ -302,11 +298,11 @@ public class OmsMethodBuilder
|
||||
return new ConditionalSelectFromInstanceSetMethod(method);
|
||||
}
|
||||
|
||||
public ConditionalSelectAttributeMethod CreateConditionalSelectAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, ConditionalSelectAttributeCase[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public ConditionalSelectAttributeMethod CreateConditionalSelectAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, ConditionalSelectAttributeCase[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
return CreateConditionalSelectAttributeMethod(forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid(), returnsAttribute, cases, usesSetFunction, usesSelectionFunction, usesOrderExecutableReturningAttribute);
|
||||
}
|
||||
public ConditionalSelectAttributeMethod CreateConditionalSelectAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, ConditionalSelectAttributeCase[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
public ConditionalSelectAttributeMethod CreateConditionalSelectAttributeMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, ConditionalSelectAttributeCase[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.ConditionalSelectAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic, globalIdentifier);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Conditional_Select_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||
@ -342,12 +338,12 @@ public class OmsMethodBuilder
|
||||
return ih;
|
||||
}
|
||||
|
||||
public EvaluateBooleanExpressionMethod CreateEvaluateBooleanExpressionMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, IInstanceReference sourceWorkData, BooleanOperator booleanOperator, IInstanceReference compareToWorkData = null)
|
||||
public EvaluateBooleanExpressionMethod CreateEvaluateBooleanExpressionMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, IInstanceReference sourceWorkData, BooleanOperator booleanOperator, IInstanceReference compareToWorkData = null)
|
||||
{
|
||||
return CreateEvaluateBooleanExpressionMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsAttribute, sourceWorkData.GetHandle(), booleanOperator, compareToWorkData?.GetHandle());
|
||||
}
|
||||
|
||||
public EvaluateBooleanExpressionMethod CreateEvaluateBooleanExpressionMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle sourceWorkData, BooleanOperator booleanOperator, InstanceHandle? compareToWorkData)
|
||||
public EvaluateBooleanExpressionMethod CreateEvaluateBooleanExpressionMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle sourceWorkData, BooleanOperator booleanOperator, InstanceHandle? compareToWorkData)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.EvaluateBooleanExpressionMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Evaluate_Boolean_Expression_Method__returns__Boolean_Attribute), returnsAttribute);
|
||||
@ -360,14 +356,14 @@ public class OmsMethodBuilder
|
||||
return new EvaluateBooleanExpressionMethod(method);
|
||||
}
|
||||
|
||||
public CalculateDateMethod CreateCalculateDateMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle initialDateAttribute, InstanceHandle timeZoneRsmb, CalculateDateMethodIncrement preIncrement, InstanceHandle? startInterval, InstanceHandle? endInterval, CalculateDateMethodIncrement postIncrement)
|
||||
public CalculateDateMethod CreateCalculateDateMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle initialDateAttribute, InstanceHandle timeZoneRsmb, CalculateDateMethodIncrement preIncrement, InstanceHandle? startInterval, InstanceHandle? endInterval, CalculateDateMethodIncrement postIncrement)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.CalculateDateMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
|
||||
return new CalculateDateMethod(method);
|
||||
}
|
||||
|
||||
public BuildElementMethod CreateBuildElementMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle hasBemProcess, InstanceHandle returnsElement)
|
||||
public BuildElementMethod CreateBuildElementMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle hasBemProcess, InstanceHandle returnsElement)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildElementMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Element_Method__has__BEM_Process), hasBemProcess);
|
||||
@ -375,11 +371,11 @@ public class OmsMethodBuilder
|
||||
return new BuildElementMethod(method);
|
||||
}
|
||||
|
||||
public BuildUIResponseMethod CreateBuildUIResponseMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, IExecutableReturningElement usesExecutableReturningElement)
|
||||
public BuildUIResponseMethod CreateBuildUIResponseMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, IExecutableReturningElement usesExecutableReturningElement)
|
||||
{
|
||||
return CreateBuildUIResponseMethod(forClassInstance, verb, name, accessModifier, isStatic, usesExecutableReturningElement.GetHandle());
|
||||
}
|
||||
public BuildUIResponseMethod CreateBuildUIResponseMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle usesExecutableReturningElement)
|
||||
public BuildUIResponseMethod CreateBuildUIResponseMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle usesExecutableReturningElement)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildUIResponseMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
InstanceHandle r_Build_UI_Response_Method__uses__Executable_returning_Element = Oms.GetInstance(KnownRelationshipGuids.Build_UI_Response_Method__uses__Executable_returning_Element);
|
||||
@ -394,7 +390,7 @@ public class OmsMethodBuilder
|
||||
return new BuildUIResponseMethod(method);
|
||||
}
|
||||
|
||||
public ControlTransactionMethod CreateControlTransactionMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle processesElement, BuildResponseMethodBinding usesBuildResponseMethodBinding)
|
||||
public ControlTransactionMethod CreateControlTransactionMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle processesElement, BuildResponseMethodBinding usesBuildResponseMethodBinding)
|
||||
{
|
||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildUIResponseMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
InstanceHandle r_Control_Transaction_Method__processes__Element = Oms.GetInstance(KnownRelationshipGuids.Control_Transaction_Method__processes__Element);
|
||||
@ -433,11 +429,33 @@ public class OmsMethodBuilder
|
||||
return new CalculateNumericMethod(method);
|
||||
}
|
||||
|
||||
public InstanceOpMethod CreateInstanceOpMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceOp invokesInstanceOp)
|
||||
public InstanceOpMethod CreateInstanceOpMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceOp invokesInstanceOp)
|
||||
{
|
||||
InstanceHandle ih = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.InstanceOpMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Instance_Op_Method__returns__Work_Set), returnsWorkSet);
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Op_Scope__invokes__Instance_Op), invokesInstanceOp);
|
||||
return new InstanceOpMethod(ih);
|
||||
}
|
||||
|
||||
public InvokeWebServiceMethod CreateInvokeWebServiceMethod(IInstanceReference forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, IInstanceReference userIdAttribute, IInstanceReference passwordAttribute, IInstanceReference destinationUrlAttribute, IInstanceReference webServiceInvocationType, IInstanceReference? usesElement = null, IInstanceReference? correlatedInstanceSet = null, IInstanceReference? errorElement = null)
|
||||
{
|
||||
InstanceHandle ih = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.InvokeWebServiceMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_user_id__Executable_returning_Attribute), userIdAttribute);
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_password__Executable_returning_Attribute), passwordAttribute);
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_destination_url__Executable_returning_Attribute), destinationUrlAttribute);
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has__Web_Service_Invocation_Type), webServiceInvocationType);
|
||||
if (usesElement != null)
|
||||
{
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__uses__Executable_returning_Element), usesElement);
|
||||
}
|
||||
if (correlatedInstanceSet != null)
|
||||
{
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__correlated_instances_from__Executable_returning_Instance_Set), correlatedInstanceSet);
|
||||
}
|
||||
if (errorElement != null)
|
||||
{
|
||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Invoke_Web_Service_Method__has_error__Executable_returning_Element), errorElement);
|
||||
}
|
||||
return new InvokeWebServiceMethod(ih);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
// Copyright (C) 2025 Michael Becker <alcexhim@gmail.com>
|
||||
//
|
||||
// This file is part of Mocha.NET.
|
||||
//
|
||||
// Mocha.NET is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Mocha.NET is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
namespace Mocha.Core.Oop.Methods;
|
||||
|
||||
public class InvokeWebServiceMethod : MethodReturningInstanceSet
|
||||
{
|
||||
public override Guid ClassId => KnownInstanceGuids.MethodClasses.InvokeWebServiceMethod;
|
||||
internal InvokeWebServiceMethod(InstanceHandle handle) : base(handle) { }
|
||||
}
|
||||
@ -0,0 +1,119 @@
|
||||
using System;
|
||||
using Mocha.Core.Oop;
|
||||
using Mocha.Core.Oop.Methods;
|
||||
|
||||
namespace Mocha.Core.Tests.MethodTests;
|
||||
|
||||
public class InvokeWebServiceMethodTests : MethodTestsBase
|
||||
{
|
||||
private InstanceHandle BuildFormViewPageElement(IInstanceReference sourceInstance, InstanceHandle titleInstance, IEnumerable<InstanceHandle> subeditInstances)
|
||||
{
|
||||
InstanceHandle subeditElement = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.Element));
|
||||
|
||||
List<InstanceHandle> subedits = new List<InstanceHandle>();
|
||||
|
||||
// the first EC in a subedit element is the source instance
|
||||
InstanceHandle sourceInstanceEC = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||
Oms.AssignRelationship(sourceInstanceEC, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Element_Content_Display_Option), Oms.GetInstance(KnownInstanceGuids.ElementContentDisplayOptions.DoNotShow));
|
||||
Oms.AssignRelationship(sourceInstanceEC, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Instance), sourceInstance);
|
||||
subedits.Add(sourceInstanceEC);
|
||||
|
||||
foreach (InstanceHandle subeditInstance in subeditInstances)
|
||||
{
|
||||
InstanceHandle ec = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||
Oms.AssignRelationship(ec, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Instance), subeditInstance);
|
||||
subedits.Add(ec);
|
||||
}
|
||||
Oms.AssignRelationship(subeditElement, Oms.GetInstance(KnownRelationshipGuids.Element__has__Element_Content), subedits);
|
||||
|
||||
InstanceHandle subeditElementContent = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||
Oms.AssignRelationship(subeditElementContent, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Instance), subeditElement);
|
||||
Oms.AssignRelationship(subeditElementContent, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Element_Content_Display_Option), new InstanceHandle[]
|
||||
{
|
||||
Oms.GetInstance(KnownInstanceGuids.ElementContentDisplayOptions.ShowSubelementsVertically),
|
||||
Oms.GetInstance(KnownInstanceGuids.ElementContentDisplayOptions.Singular)
|
||||
});
|
||||
|
||||
InstanceHandle element = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.Element));
|
||||
|
||||
Oms.AssignRelationship(element, Oms.GetInstance(KnownRelationshipGuids.Element__has__Element_Content), new InstanceHandle[]
|
||||
{
|
||||
BuildAttributeElementContent(titleInstance, new InstanceHandle[]
|
||||
{
|
||||
Oms.GetInstance(KnownInstanceGuids.ElementContentDisplayOptions.DisplayAsPageTitle),
|
||||
Oms.GetInstance(KnownInstanceGuids.ElementContentDisplayOptions.NotEnterable),
|
||||
Oms.GetInstance(KnownInstanceGuids.ElementContentDisplayOptions.SubmitNotEnterable)
|
||||
}),
|
||||
subeditElementContent,
|
||||
// approvalToolbar
|
||||
});
|
||||
|
||||
return element;
|
||||
}
|
||||
|
||||
private InstanceHandle BuildAttributeElementContent(InstanceHandle attributeInstance, IEnumerable<InstanceHandle>? displayOptions = null)
|
||||
{
|
||||
InstanceHandle ec = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.DerivedElementContent));
|
||||
Oms.AssignRelationship(ec, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Instance), attributeInstance);
|
||||
if (displayOptions != null)
|
||||
{
|
||||
Oms.AssignRelationship(ec, Oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Element_Content_Display_Option), displayOptions);
|
||||
}
|
||||
return ec;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Test1()
|
||||
{
|
||||
InstanceHandle a_UserName = Oms.GetInstance(KnownAttributeGuids.Text.UserName);
|
||||
InstanceHandle a_Password = Oms.GetInstance(KnownAttributeGuids.Text.PasswordHash);
|
||||
InstanceHandle a_DestinationURL = Oms.GetInstance(KnownAttributeGuids.Text.TargetURL);
|
||||
|
||||
InstanceHandle elem = BuildFormViewPageElement(c_TestClass, Oms.GetInstance(KnownAttributeGuids.Text.Name), new InstanceHandle[]
|
||||
{
|
||||
a_UserName,
|
||||
a_Password,
|
||||
a_DestinationURL
|
||||
});
|
||||
|
||||
Class c_Element = Oms.GetInstance<Class>(KnownInstanceGuids.Classes.Element);
|
||||
Class c_ElementContent = Oms.GetInstance<Class>(KnownInstanceGuids.Classes.ElementContent);
|
||||
GetAttributeMethod m_getOrder = Oms.MethodBuilder.CreateGetAttributeMethod(c_ElementContent, "get", "Order", Oms.GetInstance(KnownAttributeGuids.Text.Order));
|
||||
|
||||
WorkSet wsE = Oms.CreateWorkSet("temp");
|
||||
ReturnAttributeMethodBinding Element_Content__get__Order = m_getOrder.CreateMethodBinding(Oms);
|
||||
|
||||
GetRelationshipMethod m_Element__get__Element_Contents = Oms.MethodBuilder.CreateGetRelationshipMethod(c_Element, "get", "Element Contents", AccessModifier.Public, Oms.GetInstance(KnownRelationshipGuids.Element__has__Element_Content));
|
||||
ReturnInstanceSetMethodBinding Element__get__Element_Contents = m_Element__get__Element_Contents.CreateMethodBinding(Oms);
|
||||
|
||||
SelectFromInstanceSetMethod m_getFirstElementContent = Oms.MethodBuilder.CreateSelectFromInstanceSetMethod(Oms.GetInstance(KnownInstanceGuids.Classes.Element), "get", "First Element Content", AccessModifier.Public, false, wsE, Element__get__Element_Contents, null, Oms.GetInstance(KnownInstanceGuids.SelectionFunctions.First), Element_Content__get__Order);
|
||||
ReturnInstanceSetMethodBinding getFirstElementContent = m_getFirstElementContent.CreateMethodBinding(Oms);
|
||||
|
||||
InstanceHandle bemp = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.BEMProcess));
|
||||
Oms.AssignRelationship(bemp, Oms.GetInstance(KnownRelationshipGuids.BEM_Process__uses_loop__Executable_returning_Instance_Set), getFirstElementContent);
|
||||
|
||||
BuildElementMethod bemError = Oms.MethodBuilder.CreateBuildElementMethod(c_TestClass, "build", "error element for IWS", AccessModifier.Public, false, bemp, elem);
|
||||
ReturnElementMethodBinding bemErrorRemb = bemError.CreateMethodBinding(Oms);
|
||||
|
||||
MethodReturningAttribute m_UserName = Oms.MethodBuilder.CreateGetAttributeMethod(c_TestClass, "get", "User Name", a_UserName);
|
||||
MethodReturningAttribute m_Password = Oms.MethodBuilder.CreateGetAttributeMethod(c_TestClass, "get", "Password", a_Password);
|
||||
MethodReturningAttribute m_DestinationURL = Oms.MethodBuilder.CreateGetAttributeMethod(c_TestClass, "get", "Destination URL", a_DestinationURL);
|
||||
|
||||
InstanceHandle i_TestClass1 = Oms.CreateInstanceOf(c_TestClass);
|
||||
Oms.SetAttributeValue(i_TestClass1, a_UserName, "superuser");
|
||||
Oms.SetAttributeValue(i_TestClass1, a_Password, "J1gglyPuFF$");
|
||||
Oms.SetAttributeValue(i_TestClass1, a_DestinationURL, "https://iwstestsvcs1-3200.sandbox.mochapowered.com/svc");
|
||||
|
||||
ReturnAttributeMethodBinding ramb_UserName = m_UserName.CreateMethodBinding(Oms);
|
||||
ReturnAttributeMethodBinding ramb_Password = m_Password.CreateMethodBinding(Oms);
|
||||
ReturnAttributeMethodBinding ramb_DestinationURL = m_DestinationURL.CreateMethodBinding(Oms);
|
||||
|
||||
InstanceHandle webServiceInvocationType = Oms.GetInstance(KnownInstanceGuids.WebServiceInvocationTypes.BasicAuth);
|
||||
|
||||
Method iws = Oms.MethodBuilder.CreateInvokeWebServiceMethod(c_TestClass, "invoke", "test Web Service", Core.Oop.AccessModifier.Public, false, ramb_UserName, ramb_Password, ramb_DestinationURL, webServiceInvocationType, null, null, bemErrorRemb);
|
||||
OmsContext context = Oms.CreateContext();
|
||||
context.SetWorkData(c_TestClass, i_TestClass1);
|
||||
Oms.Execute(context, iws);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user