Compare commits
5 Commits
09023ddc86
...
e28fb4bc11
| Author | SHA1 | Date | |
|---|---|---|---|
| e28fb4bc11 | |||
| ed912d20cb | |||
| c648b3c6ad | |||
| ce7dd5f949 | |||
| c0b0c70785 |
@ -1 +1 @@
|
|||||||
Subproject commit 2cedd6600d418723ec97f51b28cd9e1c31ff8d30
|
Subproject commit 5a411ddf69be2a2f32c601fe57004e839e3805c0
|
||||||
@ -304,7 +304,11 @@ namespace Mocha.Core
|
|||||||
// BWSR - Build Web Service Response Method - 171
|
// BWSR - Build Web Service Response Method - 171
|
||||||
// GRE - Get Referenced Element Method - 197
|
// GRE - Get Referenced Element Method - 197
|
||||||
public static Guid GetRelationshipMethod { get; } = new Guid("{d53c9232-89ef-4cca-8520-261da6787450}"); // 207
|
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 InstanceOpMethod { get; } = new Guid("{4c814982-938f-4116-bdc1-827bae6a5f71}");
|
||||||
public static Guid ConditionalSelectAttributeMethod { get; } = new Guid("{d534a369-321e-4c32-bd7f-8ff2017f191e}"); // 13038
|
public static Guid ConditionalSelectAttributeMethod { get; } = new Guid("{d534a369-321e-4c32-bd7f-8ff2017f191e}"); // 13038
|
||||||
// SSC - Conditional Select from Instance Set Method - 13039
|
// SSC - Conditional Select from Instance Set Method - 13039
|
||||||
@ -458,6 +462,7 @@ namespace Mocha.Core
|
|||||||
{
|
{
|
||||||
public static Guid Minimum { get; } = new Guid("{1ff7be8c-fe48-4154-9028-8ee84b7dc367}");
|
public static Guid Minimum { get; } = new Guid("{1ff7be8c-fe48-4154-9028-8ee84b7dc367}");
|
||||||
public static Guid Maximum { get; } = new Guid("{dda6c31d-5bea-41a9-a6bc-0e5c189784da}");
|
public static Guid Maximum { get; } = new Guid("{dda6c31d-5bea-41a9-a6bc-0e5c189784da}");
|
||||||
|
public static Guid First { get; } = new Guid("{4a196b8f-ca55-4f3a-a443-f960bfdb3bc6}");
|
||||||
}
|
}
|
||||||
public static class RelationalOperators
|
public static class RelationalOperators
|
||||||
{
|
{
|
||||||
@ -547,5 +552,11 @@ namespace Mocha.Core
|
|||||||
public static Guid Complement { get; } = new Guid("{fa69b904-315b-4bb1-80a6-c71708fbfde5}");
|
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 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 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 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}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,6 +62,16 @@ public class BuildAttributeMethodImplementation : MethodImplementation
|
|||||||
}
|
}
|
||||||
context.SetWorkData(returnsAttribute, value);
|
context.SetWorkData(returnsAttribute, value);
|
||||||
}
|
}
|
||||||
|
else if (oms.IsInstanceOf(returnsAttribute, oms.GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
||||||
|
{
|
||||||
|
object? value = oms.UnsafeGetAttributeValue(method, oms.GetInstance(KnownAttributeGuids.Text.Value)); // initial value
|
||||||
|
|
||||||
|
if (value is string)
|
||||||
|
{
|
||||||
|
bool val = Boolean.Parse((string)value);
|
||||||
|
context.SetWorkData(returnsAttribute, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (oms.IsInstanceOf(returnsAttribute, oms.GetInstance(KnownInstanceGuids.Classes.NumericAttribute)))
|
else if (oms.IsInstanceOf(returnsAttribute, oms.GetInstance(KnownInstanceGuids.Classes.NumericAttribute)))
|
||||||
{
|
{
|
||||||
object? value = oms.UnsafeGetAttributeValue(method, oms.GetInstance(KnownAttributeGuids.Numeric.Value)); // initial value
|
object? value = oms.UnsafeGetAttributeValue(method, oms.GetInstance(KnownAttributeGuids.Numeric.Value)); // initial value
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
|
|
||||||
using System.Text.Json.Nodes;
|
using System.Text.Json.Nodes;
|
||||||
using System.Threading.Tasks.Dataflow;
|
|
||||||
using Mocha.Core.Oop;
|
|
||||||
using Mocha.Core.UI;
|
|
||||||
|
|
||||||
namespace Mocha.Core.MethodImplementations;
|
namespace Mocha.Core.MethodImplementations;
|
||||||
|
|
||||||
@ -23,14 +20,33 @@ public class BuildElementMethodImplementation : MethodImplementation
|
|||||||
|
|
||||||
InstanceHandle bemProcess = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Build_Element_Method__has__BEM_Process));
|
InstanceHandle bemProcess = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Build_Element_Method__has__BEM_Process));
|
||||||
|
|
||||||
|
JsonArray objECs = new JsonArray();
|
||||||
|
IEnumerable<InstanceHandle> elementContents = oms.GetRelatedInstances(element, oms.GetInstance(KnownRelationshipGuids.Element__has__Element_Content));
|
||||||
|
foreach (InstanceHandle elementContent in elementContents)
|
||||||
|
{
|
||||||
|
InstanceHandle elementContentInstance = oms.GetRelatedInstance(elementContent, oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Instance));
|
||||||
|
IEnumerable<InstanceHandle> elementContentDisplayOptions = oms.GetRelatedInstances(elementContent, oms.GetInstance(KnownRelationshipGuids.Element_Content__has__Element_Content_Display_Option));
|
||||||
|
JsonObject objEC = BuildElementContent(oms, elementContentInstance, elementContent);
|
||||||
|
objECs.Add(objEC);
|
||||||
|
}
|
||||||
|
|
||||||
InstanceHandle loopInstanceSet = oms.GetRelatedInstance(bemProcess, oms.GetInstance(KnownRelationshipGuids.BEM_Process__uses_loop__Executable_returning_Instance_Set));
|
InstanceHandle loopInstanceSet = oms.GetRelatedInstance(bemProcess, oms.GetInstance(KnownRelationshipGuids.BEM_Process__uses_loop__Executable_returning_Instance_Set));
|
||||||
|
if (loopInstanceSet != InstanceHandle.Empty)
|
||||||
|
{
|
||||||
object? instanceSet = oms.Evaluate(context, loopInstanceSet, InstanceHandle.Empty);
|
object? instanceSet = oms.Evaluate(context, loopInstanceSet, InstanceHandle.Empty);
|
||||||
if (instanceSet is IEnumerable<InstanceHandle> ihs)
|
if (instanceSet is IEnumerable<InstanceHandle> ihs)
|
||||||
{
|
{
|
||||||
JsonObject obj = BuildGrid(oms, element, ihs);
|
JsonObject obj = BuildGrid(oms, element, ihs);
|
||||||
context.SetWorkData(element, obj);
|
context.SetWorkData(element, obj);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
JsonObject objR = new JsonObject();
|
||||||
|
objR.Add("children", objECs);
|
||||||
|
context.SetWorkData(element, objR);
|
||||||
|
return element;
|
||||||
|
}
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,7 +82,7 @@ public class BuildElementMethodImplementation : MethodImplementation
|
|||||||
j = 1;
|
j = 1;
|
||||||
foreach (InstanceHandle ihCol in ihCols)
|
foreach (InstanceHandle ihCol in ihCols)
|
||||||
{
|
{
|
||||||
JsonObject objCell = BuildGridCell(oms, ih, ihCol);
|
JsonObject objCell = BuildElementContent(oms, ih, ihCol);
|
||||||
objCells.Add("46." + j.ToString(), objCell);
|
objCells.Add("46." + j.ToString(), objCell);
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
@ -104,7 +120,7 @@ public class BuildElementMethodImplementation : MethodImplementation
|
|||||||
return objCol;
|
return objCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JsonObject BuildGridCell(Oms oms, InstanceHandle targetInstance, InstanceHandle elementContent)
|
private JsonObject BuildElementContent(Oms oms, InstanceHandle targetInstance, InstanceHandle elementContent)
|
||||||
{
|
{
|
||||||
JsonObject objCell = new JsonObject();
|
JsonObject objCell = new JsonObject();
|
||||||
objCell.Add("ecid", oms.GetInstanceKey(elementContent).ToString());
|
objCell.Add("ecid", oms.GetInstanceKey(elementContent).ToString());
|
||||||
@ -127,8 +143,15 @@ public class BuildElementMethodImplementation : MethodImplementation
|
|||||||
if (oms.IsInstanceOf(ecInst, oms.GetInstance(KnownInstanceGuids.Classes.TextAttribute)))
|
if (oms.IsInstanceOf(ecInst, oms.GetInstance(KnownInstanceGuids.Classes.TextAttribute)))
|
||||||
{
|
{
|
||||||
objCell.Add("widget", "text");
|
objCell.Add("widget", "text");
|
||||||
|
if (targetInstance == InstanceHandle.Empty)
|
||||||
|
{
|
||||||
|
objCell.Add("value", oms.GetAttributeValue<string>(ecInst, oms.GetInstance(KnownAttributeGuids.Text.Value)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
objCell.Add("value", oms.GetAttributeValue<string>(targetInstance, ecInst));
|
objCell.Add("value", oms.GetAttributeValue<string>(targetInstance, ecInst));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if (oms.IsInstanceOf(ecInst, oms.GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
else if (oms.IsInstanceOf(ecInst, oms.GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
||||||
{
|
{
|
||||||
objCell.Add("widget", "checkBox");
|
objCell.Add("widget", "checkBox");
|
||||||
|
|||||||
@ -0,0 +1,80 @@
|
|||||||
|
// 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);
|
||||||
|
|
||||||
|
InstanceHandle hElement = FindElementFromExecutable(oms, errorElement);
|
||||||
|
context.SetWorkData(hElement, errorJson);
|
||||||
|
return hElement;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return InstanceHandle.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
private InstanceHandle FindElementFromExecutable(Oms oms, InstanceHandle exec)
|
||||||
|
{
|
||||||
|
if (oms.IsInstanceOf(exec, oms.GetInstance(KnownInstanceGuids.Classes.ReturnElementMethodBinding)))
|
||||||
|
{
|
||||||
|
InstanceHandle executesMethod = oms.GetRelatedInstance(exec, oms.GetInstance(KnownRelationshipGuids.Method_Binding__executes__Method));
|
||||||
|
return FindElementFromExecutable(oms, executesMethod);
|
||||||
|
}
|
||||||
|
else if (oms.IsInstanceOf(exec, oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildElementMethod)))
|
||||||
|
{
|
||||||
|
return oms.GetRelatedInstance(exec, oms.GetInstance(KnownRelationshipGuids.Build_Element_Method__returns__Element));
|
||||||
|
}
|
||||||
|
return InstanceHandle.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,9 +15,6 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
|
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
using System.ComponentModel.Design;
|
|
||||||
using Mocha.Core.Oop;
|
|
||||||
|
|
||||||
namespace Mocha.Core.MethodImplementations;
|
namespace Mocha.Core.MethodImplementations;
|
||||||
|
|
||||||
public class SelectFromInstanceSetMethodImplementation : MethodImplementation
|
public class SelectFromInstanceSetMethodImplementation : MethodImplementation
|
||||||
@ -27,10 +24,16 @@ public class SelectFromInstanceSetMethodImplementation : MethodImplementation
|
|||||||
public string Order;
|
public string Order;
|
||||||
public object Data;
|
public object Data;
|
||||||
}
|
}
|
||||||
|
private struct OrderableData<T>
|
||||||
|
{
|
||||||
|
public string Order;
|
||||||
|
public T Data;
|
||||||
|
}
|
||||||
|
|
||||||
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.SelectFromInstanceSetMethod;
|
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.SelectFromInstanceSetMethod;
|
||||||
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
|
||||||
{
|
{
|
||||||
|
//! FIXME !
|
||||||
Guid methodId = oms.GetGlobalIdentifier(method);
|
Guid methodId = oms.GetGlobalIdentifier(method);
|
||||||
|
|
||||||
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
|
||||||
@ -43,32 +46,31 @@ public class SelectFromInstanceSetMethodImplementation : MethodImplementation
|
|||||||
}
|
}
|
||||||
|
|
||||||
InstanceHandle usesInstanceSet = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Executable_returning_Instance_Set));
|
InstanceHandle usesInstanceSet = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Executable_returning_Instance_Set));
|
||||||
object? instanceSetValues = context.GetWorkData(usesInstanceSet);
|
// object? instanceSetValues = context.GetWorkData(usesInstanceSet);
|
||||||
|
object? instanceSetValues = oms.Evaluate(context, usesInstanceSet, InstanceHandle.Empty);
|
||||||
|
|
||||||
InstanceHandle selectionFunction = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Selection_Function));
|
InstanceHandle selectionFunction = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Selection_Function));
|
||||||
InstanceHandle setFunction = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Set_Function));
|
InstanceHandle setFunction = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Set_Function));
|
||||||
InstanceHandle orderAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses_order__Executable_returning_Attribute));
|
InstanceHandle orderAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses_order__Executable_returning_Attribute));
|
||||||
|
|
||||||
List<OrderableData> list = new List<OrderableData>();
|
List<OrderableData<IInstanceReference>> list = new List<OrderableData<IInstanceReference>>();
|
||||||
|
|
||||||
if (instanceSetValues is IEnumerable<InstanceHandle>)
|
if (instanceSetValues is System.Collections.IEnumerable ie)
|
||||||
{
|
{
|
||||||
|
// here we use the non-generic IEnumerable so we can handle cases where
|
||||||
}
|
// you would pass in an IEnumerable<IInstanceReference>, IEnumerable<InstanceHandle>,
|
||||||
else if (instanceSetValues is IEnumerable<InstanceWrapper>)
|
// or IEnumerable<InstanceWrapper>. Hell, you could even pass in an IEnumerable<object>
|
||||||
|
// as long as each element in the IEnumerable was some sort of IInstanceReference!
|
||||||
|
foreach (object o in ie)
|
||||||
{
|
{
|
||||||
IEnumerable<InstanceWrapper> vals = (IEnumerable<InstanceWrapper>)instanceSetValues;
|
if (o is IInstanceReference ir)
|
||||||
foreach (InstanceWrapper inst in vals)
|
|
||||||
{
|
{
|
||||||
if (inst != null)
|
OrderableData<IInstanceReference> od = new OrderableData<IInstanceReference>();
|
||||||
{
|
od.Data = ir.GetHandle();
|
||||||
OrderableData od = new OrderableData();
|
|
||||||
od.Data = inst.GetHandle();
|
|
||||||
if (orderAttribute != InstanceHandle.Empty)
|
if (orderAttribute != InstanceHandle.Empty)
|
||||||
{
|
{
|
||||||
InstanceHandle ihWorkData = oms.Execute(context, orderAttribute, inst.GetHandle());
|
InstanceHandle ihWorkData = oms.Execute(context, orderAttribute, ir.GetHandle());
|
||||||
string order = context.GetWorkData<string>(ihWorkData);
|
string order = context.GetWorkData<string>(ihWorkData, String.Empty);
|
||||||
|
|
||||||
od.Order = order;
|
od.Order = order;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -79,23 +81,40 @@ public class SelectFromInstanceSetMethodImplementation : MethodImplementation
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// throw new NotSupportedException();
|
||||||
|
// design decision: should we silently exclude non-IInstanceReference items since we could
|
||||||
|
// theoretically support IEnumerable<object>? or should we force users to do the Right Thing(tm)?
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
list.Sort((c, d) => c.Order.CompareTo(d.Order));
|
list.Sort((c, d) => c.Order.CompareTo(d.Order));
|
||||||
}
|
|
||||||
|
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
// FIXME: this assumes a hardcoded singular work set
|
bool returnsWorkSetIsSingular = oms.GetAttributeValue<bool>(returnsWorkSet, oms.GetInstance(KnownAttributeGuids.Boolean.Singular));
|
||||||
if (selectionFunction == oms.GetInstance(KnownInstanceGuids.SelectionFunctions.Minimum))
|
|
||||||
|
IEnumerable<InstanceHandle> retval = [ ];
|
||||||
|
if (selectionFunction == oms.GetInstance(KnownInstanceGuids.SelectionFunctions.First))
|
||||||
{
|
{
|
||||||
context.SetWorkData(returnsWorkSet, list[0].Data);
|
retval = [ list.First().Data.GetHandle() ];
|
||||||
|
}
|
||||||
|
// FIXME: this assumes a hardcoded singular work set
|
||||||
|
else if (selectionFunction == oms.GetInstance(KnownInstanceGuids.SelectionFunctions.Minimum))
|
||||||
|
{
|
||||||
|
retval = [ list.First().Data.GetHandle() ];
|
||||||
}
|
}
|
||||||
else if (selectionFunction == oms.GetInstance(KnownInstanceGuids.SelectionFunctions.Maximum))
|
else if (selectionFunction == oms.GetInstance(KnownInstanceGuids.SelectionFunctions.Maximum))
|
||||||
{
|
{
|
||||||
context.SetWorkData(returnsWorkSet, list[list.Count - 1].Data);
|
retval = [ list.Last().Data.GetHandle() ];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (returnsWorkSetIsSingular)
|
||||||
|
{
|
||||||
|
context.SetWorkData(returnsWorkSet, retval.First());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
context.SetWorkData(returnsWorkSet, retval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return returnsWorkSet;
|
return returnsWorkSet;
|
||||||
|
|||||||
@ -2599,9 +2599,44 @@ public abstract class Oms
|
|||||||
throw new FormatException();
|
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)
|
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;
|
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 (workDataObject is InstanceHandle workDataInstance)
|
||||||
{
|
{
|
||||||
if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.TextAttribute)))
|
if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.TextAttribute)))
|
||||||
@ -2614,6 +2649,7 @@ public abstract class Oms
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
value = context.GetWorkData<string>(workDataInstance);
|
value = context.GetWorkData<string>(workDataInstance);
|
||||||
|
returnedWorkData = workDataInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
||||||
@ -2626,6 +2662,7 @@ public abstract class Oms
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
value = context.GetWorkData<bool>(workDataInstance);
|
value = context.GetWorkData<bool>(workDataInstance);
|
||||||
|
returnedWorkData = workDataInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.NumericAttribute)))
|
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.NumericAttribute)))
|
||||||
@ -2638,6 +2675,7 @@ public abstract class Oms
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
value = context.GetWorkData<decimal>(workDataInstance);
|
value = context.GetWorkData<decimal>(workDataInstance);
|
||||||
|
returnedWorkData = workDataInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.DateAttribute)))
|
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.DateAttribute)))
|
||||||
@ -2650,6 +2688,7 @@ public abstract class Oms
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
value = context.GetWorkData<DateTime>(workDataInstance);
|
value = context.GetWorkData<DateTime>(workDataInstance);
|
||||||
|
returnedWorkData = workDataInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.WorkSet)))
|
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.WorkSet)))
|
||||||
@ -2662,12 +2701,14 @@ public abstract class Oms
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
value = context.GetWorkData(workDataInstance);
|
value = context.GetWorkData(workDataInstance);
|
||||||
|
returnedWorkData = workDataInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.Executable)))
|
else if (IsInstanceOf(workDataInstance, GetInstance(KnownInstanceGuids.Classes.Executable)))
|
||||||
{
|
{
|
||||||
InstanceHandle workSet = Execute(context, workDataInstance);
|
InstanceHandle workSet = Execute(context, workDataInstance);
|
||||||
value = context.GetWorkData(workSet);
|
value = context.GetWorkData(workSet);
|
||||||
|
returnedWorkData = workSet;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2676,6 +2717,7 @@ public abstract class Oms
|
|||||||
InstanceHandle workData = Execute(context, workDataInstance);
|
InstanceHandle workData = Execute(context, workDataInstance);
|
||||||
object? val = context.GetWorkData(workData);
|
object? val = context.GetWorkData(workData);
|
||||||
value = val?.ToString();
|
value = val?.ToString();
|
||||||
|
returnedWorkData = workData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -67,6 +67,28 @@ public class OmsContext
|
|||||||
}
|
}
|
||||||
public object? GetWorkData(IInstanceReference parm)
|
public object? GetWorkData(IInstanceReference parm)
|
||||||
{
|
{
|
||||||
|
object? value = UnsafeGetWorkData(parm);
|
||||||
|
if (value is string sz)
|
||||||
|
{
|
||||||
|
// we really only need to check if we get returned a string like "True" instead of a bool like `false`
|
||||||
|
// !fixme! move all this hardcoded $@#! into configurable OMS AttributeImplementations
|
||||||
|
if (Oms.IsInstanceOf(parm, Oms.GetInstance(KnownInstanceGuids.Classes.BooleanAttribute)))
|
||||||
|
{
|
||||||
|
value = Boolean.Parse(sz);
|
||||||
|
}
|
||||||
|
else if (Oms.IsInstanceOf(parm, Oms.GetInstance(KnownInstanceGuids.Classes.DateAttribute)))
|
||||||
|
{
|
||||||
|
value = DateTime.Parse(sz);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
private object? UnsafeGetWorkData(IInstanceReference parm)
|
||||||
|
{
|
||||||
|
// this is the former (object GetWorkData(IInstanceReference))
|
||||||
|
// still providing the underlying implementation of finding the appropriate WD value
|
||||||
|
// but the public facing replacement function now casts it to the appropriate Attribute
|
||||||
|
// or Instance Set type if it is not String
|
||||||
if (_WorkData.ContainsKey(parm.GetHandle()))
|
if (_WorkData.ContainsKey(parm.GetHandle()))
|
||||||
return _WorkData[parm.GetHandle()];
|
return _WorkData[parm.GetHandle()];
|
||||||
|
|
||||||
|
|||||||
@ -67,11 +67,11 @@ public class OmsMethodBuilder
|
|||||||
return new BuildResponseMethodBinding(methodBinding);
|
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);
|
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);
|
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);
|
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);
|
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 });
|
GetSpecifiedInstancesMethod meth = CreateGetSpecifiedInstancesMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsWorkSet, new InstanceHandle[] { specifiedInstance });
|
||||||
Oms.SetAttributeValue(meth.GetHandle(), Oms.GetInstance(KnownAttributeGuids.Boolean.Singular), true);
|
Oms.SetAttributeValue(meth.GetHandle(), Oms.GetInstance(KnownAttributeGuids.Boolean.Singular), true);
|
||||||
return meth;
|
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);
|
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);
|
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());
|
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);
|
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());
|
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);
|
InstanceHandle method = Oms.CreateInstanceOf(methodClassInstance, globalIdentifier);
|
||||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Method__for__Class), forClassInstance);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Method__for__Class), forClassInstance);
|
||||||
@ -124,7 +124,7 @@ public class OmsMethodBuilder
|
|||||||
return method;
|
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);
|
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);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||||
@ -132,7 +132,7 @@ public class OmsMethodBuilder
|
|||||||
return new BuildAttributeMethod(method);
|
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);
|
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);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||||
@ -151,11 +151,11 @@ public class OmsMethodBuilder
|
|||||||
return new BuildAttributeMethod(method);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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());
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Relationship_Method__returns__Relationship), returnsRelationship);
|
||||||
@ -207,11 +207,11 @@ public class OmsMethodBuilder
|
|||||||
return new GetRelationshipMethod(method);
|
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);
|
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);
|
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);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Referenced_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||||
@ -228,26 +228,22 @@ public class OmsMethodBuilder
|
|||||||
return new GetReferencedAttributeMethod(method);
|
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)
|
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)
|
||||||
{
|
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.SelectFromInstanceSetMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
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__returns__Work_Set), returnsWorkSet);
|
||||||
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Executable_returning_Instance_Set), usesExecutableReturningInstanceSet);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Select_from_Instance_Set_Method__uses__Executable_returning_Instance_Set), usesExecutableReturningInstanceSet);
|
||||||
if (usesSetFunction != null)
|
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)
|
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)
|
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)
|
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>();
|
List<InstanceHandle> cases2 = new List<InstanceHandle>();
|
||||||
foreach (InstanceWrapper wrapper in cases)
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Conditional_Select_Attribute_Method__returns__Attribute), returnsAttribute);
|
||||||
@ -342,12 +338,12 @@ public class OmsMethodBuilder
|
|||||||
return ih;
|
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());
|
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);
|
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);
|
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);
|
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);
|
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.CalculateDateMethod), forClassInstance, verb, name, accessModifier, isStatic);
|
||||||
|
|
||||||
return new CalculateDateMethod(method);
|
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);
|
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);
|
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Element_Method__has__BEM_Process), hasBemProcess);
|
||||||
@ -375,11 +371,11 @@ public class OmsMethodBuilder
|
|||||||
return new BuildElementMethod(method);
|
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());
|
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 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);
|
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);
|
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 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);
|
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);
|
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);
|
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.Instance_Op_Method__returns__Work_Set), returnsWorkSet);
|
||||||
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Op_Scope__invokes__Instance_Op), invokesInstanceOp);
|
Oms.AssignRelationship(ih, Oms.GetInstance(KnownRelationshipGuids.Op_Scope__invokes__Instance_Op), invokesInstanceOp);
|
||||||
return new InstanceOpMethod(ih);
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -59,4 +59,43 @@ public class SelectFromInstanceSetMethodTests : MethodTestsBase
|
|||||||
Assert.That((InstanceHandle?)value, Is.EqualTo(AccessModifier.Private.GetHandle()));
|
Assert.That((InstanceHandle?)value, Is.EqualTo(AccessModifier.Private.GetHandle()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void Element__get__First_Element_Content()
|
||||||
|
{
|
||||||
|
Class c_Element = Oms.GetInstance<Class>(KnownInstanceGuids.Classes.Element);
|
||||||
|
Class c_ElementContent = Oms.GetInstance<Class>(KnownInstanceGuids.Classes.ElementContent);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
GetAttributeMethod m_getOrder = Oms.MethodBuilder.CreateGetAttributeMethod(c_ElementContent, "get", "Order", Oms.GetInstance(KnownAttributeGuids.Text.Order));
|
||||||
|
ReturnAttributeMethodBinding Element_Content__get__Order = m_getOrder.CreateMethodBinding(Oms);
|
||||||
|
|
||||||
|
WorkSet wsE = Oms.CreateWorkSet("Returned Element Content [Singular]");
|
||||||
|
Oms.SetAttributeValue(wsE, Oms.GetInstance(KnownAttributeGuids.Boolean.Singular), true);
|
||||||
|
|
||||||
|
SelectFromInstanceSetMethod m_getFirstElementContent = Oms.MethodBuilder.CreateSelectFromInstanceSetMethod(c_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 element = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.Element));
|
||||||
|
|
||||||
|
InstanceHandle ec1 = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||||
|
InstanceHandle ec2 = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||||
|
InstanceHandle ec3 = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||||
|
InstanceHandle ec4 = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||||
|
InstanceHandle ec5 = Oms.CreateInstanceOf(Oms.GetInstance(KnownInstanceGuids.Classes.ElementContent));
|
||||||
|
|
||||||
|
Oms.AssignRelationship(element, Oms.GetInstance(KnownRelationshipGuids.Element__has__Element_Content), new InstanceHandle[]
|
||||||
|
{
|
||||||
|
ec1, ec2, ec3, ec4, ec5
|
||||||
|
});
|
||||||
|
|
||||||
|
OmsContext context = Oms.CreateContext();
|
||||||
|
context.SetWorkData(c_Element, element);
|
||||||
|
InstanceHandle ws = Oms.Execute(context, getFirstElementContent);
|
||||||
|
object? obj = context.GetWorkData(ws);
|
||||||
|
|
||||||
|
Assert.That(obj, Is.EqualTo(ec1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user