Compare commits

...

2 Commits

85 changed files with 1976 additions and 178 deletions

View File

@ -1,5 +1,5 @@
from .Normalization import Normalization
from .Guid import Guid
from .core.Guid import Guid
class InstanceCache:

View File

@ -10,7 +10,11 @@ from .operations.StoredProcedureOperation import StoredProcedureOperation
from .Normalization import Normalization
from .Guid import Guid
from .core.Guid import Guid
from .core.KnownClassGuids import IDC_EntityDefinition, IDC_SourceDefinition
from .core.KnownAttributeGuids import *
from .core.KnownRelationshipGuids import *
from .InstanceCache import InstanceCache
from .SQLExpression import SQLExpression
@ -20,6 +24,7 @@ class MochaLibraryManager:
def __init__(self):
self.entityReferences = dict()
self.entityReferenceFileNames = dict()
self.db = None
self._instances = []
self._attOps = []
@ -175,8 +180,47 @@ class MochaLibraryManager:
print (query)
self.db.query(query)
def before_commit(self):
"""
Called before the unstructured information is sorted and written to the database.
---
This is your last chance to add instances, set attributes, and assign
relationships before the compilation is finalized. After this stage, calls made
to modify the compilation are undefined and will almost certainly not do what you
want.
"""
self.write_debug_information()
def write_debug_information(self):
"""
Writes debugging information, such as entity definitions ('&IDC_...;') and source
code definitions (filename, line number, column number, etc.)
"""
print ("preparing debug information (use --no-debug or undefine DEBUG or etc. [NOT IMPLEMENTED] to turn off)")
for key in self.entityReferences:
val = self.entityReferences[key]
gidEntityDefinition = Guid.create()
self.add_instance(IDC_EntityDefinition, gidEntityDefinition, None, None)
self.set_attribute_value(gidEntityDefinition, IDA_Name, key)
self.set_attribute_value(gidEntityDefinition, IDA_Value, val)
gidSourceDefinition = Guid.create()
self.add_instance(IDC_SourceDefinition, gidSourceDefinition, None, None)
self.set_attribute_value(gidSourceDefinition, IDA_DebugDefinitionFileName, self.entityReferenceFileNames[key])
self.assign_relationship(gidEntityDefinition, IDR_Instance__has__Source_Definition, gidSourceDefinition)
# Source Definition.has X
# self.add_instance(KnownClassGuids.CLASS, Guid("{dc0a5dd2-22e0-471f-87cf-a5ef1b764efa}"), 1, index)
# self.assign_relationship(instGid, Guid("{dc0a5dd2-22e0-471f-87cf-a5ef1b764efa}"), targetInstanceId)
def commit(self):
self.before_commit()
# first record all the instances
if not self.process_instance_ops():
return False
@ -215,11 +259,13 @@ class MochaLibraryManager:
print("assigning sibling relationships...")
self.process_relationship_ops(siblingOps)
print("setting creation user...")
cur = self.db.cursor()
# cur.execute("UPDATE mocha_instances SET user_inst_id = mocha_get_instance_by_global_identifier(mocha_normalize_uuid('{B066A54B-B160-4510-A805-436D3F90C2E6}'))")
cur.execute("UPDATE mocha_attributes SET usr_inst_id = mocha_get_instance_by_global_identifier('" + Normalization.normalize_uuid("{B066A54B-B160-4510-A805-436D3F90C2E6}") + "')")
cur.execute("UPDATE mocha_relationships SET user_inst_id = mocha_get_instance_by_global_identifier('" + Normalization.normalize_uuid("{B066A54B-B160-4510-A805-436D3F90C2E6}") + "')")
cur.execute("UPDATE mocha_attributes SET usr_inst_id = " + str(self.instances.get_database_id_by_global_identifier(Guid("{B066A54B-B160-4510-A805-436D3F90C2E6}"))))
cur.execute("UPDATE mocha_relationships SET user_inst_id = " + str(self.instances.get_database_id_by_global_identifier(Guid("{B066A54B-B160-4510-A805-436D3F90C2E6}"))))
# rows = cur.fetchall()
# print(rows)
@ -357,8 +403,9 @@ class MochaLibraryManager:
def exists_entity_reference(self, name):
return name in self.entityReferences
def register_entity_reference(self, name, value):
def register_entity_reference(self, name, value, filename = None):
self.entityReferences[name] = value
self.entityReferenceFileNames[name] = filename
def define_entity_reference(self, name):
return self.entityReferences[name]

View File

@ -1,4 +1,4 @@
from .Guid import Guid
from .core.Guid import Guid
from .Normalization import Normalization
class SQLExpression:

View File

@ -0,0 +1,18 @@
from .Guid import Guid
"""
Represents the Text Attribute `Name`
"""
IDA_Name = Guid("{9153A637-992E-4712-ADF2-B03F0D9EDEA6}")
"""
Represents the Text Attribute `Value`
"""
IDA_Value = Guid("{041DD7FD-2D9C-412B-8B9D-D7125C166FE0}")
"""
Represents the Text Attribute `Debug Definition File Name`
"""
IDA_DebugDefinitionFileName = Guid("{03bf47c7-dc97-43c8-a8c9-c6147bee4e1f}")
IDA_DebugDefinitionLineNumber = Guid("{822be9b7-531d-4aa1-818a-6e4de1609057}")
IDA_DebugDefinitionColumnNumber = Guid("{0f75c750-e738-4410-9b4e-deb422efc7aa}")

View File

@ -0,0 +1,5 @@
from .Guid import Guid
IDC_SourceDefinition = Guid("{5d0b2f03-4886-4ba6-ac3c-8f9612963fa6}")
IDC_EntityDefinition = Guid("{15ffa529-6aab-4f1f-8720-f2534951b045}")

View File

@ -0,0 +1,3 @@
from .Guid import Guid
IDR_Instance__has__Source_Definition = Guid("{57cbc351-0428-47e6-a6db-445e4503abab}")

View File

@ -67,7 +67,7 @@ class YAMLLibraryParser (LibraryParser):
print("duplicate entity definition: '" + key + "'")
exit(1)
self.manager.register_entity_reference(key, entity[key])
self.manager.register_entity_reference(key, entity[key], filename)
def load_instance_with_template(self, elem, template):
(parentCreatorKey, parentInstanceId) = self.find_custom_tag_name(template)

View File

@ -24,7 +24,6 @@
- IDBEM_1: '{8c625250-5c11-44d8-8002-80217e220137}'
- IDC_Layout: '{e10e5978-0943-4971-89ba-ef9932fb3769}'
- IDC_GroupLayout: '{108605af-c20d-42eb-af4f-35b2ff701921}'
- IDC_ButtonLayout: '{6f6338db-68e0-4cc7-b257-d1b97cf3cb92}'
- IDC_ImageLayout: '{4b1bb7c6-168e-4ce0-b4f8-76dd5069a80b}'
@ -90,13 +89,11 @@
- IDC_PrimaryObjectReportField: '{59EA0C72-4800-48BA-84A4-DDFE10E5F4D0}'
- IDC_RelationshipReportField: '{FC4E3BB5-1EA7-44FF-B828-2EA54CDD4ABB}'
- IDC_ReportField: '{655A04D9-FE35-4F89-9AAB-B8FA34989D03}'
- IDC_AttributeReportField: '{C06E0461-A956-4599-9708-012C8FE04D94}'
- IDC_Module: '{e009631d-6b9d-445c-95df-79f4ef8c8fff}'
- IDC_Report: '{19D947B6-CE82-4EEE-92EC-A4E01E27F2DB}'
- IDC_ReportColumn: '{BEFE99A1-B2EB-4365-A2C9-061C6609037B}'
- IDC_StandardReport: '{FDF4A498-DE83-417D-BA01-707372125C8D}'
- IDC_TaskCategory: '{e8d8060f-a20c-442f-8384-03488b63247f}'
@ -176,7 +173,6 @@
- IDC_InstanceSource: '{8EE7024D-ED87-4D99-BF21-10E09AF5566D}'
# {91583cc3-6007-40e5-a789-d08c0ff975e6}
- IDC_PUMProcess: '{2cdb2169-7c26-4adb-bc26-e9e75ab1b246}'
- IDC_ExecutableForPUMB: '{6590dd01-6cb9-4440-94b9-d165b9e94a88}'

View File

@ -33,6 +33,8 @@
- IDA_IPAddress: '{ADE5A3C3-A84E-4798-BC5B-E08F21380208}'
- IDA_Token: '{da7686b6-3803-4f15-97f6-7f8f3ae16668}'
- IDA_DebugDefinitionFileName: '{03bf47c7-dc97-43c8-a8c9-c6147bee4e1f}'
- IDA_DebugDefinitionLineNumber: '{822be9b7-531d-4aa1-818a-6e4de1609057}'
- IDA_DebugDefinitionColumnNumber: '{0f75c750-e738-4410-9b4e-deb422efc7aa}'
- IDA_DisplayVersionInBadge: '{BE5966A4-C4CA-49A6-B504-B6E8759F392D}'
- IDA_Editable: '{957fd8b3-fdc4-4f35-87d6-db1c0682f53c}'
- IDA_Static: '{9A3A0719-64C2-484F-A55E-22CD4597D9FD}'
@ -62,7 +64,7 @@
- IDA_BuiltFromBEMProcessNotInListForElement: '{091c806d-a06b-4ad6-a20a-b0f668909313}'
- IDA_MultipleValidClasses: '{52c67121-6ba1-4d3d-a718-7fcb5d3ae291}'
- IDA_Shared: '{4f4f2b73-6b16-4cbb-a254-a9e557040bca}'
# {95ebfd97-0951-4fd9-871e-a2e7992f3e96}
- IDA_IncludeMIs: '{c97c2410-30d8-41eb-9b71-2aecc63abf46}'
- IDA_IncludeSuperclassMethods: '{3828a3f7-57ff-409b-b814-338d5ff51e19}'
- IDA_AllowAny: '{af02b1d7-b261-4eaf-9f99-37356c74e237}'

View File

@ -158,7 +158,6 @@
- IDR_Report__has__Report_Data_Source: "{1DE7B484-F9E3-476A-A9D3-7D2A86B55845}"
- IDR_Report__has__Prompt: "{5D112697-303F-419F-886F-3F09F0670B07}"
- IDR_Report_Column__has__Report_Field: "{B9026910-7E91-4EE1-B5F2-D7B740614831}"
- IDR_Report_Column__has__Report_Column_Option: "{41FFF5F0-B467-4986-A6FD-46FAF4A479E9}"
- IDR_Report_Data_Source__has_source__Method: "{2D5CB496-5839-46A0-9B94-30D4E2227B56}"
@ -314,12 +313,6 @@
- IDR_Control_Transaction_Method__uses__Build_Response_Method_Binding: '{d8f2f0cc-54a2-4004-a383-8c1321495531}'
- IDR_Build_Response_Method_Binding__used_by__Control_Transaction_Method: '{9b83d1f3-6569-4e98-9d88-765684abfd18}'
- IDR_Build_Attribute_Method__returns__Attribute: "{dadbf0f3-7af0-4387-a6b7-a1724a216d88}"
- IDR_Attribute__returned_by__Build_Attribute_Method: "{d5a6062b-2e84-46a1-8f54-da630ef6a48c}"
- IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute: '{bb64cd83-85c2-4c20-82eb-2a5a5ead31f1}'
- IDR_Executable_returning_Attribute__builds_for__Build_Attribute_Method: '{a43525da-c9fb-4d4d-96df-850f3911c31b}'
- IDR_Get_Instance_Set_By_System_Routine_Method__uses__System_Instance_Set_Routine: "{085bd706-eece-4604-ac04-b7af114d1d21}"
- IDR_System_Instance_Set_Routine__used_by__Get_Instance_Set_By_System_Routine_Method: "{6fb6534c-2a46-4d6d-b9df-fd581f19efed}"

View File

@ -3,8 +3,10 @@
- IDI_WorkSet_PreferredDisplayName: '{86149123-6d32-4f48-b128-8f773cdb2b0e}'
- IDI_WorkSet_RelatedInstance: '{d9634929-0bb4-482a-85cc-9c8f1251556f}'
- IDI_WorkSet_Person: '{23026091-2841-4abd-b0d9-f6758e443bd2}'
- IDI_WorkSet_PersonSingular: '{e0e0cacd-854c-4585-bc3a-67d1583eb7bd}'
- IDI_WorkSet_MethodSingular: '{9e44ae02-3008-4b84-9295-aa4c37ee53aa}'
- IDI_WorkSet_ClassSingular: '{4b1fc1e1-46d6-4fe5-bd7e-8ea5c3380efe}'
- IDI_WorkSet_ClassNonsingular: '{d37946fc-e4f8-410b-bdfc-98ed6ed271dc}'
- IDI_WorkSet_ClassForMethod: '{d8eeff45-acbc-4031-8b09-bf9b8085c185}'
- IDI_WorkSet_ParentClass: '{98da8ac1-1fea-4cb4-a278-0c5460e625fd}'
- IDI_WorkSet_AccessModifierSingular: '{73251409-5060-4983-896a-00dee10d3f6c}'
@ -20,4 +22,5 @@
- IDI_WorkSet_ClassForInstance: '{f0c9cd17-044b-4caa-b188-2ed2bdd89dc4}'
- IDI_WorkSet_TaskRelatedInstance: '{d3860252-491e-469e-939e-702d56d88063}'
- IDI_WorkSet_InstanceNonsingular: '{d0d58858-7716-489b-bd95-4f3ae1ac05a3}'
- IDI_WorkSet_SiblingRelationship: '{e5d14540-fad5-4ec4-bc08-a695234f3c73}'
- IDI_WorkSet_SiblingRelationship: '{e5d14540-fad5-4ec4-bc08-a695234f3c73}'
- IDI_WorkSet_BuildAttributeMethodComponentNonsingular: '{3db83818-4585-4f53-bdb7-ce7e8f83892b}'

View File

@ -258,22 +258,6 @@
siblingRelationshipId: '&IDR_Relationship__has_destination__Class;'
singular: no
- relationship: '&IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute;'
index: 219
sourceClassId: '&IDC_BuildAttributeMethod;'
type: 'builds with'
destinationClassId: '&IDC_ExecutableReturningAttribute;'
siblingRelationshipId: '&IDR_Executable_returning_Attribute__builds_for__Build_Attribute_Method;'
singular: no
- relationship: '&IDR_Executable_returning_Attribute__builds_for__Build_Attribute_Method;'
index: 220
sourceClassId: '&IDC_ExecutableReturningAttribute;'
type: 'builds for'
destinationClassId: '&IDC_BuildAttributeMethod;'
siblingRelationshipId: '&IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute;'
singular: no
- relationship: '&IDR_Class__has__Instance;'
index: 249
sourceClassId: '&IDC_Class;'

View File

@ -5,6 +5,7 @@
- class: '&IDC_BooleanAttribute;'
name: Boolean Attribute
index: 5
customTagName: 'booleanAttribute'
superclasses:
- instance: '&IDC_Attribute;'
- instance: '&IDC_ExecutableReturningAttribute;'

View File

@ -42,11 +42,18 @@
name: 'Person'
validClasses:
- instance: '&IDC_Person;'
- workSet: '&IDI_WorkSet_PersonSingular;'
name: 'Person [Singular]'
validClasses:
- instance: '&IDC_Person;'
singular: yes
- workSet: '&IDI_WorkSet_MethodSingular;'
name: 'Method [Singular]'
singular: yes
- workSet: '&IDI_WorkSet_ClassSingular;'
name: 'Class [Singular]'
- workSet: '&IDI_WorkSet_ClassNonsingular;'
name: 'Class [Nonsingular]'
singular: yes
- workSet: '&IDI_WorkSet_ClassForMethod;'
name: 'Class for Method'
@ -95,4 +102,7 @@
singular: no
- workSet: '&IDI_WorkSet_SiblingRelationship;'
name: 'Sibling Relationship'
singular: yes
singular: yes
- workSet: '&IDI_WorkSet_BuildAttributeMethodComponentNonsingular;'
name: 'Build Attribute Method Component [Nonsingular]'
singular: no

View File

@ -1,4 +1,19 @@
---
- entityDefinitions:
- IDR_Build_Attribute_Method__returns__Attribute: "{dadbf0f3-7af0-4387-a6b7-a1724a216d88}"
- IDR_Attribute__returned_by__Build_Attribute_Method: "{d5a6062b-2e84-46a1-8f54-da630ef6a48c}"
- IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute: '{bb64cd83-85c2-4c20-82eb-2a5a5ead31f1}'
- IDR_Executable_returning_Attribute__builds_for__Build_Attribute_Method: '{a43525da-c9fb-4d4d-96df-850f3911c31b}'
- IDC_BuildAttributeMethodComponent: '{96460c4a-f719-4933-91d4-480f89d088ec}'
- IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component: '{b4fad1b8-711c-4e84-82d0-e9a9e41e8aa7}'
- IDR_Build_Attribute_Method_Component__builds_for__Build_Attribute_Method: '{f168e31f-c516-443a-b82b-223c969bcf08}'
- IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute: '{9d2acd01-5c6d-4a95-b77e-5261ba109540}'
- IDR_Executable_returning_Attribute__used_by__Build_Attribute_Method_Component: '{d043a52a-1571-486f-b8de-000e92b663c6}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_BuildAttributeMethod;'
@ -32,11 +47,22 @@
customTagName: 'accessModifierId'
- instance: '&IDR_Build_Attribute_Method__returns__Attribute;'
customTagName: 'returnsAttributeId'
- instance: '&IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute;'
- instance: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
customTagName: 'buildsWithAttributes'
customTagNameCreatesInstanceOf: '&IDC_BuildAttributeMethodComponent;'
- instance: '&IDR_Instance__for__Module;'
customTagName: 'moduleId'
- class: '&IDC_BuildAttributeMethodComponent;'
name: 'Build Attribute Method Component'
registerForTemplate: yes
attributes:
- instance: '&IDA_Order;'
customTagName: 'order'
relationships:
- instance: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
customTagName: 'executes'
- relationship: '&IDR_Build_Attribute_Method__returns__Attribute;'
index: 60
sourceClassId: '&IDC_BuildAttributeMethod;'
@ -52,3 +78,35 @@
destinationClassId: '&IDC_BuildAttributeMethod;'
siblingRelationshipId: '&IDR_Build_Attribute_Method__returns__Attribute;'
singular: no
- relationship: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
index: 219
sourceClassId: '&IDC_BuildAttributeMethod;'
type: 'builds with'
destinationClassId: '&IDC_BuildAttributeMethodComponent;'
siblingRelationshipId: '&IDR_Build_Attribute_Method_Component__builds_for__Build_Attribute_Method;'
singular: no
- relationship: '&IDR_Build_Attribute_Method_Component__builds_for__Build_Attribute_Method;'
index: 220
sourceClassId: '&IDC_BuildAttributeMethodComponent;'
type: 'builds for'
destinationClassId: '&IDC_BuildAttributeMethod;'
siblingRelationshipId: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
singular: no
- relationship: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
index: 227
sourceClassId: '&IDC_BuildAttributeMethodComponent;'
type: 'uses'
destinationClassId: '&IDC_ExecutableReturningAttribute;'
siblingRelationshipId: '&IDR_Executable_returning_Attribute__used_by__Build_Attribute_Method_Component;'
singular: yes
- relationship: '&IDR_Executable_returning_Attribute__used_by__Build_Attribute_Method_Component;'
index: 228
sourceClassId: '&IDC_ExecutableReturningAttribute;'
type: 'used by'
destinationClassId: '&IDC_BuildAttributeMethodComponent;'
siblingRelationshipId: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
singular: no

View File

@ -5,6 +5,7 @@
name: Person
index: 33
customTagName: 'person'
registerForTemplate: yes
relationships:
- instance: '&IDR_Person__has__Person_Name;'
customTagName: 'names'

View File

@ -1,4 +1,8 @@
---
- entityDefinitions:
- IDR_Element_Content__has__EC_Dynamic_Display_Option: '{4a41391a-c325-4182-920a-a94ad28c15fa}'
- IDR_EC_Dynamic_Display_Option__for__Element_Content: '{1c0d0aaa-d40b-4e21-9ee7-30a9bb4de5c0}'
- library: '&IDL_MochaBaseSystem;'
instances:
- relationship: '&IDR_Element_Content__has__Instance;'
@ -34,6 +38,22 @@
siblingRelationshipId: '&IDR_Element_Content__has__Layout;'
singular: no
- relationship: '&IDR_Element_Content__has__EC_Dynamic_Display_Option;'
index: 259
sourceClassId: '&IDC_ElementContent;'
type: 'has'
destinationClassId: '&IDC_ECDynamicDisplayOption;'
siblingRelationshipId: '&IDR_EC_Dynamic_Display_Option__for__Element_Content;'
singular: no
- relationship: '&IDR_EC_Dynamic_Display_Option__for__Element_Content;'
index: 260
sourceClassId: '&IDC_ECDynamicDisplayOption;'
type: 'for'
destinationClassId: '&IDC_ElementContent;'
siblingRelationshipId: '&IDR_Element_Content__has__EC_Dynamic_Display_Option;'
singular: no
- class: '&IDC_ElementContent;'
name: Element Content
index: 56
@ -58,8 +78,12 @@
customTagName: 'layout'
- instance: '&IDR_Element_Content__built_from__BEM_Process;'
customTagName: 'builtFromBEMProcess'
customTagNameCreatesInstanceOf: '&IDC_BEMProcess;'
- instance: '&IDR_Derived_Element_Content__update_with__Executable_returning_Work_Data;'
customTagName: 'value'
- instance: '&IDR_Element_Content__has__EC_Dynamic_Display_Option;'
customTagName: 'dynamicDisplayOptions'
customTagNameCreatesInstanceOf: '&IDC_ECDynamicDisplayOption;'
instances:
- instance: '&IDI_Element_AddMetadataInstance;'
name: add metadata instance

View File

@ -0,0 +1,10 @@
---
- entityDefinitions:
- IDC_DisplayOption: '{0510527e-7a9b-4e51-a8e5-a0e98c98b86f}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_DisplayOption;'
name: Display Option
index: 61
abstract: yes

View File

@ -0,0 +1,58 @@
---
- entityDefinitions:
- IDC_DynamicDisplayOption: '{4a66cf04-fda3-44c5-855a-688012fc08b7}'
- IDR_Dynamic_Display_Option__add__Display_Option: '{2ed33b28-f84d-4120-b585-be965cfb691f}'
- IDR_Display_Option__add_with__Dynamic_Display_Option: '{cad73771-dcc1-4314-9f94-948c16ac6f66}'
- IDR_Dynamic_Display_Option__remove__Display_Option: '{dc06bf0b-70dd-4f71-854d-0f5685e2124f}'
- IDR_Display_Option__remove_with__Dynamic_Display_Option: '{48d7ba17-5051-4366-9abb-ee82f4e91644}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_DynamicDisplayOption;'
name: Dynamic Display Option
index: 115
registerForTemplate: yes
relationships:
- instance: '&IDR_Dynamic_Display_Option__add__Display_Option;'
customTagName: 'addsDisplayOptions'
- instance: '&IDR_Dynamic_Display_Option__remove__Display_Option;'
customTagName: 'removesDisplayOptions'
translations:
- relationship: '&IDR_Class__has_title__Translation;'
values:
- languageInstanceId: '&IDI_Language_English;'
value: 'Dynamic Display Option'
- relationship: '&IDR_Dynamic_Display_Option__add__Display_Option;'
index: 243
sourceClassId: '&IDC_DynamicDisplayOption;'
type: 'add'
destinationClassId: '&IDC_DisplayOption;'
siblingRelationshipId: '&IDR_Display_Option__add_with__Dynamic_Display_Option;'
singular: no
- relationship: '&IDR_Display_Option__add_with__Dynamic_Display_Option;'
index: 244
sourceClassId: '&IDC_DisplayOption;'
type: 'add with'
destinationClassId: '&IDC_DynamicDisplayOption;'
siblingRelationshipId: '&IDR_Dynamic_Display_Option__add__Display_Option;'
singular: no
- relationship: '&IDR_Dynamic_Display_Option__remove__Display_Option;'
index: 245
sourceClassId: '&IDC_DynamicDisplayOption;'
type: 'remove'
destinationClassId: '&IDC_DisplayOption;'
siblingRelationshipId: '&IDR_Display_Option__remove_with__Dynamic_Display_Option;'
singular: no
- relationship: '&IDR_Display_Option__remove_with__Dynamic_Display_Option;'
index: 246
sourceClassId: '&IDC_DisplayOption;'
type: 'remove with'
destinationClassId: '&IDC_DynamicDisplayOption;'
siblingRelationshipId: '&IDR_Dynamic_Display_Option__remove__Display_Option;'
singular: no

View File

@ -1,42 +1,42 @@
---
- entityDefinitions:
- IDC_ECDynamicDisplayOption: '{f0614549-adc7-4a1c-8e52-72181846ad08}'
- IDR_EC_Dynamic_Display_Option__modifies__Element_Content: '{4d091643-2bfc-4b83-b3e4-8a3b22c665a9}'
- IDR_Element_Content__modified_by__EC_Dynamic_Display_Option: '{659f9aff-790b-45bf-8294-1657116743c4}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ElementContentDisplayOption;'
name: Element Content Display Option
- class: '&IDC_ECDynamicDisplayOption;'
name: EC Dynamic Display Option
index: 116
# instancesLabeledByRAMB: '&IDMB_Instance__get__Name;'
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'
registerForTemplate: yes
relationships:
- instance: '&IDR_EC_Dynamic_Display_Option__modifies__Element_Content;'
customTagName: 'modifiesElementContents'
- instance: '&IDR_Dynamic_Display_Option__add__Display_Option;'
customTagName: 'addsDisplayOptions'
- instance: '&IDR_Dynamic_Display_Option__remove__Display_Option;'
customTagName: 'removesDisplayOptions'
translations:
- relationship: '&IDR_Class__has_title__Translation;'
values:
- languageInstanceId: '&IDI_Language_English;'
value: 'Element Content Display Option'
instances:
- instance: '&IDI_DisplayOption_DisplayAsPageTitle;'
name: Display as Page Title
- instance: '&IDI_DisplayOption_NotEnterable;'
name: Not Enterable
- instance: '&IDI_DisplayOption_SubmitNotEnterable;'
name: Submit Not Enterable
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
name: Show Subelements Vertically
- instance: '&IDI_DisplayOption_Singular;'
name: Singular
- instance: '&IDI_DisplayOption_DoNotShow;'
name: Do Not Show
- instance: '&IDI_DisplayOption_InitializeForEntry;'
name: Initialize For Entry
- instance: '&IDI_DisplayOption_DoNotShowLabel;'
name: Do Not Show Label
- instance: '&IDI_DisplayOption_WideText;'
name: Wide Text
- instance: '&IDI_DisplayOption_Required;'
name: Required
- instance: '&IDI_DisplayOption_DoNotShowIfEmpty;'
name: Do Not Show If Empty
- instance: '&IDI_DisplayOption_ObscuredText;'
name: Obscured Text
- instance: '&IDI_DisplayOption_RowsNotEditable;'
name: Rows Not Editable
value: 'EC Dynamic Display Option'
- relationship: '&IDR_EC_Dynamic_Display_Option__modifies__Element_Content;'
index: 262
sourceClassId: '&IDC_ECDynamicDisplayOption;'
type: 'modifies'
destinationClassId: '&IDC_ElementContent;'
siblingRelationshipId: '&IDR_Element_Content__modified_by__EC_Dynamic_Display_Option;'
singular: no
- relationship: '&IDR_Element_Content__modified_by__EC_Dynamic_Display_Option;'
index: 261
sourceClassId: '&IDC_ElementContent;'
type: 'modified by'
destinationClassId: '&IDC_ECDynamicDisplayOption;'
siblingRelationshipId: '&IDR_EC_Dynamic_Display_Option__modifies__Element_Content;'
singular: no

View File

@ -0,0 +1,12 @@
- entityDefinitions:
- IDC_ReportField: '{655A04D9-FE35-4F89-9AAB-B8FA34989D03}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ReportField;'
name: 'Report Field'
customTagName: 'reportField'
index: 146
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'

View File

@ -0,0 +1,39 @@
- entityDefinitions:
- IDC_SourceDefinition: '{5d0b2f03-4886-4ba6-ac3c-8f9612963fa6}'
- IDR_Instance__has__Source_Definition: '{57cbc351-0428-47e6-a6db-445e4503abab}'
- IDR_Source_Definition__for__Instance: '{4a2fc1bf-29d5-4c39-8489-38ec25e6ae2b}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_SourceDefinition;'
name: Source Definition
index: 473
attributes:
- instance: '&IDA_DebugDefinitionFileName;'
- instance: '&IDA_DebugDefinitionLineNumber;'
- instance: '&IDA_DebugDefinitionColumnNumber;'
- textAttribute: '&IDA_DebugDefinitionFileName;'
name: 'Source Definition File Name'
- textAttribute: '&IDA_DebugDefinitionLineNumber;'
name: 'Source Definition Line Number'
- textAttribute: '&IDA_DebugDefinitionColumnNumber;'
name: 'Source Definition Column Number'
- relationship: '&IDR_Instance__has__Source_Definition;'
index: 865
sourceClassId: '&IDC_Instance;'
type: 'has'
destinationClassId: '&IDC_SourceDefinition;'
siblingRelationshipId: '&IDR_Source_Definition__for__Instance;'
singular: yes
- relationship: '&IDR_Source_Definition__for__Instance;'
index: 866
sourceClassId: '&IDC_SourceDefinition;'
type: 'for'
destinationClassId: '&IDC_Instance;'
siblingRelationshipId: '&IDR_Instance__has__Source_Definition;'
singular: no

View File

@ -0,0 +1,11 @@
- entityDefinitions:
- IDC_EntityDefinition: '{15ffa529-6aab-4f1f-8720-f2534951b045}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_EntityDefinition;'
name: Entity Definition
index: 474
attributes:
- instance: '&IDA_Name;'
- instance: '&IDA_Value;'

View File

@ -0,0 +1,42 @@
---
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ElementContentDisplayOption;'
name: Derived EC Display Option
index: 924
# instancesLabeledByRAMB: '&IDMB_Instance__get__Name;'
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'
translations:
- relationship: '&IDR_Class__has_title__Translation;'
values:
- languageInstanceId: '&IDI_Language_English;'
value: 'Element Content Display Option'
instances:
- instance: '&IDI_DisplayOption_DisplayAsPageTitle;'
name: Display as Page Title
- instance: '&IDI_DisplayOption_NotEnterable;'
name: Not Enterable
- instance: '&IDI_DisplayOption_SubmitNotEnterable;'
name: Submit Not Enterable
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
name: Show Subelements Vertically
- instance: '&IDI_DisplayOption_Singular;'
name: Singular
- instance: '&IDI_DisplayOption_DoNotShow;'
name: Do Not Show
- instance: '&IDI_DisplayOption_InitializeForEntry;'
name: Initialize For Entry
- instance: '&IDI_DisplayOption_DoNotShowLabel;'
name: Do Not Show Label
- instance: '&IDI_DisplayOption_WideText;'
name: Wide Text
- instance: '&IDI_DisplayOption_Required;'
name: Required
- instance: '&IDI_DisplayOption_DoNotShowIfEmpty;'
name: Do Not Show If Empty
- instance: '&IDI_DisplayOption_ObscuredText;'
name: Obscured Text
- instance: '&IDI_DisplayOption_RowsNotEditable;'
name: Rows Not Editable

View File

@ -0,0 +1,41 @@
- entityDefinitions:
- IDC_CustomReportDefinition: '{f9d14e7b-d48e-4d1b-9924-5a27e3ce40dd}'
- IDI_DataSource_AllClasses: '{5c52dcd3-8ece-4390-addb-e0395cff0c94}'
- IDI_ReportObject_Class: '{eae859fb-af47-4dcc-b5fd-26ab1ce5cbb0}'
- IDI_ReportField_Class_Class: '{57e84723-4e50-4fef-a0e8-e22d47dbf8c2}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_CustomReportDefinition;'
name: Custom Report Definition
index: 1422
moduleId: '&IDI_Module_MochaBaseSystem_Reporting;'
customTagName: 'customReport'
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'
relationships:
- instance: '&IDR_Report_Definition__has__Report_Column;'
customTagName: 'columns'
customTagNameCreatesInstanceOf: '&IDC_ReportColumn;'
- instance: '&IDR_Report_Definition__uses__Data_Source;'
customTagName: 'dataSourceId'
defaultTask: '&IDI_Task_CustomReportDefinition_View;'
relatedTasks:
- instance: '&IDI_Task_CustomReportDefinition_View;'
- instance: '&IDI_Task_CustomReportDefinition_Edit;'
- class: '&IDC_ReportObject;'
name: 'Report Object'
customTagName: 'reportObject'
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'
- reportObject: '&IDI_ReportObject_Class;'
name: 'Class'
- reportField: '&IDI_ReportField_Class_Class;'
name: 'Class'

View File

@ -0,0 +1,28 @@
- entityDefinitions:
- IDC_ReportFilter: '{015b2ade-75ec-427a-aa2f-3fed585db84a}'
- IDR_Report_Definition__has_top_level__Report_Filter: '{4b49f9da-19d7-4a7c-b3a0-a9397fbf855c}'
- IDR_Report_Filter__top_level_for__Report_Definition: '{ccd247ef-31c8-4acd-bae9-ed710787f08d}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ReportFilter;'
name: Report Filter
index: 1429
registerForTemplate: yes
- relationship: '&IDR_Report_Definition__has_top_level__Report_Filter;'
index: 3664
sourceClassId: '&IDC_ReportDefinition;'
type: 'has top level'
destinationClassId: '&IDC_ReportFilter;'
siblingRelationshipId: '&IDR_Report_Filter__top_level_for__Report_Definition;'
singular: no
- relationship: '&IDR_Report_Filter__top_level_for__Report_Definition;'
index: 3665
sourceClassId: '&IDC_ReportFilter;'
type: 'top level for'
destinationClassId: '&IDC_ReportDefinition;'
siblingRelationshipId: '&IDR_Report_Definition__has_top_level__Report_Filter;'
singular: no

View File

@ -0,0 +1,11 @@
- entityDefinitions:
- IDC_DataSource: '{622be6ec-e57e-47dd-a2ab-248515b6c88d}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_DataSource;'
name: Data Source
index: 1431
abstract: yes
moduleId: '&IDI_Module_MochaBaseSystem_Reporting;'

View File

@ -9,8 +9,16 @@
name: System Data Source
index: 1435
moduleId: '&IDI_Module_MochaBaseSystem_Reporting;'
customTagName: 'systemDataSource'
superclasses:
- instance: '&IDC_DataSource;'
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'
relationships:
- instance: '&IDR_System_Data_Source__uses__Return_Instance_Set_Method_Binding;'
customTagName: 'usesReturnInstanceSetMethodBinding'
relationships:
- relationship: '&IDR_System_Data_Source__uses__Return_Instance_Set_Method_Binding;'
index: 3712
sourceClassId: '&IDC_SystemDataSource;'
@ -26,3 +34,7 @@
destinationClassId: '&IDC_SystemDataSource;'
siblingRelationshipId: '&IDR_System_Data_Source__uses__Return_Instance_Set_Method_Binding;'
singular: no
- systemDataSource: '&IDI_DataSource_AllClasses;'
usesReturnInstanceSetMethodBinding: '&IDMB_Class__get__All_Classes;'
name: 'All Classes'

View File

@ -0,0 +1,26 @@
- entityDefinitions:
- IDC_ReportSortDirection: '{2c4d841b-20e0-41a7-a3ac-9653508768ef}'
- IDI_ReportSortDirection_AlphabeticalAscending: '{f55bf4d1-07b7-4dc7-b22d-a12ea4a54c53}'
- IDI_ReportSortDirection_AlphabeticalDescending: '{8cb2f68d-f98a-4138-93f8-afe89c3bd35d}'
- IDI_ReportSortDirection_NumericAscending: '{6223f417-9524-4af9-9002-3e322e5a74a4}'
- IDI_ReportSortDirection_NumericDescending: '{046d487c-60f4-45d5-b83c-1d21d24991e3}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ReportSortDirection;'
name: 'Report Sort Direction'
index: 1516
customTagName: 'reportSortDirection'
attributes:
- instance: '&IDA_Name;'
customTagName: 'name'
- reportSortDirection: '&IDI_ReportSortDirection_AlphabeticalAscending;'
name: 'Alphabetical - Ascending'
- reportSortDirection: '&IDI_ReportSortDirection_AlphabeticalDescending;'
name: 'Alphabetical - Descending'
- reportSortDirection: '&IDI_ReportSortDirection_NumericAscending;'
name: 'Numeric - Ascending'
- reportSortDirection: '&IDI_ReportSortDirection_NumericDescending;'
name: 'Numeric - Descending'

View File

@ -1,6 +1,31 @@
- entityDefinitions:
- IDC_GroupLayout: '{108605af-c20d-42eb-af4f-35b2ff701921}'
- IDR_Group_Layout__uses__Group_Layout_Option: '{5bea01b6-c33e-4f37-a940-579712ab47c7}'
- IDR_Group_Layout_Option__used_by__Group_Layout: '{fc7944a5-84c5-46fb-b605-ba677158f0b0}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_GroupLayout;'
name: 'Group Layout'
index: 1599
customTagName: 'groupLayout'
relationships:
- instance: '&IDR_Group_Layout__uses__Group_Layout_Option;'
customTagName: 'options'
- relationship: '&IDR_Group_Layout__uses__Group_Layout_Option;'
index: 4265
sourceClassId: '&IDC_GroupLayout;'
type: 'uses'
destinationClassId: '&IDC_GroupLayoutOption;'
siblingRelationshipId: '&IDR_Group_Layout_Option__used_by__Group_Layout;'
singular: no
- relationship: '&IDR_Group_Layout_Option__used_by__Group_Layout;'
index: 4266
sourceClassId: '&IDC_GroupLayoutOption;'
type: 'used by'
destinationClassId: '&IDC_GroupLayout;'
siblingRelationshipId: '&IDR_Group_Layout__uses__Group_Layout_Option;'
singular: no

View File

@ -0,0 +1,14 @@
- entityDefinitions:
- IDC_GroupLayoutOption: '{cafe4a35-f89c-4d73-a645-8788c5781757}'
- IDI_GroupLayoutOption_Tabbed: '{f600c4f6-964b-4a27-b5b0-24fd4c8d0878}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_GroupLayoutOption;'
name: 'Group Layout Option'
index: 1603
customTagName: 'groupLayoutOption'
- groupLayoutOption: '&IDI_GroupLayoutOption_Tabbed;'
name: 'Tabbed'

View File

@ -0,0 +1,64 @@
- entityDefinitions:
- IDC_ReportDefinition: '{19D947B6-CE82-4EEE-92EC-A4E01E27F2DB}'
- IDR_Report_Definition__has__Report_Column: '{05d8644c-111a-42c5-9494-76c6b2898380}'
- IDR_Report_Column__for__Report_Definition: '{0f4fbce4-bd02-4de0-8676-7596fb202b28}'
- IDR_Report_Definition__has__Report_Sort_Descriptor: '{91583cc3-6007-40e5-a789-d08c0ff975e6}'
- IDR_Report_Sort_Descriptor__for__Report_Definition: '{5131d10c-ac40-42d0-b831-54f78d8f70dd}'
- IDR_Report_Definition__uses__Data_Source: '{1DE7B484-F9E3-476A-A9D3-7D2A86B55845}'
- IDR_Data_Source__used_by__Report_Definition: '{05DA3D00-0EAE-454E-A7D9-C7382EDCD15F}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ReportDefinition;'
name: Report Definition
index: 4296
abstract: yes
moduleId: '&IDI_Module_MochaBaseSystem_Reporting;'
- relationship: '&IDR_Report_Definition__has__Report_Column;'
index: 3654
sourceClassId: '&IDC_ReportDefinition;'
type: 'has'
destinationClassId: '&IDC_ReportColumn;'
siblingRelationshipId: '&IDR_Report_Column__for__Report_Definition;'
singular: no
- relationship: '&IDR_Report_Column__for__Report_Definition;'
index: 3655
sourceClassId: '&IDC_ReportColumn;'
type: 'for'
destinationClassId: '&IDC_ReportDefinition;'
siblingRelationshipId: '&IDR_Report_Definition__has__Report_Column;'
singular: no
- relationship: '&IDR_Report_Definition__has__Report_Sort_Descriptor;'
index: 3658
sourceClassId: '&IDC_ReportDefinition;'
type: 'has'
destinationClassId: '&IDC_ReportSortDescriptor;'
siblingRelationshipId: '&IDR_Report_Sort_Descriptor__for__Report_Definition;'
singular: no
- relationship: '&IDR_Report_Sort_Descriptor__for__Report_Definition;'
index: 3659
sourceClassId: '&IDC_ReportSortDescriptor;'
type: 'for'
destinationClassId: '&IDC_ReportDefinition;'
siblingRelationshipId: '&IDR_Report_Definition__has__Report_Sort_Descriptor;'
singular: no
- relationship: '&IDR_Report_Definition__uses__Data_Source;'
index: 3718
sourceClassId: '&IDC_ReportDefinition;'
type: 'uses'
destinationClassId: '&IDC_DataSource;'
siblingRelationshipId: '&IDR_Data_Source__used_by__Report_Definition;'
singular: yes
- relationship: '&IDR_Data_Source__used_by__Report_Definition;'
index: 3719
sourceClassId: '&IDC_DataSource;'
type: 'used by'
destinationClassId: '&IDC_ReportDefinition;'
siblingRelationshipId: '&IDR_Report_Definition__uses__Data_Source;'
singular: no

View File

@ -0,0 +1,57 @@
- entityDefinitions:
- IDC_ReportColumn: '{BEFE99A1-B2EB-4365-A2C9-061C6609037B}'
- IDR_Report_Column__has__Report_Field: "{B9026910-7E91-4EE1-B5F2-D7B740614831}"
- IDR_Report_Field__for__Report_Column: '{82f6833d-5098-4477-8ab6-7d1118dcebf3}'
- IDR_Report_Column__has__Report_Object: '{a8d3b1d1-095f-4587-b417-02f204ae7dbd}'
- IDR_Report_Object__for__Report_Column: '{b20ae7ff-79c0-4d2c-b075-6fd18b431772}'
- library: '&IDL_MochaBaseSystem;'
instances:
- class: '&IDC_ReportColumn;'
name: Report Column
index: 4310
moduleId: '&IDI_Module_MochaBaseSystem_Reporting;'
registerForTemplate: yes
attributes:
- instance: '&IDA_Order;'
customTagName: 'order'
- instance: '&IDA_LabelOverride;'
customTagName: 'columnHeadingOverride'
relationships:
- instance: '&IDR_Report_Column__has__Report_Object;'
customTagName: 'reportObjectId'
- instance: '&IDR_Report_Column__has__Report_Field;'
customTagName: 'reportFieldId'
- relationship: '&IDR_Report_Column__has__Report_Field;'
index: 3692
sourceClassId: '&IDC_ReportColumn;'
type: 'has'
destinationClassId: '&IDC_ReportField;'
siblingRelationshipId: '&IDR_Report_Field__for__Report_Column;'
singular: yes
- relationship: '&IDR_Report_Field__for__Report_Column;'
index: 3693
sourceClassId: '&IDC_ReportField;'
type: 'for'
destinationClassId: '&IDC_ReportColumn;'
siblingRelationshipId: '&IDR_Report_Column__has__Report_Field;'
singular: no
- relationship: '&IDR_Report_Column__has__Report_Object;'
index: 3695
sourceClassId: '&IDC_ReportColumn;'
type: 'has'
destinationClassId: '&IDC_ReportObject;'
siblingRelationshipId: '&IDR_Report_Object__for__Report_Column;'
singular: yes
- relationship: '&IDR_Report_Object__for__Report_Column;'
index: 3696
sourceClassId: '&IDC_ReportObject;'
type: 'for'
destinationClassId: '&IDC_ReportColumn;'
siblingRelationshipId: '&IDR_Report_Column__has__Report_Object;'
singular: no

View File

@ -0,0 +1,73 @@
- entityDefinitions:
- IDC_ReportSortDescriptor: '{26540b51-9a9d-4988-b5a0-199a9f1e4ae1}'
- IDR_Report_Sort_Descriptor__has__Report_Field: '{ae848770-22dd-454c-8208-28f980bc5ebf}'
- IDR_Report_Field__for__Report_Sort_Descriptor: '{419d69c7-477a-43bf-bb9a-421d01894eb7}'
- IDR_Report_Sort_Descriptor__has__Report_Sort_Direction: '{e87b778a-4ed2-4ec7-8840-ab14d6be81d8}'
- IDR_Report_Sort_Direction_for__Report_Sort_Descriptor: '{6f7d1442-27fb-4d8c-9599-febbe0046d16}'
- IDA_DisplayHeaders: '{0cb4daad-a3bb-40c2-a842-007ad68e2ed9}'
- IDA_SummarizeDetailRows: '{0b8670f0-7f62-46dd-a2be-b7eee37b8149}'
- IDA_DisplaySubtotals: '{0b95556c-a40e-471a-b5c3-09dd0f55d232}'
- library: '&IDL_MochaBaseSystem;'
instances:
- booleanAttribute: '&IDA_DisplayHeaders;'
name: 'Display Headers'
- booleanAttribute: '&IDA_SummarizeDetailRows;'
name: 'Summarize Detail Rows'
- booleanAttribute: '&IDA_DisplaySubtotals;'
name: 'Display Subtotals'
- class: '&IDC_ReportSortDescriptor;'
name: Report Sort Descriptor
index: 4319
moduleId: '&IDI_Module_MochaBaseSystem_Reporting;'
registerForTemplate: yes
attributes:
- instance: '&IDA_DisplayHeaders;'
customTagName: 'displayHeaders'
- instance: '&IDA_SummarizeDetailRows'
customTagName: 'summarizeDetailRows'
- instance: '&IDA_DisplaySubtotals;'
customTagName: 'displaySubtotals'
- instance: '&IDA_LabelOverride;'
customTagName: 'groupNameOverride'
relationships:
- instance: '&IDR_Report_Sort_Descriptor__has__Report_Field;'
customTagName: 'reportFieldId'
- instance: '&IDR_Report_Sort_Descriptor__has__Report_Sort_Direction;'
customTagName: 'sortDirctionId'
- relationship: '&IDR_Report_Sort_Descriptor__has__Report_Field;'
index: 3852
sourceClassId: '&IDC_ReportSortDescriptor;'
type: 'has'
destinationClassId: '&IDC_ReportField;'
siblingRelationshipId: '&IDR_Report_Field__for__Report_Sort_Descriptor;'
singular: yes
- relationship: '&IDR_Report_Field__for__Report_Sort_Descriptor;'
index: 3853
sourceClassId: '&IDC_ReportField;'
type: 'for'
destinationClassId: '&IDC_ReportSortDescriptor;'
siblingRelationshipId: '&IDR_Report_Sort_Descriptor__has__Report_Field;'
singular: no
- relationship: '&IDR_Report_Sort_Descriptor__has__Report_Sort_Direction;'
index: 4015
sourceClassId: '&IDC_ReportSortDescriptor;'
type: 'has'
destinationClassId: '&IDC_ReportSortDirection;'
siblingRelationshipId: '&IDR_Report_Sort_Direction_for__Report_Sort_Descriptor;'
singular: yes
- relationship: '&IDR_Report_Sort_Direction_for__Report_Sort_Descriptor;'
index: 4016
sourceClassId: '&IDC_ReportSortDirection;'
type: 'for'
destinationClassId: '&IDC_ReportSortDescriptor;'
siblingRelationshipId: '&IDR_Report_Sort_Descriptor__has__Report_Sort_Direction;'
singular: no

View File

@ -0,0 +1,14 @@
- entityDefinitions:
- IDM_Class__get__All_Classes: '{e70beb49-92ee-44fe-9014-5ded09cd8726}'
- IDMB_Class__get__All_Classes: '{ff9a0e0f-c72b-4b9f-9b6e-6b536cd5161d}'
- library: '&IDL_MochaBaseSystem;'
instances:
- getInstancesMethod: '&IDM_Class__get__All_Classes;'
forClassId: '&IDC_Class;'
returnsWorkSetId: '&IDI_WorkSet_ClassNonsingular;'
verb: 'get'
name: 'All Classes'
selectsInstancesOfClass: '&IDC_Class;'
- returnInstanceSetMethodBinding: '&IDMB_Class__get__All_Classes;'
executesMethod: '&IDM_Class__get__All_Classes;'

View File

@ -12,11 +12,16 @@
initialValue: ''
returnsAttributeId: '&IDA_Value;'
buildsWithAttributes:
- instance: '&IDMB_Element_Content__get__Element_Name;'
- instance: '&IDMB_Common_Text__get__Forward_Slash;' #/
- instance: '&IDMB_Element_Content__get__Order;' #a, b, c, etc.
- instance: '&IDMB_Common_Text__get__Forward_Slash;' #/
- instance: '&IDMB_Element_Content__get__Data_Type_Name;'
- order: a
executes: '&IDMB_Element_Content__get__Element_Name;'
- order: b
executes: '&IDMB_Common_Text__get__Forward_Slash;' #/
- order: c
executes: '&IDMB_Element_Content__get__Order;' #a, b, c, etc.
- order: d
executes: '&IDMB_Common_Text__get__Forward_Slash;' #/
- order: e
executes: '&IDMB_Element_Content__get__Data_Type_Name;'
- returnAttributeMethodBinding: '&IDMB_Element_Content__get__Fully_Qualified_Name;'
executesMethod: '&IDM_Element_Content__get__Fully_Qualified_Name;'

View File

@ -20,6 +20,3 @@
# - globalIdentifier: '{5e89d13d-70e7-45e1-886c-ca2244eb3edf}'
# assignsToParameter: '&IDC_Method;'
# assignsFromWorkData: '&IDI_WorkSet_MethodSingular;'
# {25f94f39-7788-44f4-9904-3424e39c4989}'
# {4b49f9da-19d7-4a7c-b3a0-a9397fbf855c}'

View File

@ -12,17 +12,28 @@
initialValue: ''
returnsAttributeId: '&IDA_Value;'
buildsWithAttributes:
- instance: '&IDMB_Method__get__Class_Name;'
- instance: '&IDMB_Common_Text__get__At_Sign;' #@
- instance: '&IDMB_Method__get__Verb;'
- instance: '&IDMB_Common_Text__get__Single_Space;'
- instance: '&IDMB_Method__get__Name;'
- instance: '&IDMB_Common_Text__get__Open_Parenthesis;' #(
- instance: '&IDMB_Method__get__Method_Type;' # GRA, GSI, etc.
- instance: '&IDMB_Common_Text__get__Close_Parenthesis;' #)
- instance: '&IDMB_Method__get__Parms_Qualifier_or_Empty_String;' # *P
- instance: '&IDMB_Method__get__Static_Qualifier_or_Empty_String;' # *S
- instance: '&IDMB_Method__get__Public_Qualifier_or_Empty_String;' #(public)
- order: a
executes: '&IDMB_Method__get__Class_Name;'
- order: b
executes: '&IDMB_Common_Text__get__At_Sign;' #@
- order: c
executes: '&IDMB_Method__get__Verb;'
- order: d
executes: '&IDMB_Common_Text__get__Single_Space;'
- order: e
executes: '&IDMB_Method__get__Name;'
- order: f
executes: '&IDMB_Common_Text__get__Open_Parenthesis;' #(
- order: g
executes: '&IDMB_Method__get__Method_Type;' # GRA, GSI, etc.
- order: h
executes: '&IDMB_Common_Text__get__Close_Parenthesis;' #)
- order: i
executes: '&IDMB_Method__get__Parms_Qualifier_or_Empty_String;' # *P
- order: j
executes: '&IDMB_Method__get__Static_Qualifier_or_Empty_String;' # *S
- order: k
executes: '&IDMB_Method__get__Public_Qualifier_or_Empty_String;' #(public)
- returnAttributeMethodBinding: '&IDMB_Method__get__Fully_Qualified_Name;'
executesMethod: '&IDM_Method__get__Fully_Qualified_Name;'

View File

@ -81,10 +81,14 @@
initialValue: ''
returnsAttributeId: '&IDA_Value;'
buildsWithAttributes:
- instance: '&IDMB_Method_Binding__get__Executes_Method_Name;'
- instance: '&IDMB_Common_Text__get__Open_Bracket;'
- instance: '&IDA_MethodBindingType;'
- instance: '&IDMB_Common_Text__get__Close_Bracket;'
- order: a
executes: '&IDMB_Method_Binding__get__Executes_Method_Name;'
- order: b
executes: '&IDMB_Common_Text__get__Open_Bracket;'
- order: c
executes: '&IDA_MethodBindingType;'
- order: d
executes: '&IDMB_Common_Text__get__Close_Bracket;'
- returnAttributeMethodBinding: '&IDMB_Method_Binding__get__Executes_Method_and_Method_Type_RAMB;'
executesMethod: '&IDM_Method_Binding__get__Executes_Method_and_Method_Type;'

View File

@ -0,0 +1,15 @@
- entityDefinitions:
- IDM_Person_Name__get__Family_Name: '{ec3ff199-855c-4501-bb43-fd1313188900}'
- IDMB_Person_Name__get__Family_Name: '{49c44758-e75d-4fa9-bcc6-54b7cb8b2ea7}'
- library: '&IDL_MochaBaseSystem;'
instances:
- getAttributeMethod: '&IDM_Person_Name__get__Family_Name;'
# initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)'
forClassId: '&IDC_PersonName;'
returnsAttributeId: '&IDA_FamilyName;'
verb: 'get'
name: 'Family Name'
accessModifierId: '&IDI_AccessModifier_RootA2;'
- returnInstanceSetMethodBinding: '&IDMB_Person_Name__get__Family_Name;'
executesMethod: '&IDM_Person_Name__get__Family_Name;'

View File

@ -0,0 +1,15 @@
- entityDefinitions:
- IDM_Person_Name__get__Given_Name: '{3d41778a-b616-4eb9-96ee-747fe685e694}'
- IDMB_Person_Name__get__Given_Name: '{9748bd16-2fb0-41b6-9642-b373238af515}'
- library: '&IDL_MochaBaseSystem;'
instances:
- getAttributeMethod: '&IDM_Person_Name__get__Given_Name;'
# initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)'
forClassId: '&IDC_PersonName;'
returnsAttributeId: '&IDA_GivenName;'
verb: 'get'
name: 'Given Name'
accessModifierId: '&IDI_AccessModifier_RootA2;'
- returnInstanceSetMethodBinding: '&IDMB_Person_Name__get__Given_Name;'
executesMethod: '&IDM_Person_Name__get__Given_Name;'

View File

@ -12,11 +12,16 @@
initialValue: ''
returnsAttributeId: '&IDA_Value;'
buildsWithAttributes:
- instance: '&IDMB_Relationship__get__Source_Class_Name;'
- instance: '&IDMB_Common_Text__get__Period;' #.
- instance: '&IDMB_Relationship__get__Relationship_Type;' #has, for, etc.
- instance: '&IDMB_Common_Text__get__Single_Space;'
- instance: '&IDMB_Relationship__get__Destination_Class_Name;'
- order: a
executes: '&IDMB_Relationship__get__Source_Class_Name;'
- order: b
executes: '&IDMB_Common_Text__get__Period;' #.
- order: c
executes: '&IDMB_Relationship__get__Relationship_Type;' #has, for, etc.
- order: d
executes: '&IDMB_Common_Text__get__Single_Space;'
- order: e
executes: '&IDMB_Relationship__get__Destination_Class_Name;'
- returnAttributeMethodBinding: '&IDMB_Relationship__get__Fully_Qualified_Name;'
executesMethod: '&IDM_Relationship__get__Fully_Qualified_Name;'

View File

@ -0,0 +1,31 @@
- entityDefinitions:
- IDM_Report_Definition__get__Columns: '{9c691f3b-7021-4307-b69e-2b3faca9e35a}'
- IDMB_Report_Definition__get__Columns: '{fdf15782-751d-4ecd-b6c4-d2e24a28918f}'
- IDMB_Custom_Report_Definition__get__Columns: '{2df89a86-e39d-4eba-b948-5b910d7bde95}'
- IDI_WorkSet_ReportColumnNonsingular: '{b0d89e00-5fc0-4c23-b2c4-c571d7697803}'
- library: '&IDL_MochaBaseSystem;'
instances:
- workSet: '&IDI_WorkSet_ReportColumnNonsingular;'
name: 'Report Column [Nonsingular]'
singular: no
- getReferencedInstanceSetMethod: '&IDM_Report_Definition__get__Columns;'
forClassId: '&IDC_ReportDefinition;'
returnsWorkSetId: '&IDI_WorkSet_ReportColumnNonsingular;'
verb: 'get'
name: 'Columns'
accessModifierId: '&IDI_AccessModifier_RootA2;'
referenceInstanceSet: '&IDC_ReportDefinition;'
answerInstanceSet: '&IDR_Report_Definition__has__Report_Column;'
singular: no
- returnInstanceSetMethodBinding: '&IDMB_Report_Definition__get__Columns;'
executesMethod: '&IDM_Report_Definition__get__Columns;'
- returnInstanceSetMethodBinding: '&IDMB_Custom_Report_Definition__get__Columns;'
executesMethod: '&IDM_Report_Definition__get__Columns;'
parameterAssignments:
- globalIdentifier: '{419300d1-45be-4fb3-968b-80190791efb7}'
assignsToParameter: '&IDC_ReportDefinition;'
assignsFromWorkData: '&IDC_CustomReportDefinition;'

View File

@ -0,0 +1,31 @@
- entityDefinitions:
- IDM_Report_Definition__get__Sort_Descriptors: '{46d87458-9289-4760-ad12-1a086f579f36}'
- IDMB_Report_Definition__get__Sort_Descriptors: '{ad5ff4c7-1271-464a-8fa2-6b85c92c2b62}'
- IDMB_Custom_Report_Definition__get__Sort_Descriptors: '{566205d1-3640-48c4-a0af-778145de81c6}'
- IDI_WorkSet_ReportSortDescriptorNonsingular: '{f41c6595-6403-4c47-b907-18856dffa37a}'
- library: '&IDL_MochaBaseSystem;'
instances:
- workSet: '&IDI_WorkSet_ReportSortDescriptorNonsingular;'
name: 'Report Sort Descriptor [Nonsingular]'
singular: no
- getReferencedInstanceSetMethod: '&IDM_Report_Definition__get__Sort_Descriptors;'
forClassId: '&IDC_ReportDefinition;'
returnsWorkSetId: '&IDI_WorkSet_ReportSortDescriptorNonsingular;'
verb: 'get'
name: 'Sort Descriptors'
accessModifierId: '&IDI_AccessModifier_RootA2;'
referenceInstanceSet: '&IDC_ReportDefinition;'
answerInstanceSet: '&IDR_Report_Definition__has__Report_Sort_Descriptor;'
singular: no
- returnInstanceSetMethodBinding: '&IDMB_Report_Definition__get__Sort_Descriptors;'
executesMethod: '&IDM_Report_Definition__get__Sort_Descriptors;'
- returnInstanceSetMethodBinding: '&IDMB_Custom_Report_Definition__get__Sort_Descriptors;'
executesMethod: '&IDM_Report_Definition__get__Sort_Descriptors;'
parameterAssignments:
- globalIdentifier: '{f9485942-df25-4b44-a4e0-b5ef4c671460}'
assignsToParameter: '&IDC_ReportDefinition;'
assignsFromWorkData: '&IDC_CustomReportDefinition;'

View File

@ -0,0 +1,31 @@
- entityDefinitions:
- IDM_Report_Definition__get__Top_Level_Report_Filters: '{da50d7ce-a113-4cf1-b75c-4a89ef1efcb5}'
- IDMB_Report_Definition__get__Top_Level_Report_Filters: '{fbb33940-d107-4e67-afdf-e2e9311ba1ed}'
- IDMB_Custom_Report_Definition__get__Top_Level_Report_Filters: '{a58d1636-476b-404d-b48d-7128a84c1312}'
- IDI_WorkSet_ReportFilterNonsingular: '{9e13c4e2-55a2-4378-9295-60e5d1889d84}'
- library: '&IDL_MochaBaseSystem;'
instances:
- workSet: '&IDI_WorkSet_ReportFilterNonsingular;'
name: 'Report Filter [Nonsingular]'
singular: no
- getReferencedInstanceSetMethod: '&IDM_Report_Definition__get__Top_Level_Report_Filters;'
forClassId: '&IDC_ReportDefinition;'
returnsWorkSetId: '&IDI_WorkSet_ReportFilterNonsingular;'
verb: 'get'
name: 'Top Level Report Filters'
accessModifierId: '&IDI_AccessModifier_RootA2;'
referenceInstanceSet: '&IDC_ReportDefinition;'
answerInstanceSet: '&IDR_Report_Definition__has_top_level__Report_Filter;'
singular: no
- returnInstanceSetMethodBinding: '&IDMB_Report_Definition__get__Top_Level_Report_Filters;'
executesMethod: '&IDM_Report_Definition__get__Top_Level_Report_Filters;'
- returnInstanceSetMethodBinding: '&IDMB_Custom_Report_Definition__get__Top_Level_Report_Filters;'
executesMethod: '&IDM_Report_Definition__get__Top_Level_Report_Filters;'
parameterAssignments:
- globalIdentifier: '{25f94f39-7788-44f4-9904-3424e39c4989}'
assignsToParameter: '&IDC_ReportDefinition;'
assignsFromWorkData: '&IDC_CustomReportDefinition;'

View File

@ -20,7 +20,7 @@
- getReferencedInstanceSetMethod: '&IDM_User__get__Person;'
forClassId: '&IDC_User;'
returnsWorkSetId: '&IDI_WorkSet_Person;'
returnsWorkSetId: '&IDI_WorkSet_PersonSingular;'
verb: 'get'
name: 'Person'
accessModifierId: '&IDI_AccessModifier_RootA2;'
@ -42,25 +42,25 @@
singular: yes
- getReferencedAttributeMethod: '&IDM_User__get__Preferred_Display_Name_-_Given_Name;'
forClassId: '&IDC_PersonName;'
forClassId: '&IDC_User;'
returnsAttributeId: '&IDA_Value;'
verb: 'get'
name: 'Preferred Display Name - Given Name'
accessModifierId: '&IDI_AccessModifier_RootA2;'
referenceInstanceSet: '&IDMB_User__get__Preferred_Display_Name;'
answerAttribute: '&IDA_GivenName;'
answerAttribute: '&IDMB_Person_Name__get__Given_Name;'
- returnAttributeMethodBinding: '&IDMB_User__get__Preferred_Display_Name_-_Given_Name;'
executesMethod: '&IDM_User__get__Preferred_Display_Name_-_Given_Name;'
- getReferencedAttributeMethod: '&IDM_User__get__Preferred_Display_Name_-_Family_Name;'
forClassId: '&IDC_PersonName;'
forClassId: '&IDC_User;'
returnsAttributeId: '&IDA_Value;'
verb: 'get'
name: 'Preferred Display Name - Family Name'
accessModifierId: '&IDI_AccessModifier_RootA2;'
referenceInstanceSet: '&IDMB_User__get__Preferred_Display_Name;'
answerAttribute: '&IDA_FamilyName;'
answerAttribute: '&IDMB_Person_Name__get__Family_Name;'
- returnAttributeMethodBinding: '&IDMB_User__get__Preferred_Display_Name_-_Family_Name;'
executesMethod: '&IDM_User__get__Preferred_Display_Name_-_Family_Name;'
@ -73,6 +73,9 @@
returnsAttributeId: '&IDA_Value;'
initialValue: ''
buildsWithAttributes:
- instance: '&IDMB_User__get__Preferred_Display_Name_-_Given_Name;'
- instance: '&IDM_Common_Text__get__Single_Space;'
- instance: '&IDMB_User__get__Preferred_Display_Name_-_Family_Name;'
- order: a
executes: '&IDMB_User__get__Preferred_Display_Name_-_Given_Name;'
- order: b
executes: '&IDM_Common_Text__get__Single_Space;'
- order: c
executes: '&IDMB_User__get__Preferred_Display_Name_-_Family_Name;'

View File

@ -14,8 +14,13 @@
returnsAttributeId: '&IDA_Value;'
initialValue: ''
buildsWithAttributes:
- instance: '&IDMB_User__get__User_Name;'
- instance: '&IDM_Common_Text__get__Single_Space;'
- instance: '&IDM_Common_Text__get__Forward_Slash;'
- instance: '&IDM_Common_Text__get__Single_Space;'
- instance: '&IDMB_User__get__Preferred_Display_Name_Formatted;'
- order: a
executes: '&IDMB_User__get__User_Name;'
- order: b
executes: '&IDM_Common_Text__get__Single_Space;'
- order: c
executes: '&IDM_Common_Text__get__Forward_Slash;'
- order: d
executes: '&IDM_Common_Text__get__Single_Space;'
- order: e
executes: '&IDMB_User__get__Preferred_Display_Name_Formatted;'

View File

@ -0,0 +1,12 @@
- library: '&IDL_MochaBaseSystem;'
instances:
- customReport: '{7CA0EFA9-6849-4AAE-BF81-F055C006853B}'
name: 'All Classes'
reportTypeId: '&IDI_ReportType_Advanced;'
dataSourceId: '&IDI_DataSource_AllClasses;'
columns:
- globalIdentifier: '{e2daab1e-e0fc-4a25-8793-6a4968b5b003}'
order: 'a'
reportObjectId: '&IDI_ReportObject_Class;'
reportFieldId: '&IDI_ReportField_Class_Class;'
columnHeadingOverride: 'Class'

View File

@ -5,6 +5,10 @@
- IDE_BuildAttributeMethod_Edit: '{9e6e7b88-412e-4b31-b943-72003bd48533}'
- IDE_BuildAttributeMethod_Implementation: '{4bbbad38-54b9-4c37-ba51-c9595e0f1542}'
- IDE_BuildAttributeMethod: '{263dacea-c414-4a88-9820-8931aa448494}'
- IDE_BuildAttributeMethod_Components: '{4526f7aa-66b6-4c67-a98b-01b9d5dc3167}'
- IDM_Build_Attribute_Method__get__Build_Attribute_Method_Components: '{37fba2f0-a7e3-4d2c-918b-745e29871274}'
- IDMB_Build_Attribute_Method__get__Build_Attribute_Method_Components: '{cc13b993-f177-4323-9941-229de827108d}'
- library: '&IDL_MochaBaseSystem;'
instances:
@ -56,6 +60,20 @@
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- getReferencedInstanceSetMethod: '&IDM_Build_Attribute_Method__get__Build_Attribute_Method_Components;'
# initialValue: 'Method Example@get Dummy Method Name (BA)*S*P(public)'
forClassId: '&IDC_BuildAttributeMethod;'
returnsWorkSetId: '&IDI_WorkSet_BuildAttributeMethodComponentNonsingular;'
verb: 'get'
name: 'Build Attribute Method Components'
accessModifierId: '&IDI_AccessModifier_RootA2;'
referenceInstanceSet: '&IDC_BuildAttributeMethod;'
answerInstanceSet: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
singular: no
- returnInstanceSetMethodBinding: '&IDMB_Build_Attribute_Method__get__Build_Attribute_Method_Components;'
executesMethod: '&IDM_Build_Attribute_Method__get__Build_Attribute_Method_Components;'
- element: '&IDE_BuildAttributeMethod_Implementation;'
name: 'ba subedit'
label: 'Method Implementation'
@ -69,6 +87,25 @@
label: 'Returns Attribute'
order: b
- globalIdentifier: '{03ac7e75-b1be-4700-baa6-23caeb3ddbff}'
defaultDataType: '&IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute;'
defaultDataType: '&IDE_BuildAttributeMethod_Components;'
label: 'Builds with Attributes from RAMBs'
order: c
order: c
builtFromBEMProcess:
- globalIdentifier: '{251d2c93-7538-4461-8f64-2e0efb14af96}'
loopExecutableReturningInstanceSet: '&IDMB_Build_Attribute_Method__get__Build_Attribute_Method_Components;'
- element: '&IDE_BuildAttributeMethod_Components;'
name: 'ba components'
label: 'Components'
elementContents:
- globalIdentifier: '{f126ae0f-6a40-45dc-8c7c-13fcf0b6c315}'
defaultDataType: '&IDC_BuildAttributeMethodComponent;'
label: 'Build Attribute Method Component'
displayOptions:
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{7d64ed5d-b254-46cb-987b-bc2e674f34cb}'
defaultDataType: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
label: 'Executes RAMB'
- globalIdentifier: '{483ece00-7e5e-42da-81f2-53993d99f9e2}'
defaultDataType: '&IDA_Order;'
label: 'Order'

View File

@ -0,0 +1,40 @@
- entityDefinitions:
- IDE_CustomReportDefinition_Columns: '{9300e797-900d-4675-9971-9874aaa94393}'
- library: '&IDL_MochaBaseSystem;'
instances:
- element: '&IDE_CustomReportDefinition_Columns;'
name: 'columns'
label: ''
elementContents:
- globalIdentifier: '{b46e820a-1872-44ba-8382-f424e8785439}'
order: a
label: 'Column'
defaultDataType: '&IDC_ReportColumn;'
displayOptions:
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{c225cec4-15a7-4b0f-808e-333c2b8c61a2}'
order: b
label: 'Order'
defaultDataType: '&IDA_Order;'
- globalIdentifier: '{3c16454c-4d77-427c-9e96-6a1287fd9146}'
order: c
label: 'Report Object'
defaultDataType: '&IDR_Report_Column__has__Report_Object;'
- globalIdentifier: '{25d343d7-3609-41ce-8727-f301bbdceb87}'
order: d
label: 'Report Field'
defaultDataType: '&IDR_Report_Column__has__Report_Field;'
- globalIdentifier: '{ee1a5e58-dd46-4633-898d-a78875c5b439}'
order: e
label: 'Column Heading Override'
defaultDataType: '&IDA_LabelOverride;'
# - globalIdentifier: '{55a7cde0-7b69-4862-bf56-0c4dbf83c604}'
# label: 'Column Heading Override XML Alias'
# defaultDataType: '&IDA_LabelOverrideXML;'
# - globalIdentifier: '{59fb155a-631a-472c-b3d1-4ea46b4962f3}'
# label: 'Format'
# defaultDataType: '&ID;'
# - globalIdentifier: '{836e1962-1a46-4d14-a8d3-9cba0a8a9b26}'
# label: 'Options'
# defaultDataType: '&IDR_Report_Column__has__Report_Column_Display_Option;'

View File

@ -0,0 +1,39 @@
- entityDefinitions:
- IDI_TaskCategory_CustomReportDefinition: '{7ba7db38-99ba-43fe-92f3-b5c72feef739}'
- IDE_CustomReportDefinition_Select: '{feb43661-a27b-4832-9809-dfa535dd81a7}'
- IDE_CustomReportDefinition_Definition: '{eede4bbc-e965-4332-a69b-3fab29e0ca39}'
- library: '&IDL_MochaBaseSystem;'
instances:
- taskCategory: '&IDI_TaskCategory_CustomReportDefinition;'
name: 'Custom Report Definition'
- element: '&IDE_CustomReportDefinition_Select;'
name: 'Custom Report Definition selection subedit'
elementContents:
- globalIdentifier: '{7c1704b0-d76d-417d-9ff0-1a39668efb7e}'
defaultDataType: '&IDC_CustomReportDefinition;'
label: 'Custom Report Definition'
- element: '&IDE_CustomReportDefinition_Definition;'
name: 'Custom Report Definition definition subedit'
elementContents:
- globalIdentifier: '{9f40d847-e0c3-4138-8e79-05696b402b3d}'
defaultDataType: '&IDA_Name;'
label: 'Report Name'
- globalIdentifier: '{c6b58891-a706-4b94-85aa-f57dff153d22}'
label: 'Report Type'
- globalIdentifier: '{acc73336-a708-4107-a4ab-4154a080bc6e}'
label: 'Data Source'
defaultDataType: '&IDR_Report_Definition__uses__Data_Source;'
- globalIdentifier: '{80fbf3da-196a-4874-af38-8aa2721d77ec}'
label: 'Data Source Type'
- globalIdentifier: '{17ef6e2b-f1cd-43f8-8fe2-62a282d41843}'
label: 'Primary Report Object'
- globalIdentifier: '{b386d569-fe21-48fc-bc44-889ca5c314a7}'
label: 'Report Tags'
- groupLayout: '{1e86a47a-45e3-488b-a979-b4db2d2cc7f0}'
options:
- instance: '&IDI_GroupLayoutOption_Tabbed;'

View File

@ -0,0 +1,59 @@
- entityDefinitions:
- IDI_Task_CustomReportDefinition_Edit: '{e1e8fc72-1807-4efe-b829-028e01db5d0c}'
- IDE_CustomReportDefinition_Edit: '{b4a041b0-7290-4ca9-a199-22ff2d05a077}'
- IDE_CustomReportDefinition_Edit_Start: '{c38be0aa-822a-4fa2-a0c4-e5b8d0758ca7}'
- IDM_CustomReportDefinition_Edit_Start: '{a9a86581-f241-4b75-81f4-b783af3f1411}'
- IDMB_CustomReportDefinition_Edit: '{2d3ea0bf-cb3f-41c5-8477-8876ba4a507a}'
- IDM_CustomReportDefinition_Edit: '{0e157ae5-e9dc-4054-8f09-89fec6e6cd48}'
- library: '&IDL_MochaBaseSystem;'
instances:
- sequenceTask: '&IDI_Task_CustomReportDefinition_Edit;'
name: 'Edit Custom Report Definition'
initiatingElement: '&IDE_CustomReportDefinition_Edit_Start;'
taskCategory: '&IDI_TaskCategory_CustomReportDefinition;'
- controlTransactionMethod: '&IDM_CustomReportDefinition_Edit_Start;'
forClassId: '&IDC_CustomReportDefinition;'
verb: ''
name: 'Custom Report Definition Edit Start'
buildsResponseWithBRMB: '&IDMB_CustomReportDefinition_Edit;'
- element: '&IDE_CustomReportDefinition_Edit_Start;'
name: 'Edit Custom Report Definition Start'
processedByCTMethod: '&IDM_CustomReportDefinition_Edit_Start;'
elementContents:
- globalIdentifier: '{09f05ead-e2eb-4eec-b608-def7ac917219}'
defaultDataType: '&IDE_CustomReportDefinition_Select;'
displayOptions:
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- element: '&IDE_CustomReportDefinition_Edit;'
name: 'Edit Custom Report Definition'
elementContents:
- globalIdentifier: '{932298ef-2bf1-46f8-aa43-46701e06fb8c}'
defaultDataType: '&IDC_CustomReportDefinition;'
label: 'Custom Report Definition'
displayOptions:
- instance: '&IDI_DisplayOption_NotEnterable;'
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{9eca3f76-beb1-43bc-8863-e72c6e86a554}'
defaultDataType: '&IDE_CustomReportDefinition_Definition;'
displayOptions:
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- globalIdentifier: '{a9c65f34-60aa-47ca-9fa2-1c914140a8f5}'
defaultDataType: '&IDE_CustomReportDefinition_TabsSubedit;'
layout: '{1e86a47a-45e3-488b-a979-b4db2d2cc7f0}'
# displayOptions:
# - instance: '&IDI_DisplayOption_Singular;'
# - instance: '&IDI_DisplayOption_ShowSubelementsTabbed;'
- buildUIResponseMethod: '&IDM_CustomReportDefinition_Edit;'
usesExecutableReturningElement: '&IDE_CustomReportDefinition_Edit;'
- buildResponseMethodBinding: '&IDMB_CustomReportDefinition_Edit;'
executesMethod: '&IDM_CustomReportDefinition_Edit;'

View File

@ -0,0 +1,66 @@
- entityDefinitions:
- IDE_CustomReportDefinition_Filter: '{e26a1636-4d0e-4900-8a39-1b62463109fa}'
- IDE_CustomReportDefinition_FilterTab: '{11006832-e041-4426-b6e9-29a1a5ae3bef}'
- IDA_OpenParenthesis: '{161a8b37-42a2-48e4-be2f-f7d7094dbf2a}'
- IDA_CloseParenthesis: '{7b180342-9c3a-47d1-b3db-723df0a1a813}'
- library: '&IDL_MochaBaseSystem;'
instances:
- element: '&IDE_CustomReportDefinition_FilterTab;'
elementContents:
- globalIdentifier: '{31285070-e530-428a-b374-a99f2937acd3}'
order: a
label: 'Filter'
defaultDataType: '&IDE_CustomReportDefinition_Filter;'
builtFromBEMProcess:
- globalIdentifier: '{a0be9193-8652-4222-8d49-b8132a26a03d}'
loopExecutableReturningInstanceSet: '&IDMB_Custom_Report_Definition__get__Top_Level_Report_Filters;'
- textAttribute: '&IDA_OpenParenthesis;'
name: 'Open Parenthesis'
- textAttribute: '&IDA_CloseParenthesis;'
name: 'Open Parenthesis'
- element: '&IDE_CustomReportDefinition_Filter;'
name: 'Filter'
label: ''
elementContents:
- globalIdentifier: '{16934f1b-a44c-4e8b-924d-c28efe55c6e8}'
order: a
label: 'Report Filter'
defaultDataType: '&IDC_ReportFilter;'
displayOptions:
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{15093b4c-4803-4fb9-902c-e0375f1ba309}'
order: b
label: 'Order'
defaultDataType: '&IDA_Order;'
- globalIdentifier: '{d8ac69cd-c237-4210-9dea-71462d3b7706}'
order: c
label: 'And/Or'
# defaultDataType: '&IDR_Report_Filter__has__Conjunction;'
- globalIdentifier: '{81629b9b-8c4f-4f86-8adb-24dc49b6e836}'
order: d
label: '('
defaultDataType: '&IDA_OpenParenthesis;'
- globalIdentifier: '{4140f83d-5021-467e-abe5-77cf2c74e15c}'
order: e
label: 'Field'
# defaultDataType: '&IDR_Report_Filter__has__Report_Field;'
- globalIdentifier: '{50368731-8f61-4878-bf06-792cfdc18a57}'
order: f
label: 'Operator'
# defaultDataType: '&IDR_Report_Filter__has__Relational_Operator;'
- globalIdentifier: '{bd583c45-b689-4897-8b83-bad768e86690}'
order: g
label: 'Comparison Type'
# defaultDataType: '&IDR_Report_Filter__has__Comparison_Type;'
- globalIdentifier: '{e2527ba7-1051-49c5-940a-26def6a105bf}'
order: h
label: 'Comparison Value'
# defaultDataType: '&IDR_Report_Filter__has__Comparison_Value;'
- globalIdentifier: '{0a1dda28-f28a-4bcd-b306-a49ac9a33208}'
order: i
label: ')'
defaultDataType: '&IDA_CloseParenthesis;'

View File

@ -0,0 +1,50 @@
- entityDefinitions:
- IDE_CustomReportDefinition_Sort: '{a711ec3e-5cd8-4546-90ea-c6f9452a438e}'
- IDE_CustomReportDefinition_SortAndGroup: '{3b574573-41fd-4278-858d-288f79d614cb}'
- library: '&IDL_MochaBaseSystem;'
instances:
- element: '&IDE_CustomReportDefinition_SortAndGroup;'
elementContents:
- globalIdentifier: '{a2fdcccf-c4a8-43a7-830a-019138721d9b}'
order: a
label: 'Sort and Group'
defaultDataType: '&IDE_CustomReportDefinition_Sort;'
builtFromBEMProcess:
- globalIdentifier: '{5717e5ac-5d3d-4b47-b561-7609f22ca96c}'
loopExecutableReturningInstanceSet: '&IDMB_Custom_Report_Definition__get__Sort_Descriptors;'
- element: '&IDE_CustomReportDefinition_Sort;'
name: 'sort'
label: ''
elementContents:
- globalIdentifier: '{bc41fe88-646a-4fe0-91f5-7b6d6bbe24e5}'
order: a
label: 'Sort And Group Line'
defaultDataType: '&IDC_ReportSortDescriptor;'
displayOptions:
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{8fe8a177-abea-494e-8df3-9952bbc46a90}'
order: b
label: 'Field'
defaultDataType: '&IDR_Report_Sort_Descriptor__has__Report_Field;'
- globalIdentifier: '{eb6702e3-c866-483e-98a2-d4f95f84b971}'
order: c
label: 'Sort Direction'
defaultDataType: '&IDR_Report_Sort_Descriptor__has__Report_Sort_Direction;'
- globalIdentifier: '{8ae3c38c-73ec-4abe-bd9d-add460b5549b}'
order: d
label: 'Display Headers'
defaultDataType: '&IDA_DisplayHeaders;'
- globalIdentifier: '{7d3ade14-4013-405e-b30f-05d75dec971b}'
order: e
label: 'Summarize Detail Rows'
defaultDataType: '&IDA_SummarizeDetailRows;'
- globalIdentifier: '{ea671e82-ec37-45ae-b7c1-f4b123354526}'
order: f
label: 'Display Subtotals'
defaultDataType: '&IDA_DisplaySubtotals;'
- globalIdentifier: '{d359f737-a3f3-4891-97e0-a96e33d38731}'
order: g
label: 'Group Name Override'
defaultDataType: '&IDA_LabelOverride;'

View File

@ -0,0 +1,26 @@
- entityDefinitions:
- IDE_CustomReportDefinition_TabsSubedit: '{8329b15a-f44a-4431-992d-0976d4e5d724}'
- library: '&IDL_MochaBaseSystem;'
instances:
- element: '&IDE_CustomReportDefinition_TabsSubedit;'
name: 'Custom Report Definition Tabs'
elementContents:
- globalIdentifier: '{84e17402-6b8f-46b1-a4f6-1d5fb795906b}'
defaultDataType: '&IDE_CustomReportDefinition_Columns;'
label: 'Columns'
builtFromBEMProcess:
- globalIdentifier: '{4a7b99a4-d4e6-4c4b-8012-27f3dc1db912}'
loopExecutableReturningInstanceSet: '&IDMB_Custom_Report_Definition__get__Columns;'
- globalIdentifier: '{86e09b51-1b58-4097-bfcd-3d2afdecdb01}'
defaultDataType: '&IDE_CustomReportDefinition_SortAndGroup;'
label: 'Sort and Group'
displayOptions:
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- globalIdentifier: '{5b0b5225-c58b-48e3-9a02-b15ae85024f8}'
defaultDataType: '&IDE_CustomReportDefinition_FilterTab;'
label: 'Filter'
displayOptions:
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'

View File

@ -0,0 +1,59 @@
- entityDefinitions:
- IDI_Task_CustomReportDefinition_View: '{aa9cb2d5-2636-4bfe-91a1-476362fb8a12}'
- IDE_CustomReportDefinition_View: '{fa7cc4b8-9fd5-418e-8599-be0ca8143572}'
- IDE_CustomReportDefinition_View_Start: '{13754cdb-53d1-4280-9f65-38edb821452e}'
- IDM_CustomReportDefinition_View_Start: '{411f9b4b-5461-41c7-bd91-5e7cce525a0d}'
- IDMB_CustomReportDefinition_View: '{6b775774-ee8c-4a5d-a55d-fabfb2e2995a}'
- IDM_CustomReportDefinition_View: '{d80b7843-5670-4ad1-9baa-10966ee0b957}'
- library: '&IDL_MochaBaseSystem;'
instances:
- sequenceTask: '&IDI_Task_CustomReportDefinition_View;'
name: 'View Custom Report Definition'
initiatingElement: '&IDE_CustomReportDefinition_View_Start;'
taskCategory: '&IDI_TaskCategory_CustomReportDefinition;'
- controlTransactionMethod: '&IDM_CustomReportDefinition_View_Start;'
forClassId: '&IDC_CustomReportDefinition;'
verb: ''
name: 'Custom Report Definition View Start'
buildsResponseWithBRMB: '&IDMB_CustomReportDefinition_View;'
- element: '&IDE_CustomReportDefinition_View_Start;'
name: 'View Custom Report Definition Start'
processedByCTMethod: '&IDM_CustomReportDefinition_View_Start;'
elementContents:
- globalIdentifier: '{2737a048-a5d5-4369-95a0-a1739674220a}'
defaultDataType: '&IDE_CustomReportDefinition_Select;'
displayOptions:
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- element: '&IDE_CustomReportDefinition_View;'
name: 'View Custom Report Definition'
elementContents:
- globalIdentifier: '{1ab0bd09-0d88-40c7-84c6-00e3d98f4e35}'
defaultDataType: '&IDC_CustomReportDefinition;'
label: 'Custom Report Definition'
displayOptions:
- instance: '&IDI_DisplayOption_NotEnterable;'
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{7ecc0cc5-362a-4bb4-894a-f44368ee46ef}'
defaultDataType: '&IDE_CustomReportDefinition_Definition;'
displayOptions:
- instance: '&IDI_DisplayOption_NotEnterable;'
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- globalIdentifier: '{7868e577-1933-4979-8a0b-21b0096dff93}'
defaultDataType: '&IDE_CustomReportDefinition_TabsSubedit;'
layout: '{1e86a47a-45e3-488b-a979-b4db2d2cc7f0}'
displayOptions:
- instance: '&IDI_DisplayOption_NotEnterable;'
- buildUIResponseMethod: '&IDM_CustomReportDefinition_View;'
usesExecutableReturningElement: '&IDE_CustomReportDefinition_View;'
- buildResponseMethodBinding: '&IDMB_CustomReportDefinition_View;'
executesMethod: '&IDM_CustomReportDefinition_View;'

View File

@ -36,6 +36,16 @@
defaultDataType: '&IDA_EmailAddress;'
- globalIdentifier: '{862b454f-c84a-439e-8a2b-6d841aae158a}'
defaultDataType: '&IDA_GenerateRandomPassword;'
dynamicDisplayOptions:
- globalIdentifier: '{6eebeb9c-02bf-47d3-b73a-3a87c9e4aadb}'
modifiesElementContents:
- instance: '{65b01825-c4f8-4e48-89ee-be42806b109d}'
- instance: '{f68d0b17-6bd7-439d-8fd2-2f7afee73b7f}'
# condition:
# - trueConditions:
# - globalIdentifier: '&IDMB_Generate_Random_Password__is__True;'
addsDisplayOptions:
- instance: '&IDI_DisplayOption_NotEnterable;'
- globalIdentifier: '{65b01825-c4f8-4e48-89ee-be42806b109d}'
defaultDataType: '&IDA_NewPassword;'
displayOptions:

View File

@ -2,10 +2,10 @@
- IDI_Task_ViewReturnAttributeMethodBinding: '{9d4b8259-1141-4b83-8a02-8b3b269fb1d3}'
- IDE_ReturnAttributeMethodBinding_View_Start: '{c91702c7-2199-4106-9be9-aa829e8b1044}'
- IDM_ReturnAttributeMethodBinding_View_Start: '{92d66fcb-e73b-4f09-913b-1d774193153c}'
- IDM_ReturnAttributeMethodBinding_View_Start: '{034b1dde-0ed2-491f-ad92-6d69b9316025}'
- IDE_ReturnAttributeMethodBinding_View: '{9321f1a4-b4a1-4111-a506-a086d255466d}'
- IDM_ReturnAttributeMethodBinding_View: '{92d66fcb-e73b-4f09-913b-1d774193153c}'
- IDM_ReturnAttributeMethodBinding_View: '{2e26929c-0f1f-4ace-8650-d73c57ed872f}'
- IDMB_ReturnAttributeMethodBinding_View: '{4700ff7c-bff2-43b8-b9c9-82007b657523}'
- library: '&IDL_MochaBaseSystem;'

View File

@ -2,10 +2,12 @@
instances:
- user: '{B066A54B-B160-4510-A805-436D3F90C2E6}'
username: zq-environments
preferredDisplayName:
- globalIdentifier: '{ab08cff9-4e80-4213-9d6b-5d97dcf3993a}'
givenName: 'ZeQuaL Environment Automation'
familyName: ''
forPerson:
- globalIdentifier: '{271f0191-6912-48ec-a990-b7e0ccfc24b1}'
names:
- globalIdentifier: '{ab08cff9-4e80-4213-9d6b-5d97dcf3993a}'
givenName: 'ZeQuaL Environment Automation'
familyName: ''
- user: '{098DDA82-CD04-4B53-8C75-89D420EA6902}'
username: zq-developer

View File

@ -12,19 +12,32 @@
initialValue: ''
returnsAttributeId: '&IDA_Value;'
buildsWithAttributes:
- instance: '&IDMB_Product__get__Product_Code;' # 123456
- instance: '&IDMB_Common_Text__get__Single_Space;' # ' '
- instance: '&IDMB_Product__get__Manufacturer_Name;' # Paper Mate
- instance: '&IDMB_Common_Text__get__Single_Space;' # ' '
- instance: '&IDMB_Product__get__Brand_Name;' # FlexGrip Ultra
- instance: '&IDMB_Common_Text__get__Single_Space;' # ' '
- instance: '&IDMB_Product__get__Product_Style_Name;' # Retractable
- instance: '&IDMB_Common_Text__get__Single_Space;' # ' '
- instance: '&IDMB_Product__get__Product_Color_Name;' # Blue
- instance: '&IDMB_Common_Text__get__Single_Space;' # ' '
- instance: '&IDMB_Product__get__Product_Type_Name;' # Ballpoint Pen
- instance: '&IDMB_Common_Text__get__Single_Space;' # ' '
- instance: '&IDMB_Product__get__Additional_Details;'
- order: a
executes: '&IDMB_Product__get__Product_Code;' # 123456
- order: b
executes: '&IDMB_Common_Text__get__Single_Space;' # ' '
- order: c
executes: '&IDMB_Product__get__Manufacturer_Name;' # Paper Mate
- order: d
executes: '&IDMB_Common_Text__get__Single_Space;' # ' '
- order: e
executes: '&IDMB_Product__get__Brand_Name;' # FlexGrip Ultra
- order: f
executes: '&IDMB_Common_Text__get__Single_Space;' # ' '
- order: g
executes: '&IDMB_Product__get__Product_Style_Name;' # Retractable
- order: h
executes: '&IDMB_Common_Text__get__Single_Space;' # ' '
- order: i
executes: '&IDMB_Product__get__Product_Color_Name;' # Blue
- order: j
executes: '&IDMB_Common_Text__get__Single_Space;' # ' '
- order: k
executes: '&IDMB_Product__get__Product_Type_Name;' # Ballpoint Pen
- order: l
executes: '&IDMB_Common_Text__get__Single_Space;' # ' '
- order: m
executes: '&IDMB_Product__get__Additional_Details;'
- returnAttributeMethodBinding: '&IDMB_Product__get__Calculated_Description;'
executesMethod: '&IDM_Product__get__Calculated_Description;'

View File

@ -67,6 +67,7 @@ class KnownClassGuids
const ParameterAssignment = "c7aa0c7c50d844fd9b05a558a38a6954"; // 28
const ElementContentDisplayOption = "bd68052adaa443b98965d38095473170";
const ReportDefinition = "{19D947B6-CE82-4EEE-92EC-A4E01E27F2DB}";
const ReportObject = "ff7d5757d9d948abab045932e7341a90";
const Validation = "3E45AA176E8E41DB9C94E84B4B4176E8";
@ -135,6 +136,7 @@ class KnownClassGuids
const ButtonLayout = "6f6338db68e04cc7b257d1b97cf3cb92";
const ImageLayout = "4b1bb7c6168e4ce0b4f876dd5069a80b";
const GroupLayout = "{108605af-c20d-42eb-af4f-35b2ff701921}";
const BuildAttributeMethod = "{e5879955-0093-48c8-8042-813168578af2}";
const GetAttributeMethod = "{c3ecf8c9-597f-417b-ad65-fae0401719c6}";

View File

@ -104,7 +104,9 @@ class KnownRelationshipGuids
const Translation__failure_message_for__Validation = "46a7dfcb884847d59ad3d27fbd8b423f";
const Build_Attribute_Method__returns__Attribute = "{dadbf0f3-7af0-4387-a6b7-a1724a216d88}";
const Build_Attribute_Method__builds_with__Executable_returning_Attribute = "{bb64cd83-85c2-4c20-82eb-2a5a5ead31f1}";
# const Build_Attribute_Method__builds_with__Executable_returning_Attribute = "{bb64cd83-85c2-4c20-82eb-2a5a5ead31f1}";
const Build_Attribute_Method__builds_with__Build_Attribute_Method_Component = "{b4fad1b8-711c-4e84-82d0-e9a9e41e8aa7}";
const Build_Attribute_Method_Component__uses__Executable_returning_Attribute = "{9d2acd01-5c6d-4a95-b77e-5261ba109540}";
const Get_Attribute_Method__has__Attribute = "5eca9b3fbe754f6e8495781480774833";
const Get_Referenced_Instance_Set_Method__returns__Work_Set = "{72057f5b-9b49-497d-852f-cd7e5e258d6c}";
@ -251,6 +253,12 @@ class KnownRelationshipGuids
const Instance__for__Element_Content = "c3959f84248d4edea3f2f262917c7b56";
const Element_Content__has__Layout = "1ab7412005ea4acab6d3c7e0133e0c4f";
const Element_Content__has__EC_Dynamic_Display_Option = "{4a41391a-c325-4182-920a-a94ad28c15fa}";
const EC_Dynamic_Display_Option__modifies__Element_Content = "{4d091643-2bfc-4b83-b3e4-8a3b22c665a9}";
const Dynamic_Display_Option__add__Display_Option = "{2ed33b28-f84d-4120-b585-be965cfb691f}";
const Dynamic_Display_Option__remove__Display_Option = "{dc06bf0b-70dd-4f71-854d-0f5685e2124f}";
const Element_Content__built_from__BEM_Process = "{3d7094ff-33e5-4800-9e4e-93dde0d1d331}";

View File

@ -6,6 +6,7 @@
{
private $elementParms;
public $workData;
private $temporaryData;
public $CallStack;
@ -13,6 +14,7 @@
{
$this->elementParms = array();
$this->workData = array();
$this->temporaryData = array();
$this->CallStack = array();
}
@ -86,6 +88,22 @@
return $defaultValue;
}
public function setTemporaryVariable(InstanceReference $key, $value)
{
$key = $key->GlobalIdentifier->__toStringFormat(false, "", "");
$this->temporaryData[$key] = $value;
}
public function getTemporaryVariable(string|InstanceReference $key, $defaultValue = null)
{
$key = $key->GlobalIdentifier->__toStringFormat(false, "", "");
if (array_key_exists($key, $this->temporaryData))
{
return $this->temporaryData[$key];
}
return $defaultValue;
}
}
?>

View File

@ -410,7 +410,7 @@
* !Remove when we can figure out a solution to the duplicate instance problem
* !(DUPLICATEINSTANCES)
*/
public $HACK__IncludeDuplicateInstances = false;
// public $HACK__IncludeDuplicateInstances = false;
protected function getRelatedInstancesInternal(InstanceReference $sourceInstance, InstanceReference $relationshipInstance, \DateTime $effectiveDate = null) : ?array
{
@ -497,6 +497,7 @@
// ! We cannot do duplicate instances AND single line removal of instances
// ! because we would not have a way to determine which *index* of instance
// ! was removed!
/*
if ($this->HACK__IncludeDuplicateInstances)
{
$ret[] = $ir;
@ -514,14 +515,26 @@
$ret[$ir->GlobalIdentifier->__toString()] = $ir;
}
}
*/
if ($value["remove_flag"] == 1)
{
unset($ret[$ir->GlobalIdentifier->__toString()]);
}
else
{
//echo($retval->GlobalIdentifier->__toString() . "\n");
// $ret[$retval->GlobalIdentifier->__toString()] = $retval;
$ret[$ir->GlobalIdentifier->__toString()] = $ir;
}
}
}
/*
if ($this->HACK__IncludeDuplicateInstances)
{
$this->MetadataExceptions["MX_DUPLICATEINSTANCES_HACK"] = new OmsMetadataException("An element on this page uses the (DUPLICATEINSTANCES) hack", [ "Source" => "getRelatedInstancesInternal" ], null, OmsMetadataExceptionSeverity::Warning);
return $ret;
}
*/
//$this->_relatedInstancesCache[$sourceInstance->DatabaseId][$relationshipInstance->DatabaseId] = $ret;
return array_values($ret);
}

View File

@ -854,5 +854,14 @@
{
return $this->__is_a_impl($inst, $what, 0);
}
public function setSessionAttributeValue(OmsContext $context, InstanceReference $instance, mixed $value)
{
$context->setTemporaryVariable($instance, $value);
}
public function getSessionAttributeValue(OmsContext $context, InstanceReference $instance, mixed $defaultValue = null)
{
return $context->getTemporaryVariable($instance, $defaultValue);
}
}
?>
?>

View File

@ -7,6 +7,7 @@
use Mocha\Core\OmsContext;
use Mocha\Oms\Oms;
use Mocha\Oop\MethodImplementation;
use Phast\QuickSort;
class BuildAttributeMethodImplementation extends MethodImplementation
{
@ -14,15 +15,29 @@
{
$returnsAttribute = $oms->getRelatedInstance($method, KnownRelationshipGuids::Build_Attribute_Method__returns__Attribute);
$initialValue = $oms->getAttributeValue($method, KnownAttributeGuids::Value);
$oms->HACK__IncludeDuplicateInstances = true;
$buildsWithAttributes = $oms->getRelatedInstances($method, KnownRelationshipGuids::Build_Attribute_Method__builds_with__Executable_returning_Attribute);
$oms->HACK__IncludeDuplicateInstances = false;
$buildsWithAttributes = $oms->getRelatedInstances($method, KnownRelationshipGuids::Build_Attribute_Method__builds_with__Build_Attribute_Method_Component);
$value = $initialValue;
foreach ($buildsWithAttributes as $buildsWithAttribute)
$qs = new QuickSort();
$sortedAttributes = $qs->Sort_By($buildsWithAttributes, function($item)
{
$attr = $oms->execute($context, $buildsWithAttribute);
$oms = mocha_get_oms();
$order = $oms->getAttributeValue($item, KnownAttributeGuids::Order);
return $order;
});
foreach ($sortedAttributes as $buildsWithAttribute)
{
$baExecutesMethod = $oms->getRelatedInstance($buildsWithAttribute, KnownRelationshipGuids::Build_Attribute_Method_Component__uses__Executable_returning_Attribute);
$attr = null;
if ($baExecutesMethod !== null)
{
$attr = $oms->execute($context, $baExecutesMethod);
}
else
{
$attr = $oms->execute($context, $buildsWithAttribute);
}
// echo ("value of `" . $attr->InstanceKey . "` is '" . $context->getWorkData($attr) . "'");
if ($attr !== null)
{

View File

@ -9,6 +9,7 @@
use Mocha\Core\OmsContext;
use Mocha\Oms\Oms;
use Mocha\Oms\OmsMetadataException;
use Mocha\Oms\OmsMetadataExceptionSeverity;
use Mocha\Oop\MethodImplementation;
use Phast\UUID;
@ -22,6 +23,15 @@
$loopOnInstanceSet = $oms->getRelatedInstance($method, KnownRelationshipGuids::Get_Referenced_Attribute_Method__uses_reference__Executable_returning_Instance_Set);
$answer = $oms->getRelatedInstance($method, KnownRelationshipGuids::Get_Referenced_Attribute_Method__uses_answer__Executable_returning_Attribute);
$targetInstance = $context->getWorkData($forClass);
if ($oms->is_a($loopOnInstanceSet, KnownClassGuids::MethodBinding))
{
$loopOnInstanceSetTarget = $oms->execute($context, $loopOnInstanceSet);
if ($loopOnInstanceSetTarget === null)
{
}
$targetInstance = $context->getWorkData($loopOnInstanceSetTarget);
}
$refISRel = $oms->execute($context, $loopOnInstanceSet);
$mx = array
@ -31,7 +41,7 @@
"Loop on Instance Set" => $loopOnInstanceSet,
"Get Attribute" => $answer,
"For Class" => $forClass,
"For Class Instantiation" => $targetInstance,
"Target Instance" => $targetInstance,
"Referenced Instance Relationship" => $refISRel,
);
if ($refISRel !== null)
@ -58,6 +68,8 @@
$value = $context->getWorkData($answerVal); // $this->getAttributeValue($refIS, $answer);
$mx["Answer Value"] = $value;
$context->setWorkData($returnsAttribute, $value);
//$oms->MetadataExceptions[] = new OmsMetadataException("GRA call", $mx, $context->CallStack, OmsMetadataExceptionSeverity::Information);
}
else
{

View File

@ -21,6 +21,30 @@
$forClass = $oms->getRelatedInstance($method, KnownRelationshipGuids::Method__for__Class);
$returnsWorkSet = $oms->getRelatedInstance($method, KnownRelationshipGuids::Get_Referenced_Instance_Set_Method__returns__Work_Set);
$loopOnInstanceSet = $oms->getRelatedInstance($method, KnownRelationshipGuids::Get_Referenced_Instance_Set_Method__uses_reference__Executable_returning_Instance_Set);
$targetInstance = null;
if ($oms->is_a($loopOnInstanceSet, KnownClassGuids::MethodBinding))
{
$loopOnInstanceSetTarget = $oms->execute($context, $loopOnInstanceSet);
if ($loopOnInstanceSetTarget === null)
{
$mx = array
(
"Method Instance" => $method,
"Returns Work Set" => $returnsWorkSet,
"Loop on Instance Set" => $loopOnInstanceSet,
"For Class" => $forClass
);
$oms->MetadataExceptions[] = new OmsMetadataException("loop on instance set was an MB, but returned null", $mx, null, OmsMetadataExceptionSeverity::Information);
}
$targetInstance = $context->getWorkData($loopOnInstanceSetTarget);
}
else
{
$targetInstance = $context->getWorkData($loopOnInstanceSet);
}
$relationship = $oms->getRelatedInstance($method, KnownRelationshipGuids::Get_Referenced_Instance_Set_Method__uses_answer__Executable_returning_Instance_Set);
$relhack = false;
if (!$oms->is_a($relationship, KnownClassGuids::Relationship))
@ -29,7 +53,6 @@
$relhack = true;
}
$targetInstance = $context->getWorkData($loopOnInstanceSet);
$mx = array
(
"Method Instance" => $method,
@ -37,9 +60,13 @@
"Loop on Instance Set" => $loopOnInstanceSet,
"Get Relationship" => $relationship,
"For Class" => $forClass,
"For Class Instantiation" => $targetInstance,
"Parm Setting" => "For " . $forClass->InstanceKey . " = " . ($targetInstance === null ? "empty" : $targetInstance->InstanceKey)
"Target Instance" => $targetInstance
);
if ($targetInstance === null)
{
$targetInstance = $loopOnInstanceSet;
}
if ($targetInstance !== null)
{
$singular = $oms->getAttributeValue($returnsWorkSet, KnownAttributeGuids::Singular);
@ -62,6 +89,7 @@
{
//$oms->MetadataExceptions[] = new OmsMetadataException("GRS with relhack failed", $mx, null, OmsMetadataExceptionSeverity::Information);
}
// $oms->MetadataExceptions[] = new OmsMetadataException("GRS call", $mx, null, OmsMetadataExceptionSeverity::Information);
}
else
{

View File

@ -25,6 +25,8 @@
use Phast\UUID;
use Phast\WebControlAttribute;
use Phast\WebControls\Button;
use Phast\WebControls\TabContainer;
use Phast\WebControls\TabPage;
class HTMLRenderer
{
@ -303,7 +305,7 @@
$DO_Singular = $oms->getInstanceByGlobalIdentifier(KnownInstanceGuids::DisplayOption__Singular);
$dummy = [ ];
$this->renderElement($dummy, $value, [ $DO_Singular ]);
$this->renderElement($dummy, $value, [ $DO_Singular ]);
}
}
else if (is_string($value))
@ -994,6 +996,7 @@
if (
($ecLayoutParentClass->GlobalIdentifier->__is_equal(UUID::parse(KnownClassGuids::ButtonLayout)))
|| ($ecLayoutParentClass->GlobalIdentifier->__is_equal(UUID::parse(KnownClassGuids::ImageLayout)))
|| ($ecLayoutParentClass->GlobalIdentifier->__is_equal(UUID::parse(KnownClassGuids::GroupLayout)))
)
{
return false;
@ -1197,6 +1200,37 @@
], $ecStyles));
echo("\">&nbsp;</div>");
}
else if ($ecLayoutParentClass->GlobalIdentifier->__is_equal(UUID::parse(KnownClassGuids::GroupLayout)))
{
array_push($parentElementContents, $elementContent);
$tabContainer = new TabContainer();
$tabContainer->ClassList[] = "mcx-element";
$ecs = $oms->getRelatedInstances($ecInst, KnownRelationshipGuids::Element__has__Element_Content);
foreach ($ecs as $ec)
{
$tp = new TabPage();
$tp->Title = $oms->getAttributeValue($ec, KnownAttributeGuids::Label);
$tp->ExtraData = array($ec, $parentElementContents, $renderNotEnterable);
$tp->Content = function($sender, $extraData)
{
$pec = $extraData[1];
$ec = $extraData[0];
if ($ec !== null)
{
$this->renderElementContent($pec, $ec, $extraData[2]);
}
else{
echo( "ec for this tab is null");
}
};
$tabContainer->TabPages[] = $tp;
}
$tabContainer->Render();
array_pop($parentElementContents);
}
}
}
else
@ -1641,6 +1675,12 @@
}
$this->renderBeginTag("body", null, $bodyClasses);
$this->renderBeginTag("script", [ "type" => "text/javascript" ]);
include("HTMLRenderer.js.php");
$this->renderEndTag("script");
$showSpotTimer = false;
if ($showSpotTimer)
{
@ -1662,7 +1702,7 @@
private function renderOmsMetadataExceptions(array $array, string $title, string $singularName, string $pluralName, string $colorClass)
{
echo("<div class=\"uwt-alert uwt-alert-sticky " . $colorClass . " uwt-collapsible uwt-collapsed\">");
echo("<div class=\"uwt-alert uwt-alert-sticky " . $colorClass . " uwt-collapsible uwt-collapsed uwt-disabled\">");
echo("<div class=\"uwt-icon\" title=\"" . count($array) . " " . ($array == 1 ? $singularName : $pluralName) . "\">&nbsp;</div>");
echo("<div class=\"uwt-title\">" . $title . "</div>");
echo("<div class=\"uwt-badge\">" . count($array) . "</div>");
@ -2101,8 +2141,10 @@
$mcx_classes[] = "mcx-editable";
}
$fullyQualifiedECID = $this->getElementContentId($parentElementContents, $elementContent);
// $this->renderBeginTag("tr", [ "data-instance-id" => $ecInst->InstanceKey, "data-ecid" => $elementContent->InstanceKey ], $mcx_classes);
$this->renderBeginTag("div", [ "data-instance-id" => $ecInst->InstanceKey, "data-ecid" => $elementContent->InstanceKey ], $mcx_classes);
$this->renderBeginTag("div", [ "data-instance-id" => $ecInst->InstanceKey, "data-ecid" => $elementContent->InstanceKey, "data-fqecid" => $fullyQualifiedECID ], $mcx_classes);
$title = $this->get__EC_Override_Label_or_default_Instance_Title(array
(
@ -2195,6 +2237,12 @@
echo ("<input type=\"hidden\" name=\"ec_" . $this->getElementContentId($parentElementContents, null) . "_count\" value=\"" . $rowCount . "\" />");
}
$mcx_classes = [ "mcx-element" ];
if ($rowCount === 0)
{
$mcx_classes[] = "mcx-empty";
}
$this->renderBeginTag("div", [ "data-instance-id" => $element->InstanceKey ], $mcx_classes);
$this->renderBeginTag("table", [ "data-ecid" => $parentElementContent->InstanceKey, "data-instance-id" => $element->InstanceKey ], $listviewClasses);
// $this->renderBeginTag("div", [ "data-instance-id" => $element->InstanceKey ], [ "uwt-listview", "mcx-element", "uwt-listview-view-details", "uwt-gridlines", "uwt-hottracking" ]);
@ -2285,6 +2333,7 @@
$this->renderBeginTag("tr", [ ], [ "uwt-listview-item" ]);
//$this->renderBeginTag("div", [ ], [ "uwt-listview-item" ]);
echo("<!-- " . $rowInst . " -->");
$this->renderBeginTag("td", [ ], [ "uwt-listview-row-buttons" ]);
$this->renderBeginTag("a", [ "href" => "#" ], [ "uwt-listview-row-add" ]);
@ -2321,7 +2370,12 @@
}
$this->renderEndTag("table");
//$this->renderEndTag("div");
$this->renderBeginTag("div", [ ], [ "mcx-empty-text" ]);
echo("No items");
$this->renderEndTag("div");
$this->renderEndTag("div");
}
}
}

View File

@ -0,0 +1,48 @@
<?php
$oms = mocha_get_oms();
$tenantName = $oms->getTenantName();
$cdn_url = "static.alcehosting.net";
$tenant_environment_text = "Implementation - " . $tenantName;
function expandUrl($path = "")
{
$ret = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["SERVER_NAME"];
if ($path != "")
{
$ret .= "/" . $path;;
}
return $ret;
}
?>
// Add properties to mocha
window.mocha = window.mocha || {};
mocha.tenant = '<?php echo($tenantName); ?>';
mocha.clientOrigin = '<?php echo(expandUrl()); ?>';
mocha.language = 'en_US';
mocha.clientVersion = '0';
mocha.systemConfidenceLevel = 'PROD';
mocha.oauthAuthorizationPending = false;
mocha.proxyLoginEnabled = false;
mocha.maintenancePageUrl = '<?php echo(expandUrl()); ?>/madi/drs/outage?t=<?php echo($tenantName); ?>';
mocha.deviceTrustDetailsUrl = '';
mocha.pendingAuthDetailsUrl = '';
mocha.webAuthnDetailsUrl = '';
mocha.enableBluePrimaryButtons = 'false';
// Construct init params for GWT app
mocha.initParams = {
authGatewayPath: '/madi/authgwy',
baseDir: '/madi/asset/ui-html/',
systemConfidenceLevel: 'PROD',
cdn: {
endpoint: '<?php echo($cdn_url); ?>',
enabled: true,
allowed: true
},
proxyEnabled: false,
currentVersion: '20.0.04.045',
serviceType: 'authgwy',
loginAuthURL: '/<?php echo($tenantName); ?>/login-auth.xml',
environment: '<?php echo($tenant_environment_text); ?>',
environmentType: 'IMPL'
};

View File

@ -0,0 +1,5 @@
function KnownInstanceKeys()
{
}
KnownInstanceKeys.DisplayOption__NotEnterable = "924$2";

View File

@ -27,20 +27,16 @@ function McxElementListView(parentElement)
tr.appendChild(this.createAddRemoveColumn());
var xhr = new XMLHttpRequest();
var url = System.ExpandRelativePath("~/" + System.TenantName + "/prompt/c0/8.htmld");
if (this.ParentElement.hasAttribute("data-valid-class-ids"))
{
url += "&validClassIds=" + this.ParentElement.getAttribute("data-valid-class-ids");
}
xhr.open("GET", url);
var url = System.ExpandRelativePath("~/" + System.TenantName + "/flowController.htmld");
xhr.open("POST", url);
var h = {
"_flowExecutionKey": "e0s1",
"_eventId_prompt": "8",
"ecid": lvInstId,
"sessionSecureToken": "7733ad40-edf6-4dc9-aa90-85bcf93cc8f0",
"clientRequestID" : "9af7ce5bc51348a6981539a98b267072"
};
xhr.send(JSON.encode(h));
xhr.send(JSON.stringify(h));
for (var i = 1; i < this.HeaderRowElement.children.length; i++)
{

View File

@ -14,6 +14,52 @@ function McxElementContent(parentElement)
}
}
this.updateElementContentsWithFlowController = function(value, changes)
{
for (var i = 0; i < changes.length; i++)
{
var ecid = changes[i].ecid;
var ec = document.getElementById("ec_" + ecid);
if (ec)
{
if (changes[i].addsDisplayOptions)
{
for (var j = 0; j < changes[i].addsDisplayOptions.length; j++)
{
if (changes[i].addsDisplayOptions[j].iid == "924$2")
{
if (value)
{
ec.setAttribute("disabled", "disabled");
}
else
{
ec.removeAttribute("disabled");
}
}
}
}
if (changes[i].removesDisplayOptions)
{
for (var j = 0; j < changes[i].removesDisplayOptions.length; j++)
{
if (changes[i].removesDisplayOptions[j].iid == KnownInstanceKeys.DisplayOption__NotEnterable)
{
if (value)
{
ec.removeAttribute("disabled");
}
else
{
ec.setAttribute("disabled", "disabled");
}
}
}
}
}
}
};
this.ValueContainer = this.ParentElement.children[1];
if (this.ValueContainer.children.length > 0)
{
@ -22,7 +68,7 @@ function McxElementContent(parentElement)
this.ValueContainer.children[0].addEventListener("blur", function()
{
console.log(" DO validation Here!");
})
});
}
else if (this.ValueContainer.children[0].tagName === "DIV" && System.ClassList.Contains(this.ValueContainer.children[0], "mcx-instancebrowser"))
{
@ -32,6 +78,52 @@ function McxElementContent(parentElement)
console.log("IB selected items: " + ib.getSelectedItems().length);
});
}
else if (this.ValueContainer.children[0].tagName === "DIV" && System.ClassList.Contains(this.ValueContainer.children[0], "uwt-checkbox"))
{
var inputElement = this.ValueContainer.children[1];
inputElement.McxNativeObject = this;
inputElement.addEventListener("change", function()
{
var value = this.NativeObject.GetChecked();
var ecid = this.McxNativeObject.ParentElement.getAttribute("data-fqecid");
var xhr = new XMLHttpRequest();
var url = System.ExpandRelativePath("~/" + System.TenantName + "/flowController.htmld");
xhr.NativeObject = this.McxNativeObject;
xhr.NativeObject.ValueElement = this.NativeObject.ParentElement;
xhr.inputElement = this;
xhr.onreadystatechange = function()
{
if (this.readyState === 4)
{
console.log(xhr);
if (this.status === 200)
{
json = JSON.parse(xhr.responseText);
this.NativeObject.updateElementContentsWithFlowController(json.value, json.changes);
}
else
{
this.NativeObject.ValueElement.NativeObject.__inhibit_update = true;
this.NativeObject.ValueElement.NativeObject.ToggleChecked();
this.NativeObject.ValueElement.NativeObject.__inhibit_update = false;
}
}
};
xhr.open("POST", url);
var h = {
"_flowExecutionKey": "e0s1",
"ecid": ecid,
"sessionSecureToken": "7733ad40-edf6-4dc9-aa90-85bcf93cc8f0",
"clientRequestID" : "9af7ce5bc51348a6981539a98b267072",
"value": value
};
xhr.send(JSON.stringify(h));
return true;
});
}
}
this.InstanceID = this.ParentElement.getAttribute("data-instance-id");

View File

@ -0,0 +1,37 @@
@media (max-width: 800px)
{
body
{
&> div.uwt-header, &> form > div.uwt-header
{
&> div.uwt-header-item
{
&.uwt-searchbar
{
&:not(:focus-within)
{
&::before
{
color: #4e5155;
font-size: 16pt;
top: 6px;
}
&:hover
{
cursor: pointer;
&::before
{
color: #fff;
}
}
}
input:not(:focus)
{
width: 32px;
background: transparent;
}
}
}
}
}
}

View File

@ -1,2 +1,3 @@
@import "uwt-htmlheading.less";
@import "uwt-formview.less";
@import "uwt-formview.less";
@import "uwt-searchbar.less";

View File

@ -60,6 +60,7 @@ div.uwt-alert
content: "\f0a8";
}
}
&.uwt-color-danger
{
//.AlertColor2(#4d1b1a, #ffcecd, #ffcecd);
@ -92,20 +93,30 @@ div.uwt-alert
}
}
}
&.uwt-color-success
&:not(.uwt-disabled)
{
.AlertColor2(#ffffff, #00acac, #008181);
&.uwt-color-success
{
.AlertColor2(#ffffff, #00acac, #008181);
}
&.uwt-color-danger
{
.AlertColor(@ThemeColorDanger);
}
&.uwt-color-warning
{
.AlertColor(@ThemeColorWarning);
}
&.uwt-color-info
{
.AlertColor(@ThemeColorInfo);
}
}
&.uwt-color-danger
&.uwt-disabled
{
.AlertColor(@ThemeColorDanger);
}
&.uwt-color-warning
{
.AlertColor(@ThemeColorWarning);
}
&.uwt-color-info
{
.AlertColor(@ThemeColorInfo);
color: #999;
background: #ccc;
border-color: #999;
}
}

View File

@ -37,6 +37,8 @@ body
margin-left: -16px;
left: 28px;
top: 10px;
pointer-events: none;
}
input
{

View File

@ -8,7 +8,7 @@ div.uwt-tabcontainer
&> a
{
color: #6E7179;
font-size: 12px;
// font-size: 12px;
padding: 10px 16px;
&:hover

View File

@ -7,9 +7,12 @@
font: inherit;
font-size: 12px;
&:hover, &:focus
&:not([disabled])
{
border-color: @ThemeColor;
&:hover, &:focus
{
border-color: @ThemeColor;
}
}
&:focus
{

View File

@ -74,4 +74,12 @@ div.uwt-alert
overflow: clip;
overflow-y: scroll;
}
&.uwt-disabled
{
&> div.uwt-badge
{
display: none;
}
}
}

View File

@ -26,6 +26,10 @@ table.mcx-element.uwt-listview
div.mcx-element
{
display: grid;
&.uwt-tabcontainer
{
margin-top: 16px;
}
}
div.uwt-listview.mcx-element
{

View File

@ -167,6 +167,28 @@ div.mcx-elementcontent.mcx-empty:not(.mcx-editable) > div > span.mcx-empty-text
display: inline;
}
div.mcx-element
{
&> div.uwt-formview-item-label
{
display: none;
}
}
div.mcx-element > table.mcx-element + div.mcx-empty-text
{
border: solid 1px var(--uwt-color-gray-500);
border-top: none;
padding: 32px;
text-align: center;
margin-top: -1px;
font-size: 1.5em;
color: var(--uwt-color-gray);
}
div.mcx-element:not(.mcx-empty) > table.mcx-element + div.mcx-empty-text
{
display: none;
}
/*
div.mcx-instancebrowser
{

View File

@ -0,0 +1,5 @@
<Website>
<Pages>
<Page MasterPageFileName="masterPages/Blank2.phpx" FileName="{tenant}/flowController.htmld" CodeBehindClassName="Mocha\UI\Pages\FlowControllerPage" />
</Pages>
</Website>

View File

@ -0,0 +1,157 @@
<?php
namespace Mocha\UI\Pages;
use Mocha\Core\InstanceKey;
use Mocha\Core\KnownClassGuids;
use Mocha\Core\KnownInstanceGuids;
use Mocha\Core\KnownRelationshipGuids;
use Mocha\Core\OmsContext;
use Phast\RenderingEventArgs;
use Phast\System;
use Phast\UUID;
use Phast\WebPage;
class FlowControllerPage extends WebPage
{
protected function OnInitializing(\Phast\CancelEventArgs $e)
{
header("Content-Type: application/json");
$oms = mocha_get_oms();
$tenantName = System::GetTenantName();
$user = $oms->getCurrentUser();
if ($user === null)
{
header("HTTP/1.1 401 Unauthorized");
$json = array
(
"result" => "failure",
"message" => "Please log in to perform this action"
);
echo (json_encode($json));
exit();
}
$jsonInputStr = file_get_contents("php://input");
$jsonInput = json_decode($jsonInputStr, true);
global $context;
$contextsReset = false;
if ($context === null)
{
$contextsReset = true;
$context = new OmsContext();
}
$fqecid = $jsonInput["ecid"];
$ecids = explode(":", $fqecid);
$ecid = $ecids[count($ecids) - 1];
$parentECIDs = substr($fqecid, 0, strripos($fqecid, ":"));
$ec = $oms->getInstanceByKey(InstanceKey::Parse($ecid));
if ($ec === null)
{
header ("HTTP/1.1 404 Not Found");
echo ("{ \"result\": \"failure\", \"message\": \"invalid inst id " . $ecid . " (inst not found)\" }");
return;
}
header ("HTTP/1.1 200 OK");
$element = $oms->getRelatedInstance($ec, KnownRelationshipGuids::Element_Content__has__Instance);
if ($oms->is_a($element, KnownClassGuids::Element))
{
$contents = [];
$elementContents = $oms->getRelatedInstances($element, KnownRelationshipGuids::Element__has__Element_Content);
foreach ($elementContents as $subEC)
{
$contents[] = array
(
"ecid" => $subEC->InstanceKey->__toString()
);
}
}
else if ($oms->is_a($element, KnownClassGuids::BooleanAttribute))
{
$value = $jsonInput["value"];
$oms->setSessionAttributeValue($context, $ec, $value);
$changes = array();
$ecDDOs = $oms->getRelatedInstances($ec, KnownRelationshipGuids::Element_Content__has__EC_Dynamic_Display_Option);
foreach ($ecDDOs as $ecDDO)
{
$addsDisplayOptions = $oms->getRelatedInstances($ecDDO, KnownRelationshipGuids::Dynamic_Display_Option__add__Display_Option);
$removesDisplayOptions = $oms->getRelatedInstances($ecDDO, KnownRelationshipGuids::Dynamic_Display_Option__remove__Display_Option);
$modifiesElementContents = $oms->getRelatedInstances($ecDDO, KnownRelationshipGuids::EC_Dynamic_Display_Option__modifies__Element_Content);
foreach ($modifiesElementContents as $modifiesElementContent)
{
$change = array
(
"ecid" => $parentECIDs . ":" . $modifiesElementContent->InstanceKey->__toString(),
"addsDisplayOptions" => [],
"removesDisplayOptions" => []
);
foreach ($addsDisplayOptions as $addsDisplayOption)
{
$change["addsDisplayOptions"][] = array("iid" => $addsDisplayOption->InstanceKey->__toString() );
}
foreach ($removesDisplayOptions as $removesDisplayOption)
{
$change["removesDisplayOptions"][] = array("iid" => $removesDisplayOption->InstanceKey->__toString() );
}
$changes[] = $change;
}
}
if ($ecid == "56$217")
{
//!FIXME: how to represent this in mocha db with dynamic EC changes / dependent ECs
//! 3$259 Element Content.has EC Dynamic Display Option
//! used for the EC triggering the DDO on the affected EC
// e.g. 56$217 has DDO for controlling the two textboxen
//! 3$261 Element Content.modified by EC Dynamic Display Option
//! used for the EC affected by the dynamic DO
// e.g. the aforementioned DDO modifies 56$218, 56$219
}
$retval = array
(
"result" => "success",
"contextsReset" => $contextsReset,
"value" => $oms->getSessionAttributeValue($context, $ec),
"changes" => $changes
);
echo (json_encode($retval));
exit();
}
else
{
echo ("{ \"result\": \"failure\", \"message\": \"not an element\" }");
exit();
}
$json = array
(
"result" => "success",
"item" => array
(
"widget" => "row",
"contents" => $contents
)
);
echo(json_encode($json));
$e->Cancel = true;
}
}
?>