Merge "[master] IFrame view added, minor fixes in rangeFilter handling - WebGUI_Improvements"
diff --git a/license.txt b/license.txt
deleted file mode 100644
index c29ecb0..0000000
--- a/license.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2000-2017 Ericsson Telecom AB

-

-All rights reserved. 

-

-This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http:www.eclipse.org/legal/epl-v10.html

-

-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

-

-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

-Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

-

-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/test/DsRestAPI/DsRestAPITestConfig.json b/test/DsRestAPI/DsRestAPITestConfig.json
new file mode 100644
index 0000000..00d8b4d
--- /dev/null
+++ b/test/DsRestAPI/DsRestAPITestConfig.json
@@ -0,0 +1,217 @@
+DsRestAPITestConfig = {
+    "DSClientName" : "DsRestAPI_Test_DataSource",
+    "EntityGroups" : [
+        {
+            "Value" : "EntityGroup_0",
+            "tp" : 10,
+            "Scenarios" : [
+                {
+                    "Value" : "Scenario_0",
+                    "tp" : 10,
+                    "TrafficCases" : [
+                        {
+                            "Value" : "TrafficCase_0",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            }
+                        },
+                        {
+                            "Value" : "TrafficCase_1",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            }
+                        }
+                    ],
+                    "Dummy" : [
+                        {
+                            "Value" : "Dummy_0",
+                            "tp" : 10
+                        },
+                        {
+                            "Value" : "Dummy_1",
+                            "tp" : 10
+                        }
+                    ],
+                    "ScStart" : {
+                        "Value" : "true",
+                        "tp" : 3
+                    },
+                    "ScStop" : {
+                        "Value" : "true",
+                        "tp" : 3
+                    },
+                    "ScStatusLED" : {
+                        "Value" : "[led:green]Scenario EntityGroup_0.Scenario_0 is running",
+                        "tp" : 11
+                    }
+                },
+                {
+                    "Value" : "Scenario_1",
+                    "tp" : 10,
+                    "TrafficCases" : [
+                        {
+                            "Value" : "TrafficCase_0",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            }
+                        },
+                        {
+                            "Value" : "TrafficCase_1",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            }
+                        }
+                    ],
+                    "Dummy" : [
+                        {
+                            "Value" : "Dummy_0",
+                            "tp" : 10
+                        },
+                        {
+                            "Value" : "Dummy_1",
+                            "tp" : 10
+                        }
+                    ],
+                    "ScStart" : {
+                        "Value" : "false",
+                        "tp" : 3
+                    },
+                    "ScStop" : {
+                        "Value" : "false",
+                        "tp" : 3
+                    }                    
+                }
+            ],
+            "EGrpType" : { "Value" : "entityType_0", "tp" : 4 },
+            "EGrpSize" : { "Value" : "0", "tp" : 1 }
+        },
+        {
+            "Value" : "EntityGroup_1",
+            "tp" : 10,
+            "Scenarios" : [
+                {
+                    "Value" : "Scenario_0",
+                    "tp" : 10,
+                    "TrafficCases" : [
+                        {
+                            "Value" : "TrafficCase_0",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            }
+                        },
+                        {
+                            "Value" : "TrafficCase_1",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            }
+                        }
+                    ],
+                    "Dummy" : [
+                        {
+                            "Value" : "Dummy_0",
+                            "tp" : 10
+                        },
+                        {
+                            "Value" : "Dummy_1",
+                            "tp" : 10
+                        }
+                    ],
+                    "ScStart" : {
+                        "Value" : "true",
+                        "tp" : 3
+                    },
+                    "ScStop" : {
+                        "Value" : "true",
+                        "tp" : 3
+                    }                    
+                },
+                {
+                    "Value" : "Scenario_1",
+                    "tp" : 10,
+                    "TrafficCases" : [
+                        {
+                            "Value" : "TrafficCase_0",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            }
+                        },
+                        {
+                            "Value" : "TrafficCase_1",
+                            "tp" : 10,
+                            "TcStart" : {
+                                "Value" : "true",
+                                "tp" : 3
+                            },
+                            "TcStop" : {
+                                "Value" : "false",
+                                "tp" : 3
+                            }
+                        }
+                    ],
+                    "Dummy" : [
+                        {
+                            "Value" : "Dummy_0",
+                            "tp" : 10
+                        },
+                        {
+                            "Value" : "Dummy_1",
+                            "tp" : 10
+                        }
+                    ],
+                    "ScStart" : {
+                        "Value" : "false",
+                        "tp" : 3
+                    },
+                    "ScStop" : {
+                        "Value" : "false",
+                        "tp" : 3
+                    }                    
+                }
+            ],
+            "EGrpType" : { "Value" : "entityType_1", "tp" : 4 },
+            "EGrpSize" : { "Value" : "1", "tp" : 1 }
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/DsRestAPI/JSON_reqResp/test1.request b/test/DsRestAPI/JSON_reqResp/test1.request
new file mode 100644
index 0000000..e4536b4
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test1.request
@@ -0,0 +1,13 @@
+requests.test1 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : []

+            }

+        }

+    ]

+}

+

+descriptions.test1 = "Basic getData with empty but present params and children."

diff --git a/test/DsRestAPI/JSON_reqResp/test1.response b/test/DsRestAPI/JSON_reqResp/test1.response
new file mode 100644
index 0000000..369575b
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test1.response
@@ -0,0 +1,17 @@
+responses.test1 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test10.request b/test/DsRestAPI/JSON_reqResp/test10.request
new file mode 100644
index 0000000..d4539b1
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test10.request
@@ -0,0 +1,19 @@
+requests.test10 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "ScStatusLED",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ],

+                "children" : []

+            }

+        }

+    ]

+}

+descriptions.test10 = "Valid getData with multiple params."

diff --git a/test/DsRestAPI/JSON_reqResp/test10.response b/test/DsRestAPI/JSON_reqResp/test10.response
new file mode 100644
index 0000000..ba8efe7
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test10.response
@@ -0,0 +1,9 @@
+responses.test10 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "[led:green]Scenario EntityGroup_0.Scenario_0 is running",

+                "tp" : 11

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test11.request b/test/DsRestAPI/JSON_reqResp/test11.request
new file mode 100644
index 0000000..4347c92
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test11.request
@@ -0,0 +1,35 @@
+requests.test11 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "ScStatusLED",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ],

+                "children" : []

+            }

+        }, {

+            "setData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "ScStatusLED",

+                "content" : "[led:red]Scenario EntityGroup_0.Scenario_0 is stopped",

+                "tp" : 11,

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ]

+            }

+        }

+    ]

+}

+

+descriptions.test11 = "Valid getData and setData in one request."

diff --git a/test/DsRestAPI/JSON_reqResp/test11.response b/test/DsRestAPI/JSON_reqResp/test11.response
new file mode 100644
index 0000000..011d993
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test11.response
@@ -0,0 +1,16 @@
+responses.test11 = {

+    "contentList" : [

+        {

+            "node" : {

+                "val" : "[led:green]Scenario EntityGroup_0.Scenario_0 is running",

+                "tp" : 11

+            }

+        },

+        {

+            "node" : {

+                "val" : "[led:red]Scenario EntityGroup_0.Scenario_0 is stopped",

+                "tp" : 11

+            }

+        }

+    ]

+}
\ No newline at end of file
diff --git a/test/DsRestAPI/JSON_reqResp/test12.request b/test/DsRestAPI/JSON_reqResp/test12.request
new file mode 100644
index 0000000..a9bf3d3
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test12.request
@@ -0,0 +1,15 @@
+requests.test12 = {

+    "requests" : {

+        "requests" : [{

+                "getData" : {

+                    "source" : "DsRestAPI_Test_DataSource",

+                    "element" : "EntityGroups",

+                    "params" : [],

+                    "children" : []

+                }

+            }

+        ]

+    }

+}

+

+descriptions.test12 = "Invalid getData, double requests fields."

diff --git a/test/DsRestAPI/JSON_reqResp/test12.response b/test/DsRestAPI/JSON_reqResp/test12.response
new file mode 100644
index 0000000..65e26ad
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test12.response
@@ -0,0 +1,9 @@
+responses.test12 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': Invalid JSON token found while decoding field 'requests'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test13.request b/test/DsRestAPI/JSON_reqResp/test13.request
new file mode 100644
index 0000000..6e5a915
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test13.request
@@ -0,0 +1,15 @@
+requests.test13 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [{

+                        "apple" : "20"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test13 = "Invalid getData, invalid key in children."

diff --git a/test/DsRestAPI/JSON_reqResp/test13.response b/test/DsRestAPI/JSON_reqResp/test13.response
new file mode 100644
index 0000000..a2157de
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test13.response
@@ -0,0 +1,9 @@
+responses.test13 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': Invalid field name 'apple'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test14.request b/test/DsRestAPI/JSON_reqResp/test14.request
new file mode 100644
index 0000000..8c1839a
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test14.request
@@ -0,0 +1,15 @@
+requests.test14 = {

+    "requests" : [{

+            "setData" : {

+                "source" : "ExecCtrl",

+                "element" : "help",

+                "params" : [{

+                        "paramName" : "Format",

+                        "paramValue" : "TEXT"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test14 = "Invalid setData, without content and tp."

diff --git a/test/DsRestAPI/JSON_reqResp/test14.response b/test/DsRestAPI/JSON_reqResp/test14.response
new file mode 100644
index 0000000..5d2d25d
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test14.response
@@ -0,0 +1,9 @@
+responses.test14 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': No JSON data found for field 'content'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test15.request b/test/DsRestAPI/JSON_reqResp/test15.request
new file mode 100644
index 0000000..0876a0b
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test15.request
@@ -0,0 +1,16 @@
+requests.test15 = {

+    "requests" : [{

+            "setData" : {

+                "source" : "ExecCtrl",

+                "element" : "help",

+                "content" : "[led:red]Scenario EntityGroup_0.Scenario_0 is stopped",

+                "params" : [{

+                        "paramName" : "Format",

+                        "paramValue" : "TEXT"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test15 = "Invalid setData, without tp."

diff --git a/test/DsRestAPI/JSON_reqResp/test15.response b/test/DsRestAPI/JSON_reqResp/test15.response
new file mode 100644
index 0000000..d860f72
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test15.response
@@ -0,0 +1,9 @@
+responses.test15 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': No JSON data found for field 'tp'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test16.request b/test/DsRestAPI/JSON_reqResp/test16.request
new file mode 100644
index 0000000..1515642
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test16.request
@@ -0,0 +1,16 @@
+requests.test16 = {

+    "requests" : [{

+            "setData" : {

+                "source" : "ExecCtrl",

+                "element" : "help",

+                "tp" : 11,

+                "params" : [{

+                        "paramName" : "Format",

+                        "paramValue" : "TEXT"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test16 = "Invalid setData, without content."

diff --git a/test/DsRestAPI/JSON_reqResp/test16.response b/test/DsRestAPI/JSON_reqResp/test16.response
new file mode 100644
index 0000000..d5a2c0c
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test16.response
@@ -0,0 +1,9 @@
+responses.test16 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': No JSON data found for field 'content'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test17.request b/test/DsRestAPI/JSON_reqResp/test17.request
new file mode 100644
index 0000000..8d8fc0c
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test17.request
@@ -0,0 +1,17 @@
+requests.test17 = {

+    "requests" : [{

+            "setData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "help",

+                "content" : "[led:red]Scenario EntityGroup_0.Scenario_0 is stopped",

+                "tp" : 2,

+                "params" : [{

+                        "paramName" : "Format",

+                        "paramValue" : "TEXT"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test17 = "Invalid setData, tp 2 is float, not bool; also, everything in help is read-only."

diff --git a/test/DsRestAPI/JSON_reqResp/test17.response b/test/DsRestAPI/JSON_reqResp/test17.response
new file mode 100644
index 0000000..c45adba
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test17.response
@@ -0,0 +1,9 @@
+responses.test17 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Cannot convert content: [led:red]Scenario EntityGroup_0.Scenario_0 is stopped to tp: 2, Reason: The argument of function str2float(), which is \"[led:red]Scenario EntityGroup_0.Scenario_0 is stopped\", does not represent a valid float value. Invalid character `[' was found at index 0.",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test18.request b/test/DsRestAPI/JSON_reqResp/test18.request
new file mode 100644
index 0000000..ded0f09
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test18.request
@@ -0,0 +1,17 @@
+requests.test18 = {

+    "requests" : [{

+            "setData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "help",

+                "content" : "[led:red]Scenario EntityGroup_0.Scenario_0 is stopped",

+                "tp" : 20,

+                "params" : [{

+                        "paramName" : "Format",

+                        "paramValue" : "TEXT"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test18 = "Invalid setData, tp 20 is invalid, not LED(10); also, everything in help is read-only."

diff --git a/test/DsRestAPI/JSON_reqResp/test18.response b/test/DsRestAPI/JSON_reqResp/test18.response
new file mode 100644
index 0000000..daad3e5
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test18.response
@@ -0,0 +1,9 @@
+responses.test18 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Invalid tp: 20",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test19.request b/test/DsRestAPI/JSON_reqResp/test19.request
new file mode 100644
index 0000000..a8affe0
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test19.request
@@ -0,0 +1,17 @@
+requests.test19 = {

+    "requests" : [{

+            "setData" : {

+                "source" : "DataSource",

+                "element" : "help",

+                "content" : "[led:red]Scenario EntityGroup_0.Scenario_0 is stopped",

+                "tp" : 11,

+                "params" : [{

+                        "paramName" : "Format",

+                        "paramValue" : "TEXT"

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test19 = "Valid setData, BUT everything in help is read-only."

diff --git a/test/DsRestAPI/JSON_reqResp/test19.response b/test/DsRestAPI/JSON_reqResp/test19.response
new file mode 100644
index 0000000..842c7c6
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test19.response
@@ -0,0 +1,9 @@
+responses.test19 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Value cannot be changed",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test2.request b/test/DsRestAPI/JSON_reqResp/test2.request
new file mode 100644
index 0000000..9ac9a60
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test2.request
@@ -0,0 +1,18 @@
+requests.test2 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TrafficCases",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ],

+                "children" : []

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test2.response b/test/DsRestAPI/JSON_reqResp/test2.response
new file mode 100644
index 0000000..9e63d50
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test2.response
@@ -0,0 +1,17 @@
+responses.test2 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "TrafficCase_0",

+                        "tp" : 10

+                    }

+                }, {

+                    "node" : {

+                        "val" : "TrafficCase_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test20.request b/test/DsRestAPI/JSON_reqResp/test20.request
new file mode 100644
index 0000000..334ece2
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test20.request
@@ -0,0 +1,16 @@
+requests.test20 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test20 = "Basic getData with empty but present params and children with filter true."

diff --git a/test/DsRestAPI/JSON_reqResp/test20.response b/test/DsRestAPI/JSON_reqResp/test20.response
new file mode 100644
index 0000000..5998631
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test20.response
@@ -0,0 +1,17 @@
+responses.test20 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test21.request b/test/DsRestAPI/JSON_reqResp/test21.request
new file mode 100644
index 0000000..c185b44
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test21.request
@@ -0,0 +1,21 @@
+requests.test21 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TrafficCases",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test21.response b/test/DsRestAPI/JSON_reqResp/test21.response
new file mode 100644
index 0000000..f7a3c1b
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test21.response
@@ -0,0 +1,17 @@
+responses.test21 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "TrafficCase_0",

+                        "tp" : 10

+                    }

+                }, {

+                    "node" : {

+                        "val" : "TrafficCase_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test22.request b/test/DsRestAPI/JSON_reqResp/test22.request
new file mode 100644
index 0000000..1d0263f
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test22.request
@@ -0,0 +1,20 @@
+requests.test22 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EGrpType",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test22 = "Valid getData with params with filter true."

diff --git a/test/DsRestAPI/JSON_reqResp/test22.response b/test/DsRestAPI/JSON_reqResp/test22.response
new file mode 100644
index 0000000..7c42820
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test22.response
@@ -0,0 +1,9 @@
+responses.test22 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "entityType_0",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test23.request b/test/DsRestAPI/JSON_reqResp/test23.request
new file mode 100644
index 0000000..1f89083
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test23.request
@@ -0,0 +1,71 @@
+requests.test23 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EGrpType",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }, {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EGrpSize",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }, {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "ScStart",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }, {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TcStop",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }, {

+                        "paramName" : "TrafficCase",

+                        "paramValue" : "TrafficCase_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test23 = "Valid array of 4 getDatas with filter true."

diff --git a/test/DsRestAPI/JSON_reqResp/test23.response b/test/DsRestAPI/JSON_reqResp/test23.response
new file mode 100644
index 0000000..e66ef13
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test23.response
@@ -0,0 +1,24 @@
+responses.test23 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "entityType_0",

+                "tp" : 4

+            }

+        }, {

+            "node" : {

+                "val" : "0",

+                "tp" : 1

+            }

+        }, {

+            "node" : {

+                "val" : "true",

+                "tp" : 3

+            }

+        }, {

+            "node" : {

+                "val" : "true",

+                "tp" : 3

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test24.request b/test/DsRestAPI/JSON_reqResp/test24.request
new file mode 100644
index 0000000..9b09ca2
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test24.request
@@ -0,0 +1,43 @@
+requests.test24 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [{

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "Scenarios",

+                            "params" : [{

+                                    "paramName" : "EntityGroup",

+                                    "paramValue" : "EntityGroup_0"

+                                }

+                            ],

+                            "children" : [{

+                                    "getData" : {

+                                        "source" : "DsRestAPI_Test_DataSource",

+                                        "element" : "TrafficCases",

+                                        "params" : [{

+                                                "paramName" : "EntityGroup",

+                                                "paramValue" : "EntityGroup_0"

+                                            }, {

+                                                "paramName" : "Scenario",

+                                                "paramValue" : "Scenario_0"

+                                            }

+                                        ],

+                                        "children" : []

+                                    }

+                                }

+                            ]

+                        }

+                    }

+                ],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test24 = "Valid getData with children in a depth of 3 with filter true."

diff --git a/test/DsRestAPI/JSON_reqResp/test24.response b/test/DsRestAPI/JSON_reqResp/test24.response
new file mode 100644
index 0000000..a97a66b
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test24.response
@@ -0,0 +1,107 @@
+responses.test24 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test25.request b/test/DsRestAPI/JSON_reqResp/test25.request
new file mode 100644
index 0000000..420b508
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test25.request
@@ -0,0 +1,57 @@
+requests.test25 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [{

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "Scenarios",

+                            "params" : [{

+                                    "paramName" : "EntityGroup",

+                                    "paramValue" : "EntityGroup_0"

+                                }

+                            ],

+                            "children" : [{

+                                    "getData" : {

+                                        "source" : "DsRestAPI_Test_DataSource",

+                                        "element" : "ScStart",

+                                        "params" : [{

+                                                "paramName" : "EntityGroup",

+                                                "paramValue" : "EntityGroup_0"

+                                            }, {

+                                                "paramName" : "Scenario",

+                                                "paramValue" : "Scenario_0"

+                                            }

+                                        ],

+                                        "children" : [{

+                                                "getData" : {

+                                                    "source" : "DsRestAPI_Test_DataSource",

+                                                    "element" : "Dummy",

+                                                    "params" : [{

+                                                            "paramName" : "EntityGroup",

+                                                            "paramValue" : "EntityGroup_0"

+                                                        }, {

+                                                            "paramName" : "Scenario",

+                                                            "paramValue" : "Scenario_0"

+                                                        }

+                                                    ],

+                                                    "children" : []

+                                                }

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    }

+                ],

+                "filter": {

+                    "dataValue": "true"

+                }

+            }

+        }

+    ]

+}

+descriptions.test25 = "Valid getData with children in a depth of 4 with filter true."

diff --git a/test/DsRestAPI/JSON_reqResp/test25.response b/test/DsRestAPI/JSON_reqResp/test25.response
new file mode 100644
index 0000000..b850aa8
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test25.response
@@ -0,0 +1,135 @@
+responses.test25 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test26.request b/test/DsRestAPI/JSON_reqResp/test26.request
new file mode 100644
index 0000000..d90408a
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test26.request
@@ -0,0 +1,33 @@
+requests.test26 = {

+    "requests" : [

+        {

+            "getData": {

+                "source": "DataSource",

+                "element": "dataElementPresent",

+                "params": [

+                    {

+                        "paramName": "Source",

+                        "paramValue": "HostAdminServer"

+                    },

+                    {

+                        "paramName": "Element",

+                        "paramValue": "Hosts"

+                    }

+                ],

+                "children": [

+                    {

+                        "getData": {

+                            "source": "HostAdminServer",

+                            "element": "Hosts"

+                        }

+                    }

+                ],

+                "filter": {

+                    "dataValue": "%Parent0%"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test26 = "False filter value ponting to its request. Children should not be processed."
\ No newline at end of file
diff --git a/test/DsRestAPI/JSON_reqResp/test26.response b/test/DsRestAPI/JSON_reqResp/test26.response
new file mode 100644
index 0000000..2515b76
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test26.response
@@ -0,0 +1,9 @@
+responses.test26 = {

+    "contentList" : [{

+            "node": {

+                "val": "",

+                "tp": 0 

+            }

+        }

+    ]

+}
\ No newline at end of file
diff --git a/test/DsRestAPI/JSON_reqResp/test27.request b/test/DsRestAPI/JSON_reqResp/test27.request
new file mode 100644
index 0000000..32410e6
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test27.request
@@ -0,0 +1,43 @@
+requests.test27 = {

+    "requests" : [

+        {

+            "getData": {

+                "source": "DsRestAPI_Test_DataSource",

+                "element": "EntityGroups",

+                "filter": {

+                    "request": {

+                        "source": "DataSource",

+                        "element": ">",

+                        "params": [

+                            {

+                                "paramName": "Par1",

+                                "paramValue": {

+                                    "request": {

+                                        "source": "DsRestAPI_Test_DataSource",

+                                        "element": "EGrpSize",

+                                        "params": [

+                                            {

+                                                "paramName": "EntityGroup",

+                                                "paramValue": {

+                                                    "dataValue": "%Parent0%"

+                                                }

+                                            }

+                                        ]

+                                    }

+                                }

+                            },

+                            {

+                                "paramName": "Par2",

+                                "paramValue": {

+                                    "dataValue": "0"

+                                }

+                            }

+                        ]

+                    }

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test27 = "EnittyGroups whose EGrpSize is > 0"

diff --git a/test/DsRestAPI/JSON_reqResp/test27.response b/test/DsRestAPI/JSON_reqResp/test27.response
new file mode 100644
index 0000000..bee6f06
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test27.response
@@ -0,0 +1,12 @@
+responses.test27 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test28.request b/test/DsRestAPI/JSON_reqResp/test28.request
new file mode 100644
index 0000000..224fa4f
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test28.request
@@ -0,0 +1,80 @@
+requests.test28 = {

+    "requests" : [

+        {

+            "getData": {

+                "source": "DsRestAPI_Test_DataSource",

+                "element": "EntityGroups",

+                "children": [

+                    {

+                        "getData": {

+                            "source": "DsRestAPI_Test_DataSource",

+                            "element": "Scenarios",

+                            "params": [

+                                {

+                                    "paramName": "EntityGroup",

+                                    "paramValue": "%Parent0%"

+                                }

+                            ],

+                            "filter": {

+                                "request": {

+                                    "source": "DataSource",

+                                    "element": "and",

+                                    "params": [

+                                        {

+                                            "paramName": "Par1",

+                                            "paramValue": {

+                                                "request": {

+                                                    "source": "DsRestAPI_Test_DataSource",

+                                                    "element": "ScStop",

+                                                    "params": [

+                                                        {

+                                                            "paramName": "EntityGroup",

+                                                            "paramValue": {

+                                                                "dataValue": "%Parent0%"

+                                                            }

+                                                        },

+                                                        {

+                                                            "paramName": "Scenario",

+                                                            "paramValue": {

+                                                                "dataValue": "%Parent1%"

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            }

+                                        },

+                                        {

+                                            "paramName": "Par2",

+                                            "paramValue": {

+                                                "request": {

+                                                    "source": "DsRestAPI_Test_DataSource",

+                                                    "element": "ScStart",

+                                                    "params": [

+                                                        {

+                                                            "paramName": "EntityGroup",

+                                                            "paramValue": {

+                                                                "dataValue": "%Parent0%"

+                                                            }

+                                                        },

+                                                        {

+                                                            "paramName": "Scenario",

+                                                            "paramValue": {

+                                                                "dataValue": "%Parent1%"

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            }

+                                        }

+                                    ]

+                                }

+                            }

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+

+descriptions.test28 = "Scenarios who are started and stopped at the same time..."

diff --git a/test/DsRestAPI/JSON_reqResp/test28.response b/test/DsRestAPI/JSON_reqResp/test28.response
new file mode 100644
index 0000000..4601d67
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test28.response
@@ -0,0 +1,43 @@
+responses.test28 = {

+    "contentList" : [

+        {

+            "list" : [

+                {

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [

+                            {

+                                "list" : [

+                                    {

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [

+                            {

+                                "list" : [

+                                    {

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test29.request b/test/DsRestAPI/JSON_reqResp/test29.request
new file mode 100644
index 0000000..d6e8712
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test29.request
@@ -0,0 +1,43 @@
+requests.test29 = {

+    "requests" : [

+        {

+            "getData": {

+                "source": "DsRestAPI_Test_DataSource",

+                "element": "EntityGroups",

+                "children": [

+                    {

+                        "getData": {

+                            "source": "DsRestAPI_Test_DataSource",

+                            "element": "Scenarios",

+                            "params": [

+                                {

+                                    "paramName": "EntityGroup",

+                                    "paramValue": "%Parent0%"

+                                }

+                            ],

+                            "children": [

+                                {

+                                    "getData": {

+                                        "source": "DsRestAPI_Test_DataSource",

+                                        "element": "ScStart",

+                                        "params": [

+                                            {

+                                                "paramName": "EntityGroup",

+                                                "paramValue": "%Parent0%"

+                                            },

+                                            {

+                                                "paramName": "Scenario",

+                                                "paramValue": "%Parent1%"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test29 = "Valid getData with multiple params and parents."

diff --git a/test/DsRestAPI/JSON_reqResp/test29.response b/test/DsRestAPI/JSON_reqResp/test29.response
new file mode 100644
index 0000000..abbd327
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test29.response
@@ -0,0 +1,85 @@
+responses.test29 = {

+    "contentList" : [

+        {

+            "list" : [

+                {

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [

+                            {

+                                "list" : [

+                                    {

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [

+                                                {

+                                                    "node": {

+                                                        "val": "true",

+                                                        "tp": 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [

+                                                {

+                                                    "node": {

+                                                        "val": "false",

+                                                        "tp": 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [

+                            {

+                                "list" : [

+                                    {

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [

+                                                {

+                                                    "node": {

+                                                        "val": "true",

+                                                        "tp": 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [

+                                                {

+                                                    "node": {

+                                                        "val": "false",

+                                                        "tp": 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test3.request b/test/DsRestAPI/JSON_reqResp/test3.request
new file mode 100644
index 0000000..d0fc6b2
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test3.request
@@ -0,0 +1,17 @@
+requests.test3 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EGrpType",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }

+                ],

+                "children" : []

+            }

+        }

+    ]

+}

+

+descriptions.test3 = "Valid getData with params."

diff --git a/test/DsRestAPI/JSON_reqResp/test3.response b/test/DsRestAPI/JSON_reqResp/test3.response
new file mode 100644
index 0000000..55d1dc8
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test3.response
@@ -0,0 +1,9 @@
+responses.test3 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "entityType_0",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test39.request b/test/DsRestAPI/JSON_reqResp/test39.request
new file mode 100644
index 0000000..eadaecb
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test39.request
@@ -0,0 +1,16 @@
+requests.test39 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": {

+                    "dataValue": "false"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test39 = "Filtering with constant false"

diff --git a/test/DsRestAPI/JSON_reqResp/test39.response b/test/DsRestAPI/JSON_reqResp/test39.response
new file mode 100644
index 0000000..bc39941
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test39.response
@@ -0,0 +1,9 @@
+responses.test39 = {

+    "contentList" : [{

+            "node": {

+                "val": "",

+                "tp": 0 

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test4.request b/test/DsRestAPI/JSON_reqResp/test4.request
new file mode 100644
index 0000000..c9fd479
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test4.request
@@ -0,0 +1,59 @@
+requests.test4 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EGrpType",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }

+                ],

+                "children" : []

+            }

+        }, {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EGrpSize",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }

+                ],

+                "children" : []

+            }

+        }, {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "ScStart",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }

+                ],

+                "children" : []

+            }

+        }, {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TcStop",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }, {

+                        "paramName" : "TrafficCase",

+                        "paramValue" : "TrafficCase_0"

+                    }

+                ],

+                "children" : []

+            }

+        }

+    ]

+}

+

+descriptions.test4 = "Valid array of 4 getDatas."

diff --git a/test/DsRestAPI/JSON_reqResp/test4.response b/test/DsRestAPI/JSON_reqResp/test4.response
new file mode 100644
index 0000000..d3c64e8
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test4.response
@@ -0,0 +1,24 @@
+responses.test4 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "entityType_0",

+                "tp" : 4

+            }

+        }, {

+            "node" : {

+                "val" : "0",

+                "tp" : 1

+            }

+        }, {

+            "node" : {

+                "val" : "true",

+                "tp" : 3

+            }

+        }, {

+            "node" : {

+                "val" : "true",

+                "tp" : 3

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test40.request b/test/DsRestAPI/JSON_reqResp/test40.request
new file mode 100644
index 0000000..dead671
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test40.request
@@ -0,0 +1,14 @@
+requests.test40 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": "true"

+            }

+        }

+    ]

+}

+

+descriptions.test21 = "Filter syntax error, bool string not union"

diff --git a/test/DsRestAPI/JSON_reqResp/test40.response b/test/DsRestAPI/JSON_reqResp/test40.response
new file mode 100644
index 0000000..69a2cf7
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test40.response
@@ -0,0 +1,9 @@
+responses.test40 = {

+    "contentList" : [{

+            "node" : {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': Invalid JSON token found while decoding field 'filter'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test41.request b/test/DsRestAPI/JSON_reqResp/test41.request
new file mode 100644
index 0000000..6cd28af
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test41.request
@@ -0,0 +1,16 @@
+requests.test41 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": {

+                    "datavalue" : "true"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test41 = "Filter syntax error, union field name error"

diff --git a/test/DsRestAPI/JSON_reqResp/test41.response b/test/DsRestAPI/JSON_reqResp/test41.response
new file mode 100644
index 0000000..80bd5d9
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test41.response
@@ -0,0 +1,9 @@
+responses.test41 = {

+    "contentList" : [{

+            "node": {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': Invalid field name 'datavalue'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test42.request b/test/DsRestAPI/JSON_reqResp/test42.request
new file mode 100644
index 0000000..1b62953
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test42.request
@@ -0,0 +1,18 @@
+requests.test42 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": {

+                    "request" : {

+                        "source" : "DsRestAPI_Test_DataSource"

+                    }

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test42 = "Filter syntax error, request not complete"

diff --git a/test/DsRestAPI/JSON_reqResp/test42.response b/test/DsRestAPI/JSON_reqResp/test42.response
new file mode 100644
index 0000000..ac0d70b
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test42.response
@@ -0,0 +1,9 @@
+responses.test42 = {

+    "contentList" : [{

+            "node": {

+                "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': No JSON data found for field 'element'",

+                "tp" : 4

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test43.request b/test/DsRestAPI/JSON_reqResp/test43.request
new file mode 100644
index 0000000..8edae68
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test43.request
@@ -0,0 +1,19 @@
+requests.test43 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": {

+                    "request" : {

+                        "source" : "DsRestAPI_Test_DataSource",

+                        "element" : "ScStatusLED"

+                    }

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test43 = "Filter semantic error, request result is error, processed as false"

diff --git a/test/DsRestAPI/JSON_reqResp/test43.response b/test/DsRestAPI/JSON_reqResp/test43.response
new file mode 100644
index 0000000..75e60b8
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test43.response
@@ -0,0 +1,9 @@
+responses.test43 = {

+    "contentList" : [{

+            "node": {

+                "val": "",

+                "tp": 0 

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test44.request b/test/DsRestAPI/JSON_reqResp/test44.request
new file mode 100644
index 0000000..000970b
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test44.request
@@ -0,0 +1,37 @@
+requests.test44 = {

+    "requests" : [

+        {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [],

+                "filter": {

+                    "request" : {

+                        "source" : "DsRestAPI_Test_DataSource",

+                        "element" : "TcStop",

+                        "params" : [{

+                                "paramName" : "EntityGroup",

+                                "paramValue" : {

+                                    "dataValue" : "EntityGroup_0"

+                                }

+                            }, {

+                                "paramName" : "Scenario",

+                                "paramValue" : {

+                                    "dataValue" : "Scenario_0"

+                                }

+                            }, {

+                                "paramName" : "TrafficCase",

+                                "paramValue" : {

+                                    "dataValue" : "TrafficCase_0"

+                                }

+                            }

+                        ]

+                    }

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test44 = "Filter request with params"

diff --git a/test/DsRestAPI/JSON_reqResp/test44.response b/test/DsRestAPI/JSON_reqResp/test44.response
new file mode 100644
index 0000000..ef549b3
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test44.response
@@ -0,0 +1,17 @@
+responses.test44 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test45.request b/test/DsRestAPI/JSON_reqResp/test45.request
new file mode 100644
index 0000000..2d1b5ea
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test45.request
@@ -0,0 +1,30 @@
+requests.test45 = {

+    "requests" : [

+        {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TcStop",

+                "params" : [

+                    {

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    },

+                    {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    },

+                    {

+                        "paramName" : "TrafficCase",

+                        "paramValue" : "TrafficCase_0"

+                    }

+                ],

+                "children" : [],

+                "filter": {

+                    "dataValue" : "%Parent0%"

+                }

+            }

+        }

+    ]

+}

+

+descriptions.test45 = "Filtering based on response value"

diff --git a/test/DsRestAPI/JSON_reqResp/test45.response b/test/DsRestAPI/JSON_reqResp/test45.response
new file mode 100644
index 0000000..2ca4830
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test45.response
@@ -0,0 +1,10 @@
+responses.test45 = {

+    "contentList" : [

+        {

+            "node" : {

+                "val" : "true",

+                "tp" : 3

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test46.request b/test/DsRestAPI/JSON_reqResp/test46.request
new file mode 100644
index 0000000..e7b8fbf
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test46.request
@@ -0,0 +1,34 @@
+requests.test46 = {

+    "requests" : [

+        {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TcStart",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }, {

+                        "paramName" : "TrafficCase",

+                        "paramValue" : "TrafficCase_0"

+                    }

+                ],

+                "children" : [

+                    {

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "EntityGroups",

+                            "filter" : {

+                                "dataValue" : "%Parent0%"

+                            }

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+

+descriptions.test46 = "Filtering based on parent response value"

diff --git a/test/DsRestAPI/JSON_reqResp/test46.response b/test/DsRestAPI/JSON_reqResp/test46.response
new file mode 100644
index 0000000..0f57a7c
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test46.response
@@ -0,0 +1,18 @@
+responses.test46 = {

+    "contentList" : [

+        {

+            "node" : {

+                "val" : "false",

+                "tp" : 3,

+                "childVals" : [

+                    {

+                        "node" : {

+                            "val" : "",

+                            "tp" : 0

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test47.request b/test/DsRestAPI/JSON_reqResp/test47.request
new file mode 100644
index 0000000..61de8e1
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test47.request
@@ -0,0 +1,34 @@
+requests.test47 = {

+    "requests" : [

+        {

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TcStop",

+                "params" : [{

+                        "paramName" : "EntityGroup",

+                        "paramValue" : "EntityGroup_0"

+                    }, {

+                        "paramName" : "Scenario",

+                        "paramValue" : "Scenario_0"

+                    }, {

+                        "paramName" : "TrafficCase",

+                        "paramValue" : "TrafficCase_0"

+                    }

+                ],

+                "children" : [

+                    {

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "EntityGroups",

+                            "filter" : {

+                                "dataValue" : "%Parent0%"

+                            }

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+

+descriptions.test47 = "Filtering based on parent response value when true"

diff --git a/test/DsRestAPI/JSON_reqResp/test47.response b/test/DsRestAPI/JSON_reqResp/test47.response
new file mode 100644
index 0000000..199cbbb
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test47.response
@@ -0,0 +1,28 @@
+responses.test47 = {

+    "contentList" : [

+    {

+        "node": {

+            "val": "true",

+            "tp": 3,

+            "childVals": [

+                {

+                    "list": [

+                        {

+                            "node": {

+                                "val": "EntityGroup_0",

+                                "tp": 10

+                            }

+                        },

+                        {

+                            "node": {

+                                "val": "EntityGroup_1",

+                                "tp": 10

+                            }

+                        }

+                    ]

+                }

+            ]

+        }

+    }

+]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test5.request b/test/DsRestAPI/JSON_reqResp/test5.request
new file mode 100644
index 0000000..46577a3
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test5.request
@@ -0,0 +1,40 @@
+requests.test5 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [{

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "Scenarios",

+                            "params" : [{

+                                    "paramName" : "EntityGroup",

+                                    "paramValue" : "EntityGroup_0"

+                                }

+                            ],

+                            "children" : [{

+                                    "getData" : {

+                                        "source" : "DsRestAPI_Test_DataSource",

+                                        "element" : "TrafficCases",

+                                        "params" : [{

+                                                "paramName" : "EntityGroup",

+                                                "paramValue" : "EntityGroup_0"

+                                            }, {

+                                                "paramName" : "Scenario",

+                                                "paramValue" : "Scenario_0"

+                                            }

+                                        ],

+                                        "children" : []

+                                    }

+                                }

+                            ]

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+

+descriptions.test5 = "Valid getData with children in a depth of 3."

diff --git a/test/DsRestAPI/JSON_reqResp/test5.response b/test/DsRestAPI/JSON_reqResp/test5.response
new file mode 100644
index 0000000..0aedeae
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test5.response
@@ -0,0 +1,107 @@
+responses.test5 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test6.request b/test/DsRestAPI/JSON_reqResp/test6.request
new file mode 100644
index 0000000..686d6bf
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test6.request
@@ -0,0 +1,54 @@
+requests.test6 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [{

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "Scenarios",

+                            "params" : [{

+                                    "paramName" : "EntityGroup",

+                                    "paramValue" : "EntityGroup_0"

+                                }

+                            ],

+                            "children" : [{

+                                    "getData" : {

+                                        "source" : "DsRestAPI_Test_DataSource",

+                                        "element" : "ScStart",

+                                        "params" : [{

+                                                "paramName" : "EntityGroup",

+                                                "paramValue" : "EntityGroup_0"

+                                            }, {

+                                                "paramName" : "Scenario",

+                                                "paramValue" : "Scenario_0"

+                                            }

+                                        ],

+                                        "children" : [{

+                                                "getData" : {

+                                                    "source" : "DsRestAPI_Test_DataSource",

+                                                    "element" : "Dummy",

+                                                    "params" : [{

+                                                            "paramName" : "EntityGroup",

+                                                            "paramValue" : "EntityGroup_0"

+                                                        }, {

+                                                            "paramName" : "Scenario",

+                                                            "paramValue" : "Scenario_0"

+                                                        }

+                                                    ],

+                                                    "children" : []

+                                                }

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+descriptions.test6 = "Valid getData with children in a depth of 4."

diff --git a/test/DsRestAPI/JSON_reqResp/test6.response b/test/DsRestAPI/JSON_reqResp/test6.response
new file mode 100644
index 0000000..74b7853
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test6.response
@@ -0,0 +1,135 @@
+responses.test6 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3,

+                                                        "childVals" : [{

+                                                                "list" : [{

+                                                                        "node" : {

+                                                                            "val" : "Dummy_0",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "Dummy_1",

+                                                                            "tp" : 10

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test7.request b/test/DsRestAPI/JSON_reqResp/test7.request
new file mode 100644
index 0000000..af226d3
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test7.request
@@ -0,0 +1,5 @@
+requests.test7 = {

+    "requests" : []

+}

+

+descriptions.test7 = "An empty request."

diff --git a/test/DsRestAPI/JSON_reqResp/test7.response b/test/DsRestAPI/JSON_reqResp/test7.response
new file mode 100644
index 0000000..6fbed24
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test7.response
@@ -0,0 +1,3 @@
+responses.test7 = {

+    "contentList" : []

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test8.request b/test/DsRestAPI/JSON_reqResp/test8.request
new file mode 100644
index 0000000..f94a070
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test8.request
@@ -0,0 +1,17 @@
+requests.test8 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "TrafficCases",

+                "params" : [{

+                        "paramName" : "ScenarioInstance",

+                        "paramValue" : "EntityGroup_0.Scenario_0"

+                    }

+                ],

+                "children" : []

+            }

+        }

+    ]

+}

+

+descriptions.test8 = "Valid getData with params."

diff --git a/test/DsRestAPI/JSON_reqResp/test8.response b/test/DsRestAPI/JSON_reqResp/test8.response
new file mode 100644
index 0000000..a93783d
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test8.response
@@ -0,0 +1,17 @@
+responses.test8 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "TrafficCase_0",

+                        "tp" : 10

+                    }

+                }, {

+                    "node" : {

+                        "val" : "TrafficCase_1",

+                        "tp" : 10

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/DsRestAPI/JSON_reqResp/test9.request b/test/DsRestAPI/JSON_reqResp/test9.request
new file mode 100644
index 0000000..65f478f
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test9.request
@@ -0,0 +1,37 @@
+requests.test9 = {

+    "requests" : [{

+            "getData" : {

+                "source" : "DsRestAPI_Test_DataSource",

+                "element" : "EntityGroups",

+                "params" : [],

+                "children" : [{

+                        "getData" : {

+                            "source" : "DsRestAPI_Test_DataSource",

+                            "element" : "Scenarios",

+                            "params" : [{

+                                    "paramName" : "EntityGroup",

+                                    "paramValue" : "EntityGroup_0"

+                                }

+                            ],

+                            "children" : [{

+                                    "getData" : {

+                                        "source" : "DsRestAPI_Test_DataSource",

+                                        "element" : "TrafficCases",

+                                        "params" : [{

+                                                "paramName" : "ScenarioInstance",

+                                                "paramValue" : "%Parent0%.%Parent1%"

+                                            }

+                                        ],

+                                        "children" : []

+                                    }

+                                }

+                            ]

+                        }

+                    }

+                ]

+            }

+        }

+    ]

+}

+

+descriptions.test9 = "Valid getData with children in a depth of 3."

diff --git a/test/DsRestAPI/JSON_reqResp/test9.response b/test/DsRestAPI/JSON_reqResp/test9.response
new file mode 100644
index 0000000..8057ba2
--- /dev/null
+++ b/test/DsRestAPI/JSON_reqResp/test9.response
@@ -0,0 +1,107 @@
+responses.test9 = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/MockTest/AjvSelfTest.js b/test/MockTest/AjvSelfTest.js
new file mode 100644
index 0000000..7992cd8
--- /dev/null
+++ b/test/MockTest/AjvSelfTest.js
@@ -0,0 +1,277 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+function AjvSelfTest() {

+    "use strict";

+

+    var ajv = new Ajv({

+            allErrors : true,

+            format : "full",

+            verbose : true,

+            inlineRefs : false

+        });

+    /* selftest:

+    The selftest.pass[].inputs are known good.

+    The selftest.fail[].inputs are known bad.

+

+    A selftest step fails if the validator's result does not match the expected result.

+

+    This is for semantically checking our JSON schema.

+     */

+

+    var selftest = {

+        "pass" : {

+            "expects" : true,

+            "inputs" : []

+        },

+        "fail" : {

+            "expects" : false,

+            "inputs" : []

+        }

+    };

+

+    selftest.pass.inputs.push({

+        "requests" : [{

+                "getData" : {

+                    "source" : "DsRestAPI_Test_DataSource",

+                    "element" : "EntityGroups",

+                    "params" : [],

+                    "children" : [{

+                            "getData" : {

+                                "source" : "DsRestAPI_Test_DataSource2",

+                                "element" : "EntityGroups2"

+                            }

+                        }

+                    ]

+                }

+            }

+        ]

+    });

+    selftest.pass.inputs.push({

+        "requests" : [{

+                "getData" : {

+                    "source" : "DsRestAPI_Test_DataSource",

+                    "element" : "EntityGroups"

+                }

+            }

+        ]

+    });

+    selftest.pass.inputs.push({

+        "requests" : [{

+                "getData" : {

+                    "source" : "DsRestAPI_Test_DataSource",

+                    "element" : "EntityGroups",

+                    "children" : [{

+                            "getData" : {

+                                "source" : "DsRestAPI_Test_DataSource",

+                                "element" : "Scenarios",

+                                "params" : [{

+                                        "paramName" : "EntityGroup",

+                                        "paramValue" : "%Parent0%"

+                                    }

+                                ],

+                                "children" : [{

+                                        "getData" : {

+                                            "source" : "DsRestAPI_Test_DataSource",

+                                            "element" : "TrafficCases",

+                                            "params" : [{

+                                                    "paramName" : "EntityGroup",

+                                                    "paramValue" : "%Parent0%"

+                                                }, {

+                                                    "paramName" : "Scenario",

+                                                    "paramValue" : "%Parent1%"

+                                                }

+                                            ],

+                                            "children" : [{

+                                                    "getData" : {

+                                                        "source" : "DsRestAPI_Test_DataSource",

+                                                        "element" : "TcStart",

+                                                        "params" : [{

+                                                                "paramName" : "EntityGroup",

+                                                                "paramValue" : "%Parent0%"

+                                                            }, {

+                                                                "paramName" : "Scenario",

+                                                                "paramValue" : "%Parent1%"

+                                                            }, {

+                                                                "paramName" : "TrafficCase",

+                                                                "paramValue" : "%Parent2%"

+                                                            }

+                                                        ]

+                                                    }

+                                                }, {

+                                                    "getData" : {

+                                                        "source" : "DsRestAPI_Test_DataSource",

+                                                        "element" : "TcStop",

+                                                        "params" : [{

+                                                                "paramName" : "EntityGroup",

+                                                                "paramValue" : "%Parent0%"

+                                                            }, {

+                                                                "paramName" : "Scenario",

+                                                                "paramValue" : "%Parent1%"

+                                                            }, {

+                                                                "paramName" : "TrafficCase",

+                                                                "paramValue" : "%Parent2%"

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "getData" : {

+                                            "source" : "DsRestAPI_Test_DataSource",

+                                            "element" : "Dummy",

+                                            "params" : [{

+                                                    "paramName" : "EntityGroup",

+                                                    "paramValue" : "%Parent0%"

+                                                }, {

+                                                    "paramName" : "Scenario",

+                                                    "paramValue" : "%Parent1%"

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "getData" : {

+                                            "source" : "DsRestAPI_Test_DataSource",

+                                            "element" : "ScStart",

+                                            "params" : [{

+                                                    "paramName" : "EntityGroup",

+                                                    "paramValue" : "%Parent0%"

+                                                }, {

+                                                    "paramName" : "Scenario",

+                                                    "paramValue" : "%Parent1%"

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "getData" : {

+                                            "source" : "DsRestAPI_Test_DataSource",

+                                            "element" : "ScStop",

+                                            "params" : [{

+                                                    "paramName" : "EntityGroup",

+                                                    "paramValue" : "%Parent0%"

+                                                }, {

+                                                    "paramName" : "Scenario",

+                                                    "paramValue" : "%Parent1%"

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        }, {

+                            "getData" : {

+                                "source" : "DsRestAPI_Test_DataSource",

+                                "element" : "EGrpType",

+                                "params" : [{

+                                        "paramName" : "EntityGroup",

+                                        "paramValue" : "%Parent0%"

+                                    }

+                                ]

+                            }

+                        }, {

+                            "getData" : {

+                                "source" : "DsRestAPI_Test_DataSource",

+                                "element" : "EGrpSize",

+                                "params" : [{

+                                        "paramName" : "EntityGroup",

+                                        "paramValue" : "%Parent0%"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                }

+            }

+        ]

+    });

+

+    selftest.pass.inputs.push({

+        "requests" : []

+    });

+

+    selftest.fail.inputs.push({

+        "requests" : [{

+                "getData" : {

+                    "source" : "DsRestAPI_Test_DataSource",

+                    "element" : "EntityGroups",

+                    "params" : [],

+                    "children" : [{

+                            "apple" : "20"

+                        }

+                    ]

+                }

+            }

+        ]

+    });

+    selftest.fail.inputs.push({

+        "horgxxp" : [{

+                "xxetData" : {

+                    "source" : "DsRestAPI_Test_DataSource"

+                }

+            }

+        ]

+    });

+    selftest.fail.inputs.push({

+        "requests" : [{

+                "getData" : {

+                    "source" : "DsRestAPI_Test_DataSource",

+                    "element" : "EntityGroups",

+                    "params" : [],

+                    "children" : [{

+                            "getData" : {

+                                "source" : "DsRestAPI_Test_DataSource",

+                                "element" : "Ent7658765ityGroups",

+                                "children" : [{

+                                        "getData" : {

+                                            "source" : "DsRestAPI_Test_DataSource",

+                                            "element" : "EntityGroug76ps",

+                                            "params" : [],

+                                            "children" : [{

+                                                    "deep_apple" : "20"

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                }

+            }

+        ]

+    });

+

+    this.validate = function (schema) {

+        var validateSchema = ajv.compile({

+                "$ref" : "http://json-schema.org/draft-04/schema#"

+            });

+        var isSchemaValid = validateSchema(schema);

+        if (!isSchemaValid) {

+            console.error("Our JSON Schema is not syntactically valid per json-schema draft-04! Cannot continue...", validateSchema.errors);

+            return false;

+        }

+

+        var validator = ajv.compile(schema);

+        var validator_result = true;

+

+        for (var key in selftest) {

+            if (selftest.hasOwnProperty(key)) {

+                for (var i = 0; i < selftest[key].inputs.length; ++i) {

+                    var result = validator(selftest[key].inputs[i]);

+                    if (result !== selftest[key].expects) {

+                        validator_result = false;

+                        console.error("Selftest failure: ", key + "[" + (i + 1) + "]: ", result + " returned but expected " + selftest[key].expects, "!!!", validator.errors);

+                    }

+                }

+            }

+        }

+

+        return validator_result;

+    };

+}

diff --git a/test/MockTest/Main.js b/test/MockTest/Main.js
new file mode 100644
index 0000000..fe94ed8
--- /dev/null
+++ b/test/MockTest/Main.js
@@ -0,0 +1,199 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+var WebApplications = WebApplications || [];

+

+WebApplications.push({"application": new MockTest_Application()});

+

+var responses = {};

+var requests = {};

+var descriptions = {};

+

+function MockTest_Application() {

+    "use strict";

+    var v_appBase = new WebAppBase();

+

+    var jsfiles = [

+        "WebApplications/MockTest/DsRestAPITestConfig.js",

+        "WebApplications/MockTest/TestConfigModelFiller.js",

+        "WebApplications/MockTest/AjvSelfTest.js",

+        

+        "Utils/DsRestAPI/DsRestAPI.js",

+        "Utils/DsRestAPI/MockedServer/DSHelp.js",

+        "Utils/DsRestAPI/MockedServer/DataGenerator.js",

+        "Utils/DsRestAPI/MockedServer/Model.js",

+        "Utils/DsRestAPI/MockedServer/DsRestAPIComm_Mock.js",

+

+        // The test requests

+        "WebApplications/MockTest/Testcases/all.request",

+        "WebApplications/MockTest/Testcases/test1.request",

+        "WebApplications/MockTest/Testcases/test2.request",

+        "WebApplications/MockTest/Testcases/test3.request",

+        "WebApplications/MockTest/Testcases/test4.request",

+        "WebApplications/MockTest/Testcases/test5.request",

+        "WebApplications/MockTest/Testcases/test6.request",

+        "WebApplications/MockTest/Testcases/test7.request",

+        "WebApplications/MockTest/Testcases/test8.request",

+        "WebApplications/MockTest/Testcases/test9.request",

+        "WebApplications/MockTest/Testcases/test10.request",

+        "WebApplications/MockTest/Testcases/test11.request",

+        "WebApplications/MockTest/Testcases/test12.request",

+        "WebApplications/MockTest/Testcases/test13.request",

+        "WebApplications/MockTest/Testcases/test14.request",

+        "WebApplications/MockTest/Testcases/test15.request",

+        "WebApplications/MockTest/Testcases/test16.request",

+        "WebApplications/MockTest/Testcases/test17.request",

+        "WebApplications/MockTest/Testcases/test18.request",

+        "WebApplications/MockTest/Testcases/test19.request",

+

+        // The responses

+        "WebApplications/MockTest/Testcases/all.response",

+        "WebApplications/MockTest/Testcases/test1.response",

+        "WebApplications/MockTest/Testcases/test2.response",

+        "WebApplications/MockTest/Testcases/test3.response",

+        "WebApplications/MockTest/Testcases/test4.response",

+        "WebApplications/MockTest/Testcases/test5.response",

+        "WebApplications/MockTest/Testcases/test6.response",

+        "WebApplications/MockTest/Testcases/test7.response",

+        "WebApplications/MockTest/Testcases/test8.response",

+        "WebApplications/MockTest/Testcases/test9.response",

+        "WebApplications/MockTest/Testcases/test10.response",

+        "WebApplications/MockTest/Testcases/test11.response",

+        "WebApplications/MockTest/Testcases/test12.response",

+        "WebApplications/MockTest/Testcases/test13.response",

+        "WebApplications/MockTest/Testcases/test14.response",

+        "WebApplications/MockTest/Testcases/test15.response",

+        "WebApplications/MockTest/Testcases/test16.response",

+        "WebApplications/MockTest/Testcases/test17.response",

+        "WebApplications/MockTest/Testcases/test18.response",

+        "WebApplications/MockTest/Testcases/test19.response"

+    ];

+

+    this.info = function () {

+        return {

+            defaultIcon : "WebApplications/RequestConsole/main_icon.png",

+            defaultName : "Mock Test"

+        };

+    };

+

+    this.load = function (p_webAppModel) {

+        v_appBase.load(jsfiles, [], start, p_webAppModel.getFileHandler());

+    };

+

+    this.unload = function(webappUnloaded) {

+        webappUnloaded(true);

+    };

+

+    function start(p_callback) {

+        var model = new Model(new DataGenerator());

+        var testConfigModelFiller = new TestConfigModelFiller(model);

+        testConfigModelFiller.fillModel(DsRestAPITestConfig);

+        var mock = new CDsRestAPIComm(true, model);

+        runTests(mock);

+        p_callback();

+    }

+

+    function Comparator(p_key, p_response) {

+        var response = p_response;

+        this.successful = false;

+        var v_this = this;

+

+        this.compare = function (answer) {

+            var expected = JSON.stringify(response);

+            var actualObj = answer;

+            var actual = JSON.stringify(actualObj);

+            var isErrorExpected = response.contentList &&

+                response.contentList.length > 0 && response.contentList[0] && (

+                    (response.contentList[0].list &&

+                        typeof response.contentList[0].list[0].node.val === 'string' &&

+                        response.contentList[0].list[0].node.val.toLowerCase().indexOf("error") > -1) ||

+                    (response.contentList[0].node &&

+                        typeof response.contentList[0].node.val === 'string' &&

+                        response.contentList[0].node.val.toLowerCase().indexOf("error") > -1));

+            var isErrorReceived = actualObj.contentList &&

+                actualObj.contentList.length > 0 && actualObj.contentList[0] && (

+                    (actualObj.contentList[0].list &&

+                        typeof actualObj.contentList[0].list[0].node.val === 'string' &&

+                        actualObj.contentList[0].list[0].node.val.match(/(error|cannot|invalid)/i)) ||

+                    (actualObj.contentList[0].node &&

+                        typeof actualObj.contentList[0].node.val === 'string' &&

+                        actualObj.contentList[0].node.val.match(/(error|cannot|invalid)/i)));

+

+            v_this.successful = (isErrorExpected && isErrorReceived) || (actual == expected);

+

+            if (!v_this.successful)

+                console.log("-----------------\ntestcase: " + p_key + "\nexpected: " + expected + "\nreceived: " + actual + "\n-----------------");

+        };

+    }

+

+    function runTests(p_mock) {

+        var mock = p_mock;

+        var successful = true;

+        var selftest = new AjvSelfTest();

+

+        if (!selftest.validate(mock.getSchema())) {

+            console.error("Schema validator selftest failed!");

+        } else {

+            console.log("Schema validator selftest passed.");

+        }

+        var requestmap = [];

+        var keymap = [];

+        for (var key in requests)

+            if (requests.hasOwnProperty(key)) {

+                requestmap.push(requests[key]);

+                keymap.push(key);

+            }

+

+        var errors = requestmap.reduce(function(prev, current, index, context) {

+            console.log("Commencing test #" + keymap[index]);

+            var comparator = new Comparator(index, responses[keymap[index]]);

+            var err = "";

+            var isHexstring = false;

+            if (current.requests && current.requests[0])

+                isHexstring = (current.requests[0].listOfGetData ? false : (current.requests[0].getData ? current.requests[0].getData.element === "help" : current.requests[0].setData.element === "help"));

+            mock.ajaxCall(current, function ajaxCallCallback(answer) {

+                answer = {"contentList": answer};

+                if (isHexstring) {

+                    // response to an "element: help" request --> node.val is a hexstring

+                    var answerObj = answer;

+                    for(var i = 0; i < answerObj.contentList.length; i++)

+                        if (!answerObj.contentList[i].node.val.startsWith("Error")) // Errors are not in hexstring.

+                            answerObj.contentList[i].node.val = hex2a(answerObj.contentList[i].node.val);

+                    answer = answerObj;

+                }

+                comparator.compare(answer);

+            });

+            if (!comparator.successful) {

+                err = "Wrong response for " + keymap[index];

+                if (descriptions[keymap[index]])

+                    err += " -- Description of the test step: " + descriptions[keymap[index]];

+            }

+            return prev.concat(err);

+        }, []);

+

+        var errormsg = errors.reduce(function(prev, current, index, context) {return current.length?prev + current + "\n":prev;}, "");

+

+        successful = errors.reduce(function(prev, current, index, context) {

+            return (prev && !current.length);

+        }, true);

+

+        if (successful) {

+            alert("Test result: pass");

+        } else {

+            alert("Test result: fail\n" + errormsg);

+        }

+    }

+    

+    function hex2a(hex)

+    {

+        var str = '';

+        for (var i = 0; i < hex.length; i += 2)

+            str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));

+        return str;

+    }

+}

diff --git a/test/MockTest/TestConfigModelFiller.js b/test/MockTest/TestConfigModelFiller.js
new file mode 100644
index 0000000..1b7d44b
--- /dev/null
+++ b/test/MockTest/TestConfigModelFiller.js
@@ -0,0 +1,76 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+function TestConfigModelFiller(p_model) {

+

+    /** private member */

+    var model;

+

+    /** contructor */

+    model = p_model;

+

+    /** private functions */

+

+    function getKey(source, element, parents) {

+        var key = source + "." + element;

+        parents.sort();

+        for (var i = 0; i < parents.length; ++i) {

+            key += "." + parents[i];

+        }

+        return key;

+    }

+

+    /**

+        Traverse a list in the data. Creates the content by collecting the answers in a list.

+    */

+    function traverseModelList(source, element, parents, data) {

+        var content = {list : []};

+        for (var i = 0; i < data.length; ++i) {

+            var obj = data[i];

+            var ans = traverseModelObject(source, parents, obj);

+            content.list.push(ans);

+        }

+        model.addContent(getKey(source, element, parents), content);

+        

+    }

+

+    /**

+        Traverses an object in the data. Creates a node content and traverses its list or object elements recursively.

+    */

+    function traverseModelObject(source, parents, data) {

+        var content = {node : {}};

+        var value = data["Value"];

+        content.node.val = value;

+        content.node.tp = data["tp"];

+        for (var key in data) {

+            if (data.hasOwnProperty(key) && key != "Value" && key != "tp") {

+                parents.push(value);

+                if (data[key]["Value"] == undefined) {

+                    traverseModelList(source, key, parents, data[key]);

+                } else {

+                    model.addContent(getKey(source, key, parents), traverseModelObject(source, parents, data[key]));

+                }

+                parents.pop();

+            }

+        }

+        return content;

+    }

+

+    /** public functions */

+

+    this.fillModel = function(data) {

+        var source = data["DSClientName"];

+        for (var key in data) {

+            if (key == "DSClientName" || !data.hasOwnProperty(key)) {

+                continue;

+            }

+            var parents = [];

+            traverseModelList(source, key, parents, data[key]);

+        }

+    }

+}
\ No newline at end of file
diff --git a/test/MockTest/Testcases/all.request b/test/MockTest/Testcases/all.request
new file mode 100644
index 0000000..759003e
--- /dev/null
+++ b/test/MockTest/Testcases/all.request
@@ -0,0 +1,137 @@
+requests.all = {

+	"requests": [{

+		"getData":{

+			"source":"DsRestAPI_Test_DataSource",

+			"element":"EntityGroups",

+			"children":[

+				{

+					"getData": {

+						"source":"DsRestAPI_Test_DataSource",

+						"element":"Scenarios",

+						"params":[{

+							"paramName":"EntityGroup",

+							"paramValue":"%Parent0%"

+						}],

+						"children":[

+						{

+							"getData":{

+								"source":"DsRestAPI_Test_DataSource",

+								"element":"TrafficCases",

+								"params":[{

+									"paramName":"EntityGroup",

+									"paramValue":"%Parent0%"

+								},

+								{

+									"paramName":"Scenario",

+									"paramValue":"%Parent1%"

+								}],

+								"children":[

+									{

+										"getData": {

+											"source":"DsRestAPI_Test_DataSource",

+											"element":"TcStart",

+											"params":[{

+												"paramName":"EntityGroup",

+												"paramValue":"%Parent0%"

+											},

+											{

+												"paramName":"Scenario",

+												"paramValue":"%Parent1%"

+											},

+											{

+												"paramName":"TrafficCase",

+												"paramValue":"%Parent2%"

+											}],

+										}

+									},

+									{

+										"getData": {

+											"source":"DsRestAPI_Test_DataSource",

+											"element":"TcStop",

+											"params":[{

+												"paramName":"EntityGroup",

+												"paramValue":"%Parent0%"

+											},

+											{

+												"paramName":"Scenario",

+												"paramValue":"%Parent1%"

+											},

+											{

+												"paramName":"TrafficCase",

+												"paramValue":"%Parent2%"

+											}],

+										}

+									}

+								]

+							}

+						},

+						{

+							"getData": {

+								"source":"DsRestAPI_Test_DataSource",

+								"element":"Dummy",

+								"params":[{

+									"paramName":"EntityGroup",

+									"paramValue":"%Parent0%"

+								},

+								{

+									"paramName":"Scenario",

+									"paramValue":"%Parent1%"

+								}],

+							}

+						},

+						{

+							"getData": {

+								"source":"DsRestAPI_Test_DataSource",

+								"element":"ScStart",

+								"params":[{

+									"paramName":"EntityGroup",

+									"paramValue":"%Parent0%"

+								},

+								{

+									"paramName":"Scenario",

+									"paramValue":"%Parent1%"

+								}],

+							}

+						},

+						{

+							"getData": {

+								"source":"DsRestAPI_Test_DataSource",

+								"element":"ScStop",

+								"params":[{

+									"paramName":"EntityGroup",

+									"paramValue":"%Parent0%"

+								},

+								{

+									"paramName":"Scenario",

+									"paramValue":"%Parent1%"

+								}],

+							}

+						}]

+					}

+				},

+				{

+					"getData": {

+						"source":"DsRestAPI_Test_DataSource",

+						"element":"EGrpType",

+						"params":[{

+							"paramName":"EntityGroup",

+							"paramValue":"%Parent0%"

+						}],

+					},

+				},

+				{

+					"getData": {

+						"source":"DsRestAPI_Test_DataSource",

+						"element":"EGrpSize",

+						"params":[{

+							"paramName":"EntityGroup",

+							"paramValue":"%Parent0%"

+						}],

+					}

+				}

+			]}

+		}

+	]

+}

+

+descriptions.all = "Valid getData, with numerous childrens."
\ No newline at end of file
diff --git a/test/MockTest/Testcases/all.response b/test/MockTest/Testcases/all.response
new file mode 100644
index 0000000..3a6d3f0
--- /dev/null
+++ b/test/MockTest/Testcases/all.response
@@ -0,0 +1,315 @@
+responses.all = {

+    "contentList" : [{

+            "list" : [{

+                    "node" : {

+                        "val" : "EntityGroup_0",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "Dummy_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "Dummy_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3

+                                                    }

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "Dummy_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "Dummy_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "false",

+                                                        "tp" : 3

+                                                    }

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "false",

+                                                        "tp" : 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }, {

+                                "node" : {

+                                    "val" : "entityType_0",

+                                    "tp" : 4

+                                }

+                            }, {

+                                "node" : {

+                                    "val" : "0",

+                                    "tp" : 1

+                                }

+                            }

+                        ]

+                    }

+                }, {

+                    "node" : {

+                        "val" : "EntityGroup_1",

+                        "tp" : 10,

+                        "childVals" : [{

+                                "list" : [{

+                                        "node" : {

+                                            "val" : "Scenario_0",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "Dummy_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "Dummy_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3

+                                                    }

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "true",

+                                                        "tp" : 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }, {

+                                        "node" : {

+                                            "val" : "Scenario_1",

+                                            "tp" : 10,

+                                            "childVals" : [{

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "TrafficCase_0",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "TrafficCase_1",

+                                                                "tp" : 10,

+                                                                "childVals" : [{

+                                                                        "node" : {

+                                                                            "val" : "true",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }, {

+                                                                        "node" : {

+                                                                            "val" : "false",

+                                                                            "tp" : 3

+                                                                        }

+                                                                    }

+                                                                ]

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "list" : [{

+                                                            "node" : {

+                                                                "val" : "Dummy_0",

+                                                                "tp" : 10

+                                                            }

+                                                        }, {

+                                                            "node" : {

+                                                                "val" : "Dummy_1",

+                                                                "tp" : 10

+                                                            }

+                                                        }

+                                                    ]

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "false",

+                                                        "tp" : 3

+                                                    }

+                                                }, {

+                                                    "node" : {

+                                                        "val" : "false",

+                                                        "tp" : 3

+                                                    }

+                                                }

+                                            ]

+                                        }

+                                    }

+                                ]

+                            }, {

+                                "node" : {

+                                    "val" : "entityType_1",

+                                    "tp" : 4

+                                }

+                            }, {

+                                "node" : {

+                                    "val" : "1",

+                                    "tp" : 1

+                                }

+                            }

+                        ]

+                    }

+                }

+            ]

+        }

+    ]

+}

diff --git a/test/MockedServer/DSHelp.js b/test/MockedServer/DSHelp.js
new file mode 100644
index 0000000..a2c9bb1
--- /dev/null
+++ b/test/MockedServer/DSHelp.js
@@ -0,0 +1,6753 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+DSHelp = {

+    "sources": [

+        {

+            "source": "DataSource",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "Sources",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "Source"

+                        },

+                        "description": "This iterator enlists the data sources that have been registered into the DataSource"

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "PTCs",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "PTC"

+                                },

+                                "description": "This data element returns the list of PTCs for a given data source",

+                                "parameters": [

+                                    {

+                                        "name": "Source",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "Source"

+                                            }

+                                        },

+                                        "description": "the data source. Should be one item in the list returned by 'Sources'",

+                                        "exampleValue": "DataSource"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "dataElementPresent",

+                                        "valueType": "boolType",

+                                        "description": "This condition returns true if the specified dataElement is present",

+                                        "parameters": [

+                                            {

+                                                "name": "Source",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Source"

+                                                    }

+                                                },

+                                                "description": "the data source",

+                                                "exampleValue": "DataSource"

+                                            },

+                                            {

+                                                "name": "PTCName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "PTC"

+                                                    }

+                                                },

+                                                "description": "the PTC name (optional)",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "Element",

+                                                "typeDescriptor": {

+                                                    "valueType": "charstringType"

+                                                },

+                                                "description": "the Element. This parameter is followed by an optional list of the parameterName-Value pairs",

+                                                "exampleValue": "PTCs"

+                                            },

+                                            {

+                                                "name": "ParamName",

+                                                "typeDescriptor": {

+                                                    "valueType": "charstringType"

+                                                },

+                                                "description": "the ParamName",

+                                                "exampleValue": "Source"

+                                            },

+                                            {

+                                                "name": "ParamValue",

+                                                "typeDescriptor": {

+                                                    "valueType": "charstringType"

+                                                },

+                                                "description": "the ParamValue",

+                                                "exampleValue": "DataSource"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "sizeOf",

+                                        "valueType": "intType",

+                                        "description": "This dataelement returns the size of the iterator list or 1 for single elements",

+                                        "parameters": [

+                                            {

+                                                "name": "Source",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Source"

+                                                    }

+                                                },

+                                                "description": "the data source",

+                                                "exampleValue": "DataSource"

+                                            },

+                                            {

+                                                "name": "PTCName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "PTC"

+                                                    }

+                                                },

+                                                "description": "the PTC name (optional)",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "Element",

+                                                "typeDescriptor": {

+                                                    "valueType": "charstringType"

+                                                },

+                                                "description": "the Element. This parameter is followed by an optional list of the parameterName-Value pairs",

+                                                "exampleValue": "PTCs"

+                                            },

+                                            {

+                                                "name": "ParamName",

+                                                "typeDescriptor": {

+                                                    "valueType": "charstringType"

+                                                },

+                                                "description": "the ParamName",

+                                                "exampleValue": "Source"

+                                            },

+                                            {

+                                                "name": "ParamValue",

+                                                "typeDescriptor": {

+                                                    "valueType": "charstringType"

+                                                },

+                                                "description": "the ParamValue",

+                                                "exampleValue": "DataSource"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "!=",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument differs from the second",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "some string"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the second param to compare",

+                                "exampleValue": "some other string"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "<",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument is less than the second. The value of the parameters should be a float number.",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "1.0"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the second param to compare",

+                                "exampleValue": "2.0e-2"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "<=",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument is less or equal than the second. The value of the parameters should be a float number.",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "1.0"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the second param to compare",

+                                "exampleValue": "2.0e-2"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "==",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument is the same as of the second",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "some string"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the second param to compare",

+                                "exampleValue": "some other string"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": ">",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument is more than the second. The value of the parameters should be a float number.",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "1.0"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the second param to compare",

+                                "exampleValue": "2.0e-2"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": ">=",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument is more or equal than the second. The value of the parameters should be a float number.",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "1.0"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the second param to compare",

+                                "exampleValue": "2.0e-2"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "and",

+                        "valueType": "boolType",

+                        "description": "This condition returns the logical 'and' of the arguments",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "boolType"

+                                },

+                                "description": "the first param. Type: booltype",

+                                "exampleValue": "true"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "boolType"

+                                },

+                                "description": "the second param. Type: booltype",

+                                "exampleValue": "false"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: \"JSON\", \"TEXT\". Default: \"JSON\"",

+                                "exampleValue": "TEXT"

+                            },

+                            {

+                                "name": "Source",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The source to select the help for. If not specified (or empty string \"\" is given) it means 'all available sources'",

+                                "exampleValue": "DataSource"

+                            },

+                            {

+                                "name": "Element",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The element to select the help for. If not specified (or empty string \"\" is given) it means 'all available elements'",

+                                "exampleValue": ""

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "match",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument matches the second. The ttcn match function is called for the given arguments in order. The second parameter used as a pattern string for matching.",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "some string"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the second param to compare. This parameter is used as a pattern string for matching",

+                                "exampleValue": "*str*"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "not",

+                        "valueType": "boolType",

+                        "description": "This condition returns the logical 'not' of the argument",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "boolType"

+                                },

+                                "description": "the first param. Type: booltype",

+                                "exampleValue": "false"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "not match",

+                        "valueType": "boolType",

+                        "description": "This condition tests if the value of the first argument does not match the second. The ttcn match function is called for the given arguments in order. The second parameter used as a pattern string for matching.",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the first param to compare",

+                                "exampleValue": "some string"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the second param to compare. This parameter is used as a pattern string for matching",

+                                "exampleValue": "*str*"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "or",

+                        "valueType": "boolType",

+                        "description": "This condition returns the logical 'or' of the arguments",

+                        "parameters": [

+                            {

+                                "name": "Par1",

+                                "typeDescriptor": {

+                                    "valueType": "boolType"

+                                },

+                                "description": "the first param. Type: booltype",

+                                "exampleValue": "true"

+                            },

+                            {

+                                "name": "Par2",

+                                "typeDescriptor": {

+                                    "valueType": "boolType"

+                                },

+                                "description": "the second param. Type: booltype",

+                                "exampleValue": "false"

+                            }

+                        ]

+                    }

+                }

+            ]

+        },

+        {

+            "source": "StatManager",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "LEDlimit",

+                        "valueType": "statusLEDType",

+                        "description": "This dataElement creates/returns a limits statistics for a given source and reference variable.",

+                        "parameters": [

+                            {

+                                "name": "blackLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes black (optional)",

+                                "exampleValue": "10.0"

+                            },

+                            {

+                                "name": "blueLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes blue (optional)",

+                                "exampleValue": "20.0"

+                            },

+                            {

+                                "name": "redLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes red (optional)",

+                                "exampleValue": "30.0"

+                            },

+                            {

+                                "name": "yellowLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes yellow (optional)",

+                                "exampleValue": "40.0"

+                            },

+                            {

+                                "name": "greenLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes green (optional)",

+                                "exampleValue": "50.0"

+                            },

+                            {

+                                "name": "defaultColor",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "Specifies the default colour of the LED (colour below the lowest limit). Its value should be one of: \"blue\",\"black\",\"yellow\",\"green\" or \"red\". (optional, default: \"black\")",

+                                "exampleValue": "green"

+                            },

+                            {

+                                "name": "enableValueInLEDText",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "If set to \"yes\": enables value indication in the label of the statusLED. When enabled, the value of the data variable will appear in the LED text. Possible values: \"yes\", \"no\" (optional, default: \"no\")",

+                                "exampleValue": "yes"

+                            },

+                            {

+                                "name": "VarId",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "the name of the EPTF Variable that contains the source data for the limits statistics (its value should be float or integer type)",

+                                "exampleValue": "varNameThatContainsFloatOrIntValue"

+                            },

+                            {

+                                "name": "refVarId",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The name of the reference variable (optional). If specified the limits are considered as relative difference in percentile from the value of the reference variable. If not specified, the limits will be taken as absolute values. The reference variable should contain a float or integer type value.",

+                                "exampleValue": "referenceVarNameThatContainsFloatOrIntValue"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "LEDlimitValue",

+                        "valueType": "statusLEDType",

+                        "description": "This dataElement creates/returns a limits statistics for a given source and reference value.",

+                        "parameters": [

+                            {

+                                "name": "blackLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes black (optional)",

+                                "exampleValue": "10.0"

+                            },

+                            {

+                                "name": "blueLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes blue (optional)",

+                                "exampleValue": "20.0"

+                            },

+                            {

+                                "name": "redLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes red (optional)",

+                                "exampleValue": "30.0"

+                            },

+                            {

+                                "name": "yellowLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes yellow (optional)",

+                                "exampleValue": "40.0"

+                            },

+                            {

+                                "name": "greenLimit",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "Limiting value above which the LED colour becomes green (optional)",

+                                "exampleValue": "50.0"

+                            },

+                            {

+                                "name": "defaultColor",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "Specifies the default colour of the LED (colour below the lowest limit). Its value should be one of: \"blue\",\"black\",\"yellow\",\"green\" or \"red\". (optional, default: \"black\")",

+                                "exampleValue": "green"

+                            },

+                            {

+                                "name": "enableValueInLEDText",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "If set to \"yes\": enables value indication in the label of the statusLED. When enabled, the value of the data variable will appear in the LED text. Possible values: \"yes\", \"no\" (optional, default: \"no\")",

+                                "exampleValue": "yes"

+                            },

+                            {

+                                "name": "value",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "the value of the source data for the limits statistics (its value should be float or integer type)",

+                                "exampleValue": "20.0"

+                            },

+                            {

+                                "name": "refValue",

+                                "typeDescriptor": {

+                                    "valueType": "floatType"

+                                },

+                                "description": "The name of the reference value (optional). If specified the limits are considered as relative difference in percentile from the value of the reference value. If not specified, the limits will be taken as absolute values. The reference value should contain a float or integer type value.",

+                                "exampleValue": "100.0"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: JSON, TEXT. Default: JSON",

+                                "exampleValue": "TEXT"

+                            }

+                        ]

+                    }

+                }

+            ]

+        },

+        {

+            "source": "HostAdmin",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "CPUs",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "CPU"

+                        },

+                        "description": " This iterator lists the CPUs on a given host."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "CPULoad",

+                                "valueType": "floatType",

+                                "description": "This data element returns the CPULoad of a CPU",

+                                "parameters": [

+                                    {

+                                        "name": "CPU_ID",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "isIndexInListOf": true,

+                                                "typeName": "CPU"

+                                            }

+                                        },

+                                        "description": "Cpu id. Valid values: 0..HostNumCPUs",

+                                        "exampleValue": "HostNumCPUs"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "Processes",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "Process"

+                        },

+                        "description": "This iterator lists the processes on a given host."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "ProcCPULoad",

+                                "valueType": "floatType",

+                                "description": "This data element returns the CPU load of the process",

+                                "parameters": [

+                                    {

+                                        "name": "ProcID",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "Process"

+                                            }

+                                        },

+                                        "description": "process id",

+                                        "exampleValue": "1"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ProcMEMUsage",

+                                "valueType": "intType",

+                                "description": "This data element returns the memory usage of the given process",

+                                "parameters": [

+                                    {

+                                        "name": "ProcID",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "Process"

+                                            }

+                                        },

+                                        "description": "process id",

+                                        "exampleValue": "1"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ProcName",

+                                "valueType": "charstringType",

+                                "description": "This data element returns the name of the given process (=selfName)",

+                                "parameters": [

+                                    {

+                                        "name": "ProcID",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "Process"

+                                            }

+                                        },

+                                        "description": "process id",

+                                        "exampleValue": "1"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "AvgCPULoad",

+                        "valueType": "floatType",

+                        "description": "This data element returns the average CPU load of the host, type float"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "HostCPULoad",

+                        "valueType": "floatType",

+                        "description": "This data element returns the CPU load of the host"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "HostFreeMemory",

+                        "valueType": "intType",

+                        "description": "This data element returns the free memory on the host"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "HostName",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the name of the host"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "HostNumCPUs",

+                        "valueType": "intType",

+                        "description": "This data element returns the number of CPUs on the host"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "HostPhysicalMemory",

+                        "valueType": "intType",

+                        "description": "This data element returns the physical memory available on the host"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "IPv4Addr",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the IPv4 address of the host, type charsting"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "IPv6Addr",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the IPv6 address of the host, type charsting"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "MaxCPULoad",

+                        "valueType": "floatType",

+                        "description": "This data element returns the maximal CPU load of the host, type float"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "MinCPULoad",

+                        "valueType": "floatType",

+                        "description": "This data element returns the minimal CPU load of the host, type float"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ResetMinMaxAvgCPULoad",

+                        "valueType": "intType",

+                        "description": " This data element defines a button to reset the min/max/average CPU load of the host"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: JSON, TEXT. Default: JSON",

+                                "exampleValue": "TEXT"

+                            }

+                        ]

+                    }

+                }

+            ]

+        },

+        {

+            "source": "StatHandler",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "ResetAll",

+                        "valueType": "intType",

+                        "description": "This constant defines the data element for the ResetAll button"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ResetComponent",

+                        "valueType": "intType",

+                        "description": "This constant defines the data element for the ResetComponent button"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: JSON, TEXT. Default: JSON",

+                                "exampleValue": "TEXT"

+                            }

+                        ]

+                    }

+                }

+            ]

+        },

+        {

+            "source": "ExecCtrl",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "Clients",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "LGen"

+                        },

+                        "description": "This iterator enlists all the ExecCtrl clients (usually load generators)."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "EntityGroups",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "EntityGroup"

+                                },

+                                "description": "This iterator enlists the entity groups deployed onto the specified client PTC.",

+                                "parameters": [

+                                    {

+                                        "name": "LGen",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "LGen"

+                                            }

+                                        },

+                                        "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                        "exampleValue": "LGen01"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "EGrpOffsetForLGen",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the offset of the first entity of the entity group which is allocated on the given LGen.",

+                                        "parameters": [

+                                            {

+                                                "name": "LGen",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "LGen"

+                                                    }

+                                                },

+                                                "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                "exampleValue": "LGen01"

+                                            },

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "EGrpSizeForLGen",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the size of that part of the entity group which is allocated on the given LGen.",

+                                        "parameters": [

+                                            {

+                                                "name": "LGen",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "LGen"

+                                                    }

+                                                },

+                                                "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                "exampleValue": "LGen01"

+                                            },

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EntityTypesForLGen",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "EntityType"

+                                },

+                                "description": "This iterator enlists the supported entity types of the load generator clients.",

+                                "parameters": [

+                                    {

+                                        "name": "LGen",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "LGen"

+                                            }

+                                        },

+                                        "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                        "exampleValue": "LGen01"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "NofCurrentAvailEntitiesForLGen",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the number of current available entities for an LGen for a given entity type.",

+                                        "parameters": [

+                                            {

+                                                "name": "LGen",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "LGen"

+                                                    }

+                                                },

+                                                "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                "exampleValue": "LGen01"

+                                            },

+                                            {

+                                                "name": "EntityType",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityType"

+                                                    }

+                                                },

+                                                "description": "Name of the entity type. Should be one item in the list returned by 'EntityTypesForLGen'",

+                                                "exampleValue": "ExecCtrlDefaultETypeName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "NofMaxAvailEntitiesForLGen",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the number of max available entities for an LGen for a given entity type.",

+                                        "parameters": [

+                                            {

+                                                "name": "LGen",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "LGen"

+                                                    }

+                                                },

+                                                "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                "exampleValue": "LGen01"

+                                            },

+                                            {

+                                                "name": "EntityType",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityType"

+                                                    }

+                                                },

+                                                "description": "Name of the entity type. Should be one item in the list returned by 'EntityTypesForLGen'",

+                                                "exampleValue": "ExecCtrlDefaultETypeName"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "EGrpsOnClients",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "EGrpOnClient"

+                        },

+                        "description": "This iterator enlists all the EntityGroups on all Clients."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "ClientOfEGrpOnClient",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "LGen"

+                                },

+                                "description": "This dataElement returns the client name for the EGrpOnClient item.",

+                                "parameters": [

+                                    {

+                                        "name": "EGrpOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EGrpOnClient"

+                                            }

+                                        },

+                                        "description": "A pair of ExecCtrl EntityGroup and client load generator PTC. Should be one item in the list returned by 'EGrpsOnClients'",

+                                        "exampleValue": "0.0"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EntityGroupOfEGrpOnClient",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "EntityGroup"

+                                },

+                                "description": "This dataElement returns the entity group for the EGrpOnClient item.",

+                                "parameters": [

+                                    {

+                                        "name": "EGrpOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EGrpOnClient"

+                                            }

+                                        },

+                                        "description": "A pair of ExecCtrl EntityGroup and client load generator PTC. Should be one item in the list returned by 'EGrpsOnClients'",

+                                        "exampleValue": "0.0"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "EntityGroups",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "EntityGroup"

+                        },

+                        "description": "This iterator enlists the entity groups of the whole configuration."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "Clients",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "LGen"

+                                },

+                                "description": "This iterator enlists the ExecCtrl clients (usually load generators) that the entity group is distributed on.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "EGrpOffsetForLGen",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the offset of the first entity of the entity group which is allocated on the given LGen.",

+                                        "parameters": [

+                                            {

+                                                "name": "LGen",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "LGen"

+                                                    }

+                                                },

+                                                "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                "exampleValue": "LGen01"

+                                            },

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "EGrpSizeForLGen",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the size of that part of the entity group which is allocated on the given LGen.",

+                                        "parameters": [

+                                            {

+                                                "name": "LGen",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "LGen"

+                                                    }

+                                                },

+                                                "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                "exampleValue": "LGen01"

+                                            },

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "Scenarios",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "Scenario"

+                                },

+                                "description": "This iterator enlists the scenarios of an entity group.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "Clients",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "LGen"

+                                        },

+                                        "description": "This iterator enlists all the ExecCtrl clients (usually load generators)."

+                                    },

+                                    "children": [

+                                        {

+                                            "dataElement": {

+                                                "name": "ScStatusForLGen",

+                                                "valueType": "statusLEDType",

+                                                "description": "This dataElement returns the status of the scenario on the given LGen.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "LGen",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "LGen"

+                                                            }

+                                                        },

+                                                        "description": "Name of the ExecCtrl client load generator PTC. Should be one item in the list returned by 'Clients'",

+                                                        "exampleValue": "LGen01"

+                                                    },

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    }

+                                                ]

+                                            }

+                                        }

+                                    ]

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "Phases",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "Phase"

+                                        },

+                                        "description": "This iterator enlists the phases of a scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    },

+                                    "children": [

+                                        {

+                                            "dataElement": {

+                                                "name": "ScGrpScEnablePhase",

+                                                "valueType": "boolType",

+                                                "description": "This dataElement returns the enable phase checkbox for the given phase for the given scenario in a scenario group.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "Phase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Phase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the phase. Should be one item in the list returned by 'Phases'",

+                                                        "exampleValue": "loadgen"

+                                                    }

+                                                ]

+                                            }

+                                        }

+                                    ]

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "TrafficCases",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "TrafficCase"

+                                        },

+                                        "description": "This iterator enlists the traffic cases of a scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    },

+                                    "children": [

+                                        {

+                                            "dataElement": {

+                                                "name": "FsmStats",

+                                                "valueType": "charstringlistType",

+                                                "typeDescriptor": {

+                                                    "isListOf": true,

+                                                    "typeName": "FSMStatistic"

+                                                },

+                                                "description": "This iterator enlists the TC scope statistics of the FSMs of the given traffic cases.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            },

+                                            "children": [

+                                                {

+                                                    "dataElement": {

+                                                        "name": "FSMStat",

+                                                        "valueType": "floatType",

+                                                        "description": "This dataElement returns the value of the given FSM statistics of a TC.",

+                                                        "parameters": [

+                                                            {

+                                                                "name": "EntityGroup",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "EntityGroup"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                                "exampleValue": "EGrp01"

+                                                            },

+                                                            {

+                                                                "name": "Scenario",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "Scenario"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                                "exampleValue": "Scenario01"

+                                                            },

+                                                            {

+                                                                "name": "TrafficCase",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "TrafficCase"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                                "exampleValue": "TrafficCase01"

+                                                            },

+                                                            {

+                                                                "name": "Statistic",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "FSMStatistic"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the FSM statistics. Should be one item in the list returned by 'FsmStats'",

+                                                                "exampleValue": "NofStarts"

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStats",

+                                                "valueType": "charstringlistType",

+                                                "typeDescriptor": {

+                                                    "isListOf": true,

+                                                    "typeName": "Statistic"

+                                                },

+                                                "description": "This iterator enlists the TC scope statistics of the given traffic cases.",

+                                                "parameters": []

+                                            },

+                                            "children": [

+                                                {

+                                                    "dataElement": {

+                                                        "name": "TcStat",

+                                                        "valueType": "floatType",

+                                                        "description": "This dataElement returns the value of the given TC statistics.",

+                                                        "parameters": [

+                                                            {

+                                                                "name": "EntityGroup",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "EntityGroup"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                                "exampleValue": "EGrp01"

+                                                            },

+                                                            {

+                                                                "name": "Scenario",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "Scenario"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                                "exampleValue": "Scenario01"

+                                                            },

+                                                            {

+                                                                "name": "TrafficCase",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "TrafficCase"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                                "exampleValue": "TrafficCase01"

+                                                            },

+                                                            {

+                                                                "name": "Statistic",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "Statistic"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the TC statistics. Should be one item in the list returned by 'TcStats'",

+                                                                "exampleValue": "CurrentCPS"

+                                                            }

+                                                        ]

+                                                    }

+                                                },

+                                                {

+                                                    "dataElement": {

+                                                        "name": "TcStatDelta",

+                                                        "valueType": "floatType",

+                                                        "description": "This dataElement returns the value of the given TC statistics delta element.",

+                                                        "parameters": [

+                                                            {

+                                                                "name": "EntityGroup",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "EntityGroup"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                                "exampleValue": "EGrp01"

+                                                            },

+                                                            {

+                                                                "name": "Scenario",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "Scenario"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                                "exampleValue": "Scenario01"

+                                                            },

+                                                            {

+                                                                "name": "TrafficCase",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "TrafficCase"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                                "exampleValue": "TrafficCase01"

+                                                            },

+                                                            {

+                                                                "name": "Statistic",

+                                                                "typeDescriptor": {

+                                                                    "reference": {

+                                                                        "typeName": "Statistic"

+                                                                    }

+                                                                },

+                                                                "description": "Name of the TC statistics. Should be one item in the list returned by 'TcStats'",

+                                                                "exampleValue": "CurrentCPS"

+                                                            }

+                                                        ]

+                                                    }

+                                                }

+                                            ]

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcExecTime",

+                                                "valueType": "floatType",

+                                                "description": "This dataElement returns the execution time of the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcGroupFinishStatus",

+                                                "valueType": "statusLEDType",

+                                                "description": "This dataElement returns the traffic case group finish status LED.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcGrpFinishStatus",

+                                                "valueType": "statusLEDType",

+                                                "description": "This dataElement returns the traffic case group-finish status LED.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    },

+                                                    {

+                                                        "name": "Condition",

+                                                        "typeDescriptor": {

+                                                            "valueType": "charstringType"

+                                                        },

+                                                        "description": "Specifies a group finish condition of a traffic case. Valid values: \"FinTraffic\", \"RangeLoops\", \"Starts\", \"Success\", \"Fail\", \"Timeout\", \"Error\", \"ExecTime\"",

+                                                        "exampleValue": "Starts"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcRegulator",

+                                                "valueType": "charstringType",

+                                                "description": "This dataElement returns the regulator used for the traffic case CPS.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcSingleShotEnableLog",

+                                                "valueType": "boolType",

+                                                "description": "This dataElement returns the enable log checkbox for the single shot for the given traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcSingleShotEntityIdx",

+                                                "valueType": "intType",

+                                                "description": "This dataElement returns the index of the entity for which the single shot traffic should be started for the given traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcSingleShotStart",

+                                                "valueType": "intType",

+                                                "description": "This dataElement returns the start single shot button for the given traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStart",

+                                                "valueType": "boolType",

+                                                "description": "This dataElement returns the start checkbox of the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStartButton",

+                                                "valueType": "intType",

+                                                "description": "This dataElement returns the start button of the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStartDelay",

+                                                "valueType": "floatType",

+                                                "description": "This dataElement returns the start delay of the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStatus",

+                                                "valueType": "statusLEDType",

+                                                "description": "This dataElement returns the traffic case status LED.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStop",

+                                                "valueType": "boolType",

+                                                "description": "This dataElement returns the stop checkbox of the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStopButton",

+                                                "valueType": "intType",

+                                                "description": "This dataElement returns the stop button of the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcTargetCPSOrWeight",

+                                                "valueType": "floatType",

+                                                "description": "This dataElement returns the target CPS for traffic case in non-weighted scenario and the traffic case weight for traffic case in weighted-scenario.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcTimeProfile",

+                                                "valueType": "charstringType",

+                                                "description": "This dataElement returns the time profile used for the traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case of an scenario. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        }

+                                    ]

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "CurrentCPS",

+                                        "valueType": "floatType",

+                                        "description": "This dataElement returns the value of the given Current CPS statistics for the scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "IsInScGroup",

+                                        "valueType": "boolType",

+                                        "description": "This condition returns true if the given scenario is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "IsWeightedSc",

+                                        "valueType": "boolType",

+                                        "description": "This condition returns true if the given scenario is weighted.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScCPS",

+                                        "valueType": "floatType",

+                                        "description": "This dataElement returns the scenario CPS of the weighted scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGroupOfSc",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the scenario group of the given scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpCurrentPhase",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the current phase of the scenario that is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpMode",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the scenario group mode of the scenario that is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpReset",

+                                        "valueType": "boolType",

+                                        "description": "This dataElement returns the scenario group reset checkbox of the scenario that is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpScStatus",

+                                        "valueType": "statusLEDType",

+                                        "description": "This dataElement returns the scenario group-status LED.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpStart",

+                                        "valueType": "boolType",

+                                        "description": "This dataElement returns the scenario group start checkbox of the scenario that is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpStatus",

+                                        "valueType": "statusLEDType",

+                                        "description": "This dataElement returns the scenario group status LED of the scenario that is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpTerminate",

+                                        "valueType": "boolType",

+                                        "description": "This dataElement returns the scenario group terminate checkbox of the scenario that is in a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScInstanceName",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the instance name of the scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScIsWeighted",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns \"Decl\" if the scenario is non-weighted, \"Weighted\" if the scenario is weighted.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScPhaseListName",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the name of the phase-list if the scenario belongs to a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScRegulatorName",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the name of regulator which regulates the target CPS  of the weighted scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScReset",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the scenario reset button.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScScGrpName",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the name of the scenario group to which the scenario belongs to.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStart",

+                                        "valueType": "boolType",

+                                        "description": "This dataElement returns the start checkbox of the scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStartButton",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the scenario start button.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStatus",

+                                        "valueType": "statusLEDType",

+                                        "description": "This dataElement returns the status of the scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStop",

+                                        "valueType": "boolType",

+                                        "description": "This dataElement returns the stop checkbox of the scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStopButton",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the scenario stop button.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScTargetCPS",

+                                        "valueType": "floatType",

+                                        "description": "This dataElement returns the target CPS of the weighted scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "TcRegulator",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the regulator used for the weighted scenario CPS.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario of an entity group. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EGrpLGenPool",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the name of the LGen pool on which the entity group is distributed on.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EGrpOffset",

+                                "valueType": "intType",

+                                "description": "This dataElement returns the offset of the first entity in the entity group.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EGrpSize",

+                                "valueType": "intType",

+                                "description": "This dataElement returns the size of an Entity Group.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EGrpType",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the Entity Type of an Entity Group.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "NofActiveEntities",

+                                "valueType": "intType",

+                                "description": "This dataElement returns number active entities of the given entity group.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "NofDeployedLGens",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns number of LGens the given entity group is distributed on.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "EntityTypesForLGenOnClients",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "EntityTypeForLGenOnClient"

+                        },

+                        "description": "This iterator enlists all the EntityTypes on all Clients."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "ClientOfEntityTypesForLGenOnClients",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "LGen"

+                                },

+                                "description": "This dataElement returns the client name for the EntityTypesForLGenOnClients item.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityTypeForLGenOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityTypeForLGenOnClient"

+                                            }

+                                        },

+                                        "description": "A pair of ExecCtrl entity type and client load generator PTC. Should be one item in the list returned by 'EntityTypesForLGenOnClients'",

+                                        "exampleValue": "0.0"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EntityTypeOfEntityTypesForLGenOnClients",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "EntityType"

+                                },

+                                "description": "This dataElement returns the entity type for the EntityTypesForLGenOnClients item.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityTypeForLGenOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityTypeForLGenOnClient"

+                                            }

+                                        },

+                                        "description": "A pair of ExecCtrl entity type and client load generator PTC. Should be one item in the list returned by 'EntityTypesForLGenOnClients'",

+                                        "exampleValue": "0.0"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "GlobalStats",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "GlobalStatistic"

+                        },

+                        "description": "This iterator enlists the global scope statistic."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "GlobalStat",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the value of the given global statistics.",

+                                "parameters": [

+                                    {

+                                        "name": "Statistic",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "GlobalStatistic"

+                                            }

+                                        },

+                                        "description": "Name of the global statistics. Should be one item in the list returned by 'GlobalStats'",

+                                        "exampleValue": "Success"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "PhaseLists",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "PhaseList"

+                        },

+                        "description": "This iterator enlists the phaselists."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "Phases",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "Phase"

+                                },

+                                "description": "This iterator enlists the phases of phaselist.",

+                                "parameters": [

+                                    {

+                                        "name": "PhaseList",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "PhaseList"

+                                            }

+                                        },

+                                        "description": "Name of the phaselist. Should be one item in the list returned by 'PhaseLists'",

+                                        "exampleValue": "BasicPhases"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "PhaseListEnablePhase",

+                                        "valueType": "boolType",

+                                        "description": "This dataElement returns the enable phase checkbox for the given Phase in given PhaseList.",

+                                        "parameters": [

+                                            {

+                                                "name": "PhaseList",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "PhaseList"

+                                                    }

+                                                },

+                                                "description": "Name of the phaselist. Should be one item in the list returned by 'PhaseLists'",

+                                                "exampleValue": "BasicPhases"

+                                            },

+                                            {

+                                                "name": "Phase",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Phase"

+                                                    }

+                                                },

+                                                "description": "Name of the phase. Should be one item in the list returned by 'Phases'",

+                                                "exampleValue": "loadgen"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScenarioGroups",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "ScenarioGroup"

+                                },

+                                "description": "This iterator enlists the scenario groups of a configuration for a given phase list.",

+                                "parameters": [

+                                    {

+                                        "name": "PhaseList",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "PhaseList"

+                                            }

+                                        },

+                                        "description": "Name of the phaselist. Should be one item in the list returned by 'PhaseLists'",

+                                        "exampleValue": "BasicPhases"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "Phases",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "Phase"

+                                        },

+                                        "description": "This iterator enlists the phases of a scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                                "exampleValue": "ScGrp"

+                                            },

+                                            {

+                                                "name": "PhaseList",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "PhaseList"

+                                                    }

+                                                },

+                                                "description": "Name of the phaselist. Should be one item in the list returned by 'PhaseLists'",

+                                                "exampleValue": "BasicPhases"

+                                            }

+                                        ]

+                                    },

+                                    "children": [

+                                        {

+                                            "dataElement": {

+                                                "name": "ScGrpEnablePhase",

+                                                "valueType": "boolType",

+                                                "description": "This dataElement returns the enable phase checkbox for the given scenario group.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "ScenarioGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "ScenarioGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                                        "exampleValue": "ScGrp"

+                                                    },

+                                                    {

+                                                        "name": "Phase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Phase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the phase. Should be one item in the list returned by 'Phases'",

+                                                        "exampleValue": "loadgen"

+                                                    }

+                                                ]

+                                            }

+                                        }

+                                    ]

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScenariosOfScenarioGroupsWithPhaseList",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "ScenarioOfScenarioGroup"

+                                },

+                                "description": "This iterator enlists all Scenarios of the ScenarioGroups with the given PhaseList.",

+                                "parameters": [

+                                    {

+                                        "name": "PhaseList",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "PhaseList"

+                                            }

+                                        },

+                                        "description": "Name of the phaselist. Should be one item in the list returned by 'PhaseLists'",

+                                        "exampleValue": "BasicPhases"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "ScenarioGroup"

+                                        },

+                                        "description": "This dataElement returns the ScenarioGroup for the ScenariosOfScenarioGroupsWithPhaseList item.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioOfScenarioGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioOfScenarioGroup"

+                                                    }

+                                                },

+                                                "description": "A pair of ExecCtrl ScenarioInstance and ScenarioGroup. Should be one item in the list returned by 'ScenariosOfScenarioGroupsWithPhaseList'",

+                                                "exampleValue": "0.0"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScenarioOfScenariosOfScenarioGroupsWithPhaseList",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "ScenarioInstance"

+                                        },

+                                        "description": "This dataElement returns the ScenarioInstance for the ScenariosOfScenarioGroupsWithPhaseList item.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioOfScenarioGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioOfScenarioGroup"

+                                                    }

+                                                },

+                                                "description": "A pair of ExecCtrl ScenarioInstance and ScenarioGroup. Should be one item in the list returned by 'ScenariosOfScenarioGroupsWithPhaseList'",

+                                                "exampleValue": "0.0"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "Phases",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "Phase"

+                        },

+                        "description": "This iterator enlists the phases."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "TrafficCasesOfScenarios",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "TrafficCaseOfScenario"

+                                },

+                                "description": "This iterator enlists all the TrafficCases of all Scenarios."

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "ScenarioOfTrafficCasesOfScenarios",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "ScenarioInstance"

+                                        },

+                                        "description": "This dataElement returns the ScenarioInstance for the TrafficCasesOfScenarios item.",

+                                        "parameters": [

+                                            {

+                                                "name": "TrafficCaseOfScenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "TrafficCaseOfScenario"

+                                                    }

+                                                },

+                                                "description": "A pair of ExecCtrl ScenarioInstance and TrafficCase. Should be one item in the list returned by 'TrafficCasesOfScenarios'",

+                                                "exampleValue": "0.0"

+                                            }

+                                        ]

+                                    },

+                                    "children": [

+                                        {

+                                            "dataElement": {

+                                                "name": "ScGrpScEnablePhase",

+                                                "valueType": "boolType",

+                                                "description": "This dataElement returns the enable phase checkbox for the given phase for the given scenario instance in a scenario group.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "ScenarioInstance",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "ScenarioInstance"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario instance.",

+                                                        "exampleValue": "EGrpName.ScName"

+                                                    },

+                                                    {

+                                                        "name": "Phase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Phase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the phase. Should be one item in the list returned by 'Phases'",

+                                                        "exampleValue": "loadgen"

+                                                    }

+                                                ]

+                                            }

+                                        }

+                                    ]

+                                }

+                            ]

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "RegulatedItems",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "RegulatedItemId"

+                        },

+                        "description": "This iterator enlists the regulated items in the configuration."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "RegulatedItemEnabled",

+                                "valueType": "boolType",

+                                "description": "This dataElement returns the checkbox to enable the regulation of the regulated item.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatedItemId",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatedItemId"

+                                            }

+                                        },

+                                        "description": "Id of the regulated item. Should be one item in the list returned by 'RegulatedItems'",

+                                        "exampleValue": "CpsToReach"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatedItemName",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the regulated item name of the regulated item.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatedItemId",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatedItemId"

+                                            }

+                                        },

+                                        "description": "Id of the regulated item. Should be one item in the list returned by 'RegulatedItems'",

+                                        "exampleValue": "CpsToReach"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatedItemType",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the regulated item type (\"Scenario CPS\" or \"TrafficCase CPS\")for the regulated item.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatedItemId",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatedItemId"

+                                            }

+                                        },

+                                        "description": "Id of the regulated item. Should be one item in the list returned by 'RegulatedItems'",

+                                        "exampleValue": "CpsToReach"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatedItemWeight",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the weight of the regulated item.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatedItemId",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatedItemId"

+                                            }

+                                        },

+                                        "description": "Id of the regulated item. Should be one item in the list returned by 'RegulatedItems'",

+                                        "exampleValue": "CpsToReach"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatorName",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the regulator name that regulates the regulated item.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatedItemId",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatedItemId"

+                                            }

+                                        },

+                                        "description": "Id of the regulated item. Should be one item in the list returned by 'RegulatedItems'",

+                                        "exampleValue": "CpsToReach"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "Regulators",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "RegulatorName"

+                        },

+                        "description": "This iterator enlists the regulators appearing in the configuration."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "RegulatorCurrentLoad",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns current load of the regulator.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatorName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatorName"

+                                            }

+                                        },

+                                        "description": "Name of the regulator. Should be one item in the list returned by 'Regulators'",

+                                        "exampleValue": "LoadRegulator"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatorStatus",

+                                "valueType": "statusLEDType",

+                                "description": "This dataElement returns status LED of the regulator.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatorName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatorName"

+                                            }

+                                        },

+                                        "description": "Name of the regulator. Should be one item in the list returned by 'Regulators'",

+                                        "exampleValue": "LoadRegulator"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatorTargetLoad",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns target load of the regulator. The regulator adapts the total value so that the curret load reach this value.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatorName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatorName"

+                                            }

+                                        },

+                                        "description": "Name of the regulator. Should be one item in the list returned by 'Regulators'",

+                                        "exampleValue": "LoadRegulator"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "RegulatorTotalValue",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns total value of the regulator. This total value is devided among the regulated items regulated by the regulator according to their weights.",

+                                "parameters": [

+                                    {

+                                        "name": "RegulatorName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "RegulatorName"

+                                            }

+                                        },

+                                        "description": "Name of the regulator. Should be one item in the list returned by 'Regulators'",

+                                        "exampleValue": "LoadRegulator"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "ScenarioGroups",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "ScenarioGroup"

+                        },

+                        "description": "This iterator enlists the scenario groups of a configuration."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "Scenarios",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "ScenarioInstance"

+                                },

+                                "description": "This iterator enlists the scenarios of a scenario group. Returns the scenario instance name",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioGroup"

+                                            }

+                                        },

+                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                        "exampleValue": "ScGrp"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "EntityGroupOfScenarioInstance",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "EntityGroup"

+                                        },

+                                        "description": "This dataElement returns the entity group name for the scenario instance.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "NofDeployedLGens",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns number of LGens the given scenario instance is distributed on.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScGrpScStatus",

+                                        "valueType": "statusLEDType",

+                                        "description": "This dataElement returns the scenario group-status LED inside the scenario group.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                                "exampleValue": "ScGrp"

+                                            },

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScenarioTypeNameOfScenarioInstance",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "Scenario"

+                                        },

+                                        "description": "This dataElement returns the scenario type name for the scenario instance.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "TrafficCases",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "TrafficCase"

+                                        },

+                                        "description": "This iterator enlists the traffic cases of a scenario instance.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScGrpCurrentPhase",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the current phase of the scenario group.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioGroup"

+                                            }

+                                        },

+                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                        "exampleValue": "ScGrp"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScGrpMode",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the scenario group mode.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioGroup"

+                                            }

+                                        },

+                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                        "exampleValue": "ScGrp"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScGrpReset",

+                                "valueType": "boolType",

+                                "description": "This dataElement returns the scenario group reset checkbox.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioGroup"

+                                            }

+                                        },

+                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                        "exampleValue": "ScGrp"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScGrpStart",

+                                "valueType": "boolType",

+                                "description": "This dataElement returns the scenario group start checkbox.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioGroup"

+                                            }

+                                        },

+                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                        "exampleValue": "ScGrp"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScGrpStatus",

+                                "valueType": "statusLEDType",

+                                "description": "This dataElement returns the scenario group status LED.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioGroup"

+                                            }

+                                        },

+                                        "description": "Name of the scenario group. Should be one item in the list returned by 'ScenarioGroups'",

+                                        "exampleValue": "ScGrp"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "ScenariosOnClients",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "ScenarioOnClient"

+                        },

+                        "description": "This iterator enlists all the Scenarios on all EntityGroups of all Clients."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "ClientOfScenariosOnClients",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "LGen"

+                                },

+                                "description": "This dataElement returns the client name for the ScenariosOnClients item.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioOnClient"

+                                            }

+                                        },

+                                        "description": "A triple of ExecCtrl Scenario, EntityGroup and client load generator PTC. Should be one item in the list returned by 'ScenariosOnClients'",

+                                        "exampleValue": "0.0.0"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "EntityGroupOfScenariosOnClients",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "EntityGroup"

+                                },

+                                "description": "This dataElement returns the EntityGroup for the ScenariosOnClients item.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioOnClient"

+                                            }

+                                        },

+                                        "description": "A triple of ExecCtrl Scenario, EntityGroup and client load generator PTC. Should be one item in the list returned by 'ScenariosOnClients'",

+                                        "exampleValue": "0.0.0"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScenarioOfScenariosOnClients",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "Scenario"

+                                },

+                                "description": "This dataElement returns the Scenario for the ScenariosOnClients item.",

+                                "parameters": [

+                                    {

+                                        "name": "ScenarioOnClient",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ScenarioOnClient"

+                                            }

+                                        },

+                                        "description": "A triple of ExecCtrl Scenario, EntityGroup and client load generator PTC. Should be one item in the list returned by 'ScenariosOnClients'",

+                                        "exampleValue": "0.0.0"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "TrafficCasesOfScenarios",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "TrafficCaseOfScenario"

+                        },

+                        "description": "This iterator enlists all the TrafficCases of all Scenarios."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "ScenarioOfTrafficCasesOfScenarios",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "ScenarioInstance"

+                                },

+                                "description": "This dataElement returns the ScenarioInstance for the TrafficCasesOfScenarios item.",

+                                "parameters": [

+                                    {

+                                        "name": "TrafficCaseOfScenario",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "TrafficCaseOfScenario"

+                                            }

+                                        },

+                                        "description": "A pair of ExecCtrl ScenarioInstance and TrafficCase. Should be one item in the list returned by 'TrafficCasesOfScenarios'",

+                                        "exampleValue": "0.0"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "EntityGroupOfScenarioInstance",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "EntityGroup"

+                                        },

+                                        "description": "This dataElement returns the entity group name for the scenario instance.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "NofDeployedLGens",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns number of LGens the given scenario instance is distributed on.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScenarioTypeNameOfScenarioInstance",

+                                        "valueType": "charstringType",

+                                        "typeDescriptor": {

+                                            "typeName": "Scenario"

+                                        },

+                                        "description": "This dataElement returns the scenario type name for the scenario instance.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "TrafficCases",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "TrafficCase"

+                                        },

+                                        "description": "This iterator enlists the traffic cases of a scenario instance.",

+                                        "parameters": [

+                                            {

+                                                "name": "ScenarioInstance",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ScenarioInstance"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario instance.",

+                                                "exampleValue": "EGrpName.ScName"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "TrafficCaseOfTrafficCasesOfScenarios",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "TrafficCase"

+                                },

+                                "description": "This dataElement returns the TrafficCase for the TrafficCasesOfScenarios item.",

+                                "parameters": [

+                                    {

+                                        "name": "TrafficCaseOfScenario",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "TrafficCaseOfScenario"

+                                            }

+                                        },

+                                        "description": "A pair of ExecCtrl ScenarioInstance and TrafficCase. Should be one item in the list returned by 'TrafficCasesOfScenarios'",

+                                        "exampleValue": "0.0"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "ConfigFile",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the ConfigFile of the application."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "EndOfConfig",

+                        "valueType": "statusLEDType",

+                        "description": "This dataElement returns the EndOfConfig variable. Green LED indicates when the configuration is finished."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "EndOfTest",

+                        "valueType": "statusLEDType",

+                        "description": "This dataElement returns the EndOfTest variable. Green LED indicates when the Test is done, and the test report is generated."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Executable",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the Executable of the application."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Exit",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the ExitButton variable. When its value is changed, the button is pressed."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "GUIDone",

+                        "valueType": "statusLEDType",

+                        "description": "This dataElement returns the GUIDone variable. Green LED indicates when the GUI is ready."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "GlobalProgressbar",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the Global ProgressBar variable. Shows the global progress as a percentage value."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Progressbar",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the ProgressBar variable. Shows the progress as a percentage value."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ProgressbarText",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the ProgressBar text variable. It contains a text of what is in progress."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ReadyToRun",

+                        "valueType": "statusLEDType",

+                        "description": "This dataElement returns the ReadyToRun variable. Green LED indicates when the traffic cases are ready to run."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Restart",

+                        "valueType": "intType",

+                        "description": "This dataElement restarts the application.",

+                        "parameters": [

+                            {

+                                "name": "Executable",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "Name of the Executable.",

+                                "exampleValue": "Executable"

+                            },

+                            {

+                                "name": "ConfigFile",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "Name of the Configuration File",

+                                "exampleValue": "ConfigFile.cfg"

+                            },

+                            {

+                                "name": "TestCases",

+                                "typeDescriptor": {

+                                    "valueType": "charstringlistType"

+                                },

+                                "description": "Name of the TestCases separated by space",

+                                "exampleValue": "Main_module.tc_1 Main_module.tc_2"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Snapshot",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the Snapshot test variable. The main SnapshotButton can be pressed by changing the value of this variable."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Start",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the Start test variable. The main StartButton can be pressed by changing the value of this variable."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "StartCommand",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the Start Command of the application."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Stop",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the Stop test variable. The main StopButton can be pressed by changing the value of this variable."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "TcStats",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "Statistic"

+                        },

+                        "description": "This iterator enlists the TC scope statistics of the given traffic cases.",

+                        "parameters": []

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "Terminate",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the Terminate test variable. The main TerminateButton can be pressed by changing the value of this variable."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "TestCases",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the TestCases of the application."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "TimeElapsed",

+                        "valueType": "charstringType",

+                        "description": "This dataElement returns the TimeElapsed variable. Its value shows the elapsed time since the main StartButton was pressed."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: JSON, TEXT. Default: JSON",

+                                "exampleValue": "TEXT"

+                            }

+                        ]

+                    }

+                }

+            ]

+        },

+        {

+            "source": "LGenBase",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "EntityGroups",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "EntityGroup"

+                        },

+                        "description": "This iterator returns the list of entity groups."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "Scenarios",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "Scenario"

+                                },

+                                "description": "This iterator returns the list of scenarios in the specified entity group.",

+                                "parameters": [

+                                    {

+                                        "name": "EntityGroup",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "EntityGroup"

+                                            }

+                                        },

+                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                        "exampleValue": "EGrp01"

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "TrafficCases",

+                                        "valueType": "charstringlistType",

+                                        "typeDescriptor": {

+                                            "isListOf": true,

+                                            "typeName": "TrafficCase"

+                                        },

+                                        "description": "This iterator returns the list of traffic cases in the specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    },

+                                    "children": [

+                                        {

+                                            "dataElement": {

+                                                "name": "CpsToReach",

+                                                "valueType": "floatType",

+                                                "description": "This data element can be used to set and get the target CPS value of the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "IsTcPresent",

+                                                "valueType": "boolType",

+                                                "description": "This condition returns true if specified traffic case exists, and returns false otherwise.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "LastCps",

+                                                "valueType": "floatType",

+                                                "description": "This data element returns the last (current) CPS of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "MaxBusyEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the highest number of busy entities during the specified traffic case execution.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "MaxRunningEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the highest number of running entities during the specified traffic case execution.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "MinAvailableEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the smallest number of available entities during the specified traffic case execution.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfAllEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of all entities.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfAvailableEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of available entities for the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfErrors",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of errors reported by the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfFails",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of failed traffic cases.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfNotFinishedEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of finished traffic cases.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfRunningEntities",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of running entities for the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfStarts",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of starts.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfSuccesses",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of succeeded traffic cases.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "NrOfTimeouts",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of timeouts reported by the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "RangeLoops",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the range loops of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "ReceivedAnswers",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of received messages by the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "SentMessages",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the number of sent messages by the specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TCName",

+                                                "valueType": "charstringType",

+                                                "description": "This data element returns the name specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcAbortButton",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns the abort button (checkbox) of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcEnabled",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns true if traffic case is enabled, and false otherwise.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcEnabledAtStartup",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns true if traffic case is enabled at start up, and returns false otherwise.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcPauseButton",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns the pause button (checkbox) of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcRestoreButton",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns the abort button (checkbox) of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcSingleShotBtn",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns the single shot button (checkbox) of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStartButton",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns the start button (checkbox) of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcState",

+                                                "valueType": "intType",

+                                                "description": "This data element returns the state of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStateName",

+                                                "valueType": "charstringType",

+                                                "description": "This data element returns the state name of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcStopButton",

+                                                "valueType": "boolType",

+                                                "description": "This data element returns the stop button (checkbox) of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TcUserData",

+                                                "valueType": "charstringType",

+                                                "description": "This data element returns the user data linked to specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "TrafficType",

+                                                "valueType": "charstringType",

+                                                "description": "This data element returns the traffic type of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "UniqueName",

+                                                "valueType": "charstringType",

+                                                "description": "This data element returns the unique name of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        },

+                                        {

+                                            "dataElement": {

+                                                "name": "Weight",

+                                                "valueType": "floatType",

+                                                "description": "This data element returns the weight of specified traffic case.",

+                                                "parameters": [

+                                                    {

+                                                        "name": "EntityGroup",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "EntityGroup"

+                                                            }

+                                                        },

+                                                        "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                        "exampleValue": "EGrp01"

+                                                    },

+                                                    {

+                                                        "name": "Scenario",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "Scenario"

+                                                            }

+                                                        },

+                                                        "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                        "exampleValue": "Scenario01"

+                                                    },

+                                                    {

+                                                        "name": "TrafficCase",

+                                                        "typeDescriptor": {

+                                                            "reference": {

+                                                                "typeName": "TrafficCase"

+                                                            }

+                                                        },

+                                                        "description": "Name of the traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                                        "exampleValue": "TrafficCase01"

+                                                    }

+                                                ]

+                                            }

+                                        }

+                                    ]

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "IsScPresent",

+                                        "valueType": "boolType",

+                                        "description": "This condition returns true if specified scenario exists, and returns false otherwise.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "IsWeightedSc",

+                                        "valueType": "boolType",

+                                        "description": "This condition returns true if specified scenario is weighted, and returns false otherwise.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScAbortButton",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the abort push button's value of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScCpsToReach",

+                                        "valueType": "floatType",

+                                        "description": "This data element can be used to set and get the target CPS for the specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScEnabled",

+                                        "valueType": "boolType",

+                                        "description": "This data element returns the enabled state of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScLockCPS",

+                                        "valueType": "boolType",

+                                        "description": "This data element returns true if the specified scenario's CPS is locked, and returns false otherwise.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScName",

+                                        "valueType": "charstringType",

+                                        "description": "This data element returns the name of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScPauseButton",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the pause push button's value of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScRestoreButton",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the restore push button's value of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScSingleShotBtn",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the single shot push button's value of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStartButton",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the start push button's value of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScState",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the state of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStateName",

+                                        "valueType": "charstringType",

+                                        "description": "This data element returns the state name of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "ScStopButton",

+                                        "valueType": "intType",

+                                        "description": "This data element returns the stop push button's value of specified scenario.",

+                                        "parameters": [

+                                            {

+                                                "name": "EntityGroup",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "EntityGroup"

+                                                    }

+                                                },

+                                                "description": "Name of the entity group the traffic case belongs to. Should be one item in the list returned by 'EntityGroups'",

+                                                "exampleValue": "EGrp01"

+                                            },

+                                            {

+                                                "name": "Scenario",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "Scenario"

+                                                    }

+                                                },

+                                                "description": "Name of the scenario the traffic case belongs to. Should be one item in the list returned by 'Scenarios'",

+                                                "exampleValue": "Scenario01"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "TrafficCasesOfScenarios",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "TrafficCaseOfScenario"

+                        },

+                        "description": "This iterator returns the list of traffic cases of all scenarios."

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "EntityGroupOfTrafficCasesOfScenarios",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "EntityGroup"

+                                },

+                                "description": "This dataElement returns the EntityGroup for the TrafficCasesOfScenarios item.",

+                                "parameters": [

+                                    {

+                                        "name": "TrafficCaseOfScenarios",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "TrafficCaseOfScenario"

+                                            }

+                                        },

+                                        "description": "A triple of LGenBase entity group, scenario and traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                        "exampleValue": "0.0.0"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ScenarioOfTrafficCasesOfScenarios",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "Scenario"

+                                },

+                                "description": "This dataElement returns the Scenario for the TrafficCasesOfScenarios item.",

+                                "parameters": [

+                                    {

+                                        "name": "TrafficCaseOfScenarios",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "TrafficCaseOfScenario"

+                                            }

+                                        },

+                                        "description": "A triple of LGenBase entity group, scenario and traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                        "exampleValue": "0.0.0"

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "TrafficCaseOfTrafficCasesOfScenarios",

+                                "valueType": "charstringType",

+                                "typeDescriptor": {

+                                    "typeName": "TrafficCase"

+                                },

+                                "description": "This dataElement returns the TrafficCase for the TrafficCasesOfScenarios item.",

+                                "parameters": [

+                                    {

+                                        "name": "TrafficCaseOfScenarios",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "TrafficCaseOfScenario"

+                                            }

+                                        },

+                                        "description": "A triple of LGenBase entity group, scenario and traffic case. Should be one item in the list returned by 'TrafficCases'",

+                                        "exampleValue": "0.0.0"

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "HasActiveTc",

+                        "valueType": "boolType",

+                        "description": "This condition returns true if the current PTC has at least one  active traffic case, and returns false otherwise."

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: JSON, TEXT. Default: JSON",

+                                "exampleValue": "TEXT"

+                            }

+                        ]

+                    }

+                }

+            ]

+        },

+        {

+            "source": "HostAdminServer",

+            "dataElements": [

+                {

+                    "dataElement": {

+                        "name": "Hosts",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "HostName"

+                        },

+                        "description": "This iterator enlists the hosts tracked by the HostAdminServer"

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "CPUs",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "CPU"

+                                },

+                                "description": "This iterator enlists the CPUs for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host. Should be one item in the list given by the iterator \"Hosts\"",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "PerCpuLoad",

+                                        "valueType": "floatType",

+                                        "description": "This dataElement returns the PerCpuLoad variable for a cpu on a host",

+                                        "parameters": [

+                                            {

+                                                "name": "HostName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "HostName"

+                                                    }

+                                                },

+                                                "description": "the name of the host",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "CpuIdx",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "CPU"

+                                                    }

+                                                },

+                                                "description": "Specifies the CPU index (as returned by the CPUs iterator)",

+                                                "exampleValue": "0"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ProcessesOnHost",

+                                "valueType": "charstringlistType",

+                                "typeDescriptor": {

+                                    "isListOf": true,

+                                    "typeName": "ProcessOnHost"

+                                },

+                                "description": "This iterator enlists the processes on a given host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host. Should be one item in the list given by the iterator \"Hosts\"",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            },

+                            "children": [

+                                {

+                                    "dataElement": {

+                                        "name": "CpuLoad",

+                                        "valueType": "floatType",

+                                        "description": "This dataElement returns the CpuLoad variable for a process or host",

+                                        "parameters": [

+                                            {

+                                                "name": "HostName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "HostName"

+                                                    }

+                                                },

+                                                "description": "the name of the host",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "ProcessIdx",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ProcessOnHost"

+                                                    }

+                                                },

+                                                "description": "Specifies the process index (as returned by the processes iterator",

+                                                "exampleValue": ""

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "MemUsage",

+                                        "valueType": "intType",

+                                        "description": "This dataElement returns the MemUsage variable for a process",

+                                        "parameters": [

+                                            {

+                                                "name": "HostName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "HostName"

+                                                    }

+                                                },

+                                                "description": "the name of the host",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "ProcessIdx",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ProcessOnHost"

+                                                    }

+                                                },

+                                                "description": "Specifies the process index (as returned by the processes iterator",

+                                                "exampleValue": ""

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "MemUsageHRF",

+                                        "valueType": "charstringType",

+                                        "description": "his dataElement returns the MemUsage variable for a process in Human Readable Fromat",

+                                        "parameters": [

+                                            {

+                                                "name": "HostName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "HostName"

+                                                    }

+                                                },

+                                                "description": "the name of the host",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "ProcessIdx",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ProcessOnHost"

+                                                    }

+                                                },

+                                                "description": "Specifies the process index (as returned by the processes iterator",

+                                                "exampleValue": ""

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "PID",

+                                        "valueType": "intType",

+                                        "description": " This dataElement returns the PID variable for a process",

+                                        "parameters": [

+                                            {

+                                                "name": "HostName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "HostName"

+                                                    }

+                                                },

+                                                "description": "the name of the host",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "ProcessIdx",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ProcessOnHost"

+                                                    }

+                                                },

+                                                "description": "Specifies the process index (as returned by the processes iterator)",

+                                                "exampleValue": "0"

+                                            }

+                                        ]

+                                    }

+                                },

+                                {

+                                    "dataElement": {

+                                        "name": "SelfName",

+                                        "valueType": "charstringType",

+                                        "description": "This dataElement returns the SelfName variable for a process",

+                                        "parameters": [

+                                            {

+                                                "name": "HostName",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "HostName"

+                                                    }

+                                                },

+                                                "description": "the name of the host",

+                                                "exampleValue": ""

+                                            },

+                                            {

+                                                "name": "ProcessIdx",

+                                                "typeDescriptor": {

+                                                    "reference": {

+                                                        "typeName": "ProcessOnHost"

+                                                    }

+                                                },

+                                                "description": "Specifies the process index (as returned by the processes iterator)",

+                                                "exampleValue": "0"

+                                            }

+                                        ]

+                                    }

+                                }

+                            ]

+                        },

+                        {

+                            "dataElement": {

+                                "name": "CpuAvg",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the CpuAvg variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "CpuLoad",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the CpuLoad variable for a process or host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "CpuMax",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the CpuMax variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "CpuMin",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the CpuMin variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "FreeMem",

+                                "valueType": "intType",

+                                "description": "This dataElement returns the FreeMem [kB] variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "FreeMemHRF",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the FreeMem variable for a host in Human Readable Fromat (e.g. '1.5 MB', '3.8 GB')",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "IPv4Addr",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the IPv4 Address variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "IPv6Addr",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the IPv6 Address variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "PhysicalMem",

+                                "valueType": "intType",

+                                "description": "This dataElement returns the PhysicalMem [kB] variable for a host",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "PhysicalMemHRF",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the PhysicalMem variable for a host in Human Readable Fromat (e.g. '1.5 MB', '3.8 GB')",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "ResetMinMaxAvgCPULoad",

+                                "valueType": "intType",

+                                "description": "This dataElement returns the ResetMinMaxAvgCPULoad variable for a host which can be used to reset the Min/Max/Avg/CPULoad",

+                                "parameters": [

+                                    {

+                                        "name": "HostName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "HostName"

+                                            }

+                                        },

+                                        "description": "the name of the host",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "ProcessNames",

+                        "valueType": "charstringlistType",

+                        "typeDescriptor": {

+                            "isListOf": true,

+                            "typeName": "ProcessName"

+                        },

+                        "description": "This iterator enlists the process names (globally, regardless of hostname)"

+                    },

+                    "children": [

+                        {

+                            "dataElement": {

+                                "name": "CpuLoad",

+                                "valueType": "floatType",

+                                "description": "This dataElement returns the CpuLoad variable for a process or host",

+                                "parameters": [

+                                    {

+                                        "name": "SelfName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ProcessName"

+                                            }

+                                        },

+                                        "description": "Specifies the selfName of a process",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "HostName",

+                                "valueType": "charstringType",

+                                "description": "This dataElement returns the host name variable for a process",

+                                "parameters": [

+                                    {

+                                        "name": "SelfName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ProcessName"

+                                            }

+                                        },

+                                        "description": "Specifies the selfName of a process",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "MemUsage",

+                                "valueType": "intType",

+                                "description": "This dataElement returns the MemUsage variable for a process",

+                                "parameters": [

+                                    {

+                                        "name": "SelfName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ProcessName"

+                                            }

+                                        },

+                                        "description": "Specifies the selfName of a process",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        },

+                        {

+                            "dataElement": {

+                                "name": "MemUsageHRF",

+                                "valueType": "charstringType",

+                                "description": "his dataElement returns the MemUsage variable for a process in Human Readable Fromat",

+                                "parameters": [

+                                    {

+                                        "name": "SelfName",

+                                        "typeDescriptor": {

+                                            "reference": {

+                                                "typeName": "ProcessName"

+                                            }

+                                        },

+                                        "description": "Specifies the selfName of a process",

+                                        "exampleValue": ""

+                                    }

+                                ]

+                            }

+                        }

+                    ]

+                },

+                {

+                    "dataElement": {

+                        "name": "NofHosts",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the number of hosts"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ProcessSortOption",

+                        "valueType": "charstringType",

+                        "description": "DataElement to set the process sort option. Value should be one of: { \"EPTF SelfName\", \"CPU Load\", \"Memory Usage\", \"Unsorted\" } which is the list returned by the iterator \"ProcessSortOptionList\""

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ProcessSortOptionList",

+                        "valueType": "charstringlistType",

+                        "description": "This iterator enlists the sort options for process sorting that can be used in the data element \"ProcessSortOption\""

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "ResetMinMaxAvgCPULoad",

+                        "valueType": "intType",

+                        "description": "This dataElement returns the ResetMinMaxAvgCPULoad variable for all hosts"

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "help",

+                        "valueType": "charstringType",

+                        "description": "This data element returns the help information about all dataElements supported",

+                        "parameters": [

+                            {

+                                "name": "Format",

+                                "typeDescriptor": {

+                                    "valueType": "charstringType"

+                                },

+                                "description": "The format of the output. Valid values: JSON, TEXT. Default: JSON",

+                                "exampleValue": "TEXT"

+                            }

+                        ]

+                    }

+                },

+                {

+                    "dataElement": {

+                        "name": "isMultipleHosts",

+                        "valueType": "boolType",

+                        "description": "This condition returns true if there are more than one hosts"

+                    }

+                }

+            ]

+        }

+    ]

+}
\ No newline at end of file
diff --git a/test/MockedServer/DataGenerator.js b/test/MockedServer/DataGenerator.js
new file mode 100644
index 0000000..8cd4a3d
--- /dev/null
+++ b/test/MockedServer/DataGenerator.js
@@ -0,0 +1,158 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+function DataGenerator() {

+

+    var LISTLENGTH = 3;

+

+    var TypeEnum = {

+        intType : 1,

+        floatType : 2,

+        boolType : 3,

+        charstringType : 4,

+        octetstringType : 5,

+        hexstringType : 6,

+        bitstringType : 7,

+        integerlistType : 8,

+        floatlistType : 9,

+        charstringlistType : 10,

+        statusLEDType : 11

+    }

+

+    function genPredef(content, tp) {

+        var obj = {

+            node : {

+                val : content,

+                tp : tp

+            }

+        };

+        return obj;

+    }

+    

+    function genString(source, element) {

+        var obj = {

+            node : {

+                val : source + " " + element,

+                tp : TypeEnum.charstringType

+            }

+        }

+        return obj;

+    }

+

+    function genStringList(source, element) {

+        var obj = {list : []};

+        for (var i = 0; i < LISTLENGTH; ++i) {

+            var stringnode = genString(source, element);

+            stringnode.node.val += " " + i;

+            obj.list.push(stringnode);

+        }

+        return obj;

+    }

+

+    function genInt(source, element) {

+        var obj = {

+            node : {

+                val : Math.floor((Math.random() * 5) + 1),

+                tp : TypeEnum.intType

+            }

+        }

+        return obj;

+    }

+

+    function genIntList(source, element) {

+        var obj = {list : []};

+        for (var i = 0; i < LISTLENGTH; ++i) {

+            obj.list.push(genInt(source, element));

+        }

+        return obj;

+    }

+

+    function genFloat(source, element) {

+        var obj = {

+            node : {

+                val : Math.random(),

+                tp : TypeEnum.floatType

+            }

+        }

+        return obj;

+    }

+

+    function genFloatList(source, element) {

+        var number = Math.floor((Math.random() * 5) + 1);

+        var obj = {list : []};

+        for (var i = 0; i < LISTLENGTH; ++i) {

+            obj.list.push(genFloat(source, element));

+        }

+        return obj;

+    }

+

+    function genBool(source, element) {

+        var obj = {

+            node : {

+                val : Math.floor((Math.random() * 2)) == 0,

+                tp : TypeEnum.boolType

+            }

+        }

+        return obj;

+    }

+    

+    function genStatusLEDType(source, element) {

+        var LedList = [

+            "[led:blue]Idle",

+            "[led:blue]Stopped",

+            "[led:black]Off",

+            "[led:green]Running",

+            "[led:red]Stopping"

+        ];

+        var number = Math.floor((Math.random() * LedList.length));

+        var obj = {

+            node : {

+                val : LedList[number],

+                tp : TypeEnum.statusLEDType

+            }

+        }

+        return obj;

+    }

+

+    this.generateContent = function(source, element, type) {

+        var obj;

+        

+        switch (type) {

+            case "intType":

+                obj = genInt(source, element);

+                break;

+            case "floatType":

+                obj = genFloat(source, element);

+                break;

+            case "boolType":

+                obj = genBool(source, element);

+                break;

+            case "charstringType":

+                obj = genString(source, element);

+                break;

+            case "charstringlistType":

+                obj = genStringList(source, element);

+                break;

+            case "floatlistType":

+                obj = genFloatList(source, element);

+                break;

+            case "integerlistType":

+                obj = genIntList(source, element);

+                break;

+            case "statusLEDType":

+                obj = genStatusLEDType(source, element);

+                break;

+            default:

+                mlog("Unsupported type, using charstringType: ", "source: " + source, "element: " + element, "type: " + type, "");

+                obj = genString(source, element, TypeEnum.charstringType);

+                break;

+        }

+        

+        return obj;

+    }

+}
\ No newline at end of file
diff --git a/test/MockedServer/DsRestAPIComm_Mock.js b/test/MockedServer/DsRestAPIComm_Mock.js
new file mode 100644
index 0000000..050fa54
--- /dev/null
+++ b/test/MockedServer/DsRestAPIComm_Mock.js
@@ -0,0 +1,477 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+/**

+The function we mock.

+ */

+function CDsRestAPIComm(p_extension, p_model) {

+    "use strict";

+    ////////////////////////// MOCK OF DS CALLS //////////////////////////

+

+    var model;

+    if (p_model != undefined) {

+        model = p_model;

+    } else {

+        model = new Model(new DataGenerator());

+    }

+

+    var schema = {

+        "$schema": "http://json-schema.org/draft-04/schema#",

+        "definitions": {

+            "filter": {

+                "oneOf": [

+                    {

+                        "type": "object",

+                        "additionalProperties": false,

+                        "properties": {

+                            "dataValue": {

+                                "type": "string"

+                            }

+                        }

+                    },

+                    {

+                        "type": "object",

+                        "additionalProperties": false,

+                        "properties": {

+                            "request": {

+                                "type": "object",

+                                "additionalProperties": false,

+                                "properties": {

+                                    "source": {

+                                        "type": "string"

+                                    },

+                                    "ptcname": {

+                                        "type": "string"

+                                    },

+                                    "element": {

+                                        "type": "string"

+                                    },

+                                    "params": {

+                                        "$ref": "#/definitions/filterParams"

+                                    }

+                                }

+                            }

+                        }

+                    }

+                ]

+            },

+            "filterParams": {

+                "type": "array",

+                "items": {

+                    "type": "object",

+                    "additionalProperties": false,

+                    "properties": {

+                        "paramName": {

+                            "type": "string"

+                        },

+                        "paramValue": {

+                            "$ref": "#/definitions/filter"

+                        }

+                    }

+                }

+            },

+            "params": {

+                "type": "array",

+                "items": {

+                    "title": "params",

+                    "description": "params",

+                    "type" : "object",

+                    "additionalProperties": false,

+                    "properties": {

+                        "paramName": {

+                            "type": "string"

+                        },

+                        "paramValue": {

+                            "type": "string"

+                        }

+                    },

+                    "required": [

+                        "paramName",

+                        "paramValue"

+                    ]

+                }

+            },

+            "getDataRequest": {

+                "type": "object",

+                "additionalProperties": false,

+                "properties": {

+                    "getData": {

+                        "title": "getDataFieldsDef",

+                        "description": "getDataFieldsDef",

+                        "type": "object",

+                        "additionalProperties": false,

+                        "properties": {

+                            "source": {

+                                "type": "string"

+                            },

+                            "ptcname": {

+                                "type": "string"

+                            },

+                            "element": {

+                                "type": "string"

+                            },

+                            "params": {

+                                "$ref": "#/definitions/params"

+                            },

+                            "cookie": {

+                                "type": "string"

+                            },

+                            "children": {

+                                "type": "array",

+                                "items": {

+                                    "$ref": "#/definitions/getDataRequest"

+                                }

+                            },

+                            "filter": {

+                                "$ref": "#/definitions/filter"

+                            },

+                            "rangeFilter": {

+                                "type": "object",

+                                "properties": {

+                                    "offset": {

+                                        "type": "integer",

+                                        "minimum": 0

+                                    },

+                                    "count": {

+                                        "type": "integer",

+                                        "minimum": 0

+                                    }

+                                },

+                                "additionalProperties": false

+                            },

+                            "selection": {

+                                "type": "array",

+                                "items": {

+                                    "type": "integer"

+                                }

+                            },

+                            "selectionValues": {

+                                "type": "array",

+                                "items": {

+                                    "type": "string"

+                                }

+                            },

+                            "writableInfo": {

+                                "type": "boolean"

+                            },

+                            "timeline": {

+                                "type": "object",

+                                "additionalProperties": false,

+                                "properties": {

+                                    "period": {

+                                        "type": "number",

+                                        "minimum": 0

+                                    },

+                                    "maxpoints": {

+                                        "type": "integer",

+                                        "minimum": 0

+                                    },

+                                    "since": {

+                                        "type": "integer",

+                                        "minimum": 0

+                                    }

+                                }

+                            }

+                        },

+                        "required": [

+                            "source",

+                            "element"

+                        ]

+                    }

+                }

+            },

+            "setDataRequest": {

+                "type": "object",

+                "additionalProperties": false,

+                "properties": {

+                    "setData": {

+                        "type": "object",

+                        "properties": {

+                            "source": {

+                                "type": "string"

+                            },

+                            "ptcname": {

+                                "type": "string"

+                            },

+                            "element": {

+                                "type": "string"

+                            },

+                            "content": {

+                                "type": "string"

+                            },

+                            "tp": {

+                                "type": "integer"

+                            },

+                            "indxsInList": {

+                                "type": "array",

+                                "items": {

+                                    "type": "integer"

+                                }

+                            },

+                            "params": {

+                                "$ref": "#/definitions/params"

+                            }

+                        },

+                        "required": [

+                            "source",

+                            "element",

+                            "content",

+                            "tp"

+                        ]

+                    }

+                }

+            }

+        },

+        "type": "object",

+        "additionalProperties": true,

+        "properties": {

+            "requests": {

+                "type": "array",

+                "items": {

+                    "anyOf": [

+                        {

+                            "$ref": "#/definitions/getDataRequest"

+                        },

+                        {

+                            "$ref": "#/definitions/setDataRequest"

+                        }

+                    ]

+                }

+            }

+        }

+    };

+

+    var ajv = new Ajv({

+            allErrors : true,

+            format : "full",

+            verbose : true,

+            inlineRefs : false

+        });

+

+    var validate = ajv.compile(schema);

+

+    this.ajaxCall = function (request, callback) {

+        var v_requestObj = request;

+        var isRequestValid = validate(v_requestObj);

+        var answer;

+

+        if (isRequestValid) {

+            answer = parseRequest(v_requestObj).contentList;

+        } else {

+            console.log("AJV validate says, the request is invalid per DsRestAPI DSServer JSON API!");

+            console.log("AJV says, these are the errors:", validate.errors);

+            console.log("The invalid request:", JSON.stringify(request, null, 4));

+            answer = [

+                {

+                    "node" : {

+                        "val" : "Error processing request, Reason: While JSON-decoding type '@EPTF_CLL_DsRestAPI_DSServer_Definitions.EPTF_DsRestAPI_RqWrapper': Invalid field name 'XY'",

+                        "tp" : 4

+                    }

+                }

+            ];

+        }

+

+        callback(answer);

+    };

+

+    /**

+    This method obtains or sets the data from the outside source.

+    @param data: a getData or a setData object

+    @param parents: the parents of the current node

+    @returns the content belonging to the current node obtained from an outside source

+     */

+    function getContent(data, parents) {

+        var content;

+        if (data.content) {

+            content = model.setContent(data);

+        } else {

+            content = model.getContent(data, parents);

+        }

+        // we create a copy of the answer since we may have to modify it

+        content = mcopy(content);

+        return content;

+    }

+

+    /**

+    This method creates the tree using a recursive DFS algorithm. For more details, see the comments below.

+    @param data: either a getData or a setData object

+    @param contentList: the list that will contain the children of the parent

+    @param parents: the parent list of the current node of the tree

+     */

+    function expand(data, contentList, parents) {

+        // data can be undefined if the request is wrong, in this case, we return the already constructed list

+        // TODO the real server returns an empty content list as the complete answer even if a single child request is invalid somewhere

+        if (data == undefined) {

+            return;

+        }

+

+        // we obtain the content that belongs to this node

+        // this is an object that either contains a single "node" object or a "list" of node objects

+        var content = getContent(data, parents);

+        // we add the content to the output

+        contentList.push(content);

+

+        // a tricky part that keeps the code shorter

+        // we create an empty list

+        // if the content we got is a list of nodes, then this list will be the same

+        // else we got a single node that we now add to the empty list

+        // the point is, we can iterate over this list and do not have to check multiple conditions and there will be no code duplication

+        var list = [];

+        if (content.list == undefined) {

+            list.push(content);

+        } else {

+            list = content.list;

+        }

+

+        if (data.children != undefined && data.children.length > 0) {

+            var ListLength = list.length;

+            for (var i = 0; i < ListLength; ++i) {

+                // NOTE: originally the second part of the condition was "i in data.selection", which does not work with arrays...

+                if (data.selection == undefined || data.selection.indexOf(i) != -1) {

+                    // here we create an empty list of children for the current node

+                    var node = list[i].node;

+                    node.childVals = [];

+                    // we add the node to the parent list, which we use as a simple stack

+                    parents.push(node);

+                    var childrenLength = data.children.length;

+                    for (var j = 0; j < childrenLength; ++j) {

+                        // we expand the children of the currently examined node recursively

+                        expand(getGetData(data.children[j]), node.childVals, parents);

+                    }

+                    // we remove the current node from the parents list, since we have now finished examined all its children

+                    parents.pop();

+                }

+            }

+        }

+    }

+

+    /**

+    This method parses the request and returns the answer.

+    The result is obtained by a simple DFS algorithm.

+    @param request: The request

+    @returns the answer to the request that is accepted by the GUI

+     */

+    function parseRequest(request) {

+        var answer = {

+            contentList : []

+        };

+        var requestsLength = request.requests.length;

+        for (var i = 0; i < requestsLength; ++i) {

+            var data = getGetData(request.requests[i]);

+            // if there is no getData or setData, return

+            if (data == undefined) {

+                return answer;

+            }

+

+            // ---------- setData and tp checking ----------

+            var isSetData = !!(request.requests[i].setData);

+            var isTpMatch = false;

+            var TpMatchErrorMsg = ">> TODO This error message is not set properly in DsRestAPIComm_Mock! It should be set according to the datatype conversion failure. <<";

+

+            if (isSetData) {

+                // Check if tp matches the content's implicit type

+                switch (data.tp) {

+                case 1:

+                    isTpMatch = /^(\-|\+)?([0-9]+)$/.test(data.content);

+                    if (!isTpMatch)

+                        TpMatchErrorMsg = "Cannot convert content: " + data.content + " to tp: " + data.tp + ", Reason: The argument of function str2int(), which is \"" + data.content + "\", does not represent a valid int value. Invalid character `" + data.content[0] + "' was found at index 0.";

+                    break; // int

+                case 2:

+                    isTpMatch = /^(\-|\+)?([0-9]+(\.[0-9]+)?)$/.test(data.content);

+                    if (!isTpMatch)

+                        TpMatchErrorMsg = "Cannot convert content: " + data.content + " to tp: " + data.tp + ", Reason: The argument of function str2float(), which is \"" + data.content + "\", does not represent a valid float value. Invalid character `" + data.content[0] + "' was found at index 0.";

+                    break; // float

+                case 3:

+                    isTpMatch = /^(true|false)$/.test(data.content);

+                    break; // boolean

+                case 4:

+                    isTpMatch = true;

+                    break; // charstring

+                case 5: // octetstring

+                case 6:

+                    isTpMatch = /^([0-9a-fA-F]{2})*$/.test(data.content);

+                    break; // hexstring

+                case 7:

+                    isTpMatch = /^[0-1]*$/.test(data.content);

+                    break; // bitstring

+                case 8: // integer[]

+                case 9: // float[]

+                case 10:

+                    isTpMatch = /^\[.*\]$/.test(data.content);

+                    break; // charstring[] -- we only check if it is a list, not the inner type.

+                case 11:

+                    isTpMatch = /^\[led:\w+\]/.test(data.content);

+                    break; // LED

+                default:

+                    TpMatchErrorMsg = "Invalid tp: " + data.tp;

+                    // error - invalid tp#

+                }

+            }

+

+            // the help needs to be returned in a special way

+            if (data.element === "help" && data.params != undefined && data.params.length === 1) {

+                if (!isTpMatch && isSetData) {

+                    // request tp does not match request content's datatype

+                    answer.contentList.push({

+                        "node" : {

+                            "val" : a2hex(TpMatchErrorMsg),

+                            "tp" : 4

+                        }

+                    });

+                } else if (isSetData) {

+                    // Nothing is writable in the help section.

+                    answer.contentList.push({

+                        "node" : {

+                            "val" : a2hex("Value cannot be changed"),

+                            "tp" : 4

+                        }

+                    });

+

+                // ---------- end of setData and tp checking ----------

+

+                } else {

+                    var helpstr = JSON.stringify(DSHelp, null, 4);

+                    var hex = a2hex(helpstr);

+                    answer.contentList.push({

+                        "node" : {

+                            "val" : hex,

+                            "tp" : 10

+                        }

+                    });

+                }

+            } else {

+                var parents = [];

+                expand(data, answer.contentList, parents);

+            }

+

+

+        }

+        return answer;

+    }

+

+    /**

+    @param obj An object

+    @returns getData or setData from the object if one of them exists, or null if they do not

+     */

+    function getGetData(obj) {

+        if (obj.getData != undefined) {

+            return obj.getData;

+        } else if (obj.setData != undefined) {

+            return obj.setData;

+        } else if (obj.listOfGetData != undefined) {

+            return obj.listOfGetData;

+        } else {

+            mlog("Request has neither getData, nor setData element...");

+            return undefined;

+        }

+    }

+

+    this.getSchema = function () {

+        return mcopy(schema);

+    };

+}

diff --git a/test/MockedServer/FileHandler.js b/test/MockedServer/FileHandler.js
new file mode 100644
index 0000000..4c13d10
--- /dev/null
+++ b/test/MockedServer/FileHandler.js
@@ -0,0 +1,185 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+function FileHandler() {
+
+    ////////////////////////// MOCK OF FILE OPERATIONS //////////////////////////
+
+    var fileCache = {};
+
+    // The existing directories and files, this must be updated when there is a change
+    var contentOnDisc = [
+        REPLACETHIS
+    ];
+
+    /**
+        Since saving is not allowed by the browsers, we use a hashmap with the ulrs as keys
+     */
+    this.putFile = function (url, data, callback) {
+        fileCache[url] = data;
+        callback(true, data);
+    };
+
+    /**
+        A function to remove duplicate items from a list
+     */
+    function uniq(list) {
+        var seen = {};
+        return list.filter(function (item) {
+            return seen.hasOwnProperty(item) ? false : (seen[item] = true);
+        });
+    }
+
+    /**
+        Since there is no list dir command in a local browser, we have to return contentOnDisc from a predefined list
+     */
+    this.getDirectory = function (url, callback) {
+        var contentList = [];
+
+        if (url != "/" && url.startsWith("/")) {
+            url = url.substr(1);
+        }
+        
+        // find the contentOnDisc in the directory
+        for (var i = 0; i < contentOnDisc.length; ++i) {
+            if (contentOnDisc[i].substr(0, url.length) == url && contentOnDisc[i].length != url.length) {
+                var index = contentOnDisc[i].indexOf("/", url.length + 1);
+                if (index != -1) {
+                    contentList.push(contentOnDisc[i].substring(0, index));
+                } else {
+                    contentList.push(contentOnDisc[i]);
+                }
+            }
+            
+            if (url == "/" && contentOnDisc[i].indexOf("/") == -1) {
+                contentList.push(contentOnDisc[i]);
+            }
+        }
+        
+        // find the fileCache in the directory
+        for (var key in fileCache) {
+            if (fileCache.hasOwnProperty(key) && key.substr(0, url.length) == url) {
+                var index = key.indexOf("/", url.length + 1);
+                if (index != -1) {
+                    contentList.push(key.substring(0, index));
+                } else {
+                    contentList.push(key);
+                }
+            }
+        }
+        
+        var fileList = [];
+        var listOfNames = uniq(contentList);
+        for (var i = 0; i < listOfNames.length; ++i) {
+            var contentType;
+            if (listOfNames[i].indexOf('.') == -1) {
+                contentType = "-d"
+            } else {
+                contentType = "-f"
+            }
+            fileList.push({
+                "contentType" : contentType,
+                "fileName" : listOfNames[i],
+                "size" : 0,
+                "timeStamp" : 0
+            });
+        }
+        
+        callback(fileList);
+    };
+
+    this.createDirectory = function (url, callback) {
+        if (contentOnDisc.indexOf(url) == -1) {
+            contentOnDisc.push(url);
+        }
+        callback(true);
+    };
+
+    this.delDirectory = function (url, callback) {
+        var i = 0;
+        while (i < contentOnDisc.length) {
+            if (contentOnDisc[i].substr(0, url.length) == url) {
+                contentOnDisc.splice(i, 1);
+            } else {
+                ++i;
+            }
+        }
+
+        var todelete = [];
+        for (var key in fileCache) {
+            if (fileCache.hasOwnProperty(key) && key.substr(0, url.length) == url) {
+                todelete.push(key);
+            }
+        }
+
+        for (var j = 0; j < todelete.length; ++j) {
+            delete fileCache[todelete[j]];
+        }
+
+        callback(true);
+    };
+
+    this.loadFile = function (url, callback) {
+
+        if (fileCache.hasOwnProperty(url)) {
+            callback(true, fileCache[url]);
+            return;
+        }
+
+        function success(data, textStatus, jqXHR) {
+            callback(true, data);
+        }
+
+        function error(data, textStatus, jqXHR) {
+            callback(false, "Loading: " + textStatus + " " + jqXHR);
+        }
+
+        return $.ajax({
+            url : url,
+            type : 'GET',
+            success : success,
+            error : error,
+            dataType : "text",
+            data : "",
+            async : false
+        });
+    };
+
+    this.importJsFile = function (file, p_callback) {
+        var v_callback = p_callback;
+        function success(data, textStatus, jqXHR) {
+            v_callback(true);
+        }
+
+        function error(data, textStatus, jqXHR) {
+            v_callback(false, "Loading: " + textStatus + " " + jqXHR + " " + file);
+        }
+
+        $.ajax({
+            url : file,
+            dataType : "script",
+            success : success,
+            error : error,
+            async : false
+        });
+    };    
+    
+    
+    this.loadCss = function(hmtlContentId, cssFile, callback) {
+        $("#" + hmtlContentId).load(cssFile, callback);
+    };
+    
+    this.loadCssFiles = function(cssFiles, id) {
+        for (var i = 0; i < cssFiles.length; ++i) {
+            // html ids should not contain / and . so we replace them with _
+            var cssId = cssFiles[i].replace(/[\/\.]/gi, "_");
+            $("#" + id).prepend('<style id="' + cssId + '" type="text/css"></style>');
+            this.loadCss(cssId, cssFiles[i]);
+        }
+    };
+}
\ No newline at end of file
diff --git a/test/MockedServer/Model.js b/test/MockedServer/Model.js
new file mode 100644
index 0000000..6234864
--- /dev/null
+++ b/test/MockedServer/Model.js
@@ -0,0 +1,159 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+//                                                                           //
+// All rights reserved. This program and the accompanying materials          //
+// are made available under the terms of the Eclipse Public License v1.0     //
+// which accompanies this distribution, and is available at                  //
+// http://www.eclipse.org/legal/epl-v10.html                                 //
+///////////////////////////////////////////////////////////////////////////////
+function Model(p_dataGenerator) {

+

+    var PATTERN = /%Parent(\d+)%/g;

+

+    var dataGenerator = p_dataGenerator;

+    var model = {};

+

+    /**

+        Finds an element in the given section of the Help.

+        NOTE: this is a recursive function, since it is possible that the element is not in the root of the section.

+        @param element: the element

+        @param list: the section in the Help we will search

+    */

+    function findElementType(element, list) {

+        var type;

+        var listLength = list.length;

+        for (var j = 0; j < listLength; ++j) {

+            var dataElement = list[j].dataElement;

+            if (dataElement.name == element) {

+                type = dataElement.valueType;

+            }

+            if (list[j].children != undefined && type == undefined) {

+                type = findElementType(element, list[j].children);

+            }

+        }

+        return type;

+    }

+

+    /**

+        Finds the valueType of a source and element pair using the Help.

+        @param source: the data source

+        @param element: the name of a data element

+        @returns the type or null if the pair is not in the Help

+    */

+    function getType(source, element) {

+        var type;

+        var sourcesLength = DSHelp.sources.length;

+        for (var i = 0; i < sourcesLength; ++i) {

+            var obj = DSHelp.sources[i];

+            if (obj.source == source) {

+                type = findElementType(element, obj.dataElements);

+            }

+        }

+        

+        if (type == undefined) {

+            mlog("Not found in HELP, using intType:" + " source: " + source + " dataElement: " + element);

+            return "intType";

+        } else {

+            return type;

+        }

+    }

+    

+    function replaceParent(str, parents) {

+        var pattern = new RegExp(PATTERN);

+        var match = pattern.exec(str);

+        return parents[parseInt(match[1])].val;

+    }

+

+    /**

+        The key of the content in the hashmap is a concatenation of its source, element and parameters so we have to sort the parameters.

+        @param data: a getData object

+        @param parents: the list of parents

+        @returns the key

+    */

+    function getGetDataKey(data, parents) {

+        var list = [];

+        if (data.params != undefined) {

+            for (var i = 0; i < data.params.length; ++i) {

+                var paramValue = data.params[i].paramValue;

+                list.push(paramValue.replace(new RegExp(PATTERN), function(match) {return replaceParent(match, parents)}));

+            }

+        }

+        list.sort();

+        

+        var key = data.source + "." + data.element;

+        for (var i = 0; i < list.length; ++i) {

+            key += "." + list[i];

+        }

+        

+        return key;

+    }

+

+    /**

+        The key of the content in the hashmap is a concatenation of its source, element and parameters so we have to sort the parameters.

+        @param: data a getData object

+        @returns the key

+    */

+    function getSetDataKey(data) {

+        var list = [];

+        if (data.params != undefined) {

+            for (var i = 0; i < data.params.length; ++i) {

+                list.push(data.params[i].paramValue);

+            }

+        }

+        list.sort();

+        

+        var key = data.source + "." + data.element;

+        for (var i = 0; i < list.length; ++i) {

+            key += "." + list[i];

+        }

+        

+        return key;

+    }

+

+    /**

+        This function creates random content for the current node that belongs to the data and parents.

+        If the content was already generated, we simply return it.

+        @param data: a getData object

+        @param parents: the parent list of the current node

+        @returns the node or the list of nodes

+    */

+    this.getContent = function(data, parents) {

+        var key = getGetDataKey(data, parents);

+        if (model[key] == undefined) {

+            model[key] = dataGenerator.generateContent(data.source, data.element, getType(data.source, data.element));

+        }

+        return model[key];

+    };

+

+    /**

+        This function sets the content of a node.

+        @oaram data: a setData object

+        @returns the node or the list of nodes that was or were changes

+    */

+    this.setContent = function(data) {

+        var key = getSetDataKey(data);

+        var content = model[key] || {"node": {"val": "Value cannot be changed", "tp": 4}};

+        if (data.tp && (data.tp < 0 || data.tp > 11))

+            if (data.tp === content.node.tp)

+                return {"node": {"val": "Value cannot be changed", "tp": 4}};

+            else

+                return {"node": {"val": "Invalid tp: " + data.tp, "tp": 4}};

+        if (content.list && data.indxsInList.length == 1) {

+            content.list[data.indxsInList[0]].node.val = data.content;

+            content.list[data.indxsInList[0]].node.tp = data.tp;

+        } else {

+            content.node.val = data.content;

+            content.node.tp = data.tp;

+        }

+        return content;

+    };

+

+    /**

+        This functions adds a new node using a setData object and a tp number.

+        @param key: the key in the hashmap

+        @param content: the content

+    */

+    this.addContent = function(key, content) {

+        model[key] = content;

+    }

+}
\ No newline at end of file
diff --git a/test/Selenium/BaseTestCase.py b/test/Selenium/BaseTestCase.py
new file mode 100644
index 0000000..2cf73e0
--- /dev/null
+++ b/test/Selenium/BaseTestCase.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+import os
+import unittest
+from selenium import webdriver
+from selenium.webdriver.common.keys import Keys
+from selenium.webdriver.support.ui import WebDriverWait
+
+class BaseTestCase(unittest.TestCase):
+
+    # yes... a \ has to be escaped even in a raw string, and a string can not end with \, so we have to create a string that does not end with a \ and get the \ character from its index...
+    HTML_FILE = ("file:///" + os.path.abspath("../Test.html").replace(r"\\ "[0], r"/"))
+
+    def setUp(self):
+        self.driver = webdriver.Firefox()
+        self.driver.maximize_window()
+        self.driver.implicitly_wait(3)
+        # these are not built in members, but no one said we could not add them
+        self.driver.wait = WebDriverWait(self.driver, 3)
+        self.driver.applicationStarted = False
+
+    def tearDown(self):
+        # Get the list produced by 'window.onerror' in Utilities.js
+        javaScript = "return window.jsErrors.length"
+        jsErrorsLength = int(self.driver.execute_script(javaScript))
+        x = 0
+        while (x < jsErrorsLength):
+            if (x == 0): 
+                print '\n*** Test id :', self.id()
+            javaScript = "return window.jsErrors[" + str(x) + "] " 
+            print self.driver.execute_script(javaScript) + '\n'
+            x += 1
+
+        self.driver.quit()
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/Framework_CommonFunctions.py b/test/Selenium/Framework_CommonFunctions.py
new file mode 100644
index 0000000..7bad155
--- /dev/null
+++ b/test/Selenium/Framework_CommonFunctions.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+import time
+from selenium.webdriver.common.by import By
+from selenium.webdriver.support import expected_conditions as EC
+from selenium.common.exceptions import NoSuchElementException
+
+def startGuiEditor(driver):
+    browserCompatibilityCheck(driver)
+    time.sleep(1)
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'applications_header_appBtn_1')))
+    button.click()
+    time.sleep(1)
+
+def startRequestTester(driver):
+    browserCompatibilityCheck(driver)
+    time.sleep(1)
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'applications_header_appBtn_2')))
+    button.click()
+    time.sleep(1)
+
+def startCustomizableApp(driver):
+    browserCompatibilityCheck(driver)
+    time.sleep(1)
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'applications_header_appBtn_0')))
+    button.click()
+    time.sleep(1)
+    
+def browserCompatibilityCheck(driver):
+    if (not driver.applicationStarted):
+        driver.applicationStarted = True
+        time.sleep(1)
+        try:
+            div = driver.find_element_by_id('UnsupportedBrowser').find_element_by_tag_name('button').click()
+            time.sleep(1)
+        except NoSuchElementException as e:
+            pass
\ No newline at end of file
diff --git a/test/Selenium/Framework_LoadingWebApps.py b/test/Selenium/Framework_LoadingWebApps.py
new file mode 100644
index 0000000..f3563ba
--- /dev/null
+++ b/test/Selenium/Framework_LoadingWebApps.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+import time
+
+from BaseTestCase import *
+from Framework_CommonFunctions import *
+
+from selenium.webdriver.common.alert import Alert
+from selenium.webdriver.common.by import By
+from selenium.webdriver.support import expected_conditions as EC
+from selenium.common.exceptions import NoSuchElementException
+
+class Framework_LoadingWebApps(BaseTestCase):
+
+    def test_titleContainsWebGUI(self):
+        self.driver.get(self.HTML_FILE)
+        self.assertIn("TitanSim", self.driver.title)
+
+    def test_mockedServer(self):
+        self.driver.get(self.HTML_FILE)
+        browserCompatibilityCheck(self.driver)
+        
+        time.sleep(1)
+        button = self.driver.wait.until(EC.element_to_be_clickable((By.ID,'applications_header_appBtn_4')))
+        button.click()
+        
+        alert = Alert(self.driver)
+        alert_text = alert.text
+        alert.accept()
+        
+        self.assertEqual("Test result: pass", alert_text, "The mocked server test did not pass")
+
+    # ---------- testing starting applications ----------
+
+    def checkApplicationStart(self, element_id):
+        try:
+            element = self.driver.find_element_by_id(element_id)
+        except NoSuchElementException as e:
+            self.fail("element by id " + element_id + " not found after starting application")
+
+    def test_titanSimGuiStart(self):
+        self.driver.get(self.HTML_FILE)
+        startCustomizableApp(self.driver)
+        self.checkApplicationStart("customAppMainview")
+
+    def test_guiEditorStart(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        self.checkApplicationStart("GuiEditor_MainView")
+
+    def test_requestTesterStart(self):
+        self.driver.get(self.HTML_FILE)
+        startRequestTester(self.driver)
+        self.checkApplicationStart("RequestConsole_MainView")
+
+    # ---------- testing switching applications ----------
+
+    def checkApplicationSwitch(self, element_id1, element_id2):
+        try:
+            self.driver.find_element_by_id(element_id1)
+            self.fail("element by id " + element_id + " found, but it should not exist after switching applications")
+        except NoSuchElementException as e:
+            pass
+
+    def test_switchTitanSimGuiEditor(self):
+        self.driver.get(self.HTML_FILE)
+        startCustomizableApp(self.driver)
+        startGuiEditor(self.driver)
+        self.checkApplicationSwitch("customAppMainview", "GuiEditor_MainView")
+
+    def test_switchGuiEditorRequestTester(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        startRequestTester(self.driver)
+        self.checkApplicationSwitch("GuiEditor_MainView", "RequestConsole_MainView")
+
+    def test_switchRequestTesterTitanSimGui(self):
+        self.driver.get(self.HTML_FILE)
+        startRequestTester(self.driver)
+        startGuiEditor(self.driver)
+        self.checkApplicationSwitch("RequestConsole_MainView", "customAppMainview")
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/GuiEditor_CommonFunctions.py b/test/Selenium/GuiEditor_CommonFunctions.py
new file mode 100644
index 0000000..126e7c5
--- /dev/null
+++ b/test/Selenium/GuiEditor_CommonFunctions.py
@@ -0,0 +1,231 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+import time
+from selenium.webdriver.common.keys import Keys
+from selenium.webdriver.common.by import By
+from selenium.webdriver.support.ui import WebDriverWait
+from selenium.webdriver.support import expected_conditions as EC
+from selenium.common.exceptions import NoSuchElementException, StaleElementReferenceException
+from selenium.webdriver import ActionChains
+
+# ---------- Handling main buttons ----------
+
+def newSetup(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'GuiEditor_Button_New')))
+    button.click()
+    time.sleep(0.5)
+
+def loadSetup(driver, setupName):
+    radioId = "GuiEditor_Dialog_LoadSetup_RadioButton_" + setupName
+    loadButton = driver.wait.until(EC.element_to_be_clickable((By.ID, 'GuiEditor_Button_Load')))
+    loadButton.click()
+    radioButton = driver.find_element_by_id(radioId)
+    radioButton.click()
+    dialogClickOk(driver, "LoadSetup")
+    time.sleep(1)
+
+def saveSetup(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'GuiEditor_Button_Save')))
+    button.click()
+
+def saveSetupAs(driver, setupName, exists = False, overwrite = False):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'GuiEditor_Button_SaveAs')))
+    button.click()
+    editBox = driver.find_element_by_id("GuiEditor_Dialog_SaveSetupAs_Field")
+    ActionChains(driver).move_to_element(editBox).send_keys(Keys.HOME).perform()
+    ActionChains(driver).key_down(Keys.SHIFT).send_keys(Keys.END).key_up(Keys.SHIFT).send_keys(Keys.DELETE).perform()
+    ActionChains(driver).send_keys(setupName).perform()
+    dialogClickOk(driver, "SaveSetupAs")
+    try:
+        driver.find_element_by_id("GuiEditor_Dialog_OverWrite")
+        if overwrite:
+            dialogClickOk(driver, "OverWrite")
+        else:
+            closeButton = driver.find_element_by_class_name("ui-dialog-titlebar").find_element_by_class_name("ui-dialog-titlebar-close")
+            closeButton.click()
+        return exists
+    except NoSuchElementException as e:
+        return not exists
+
+# ---------- Handling setup manipulating buttons ----------
+
+def addViewModel(driver, className):
+    return addEditor(driver, "GuiEditor_ViewmodelEditor", className, "AddViewmodel")
+
+def addView(driver, className):
+    return addEditor(driver, "GuiEditor_ViewEditor", className, "AddView")
+
+def addImport(driver, setupName):
+    return addEditor(driver, "GuiEditor_ImportEditor", setupName, "AddImport")
+
+def addEmptyRequest(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID,'GuiEditor_Button_AddRequest')))
+    button.click()
+    time.sleep(0.25)
+
+# ---------- Editor manipulating functions ----------
+
+def rightClickLabel(driver, editorId):
+    element = driver.find_element_by_id(editorId + "_Header")
+    actions = ActionChains(driver)
+    actions.context_click(element)
+    actions.perform()
+    time.sleep(0.25)
+
+def clickInContextMenu(driver, text):
+    listElements = driver.find_elements_by_css_selector("#GuiEditor_ContextMenu > li")
+    for element in listElements:
+        if element.text == text:
+            element.click()
+            time.sleep(0.5)
+            return True
+    return False
+
+def openCustomDataEditor(driver, editorId):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, editorId + "_Button_Edit")))
+    button.click()
+    time.sleep(0.5)
+
+def closeCustomDataEditor(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, "GuiEditor_CustomDataEditor_Close")))
+    button.click()
+    time.sleep(0.5)
+
+# ---------- Connection creation ----------
+
+def getNodeFromTreeByElements(driver, treeId, elements):
+    children = driver.find_elements_by_css_selector("#" + treeId + " > ul > li")
+    nodeToReturn = None
+    for i in range(len(elements)):
+        missing = True
+        for node in children:
+            nodeText = node.find_element_by_class_name("jstree-anchor").text
+            if nodeText == elements[i]:
+                nodeToReturn = node
+                missing = False
+                break
+        if missing: return None
+        if i < len(elements) - 1:
+            if "jstree-closed" in nodeToReturn.get_attribute("class"):
+                nodeToReturn.find_element_by_class_name("jstree-icon").click()
+                time.sleep(0.25)
+            children = nodeToReturn.find_elements_by_css_selector("ul > li")
+    return nodeToReturn
+
+def getNodeFromTreeByPath(driver, treeId, path):
+    children = driver.find_elements_by_css_selector("#" + treeId + " > ul > li")
+    nodeToReturn = None
+    for i in range(len(path)):
+        if not path[i] < len(children): return None
+        nodeToReturn = children[path[i]]
+        if i < len(path) - 1:
+            if "jstree-closed" in nodeToReturn.get_attribute("class"):
+                nodeToReturn.find_element_by_class_name("jstree-icon").click()
+                time.sleep(0.25)
+            children = nodeToReturn.find_elements_by_css_selector("ul > li")
+    return nodeToReturn
+
+def clickInTreeContextMenu(driver, node, menuText):
+    anchor = node.find_element_by_class_name("jstree-anchor")
+    actions = ActionChains(driver)
+    actions.context_click(anchor)
+    actions.perform()
+    time.sleep(0.5)
+    
+    contextMenu = driver.find_element_by_class_name("jstree-contextmenu")
+    items = contextMenu.find_elements_by_tag_name("li")
+    for element in items:
+        if menuText in element.text:
+            element.click()
+            time.sleep(0.5)
+            return True
+    return False
+
+def pressDeleteOnNode(driver, node):
+    node.click()
+    node.send_keys(Keys.DELETE)
+    time.sleep(0.25)
+
+def dragAndDrop(driver, fromId, toId):
+    source = driver.find_element_by_id(fromId)
+    target = driver.find_element_by_id(toId)
+    target.location_once_scrolled_into_view
+    
+    action_chains = ActionChains(driver)
+    action_chains.drag_and_drop(source, target).perform()
+    
+    time.sleep(0.25)
+
+# ---------- Utility functions ----------
+
+def addEditor(driver, className, radioButtonToSelect, buttonSuffix):
+    existingEditorIds = set()
+    existingEditors = driver.find_elements_by_class_name(className)
+    for editor in existingEditors: 
+        editorId = editor.get_attribute("id")
+        existingEditorIds.add(editorId)
+    
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'GuiEditor_Button_' + buttonSuffix)))
+    button.click()
+    selectRadioButtonInDialog(driver, buttonSuffix, radioButtonToSelect)
+    dialogClickOk(driver, buttonSuffix)
+    time.sleep(0.25)
+    
+    newEditorId = None
+    existingEditors = driver.find_elements_by_class_name(className)
+    for editor in existingEditors: 
+        editorId = editor.get_attribute("id")
+        if editorId not in existingEditorIds:
+            newEditorId = editorId
+            break
+    return newEditorId
+
+def selectRadioButtonInDialog(driver, dialogName, className):
+    dialog = driver.find_element_by_id("GuiEditor_Dialog_" + dialogName)
+    radio_button = dialog.find_element_by_id("GuiEditor_Dialog_" + dialogName + "_RadioButton_" + className)
+    radio_button.click()
+
+def dialogClickOk(driver, name):
+    buttonId = "GuiEditor_Dialog_" + name + "_OkButton"
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, buttonId)))
+    button.click()
+
+def getSetupName(driver):
+    label = driver.find_element_by_id("GuiEditor_SetupNameLabel")
+    return label.text
+
+def treeExists(driver, id):
+    try:
+        div = driver.find_element_by_id(id)
+        div.find_element_by_class_name("jstree-node")
+        return True
+    except NoSuchElementException as e:
+        return False
+
+def editorTypeExists(driver, className):
+    try:
+        driver.find_element_by_class_name(className)
+        return True
+    except NoSuchElementException as e:
+        return False
+
+def dialogExists(driver, name):
+    dialogId = "GuiEditor_Dialog_" + name
+    try:
+        driver.find_element_by_id(dialogId)
+        return True
+    except NoSuchElementException as e:
+        return False
+
+def pressDelete(driver):
+    actions = ActionChains(driver)
+    actions.send_keys(Keys.DELETE).perform()
\ No newline at end of file
diff --git a/test/Selenium/GuiEditor_ConnectionTests.py b/test/Selenium/GuiEditor_ConnectionTests.py
new file mode 100644
index 0000000..2a1635e
--- /dev/null
+++ b/test/Selenium/GuiEditor_ConnectionTests.py
@@ -0,0 +1,128 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+from BaseTestCase import *
+from Framework_CommonFunctions import *
+from GuiEditor_CommonFunctions import *
+
+class GuiEditor_ConnectionTests(BaseTestCase):
+
+    # ---------- testing connections with drag and drop ----------
+
+    def test_helpToRequest(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        
+        source = getNodeFromTreeByElements(self.driver, "GuiEditor_HelpTree", ["ExecCtrl", "EntityGroups"])
+        dragAndDrop(self.driver, source.get_attribute("id"), "GuiEditor_RequestTree")
+        
+        self.assertIsNotNone(getNodeFromTreeByElements(self.driver, "GuiEditor_RequestTree", ["EntityGroups"]), "Dragging from help to request failed")
+
+    def test_requestToViewmodel_dataConnection(self):
+        self.test_helpToRequest()
+        
+        editorId = addViewModel(self.driver, "CViewModel_DynamicTable")
+        source = getNodeFromTreeByElements(self.driver, "GuiEditor_RequestTree", ["EntityGroups"])
+        target = getNodeFromTreeByPath(self.driver, editorId + "_Tree", [1])
+        dragAndDrop(self.driver, source.get_attribute("id"), target.get_attribute("id"))
+        
+        self.assertIsNotNone(getNodeFromTreeByPath(self.driver, editorId + "_Tree", [1, 0]), "Dragging from request to viewmodel data connection failed")
+
+    def test_requestToViewmodel_selectionConnection(self):
+        self.test_helpToRequest()
+        
+        editorId = addViewModel(self.driver, "CViewModel_DynamicTable")
+        source = getNodeFromTreeByElements(self.driver, "GuiEditor_RequestTree", ["EntityGroups"])
+        target = getNodeFromTreeByPath(self.driver, editorId + "_Tree", [2])
+        dragAndDrop(self.driver, source.get_attribute("id"), target.get_attribute("id"))
+        
+        self.assertIsNotNone(getNodeFromTreeByPath(self.driver, editorId + "_Tree", [2, 0]), "Dragging from request to viewmodel selection connection failed")
+
+    def test_viewmodelToView(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        
+        viewmodelEditorId = addViewModel(self.driver, "CViewModel_DynamicTable")
+        source = getNodeFromTreeByPath(self.driver, viewmodelEditorId + "_Tree", [0])
+        viewEditorId = addView(self.driver, "CView_ElementTable")
+        target = getNodeFromTreeByPath(self.driver, viewEditorId + "_Tree", [0])
+        dragAndDrop(self.driver, source.get_attribute("id"), target.get_attribute("id"))
+        
+        self.assertIsNotNone(getNodeFromTreeByPath(self.driver, viewEditorId + "_Tree", [0, 0]), "Dragging from viewmodel to view failed")
+
+    # ---------- deleting connections via context menu ----------
+
+    def test_helpToRequest_delClick(self):
+        self.test_helpToRequest()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_RequestTree", [0])
+        clickInTreeContextMenu(self.driver, nodeToDelete, "Delete")
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_RequestTree", [0]), 'Deleted request is still present');
+
+    def test_requestToViewmodel_dataConnection_delClick(self):
+        self.test_requestToViewmodel_dataConnection()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [1, 0])
+        clickInTreeContextMenu(self.driver, nodeToDelete, "Delete")
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [1, 0]), 'Deleted viewmodel data connections is still present')
+
+    def test_requestToViewmodel_selectionConnection_delClick(self):
+        self.test_requestToViewmodel_selectionConnection()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [2, 0])
+        clickInTreeContextMenu(self.driver, nodeToDelete, "Delete")
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [2, 0]), 'Deleted viewmodel selection connections is still present')
+
+    def test_ViewmodelToView_delClick(self):
+        self.test_viewmodelToView()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_ViewEditor_0_Tree", [0, 0])
+        clickInTreeContextMenu(self.driver, nodeToDelete, "Delete")
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_ViewEditor_0_Tree", [0, 0]), 'Deleted viewmodel-view connections is still present')
+
+    # ---------- deleting connections using the DEL key ----------
+
+    def test_helpToRequest_delKey(self):
+        self.test_helpToRequest()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_RequestTree", [0])
+        nodeToDelete.click()
+        pressDelete(self.driver)
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_RequestTree", [0]), 'Deleted request is still present');
+
+    def test_requestToViewmodelDataConnection_delKey(self):
+        self.test_requestToViewmodel_dataConnection()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [1, 0])
+        nodeToDelete.click()
+        pressDelete(self.driver)
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [1, 0]), 'Deleted viewmodel data connections is still present')
+
+    def test_requestToViewmodelSelectionConnection_delKey(self):
+        self.test_requestToViewmodel_selectionConnection()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [2, 0])
+        nodeToDelete.click()
+        pressDelete(self.driver)
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_ViewmodelEditor_0_Tree", [2, 0]), 'Deleted viewmodel selection connections is still present')
+
+    def test_ViewmodelToView_delKey(self):
+        self.test_viewmodelToView()
+        nodeToDelete = getNodeFromTreeByPath(self.driver, "GuiEditor_ViewEditor_0_Tree", [0, 0])
+        nodeToDelete.click()
+        pressDelete(self.driver)
+        
+        self.assertIsNone(getNodeFromTreeByPath(self.driver, "GuiEditor_ViewEditor_0_Tree", [0, 0]), 'Deleted viewmodel-view connections is still present')
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/GuiEditor_EditorTests.py b/test/Selenium/GuiEditor_EditorTests.py
new file mode 100644
index 0000000..6043bc3
--- /dev/null
+++ b/test/Selenium/GuiEditor_EditorTests.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+import re
+
+from BaseTestCase import *
+from Framework_CommonFunctions import *
+from GuiEditor_CommonFunctions import *
+
+from selenium.webdriver.common.alert import Alert
+from selenium.webdriver.common.by import By
+from selenium.webdriver.support import expected_conditions as EC
+from selenium.common.exceptions import NoSuchElementException
+from selenium.webdriver.support.color import Color
+
+class GuiEditor_EditorTests(BaseTestCase):
+
+    def test_addEmptyRequest(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        
+        addEmptyRequest(self.driver)
+        self.assertTrue(editorTypeExists(self.driver, "JSONEditor"), "ElementEditor element not found after adding an empty request")
+        
+        closeButton = self.driver.wait.until(EC.element_to_be_clickable((By.ID, 'GuiEditor_ElementEditor_Close')))
+        closeButton.click()
+        
+        self.assertTrue(treeExists(self.driver, "GuiEditor_RequestTree"), "There is no request tree, but there should be after adding an empty request")
+
+    # ---------- adding editors ----------
+
+    def test_addViewModel(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        
+        addViewModel(self.driver, "CViewModel_DynamicTable")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_ViewmodelEditor"), "ViewmodelEditor element not found after adding one")
+
+    def test_addView(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        
+        addView(self.driver, "CView_ElementTable")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_ViewEditor"), "ViewEditor element not found after adding one")
+
+    def test_addImport(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        
+        addImport(self.driver, "Test2")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_ImportEditor"), "ImportEditor element not found after adding one")
+
+    # ---------- custom data editors ----------
+
+    def test_validCustomData(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        
+        editorId = "GuiEditor_ViewmodelEditor_0"
+        openCustomDataEditor(self.driver, editorId)
+        
+        customData = '{"value":28}'
+        script = "a = '" + customData + "';" + "view_editor = $('#GuiEditor_CustomDataEditor .CodeMirror')[0].CodeMirror; view_editor.setValue(a);"
+        self.driver.execute_script(script)
+        
+        closeCustomDataEditor(self.driver)
+        openCustomDataEditor(self.driver, editorId)
+        
+        script = "a = '" + customData + "';" + "view_editor = $('#GuiEditor_CustomDataEditor .CodeMirror')[0].CodeMirror; return view_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+        # the editor formats the code, so we have to remove line breaks and spaces
+        textInEditor = re.sub(r"\s", "", textInEditor)
+        
+        self.assertEqual(customData, textInEditor, "Custom data was not saved after closing the editor")
+
+    def test_invalidCustomData(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        
+        editorId = "GuiEditor_ViewmodelEditor_0"
+        openCustomDataEditor(self.driver, editorId)
+        
+        customData = '{"value"28}'
+        script = "a = '" + customData + "';" + "view_editor = $('#GuiEditor_CustomDataEditor .CodeMirror')[0].CodeMirror; view_editor.setValue(a);" 
+        self.driver.execute_script(script)
+        
+        editorHeader = self.driver.find_element_by_id("GuiEditor_CustomDataEditor_Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#ff0000', str(Color.from_string(editorHeaderColor).hex), 'Custom data editor header should be red, it is ' + editorHeaderColor)
+
+    # ---------- deleting editors ----------
+
+    def test_delViewmodelEditor(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        
+        rightClickLabel(self.driver, "GuiEditor_ViewmodelEditor_0")
+        if not clickInContextMenu(self.driver, "delete"):
+            self.fail("No option for delete in context menu of ViewmodelEditor")
+        
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewmodelEditor"), "ViewmodelEditor element found after it was deleted")
+
+    def test_delViewEditor(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        
+        rightClickLabel(self.driver, "GuiEditor_ViewEditor_0")
+        if not clickInContextMenu(self.driver, "delete"):
+            self.fail("No option for delete in context menu of ViewEditor")
+        
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewEditor"), "ViewEditor element found after it was deleted")
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/GuiEditor_SetupHandlingTests.py b/test/Selenium/GuiEditor_SetupHandlingTests.py
new file mode 100644
index 0000000..9cfe51f
--- /dev/null
+++ b/test/Selenium/GuiEditor_SetupHandlingTests.py
@@ -0,0 +1,118 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+from BaseTestCase import *
+from Framework_CommonFunctions import *
+from GuiEditor_CommonFunctions import *
+
+class GuiEditor_SetupHandlingTests(BaseTestCase):
+
+    def test_newSetup(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        newSetup(self.driver)
+        setupName = getSetupName(self.driver)
+        
+        self.driver.implicitly_wait(0.5)
+        
+        self.assertEqual(setupName, "... unsaved setup ...", "Displayed setup name is incorrect, it is " + setupName + " and it should be: ... unsaved setup ...")
+        self.assertFalse(treeExists(self.driver, "GuiEditor_RequestTree"), "The request tree exists, but it should not in a new setup")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewmodelEditor"), "There is a viewmodel editor, but there should be none in a new setup")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewEditor"), "There is a view editor, but there should be none in a new setup")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ImportEditor"), "There is an imports editor, but there should be none in a new setup")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_HtmlEditor"), "The html editor does not exists but it should")
+        
+        saveSetup(self.driver)
+        self.assertTrue(dialogExists(self.driver, "SaveSetupAs"), "Save as dialog should have appeared after clicking the save button")
+
+    def test_loadFromConfigAtStart(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        setupName = getSetupName(self.driver)
+        
+        self.driver.implicitly_wait(0.5)
+        
+        self.assertEqual(setupName, "Test1", "Displayed setup name is incorrect, it is " + setupName + " and it should be: Test1")
+        self.assertTrue(treeExists(self.driver, "GuiEditor_HelpTree"), "There is no help tree, but it must always exist")
+        self.assertTrue(treeExists(self.driver, "GuiEditor_RequestTree"), "There is no request tree, but there should be")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_ViewmodelEditor"), "There is no viewmodel editor, but there should be")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_ViewEditor"), "There is no view editor, but there should be")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ImportEditor"), "There is an import editor, but there should be none")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_HtmlEditor"), "The html editor does not exists but it should")
+
+    def test_loadFromDialog(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        loadSetup(self.driver, "Test2")
+        setupName = getSetupName(self.driver)
+        
+        self.driver.implicitly_wait(0.5)
+        
+        self.assertEqual(setupName, "Test2", "Displayed setup name is incorrect, it is " + setupName + " and it should be: Test2")
+        self.assertTrue(treeExists(self.driver, "GuiEditor_HelpTree"), "There is no help tree, but it must always exist")
+        self.assertTrue(treeExists(self.driver, "GuiEditor_RequestTree"), "There is no request tree, but there should be")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_ViewmodelEditor"), "There is no viewmodel editor, but there should be")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewEditor"), "There is a view editor, but there should not be")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ImportEditor"), "There is an import editor, but there should be none")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_HtmlEditor"), "The html editor does not exists but it should")
+
+    def test_saveSetup(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        setupName = getSetupName(self.driver)
+        viewmodelEditor = self.driver.find_element_by_id("GuiEditor_ViewmodelEditor_0")
+        
+        time.sleep(0.5)
+        rightClickLabel(self.driver, "GuiEditor_ViewmodelEditor_0")
+        time.sleep(0.5)
+        if not clickInContextMenu(self.driver, "delete"):
+            self.fail("No option for delete in context menu")
+        time.sleep(0.5)
+        
+        saveSetup(self.driver)
+        newSetup(self.driver)
+        loadSetup(self.driver, setupName)
+        
+        try:
+            viewmodelEditor = self.driver.find_element_by_id("GuiEditor_ViewmodelEditor_0")
+            self.fail("Deleted ViewModel Editor is still present in the saved setup")
+        except NoSuchElementException as e:
+            pass
+
+    def test_saveSetupAs(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        origSetupName = getSetupName(self.driver)
+        
+        newSetup(self.driver)
+        newSetupName = 'tmp_setup'
+        saveSetupAs(self.driver, newSetupName)
+        setupName = getSetupName(self.driver)
+        if not setupName == newSetupName: self.fail("Displayed setup name is incorrect, it is " + setupName + " and it should be: " + newSetupName)
+        
+        loadSetup(self.driver, origSetupName)
+        loadSetup(self.driver, newSetupName)
+        
+        self.driver.implicitly_wait(0.5)
+        
+        self.assertFalse(treeExists(self.driver, "GuiEditor_RequestTree"), "The request tree exists, but it should not")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewmodelEditor"), "There is a viewmodel editor, but there should be none")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ViewEditor"), "There is a view editor, but there should be none")
+        self.assertFalse(editorTypeExists(self.driver, "GuiEditor_ImportEditor"), "There is an import editor, but there should be none")
+        self.assertTrue(editorTypeExists(self.driver, "GuiEditor_HtmlEditor"), "The html editor does not exists but it should")
+
+    def test_saveSetupAsOverwrite(self):
+        self.driver.get(self.HTML_FILE)
+        startGuiEditor(self.driver)
+        self.assertTrue(saveSetupAs(self.driver, "Test2", True, False), "SaveAs overwrite checking is not ok")
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/RequestConsole_Tests.py b/test/Selenium/RequestConsole_Tests.py
new file mode 100644
index 0000000..d675f3f
--- /dev/null
+++ b/test/Selenium/RequestConsole_Tests.py
@@ -0,0 +1,349 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+import re
+from BaseTestCase import *
+from Framework_CommonFunctions import *
+from selenium.webdriver.support.color import Color
+from selenium.webdriver import ActionChains
+
+def init(driver, HTML_FILE):
+    driver.get(HTML_FILE)
+    startRequestTester(driver)
+
+def loadSetup(driver, setupName):
+    radioId = "RequestConsole_Dialog_LoadSetup_RadioButton_" + setupName
+    loadButton = driver.wait.until(EC.element_to_be_clickable((By.ID, 'RequestConsole_Button_Load')))
+    loadButton.click()
+    radioButton = driver.find_element_by_id(radioId)
+    radioButton.click()
+    dialogClickOk(driver, "LoadSetup")
+    time.sleep(1)
+
+def dialogClickOk(driver, name):
+    buttonId = "RequestConsole_Dialog_" + name + "_OkButton"
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, buttonId)))
+    button.click()
+
+def getSetupName(driver):
+    label = driver.find_element_by_id("RequestConsole_SetupNameLabel")
+    return label.text
+
+def treeExists(driver, id):
+    try:
+        div = driver.find_element_by_id(id)
+        div.find_element_by_class_name("jstree-node")
+        return True
+    except NoSuchElementException as e:
+        return False
+
+def newSetup(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'RequestConsole_Button_ClearRequest')))
+    button.click()
+    time.sleep(0.5)
+
+def addEmptyRequest(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID,'RequestConsole_Button_AddRequest')))
+    button.click()
+    time.sleep(0.25)
+
+def sendRequest(driver):
+    button = driver.wait.until(EC.element_to_be_clickable((By.ID, 'RequestConsole_Button_Send')))
+    button.click()
+    time.sleep(0.25)
+
+def editorTypeExists(driver, className):
+    try:
+        driver.find_element_by_class_name(className)
+        return True
+    except NoSuchElementException as e:
+        return False
+
+class RequestConsole_SetupHandlingTests(BaseTestCase):
+    def test_loadSetup_FromConfigAtStart(self):
+        init(self.driver, self.HTML_FILE)
+        setupName = getSetupName(self.driver)
+
+        self.driver.implicitly_wait(0.5)
+
+        self.assertEqual(setupName, "Test1", "Displayed setup name is incorrect, it is " + setupName + " and it should be: Test1")
+        self.assertTrue(treeExists(self.driver, "RequestConsole_HelpTree"), "There is no help tree, but it must always exist")
+        self.assertTrue(treeExists(self.driver, "RequestConsole_RequestTree"), "There is no request tree, but there should be")
+
+    def test_loadSetup_ViaDialog(self):
+        init(self.driver, self.HTML_FILE)
+        loadSetup(self.driver, "Test2")
+        setupName = getSetupName(self.driver)
+
+        self.driver.implicitly_wait(0.5)
+
+        self.assertEqual(setupName, "Test2", "Displayed setup name is incorrect, it is " + setupName + " and it should be: Test2")
+        self.assertTrue(treeExists(self.driver, "RequestConsole_HelpTree"), "There is no help tree, but it must always exist")
+        self.assertTrue(treeExists(self.driver, "RequestConsole_RequestTree"), "There is no request tree, but there should be")
+
+    def test_elementEditor_addEmptyRequest(self):
+        init(self.driver, self.HTML_FILE)
+        newSetup(self.driver)
+
+        addEmptyRequest(self.driver)
+        self.assertTrue(editorTypeExists(self.driver, "JSONEditor"), "ElementEditor element not found after clicking the addEmptyRequest button")
+
+        closeButton = self.driver.wait.until(EC.element_to_be_clickable((By.ID, 'RequestConsole_ElementEditor_Close')))
+        closeButton.click()
+
+        self.assertTrue(treeExists(self.driver, "RequestConsole_RequestTree"), "There is no request tree, but there should be after adding an empty request")
+
+    def test_requestEditorTree_dragAtomicRequestWithinTheRequestObject(self):
+        init(self.driver, self.HTML_FILE)
+
+        treeElements = self.driver.find_elements_by_xpath("//*[contains(@id, '_anchor')]") #for elem in treeElements: print elem.get_attribute('innerHTML')
+        ActionChains(self.driver).drag_and_drop(treeElements[7], treeElements[8]).perform()
+        script = "code_editor = $('#RequestConsole_CodeEditor .CodeMirror')[0].CodeMirror; return code_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+        expectedString = '[\n\
+    {\n\
+        "getData": {\n\
+            "source": "ExecCtrl",\n\
+            "element": "EntityGroups",\n\
+            "children": [\n\
+                {\n\
+                    "getData": {\n\
+                        "source": "ExecCtrl",\n\
+                        "element": "Clients"\n\
+                    }\n\
+                },\n\
+                {\n\
+                    "getData": {\n\
+                        "source": "ExecCtrl",\n\
+                        "element": "EGrpType",\n\
+                        "params": [\n\
+                            {\n\
+                                "paramName": "EntityGroup",\n\
+                                "paramValue": "%Parent0%"\n\
+                            }\n\
+                        ]\n\
+                    }\n\
+                },\n\
+                {\n\
+                    "getData": {\n\
+                        "source": "ExecCtrl",\n\
+                        "element": "EGrpSize",\n\
+                        "params": [\n\
+                            {\n\
+                                "paramName": "EntityGroup",\n\
+                                "paramValue": "%Parent0%"\n\
+                            }\n\
+                        ]\n\
+                    }\n\
+                }\n\
+            ]\n\
+        }\n\
+    }\n\
+]'
+        self.assertEqual(expectedString, textInEditor, "RequestEditor\'s content is not changed correctly after an inside drag and drop")
+
+    def test_requestEditorTree_dragRequestFromHelpTree(self):
+        init(self.driver, self.HTML_FILE)
+
+        treeElements = self.driver.find_elements_by_xpath("//*[contains(@id, '_anchor')]")
+
+        ActionChains(self.driver).double_click(treeElements[0]).perform()
+
+        treeElementsAfterExpand = self.driver.find_elements_by_xpath("//*[contains(@id, '_anchor')]")
+
+        ActionChains(self.driver).drag_and_drop(treeElementsAfterExpand[1], treeElements[8]).perform()
+        script = "code_editor = $('#RequestConsole_CodeEditor .CodeMirror')[0].CodeMirror; return code_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+        expectedString = '[\n\
+    {\n\
+        "getData": {\n\
+            "source": "ExecCtrl",\n\
+            "element": "Clients"\n\
+        }\n\
+    },\n\
+    {\n\
+        "getData": {\n\
+            "source": "ExecCtrl",\n\
+            "element": "EntityGroups",\n\
+            "children": [\n\
+                {\n\
+                    "getData": {\n\
+                        "source": "DataSource",\n\
+                        "element": "Sources"\n\
+                    }\n\
+                },\n\
+                {\n\
+                    "getData": {\n\
+                        "source": "ExecCtrl",\n\
+                        "element": "EGrpType",\n\
+                        "params": [\n\
+                            {\n\
+                                "paramName": "EntityGroup",\n\
+                                "paramValue": "%Parent0%"\n\
+                            }\n\
+                        ]\n\
+                    }\n\
+                },\n\
+                {\n\
+                    "getData": {\n\
+                        "source": "ExecCtrl",\n\
+                        "element": "EGrpSize",\n\
+                        "params": [\n\
+                            {\n\
+                                "paramName": "EntityGroup",\n\
+                                "paramValue": "%Parent0%"\n\
+                            }\n\
+                        ]\n\
+                    }\n\
+                }\n\
+            ]\n\
+        }\n\
+    }\n\
+]'
+        self.assertEqual(expectedString, textInEditor, "RequestEditor\'s content is not changed correctly after dragging a request from help tree")
+
+    def test_requestEditor_addEmptyRequest(self):
+        init(self.driver, self.HTML_FILE)
+
+        newSetup(self.driver);
+        addEmptyRequest(self.driver);
+
+        script = "code_editor = $('#RequestConsole_CodeEditor .CodeMirror')[0].CodeMirror; return code_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+        expectedString = '[\n\
+    {\n\
+        "getData": {\n\
+            "source": "Source",\n\
+            "element": "Element"\n\
+        }\n\
+    }\n\
+]'
+        self.assertEqual(expectedString, textInEditor, "RequestEditor's content is not an empty request as it should be")
+
+    def test_requestEditor_normalBorder_addEmptyRequest(self):
+        init(self.driver, self.HTML_FILE)
+
+        newSetup(self.driver);
+        addEmptyRequest(self.driver);
+
+        editorHeader = self.driver.find_element_by_id("RequestConsole_CodeEditor__Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#000000', str(Color.from_string(editorHeaderColor).hex), 'RequestEditor\'s header should be black, it is ' + str(Color.from_string(editorHeaderColor).hex))
+
+    def test_requestEditor_normalBorder_settingValidRequest(self):
+        init(self.driver, self.HTML_FILE)
+
+        request = '[{"getData": {"source": "Source","element": "Element"}}]'
+        script = "a = '" + request + "';" + "code_editor = $('#RequestConsole_CodeEditor .CodeMirror')[0].CodeMirror; code_editor.setValue(a);"
+        self.driver.execute_script(script)
+
+        editorHeader = self.driver.find_element_by_id("RequestConsole_CodeEditor__Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#000000', str(Color.from_string(editorHeaderColor).hex), 'RequestEditor header should be red, it is ' + str(Color.from_string(editorHeaderColor).hex))
+
+    def test_requestEditor_redBorder_settingInvalidRequest(self):
+        init(self.driver, self.HTML_FILE)
+
+        request = '[{"SCHEMAERROR_getData": {"source": "Source","element": "Element"}}]'
+        script = "a = '" + request + "';" + "code_editor = $('#RequestConsole_CodeEditor .CodeMirror')[0].CodeMirror; code_editor.setValue(a);"
+        self.driver.execute_script(script)
+
+        editorHeader = self.driver.find_element_by_id("RequestConsole_CodeEditor__Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#ff0000', str(Color.from_string(editorHeaderColor).hex), 'RequestEditor\'s header should be red, it is ' + str(Color.from_string(editorHeaderColor).hex))
+
+    def test_responseEditor_normalBorder_withValidJSON(self):
+        init(self.driver, self.HTML_FILE)
+
+        request = '{"value":28}'
+        script = "a = '" + request + "';" + "code_editor = $('#RequestConsole_ResponseDisplay .CodeMirror')[0].CodeMirror; code_editor.setValue(a);"
+        self.driver.execute_script(script)
+
+        script = "code_editor = $('#RequestConsole_ResponseDisplay .CodeMirror')[0].CodeMirror; return code_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+        # the editor formats the code, so we have to remove line breaks and spaces
+        textInEditor = re.sub(r"\s", "", textInEditor)
+        self.assertEqual(request, textInEditor, "Response editor content can't be set")
+
+        editorHeader = self.driver.find_element_by_id("RequestConsole_ResponseDisplay__Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#000000', str(Color.from_string(editorHeaderColor).hex), 'ResponseDisplay header should be red, it is ' + str(Color.from_string(editorHeaderColor).hex))
+
+    def test_responseEditor_redBorder_withInvalidJSON(self):
+        init(self.driver, self.HTML_FILE)
+
+        request = '{"value"28}'
+        script = "a = '" + request + "';" + "code_editor = $('#RequestConsole_ResponseDisplay .CodeMirror')[0].CodeMirror; code_editor.setValue(a);"
+        self.driver.execute_script(script)
+
+        editorHeader = self.driver.find_element_by_id("RequestConsole_ResponseDisplay__Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#ff0000', str(Color.from_string(editorHeaderColor).hex), 'ResponseDisplay header should be red, it is ' + str(Color.from_string(editorHeaderColor).hex))
+
+    def test_responseEditor_normalBorder_withRealResponse(self):
+        init(self.driver, self.HTML_FILE)
+
+        sendRequest(self.driver);
+
+        editorHeader = self.driver.find_element_by_id("RequestConsole_ResponseDisplay__Header")
+        editorHeaderColor = editorHeader.value_of_css_property("color")
+        self.assertEqual('#000000', str(Color.from_string(editorHeaderColor).hex), 'ResponseDisplay header should be red, it is ' + str(Color.from_string(editorHeaderColor).hex))
+
+    def test_responseEditor_emptyListAfterEmptyRequest(self):
+        init(self.driver, self.HTML_FILE)
+
+        newSetup(self.driver);
+        sendRequest(self.driver);
+
+        script = "code_editor = $('#RequestConsole_ResponseDisplay .CodeMirror')[0].CodeMirror; return code_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+        self.assertEqual("[]", textInEditor, "ResponseDisplay content is not [] as it should be")
+
+    def test_sendRequest_checkResponse(self):
+        init(self.driver, self.HTML_FILE)
+
+        request = '[{"getData": {"source": "ExecCtrl", "element": "EntityGroups"}}]'
+        script = "a = '" + request + "';" + "code_editor = $('#RequestConsole_CodeEditor .CodeMirror')[0].CodeMirror; code_editor.setValue(a);"
+        self.driver.execute_script(script)
+
+        sendRequest(self.driver);
+
+        script = "code_editor = $('#RequestConsole_ResponseDisplay .CodeMirror')[0].CodeMirror; return code_editor.getValue();"
+        textInEditor = self.driver.execute_script(script)
+
+        expectedResponse = '[\n\
+    {\n\
+        "list": [\n\
+            {\n\
+                "node": {\n\
+                    "val": "ExecCtrl EntityGroups 0",\n\
+                    "tp": 4\n\
+                }\n\
+            },\n\
+            {\n\
+                "node": {\n\
+                    "val": "ExecCtrl EntityGroups 1",\n\
+                    "tp": 4\n\
+                }\n\
+            },\n\
+            {\n\
+                "node": {\n\
+                    "val": "ExecCtrl EntityGroups 2",\n\
+                    "tp": 4\n\
+                }\n\
+            }\n\
+        ]\n\
+    }\n\
+]'
+        self.assertEqual(expectedResponse, textInEditor, "sendData is not returning the expexted result")
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/runTests.py b/test/Selenium/runTests.py
new file mode 100755
index 0000000..04f64c4
--- /dev/null
+++ b/test/Selenium/runTests.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+from Framework_LoadingWebApps import *
+from GuiEditor_SetupHandlingTests import *
+from GuiEditor_EditorTests  import *
+from GuiEditor_ConnectionTests import *
+from RequestConsole_Tests import *
+
+if __name__ == "__main__":
+    unittest.main(catchbreak=True)
\ No newline at end of file
diff --git a/test/Selenium/runTestsWithXvfb.sh b/test/Selenium/runTestsWithXvfb.sh
new file mode 100755
index 0000000..3986037
--- /dev/null
+++ b/test/Selenium/runTestsWithXvfb.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+echo "Checking if Xvfb is running..."
+XVFB_PID=`pgrep Xvfb`
+
+if [ "$?" == "0" ]; then
+    
+    echo "Xvfb is running, finding display port..."
+    DISPLAY=`ps --format command --no-headers -ww --pid $XVFB_PID | grep -o ':[0-9]*'`
+    echo "Found display port: "$DISPLAY
+    export DISPLAY=$DISPLAY.0
+    
+    chmod u+x runTests.py
+    ./runTests.py
+    
+    exit 0
+    
+else
+    
+    echo -n "Xvfb is not running, starting it on display :999 with pid: "
+    Xvfb :999 -fp /usr/share/fonts/misc &
+    XVFB_PID=$!
+    echo $XVFB_PID
+
+    killXvfb_trap() {
+        kill $XVFB_PID
+        echo "Killed Xvfb ($XVFB_PID)"
+    }
+
+    trap killXvfb_trap INT
+    trap killXvfb_trap TERM
+
+    export DISPLAY=:999.0
+
+    chmod u+x runTests.py
+    result=$(./runTests.py)
+    echo $result
+
+    killXvfb_trap
+    
+    exit 0
+fi
diff --git a/test/TestContent/CustomizableApp/AppConfig.json b/test/TestContent/CustomizableApp/AppConfig.json
new file mode 100644
index 0000000..4f5e436
--- /dev/null
+++ b/test/TestContent/CustomizableApp/AppConfig.json
@@ -0,0 +1,14 @@
+{
+    "setup": "Test1",
+    "overlayOpacity": 0.25,
+    "overlayEnabledOnSelect": true,
+    "overlayEnabledOnSetData": true,
+    "refreshInterval": 1000,
+    "filesToInclude": [
+        "Utils/DsRestAPI/DsRestAPI.js",
+        "Utils/DsRestAPI/MockedServer/DSHelp.js",
+        "Utils/DsRestAPI/MockedServer/DataGenerator.js",
+        "Utils/DsRestAPI/MockedServer/Model.js",
+        "Utils/DsRestAPI/MockedServer/DsRestAPIComm_Mock.js"
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/AppConfigSchema.json b/test/TestContent/CustomizableApp/AppConfigSchema.json
new file mode 100644
index 0000000..e38a188
--- /dev/null
+++ b/test/TestContent/CustomizableApp/AppConfigSchema.json
@@ -0,0 +1,53 @@
+{
+    "$schema": "http://json-schema.org/draft-04/schema#",
+    "title": "CustomizableApp",
+    "type": "object",
+    "additionalProperties": false,
+    "properties": {
+        "setup": {
+            "description": "The initial setup to load.",
+            "type": "string"
+        },
+        "overlayOpacity": {
+            "description": "The opacity of the overlay when the gui is busy.",
+            "type": "number",
+            "default": 0.0,
+            "minimum": 0.0,
+            "exclusiveMinimum": false,
+            "maximum": 1.0,
+            "exclusiveMaximum": false
+        },
+        "overlayEnabledOnSelect": {
+            "description": "Whether we show the overlay when selection changes.",
+            "type": "boolean",
+            "default": true
+        },
+        "overlayEnabledOnSetData": {
+            "description": "Whether we show the overlay when a setData occures (e.g. when pressing a button).",
+            "type": "boolean",
+            "default": true
+        },
+        "refreshInterval": {
+            "description": "The period in milliseconds in which requests are sent to the server.",
+            "type": "integer",
+            "default": 1000
+        },
+        "filesToInclude": {
+            "description": "Additional javascript files that will be included at start.",
+            "type": "array",
+            "items": {
+                "type": "string",
+                "title": "Javascript files"
+            },
+            "format": "table"
+        },
+        "apiExtension": {
+            "description": "The extension used by the api.",
+            "type": "string",
+            "default": "dsapi"
+        }
+    },
+    "required": [
+        "setup"
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Desktop.json
new file mode 100644
index 0000000..e0a5fca
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Desktop.json
@@ -0,0 +1,79 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 85,
+                "left": 493
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 167,
+                "left": 338
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 8,
+                "left": 351
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 123,
+                "left": 750
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 170,
+                "left": 979
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 44,
+                "left": 738
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 226,
+            "left": 1154
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 286,
+                "left": 769
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 240,
+                "left": 818
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 19,
+                "left": 831
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Imports.json
new file mode 100644
index 0000000..f9afd41
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Imports.json
@@ -0,0 +1,14 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_3"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Request.json
new file mode 100644
index 0000000..b0936d9
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Request.json
@@ -0,0 +1,178 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "EntityTypesForLGenOnClients"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityTypesForLGenOnClients",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "ClientOfEntityTypesForLGenOnClients",
+                        "params": [
+                            {
+                                "paramName": "EntityTypeForLGenOnClient",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "EntityTypeOfEntityTypesForLGenOnClients",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityTypeForLGenOnClient",
+                                            "paramValue": "%Parent0%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "NofMaxAvailEntitiesForLGen",
+                                                "params": [
+                                                    {
+                                                        "paramName": "LGen",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "EntityType",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "NofCurrentAvailEntitiesForLGen",
+                                                "params": [
+                                                    {
+                                                        "paramName": "LGen",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "EntityType",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 15
+            }
+        }
+    },
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "EGrpsOnClients"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EGrpsOnClients",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EntityGroupOfEGrpOnClient",
+                        "params": [
+                            {
+                                "paramName": "EGrpOnClient",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ClientOfEGrpOnClient",
+                                    "params": [
+                                        {
+                                            "paramName": "EGrpOnClient",
+                                            "paramValue": "%Parent0%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "EGrpSizeForLGen",
+                                                "params": [
+                                                    {
+                                                        "paramName": "LGen",
+                                                        "paramValue": "%Parent2%"
+                                                    },
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "EGrpOffsetForLGen",
+                                                "params": [
+                                                    {
+                                                        "paramName": "LGen",
+                                                        "paramValue": "%Parent2%"
+                                                    },
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 15
+            }
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Setup.css
new file mode 100644
index 0000000..908639d
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_ClientResources {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Setup.html
new file mode 100644
index 0000000..da0afc4
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_ClientResources"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/ViewInstances.json
new file mode 100644
index 0000000..c56e585
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/ViewInstances.json
@@ -0,0 +1,83 @@
+[
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                }
+            ],
+            "class": "TableGray"
+        },
+        "viewModelIndexes": [
+            1,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_2"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_ClientResources"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                }
+            ],
+            "class": "TableGray"
+        },
+        "viewModelIndexes": [
+            2,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_ClientResources_CView_Aligner_1"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/ViewModelInstances.json
new file mode 100644
index 0000000..4538c2d
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_ClientResources/ViewModelInstances.json
@@ -0,0 +1,118 @@
+[
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "Entity Group Distribution overview",
+            "iteratorColumnPosition": -1,
+            "allowScrollBelow": false,
+            "streamingThreshold": 15,
+            "header": [
+                "Entity Group",
+                "LGen",
+                "eCount",
+                "eOffset"
+            ]
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "EGrpsOnClients",
+            "EGrpsOnClients.EntityGroupOfEGrpOnClient",
+            "EGrpsOnClients.EntityGroupOfEGrpOnClient.ClientOfEGrpOnClient",
+            "EGrpsOnClients.EntityGroupOfEGrpOnClient.ClientOfEGrpOnClient.EGrpSizeForLGen",
+            "EGrpsOnClients.EntityGroupOfEGrpOnClient.ClientOfEGrpOnClient.EGrpOffsetForLGen"
+        ],
+        "dataPathList": [
+            [
+                2
+            ],
+            [
+                3
+            ],
+            [
+                3,
+                0
+            ],
+            [
+                3,
+                0,
+                0
+            ],
+            [
+                3,
+                0,
+                0,
+                0
+            ],
+            [
+                3,
+                0,
+                0,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "Resource information",
+            "iteratorColumnPosition": -1,
+            "allowScrollBelow": false,
+            "streamingThreshold": 15,
+            "header": [
+                "Client Name",
+                "Entity type",
+                "Max available resource",
+                "Current available resource"
+            ]
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "EntityTypesForLGenOnClients",
+            "EntityTypesForLGenOnClients.ClientOfEntityTypesForLGenOnClients",
+            "EntityTypesForLGenOnClients.ClientOfEntityTypesForLGenOnClients.EntityTypeOfEntityTypesForLGenOnClients",
+            "EntityTypesForLGenOnClients.ClientOfEntityTypesForLGenOnClients.EntityTypeOfEntityTypesForLGenOnClients.NofMaxAvailEntitiesForLGen",
+            "EntityTypesForLGenOnClients.ClientOfEntityTypesForLGenOnClients.EntityTypeOfEntityTypesForLGenOnClients.NofCurrentAvailEntitiesForLGen"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                1
+            ],
+            [
+                1,
+                0
+            ],
+            [
+                1,
+                0,
+                0
+            ],
+            [
+                1,
+                0,
+                0,
+                0
+            ],
+            [
+                1,
+                0,
+                0,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Desktop.json
new file mode 100644
index 0000000..00e161a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Desktop.json
@@ -0,0 +1,72 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 54,
+                "left": 511
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 361,
+                "left": 446
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 103,
+                "left": 807
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 265,
+                "left": 680
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 66,
+                "left": 951
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 137,
+            "left": 1154
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 362,
+                "left": 674
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 336,
+                "left": 727
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 11,
+                "left": 831
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Imports.json
new file mode 100644
index 0000000..c845fc5
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Imports.json
@@ -0,0 +1,14 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_2"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Request.json
new file mode 100644
index 0000000..6e63cd7
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Request.json
@@ -0,0 +1,931 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "PTCs",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "LGenBase"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "PTCs",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "LGenBase"
+                }
+            ],
+            "selection": [
+                0
+            ],
+            "children": [
+                {
+                    "getData": {
+                        "source": "DataSource",
+                        "element": "sizeOf",
+                        "params": [
+                            {
+                                "paramName": "Source",
+                                "paramValue": "LGenBase"
+                            },
+                            {
+                                "paramName": "Element",
+                                "paramValue": "TrafficCasesOfScenarios"
+                            },
+                            {
+                                "paramName": "PTCName",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "LGenBase",
+                        "element": "TrafficCasesOfScenarios",
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "LGenBase",
+                                    "element": "EntityGroupOfTrafficCasesOfScenarios",
+                                    "params": [
+                                        {
+                                            "paramName": "TrafficCaseOfScenarios",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "LGenBase",
+                                                "element": "ScenarioOfTrafficCasesOfScenarios",
+                                                "params": [
+                                                    {
+                                                        "paramName": "TrafficCaseOfScenarios",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScEnabled",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScStateName",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "IsWeightedSc",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "ScCpsToReach",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%",
+                                                                        "filter": {
+                                                                            "dataValue": "%Parent4%"
+                                                                        }
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "ScLockCPS",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%",
+                                                                        "filter": {
+                                                                            "dataValue": "%Parent4%"
+                                                                        }
+                                                                    }
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    }
+                                                ],
+                                                "ptcname": "%Parent0%"
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "LGenBase",
+                                                "element": "ScenarioOfTrafficCasesOfScenarios",
+                                                "params": [
+                                                    {
+                                                        "paramName": "TrafficCaseOfScenarios",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScStartButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScStopButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScPauseButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScAbortButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScRestoreButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "ScSingleShotBtn",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    }
+                                                ],
+                                                "ptcname": "%Parent0%"
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "LGenBase",
+                                                "element": "ScenarioOfTrafficCasesOfScenarios",
+                                                "params": [
+                                                    {
+                                                        "paramName": "TrafficCaseOfScenarios",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "DataSource",
+                                                            "element": "sizeOf",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "Source",
+                                                                    "paramValue": "LGenBase"
+                                                                },
+                                                                {
+                                                                    "paramName": "Element",
+                                                                    "paramValue": "TrafficCases"
+                                                                },
+                                                                {
+                                                                    "paramName": "ParamName",
+                                                                    "paramValue": "EntityGroup"
+                                                                },
+                                                                {
+                                                                    "paramName": "ParamValue",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "ParamName",
+                                                                    "paramValue": "Scenario"
+                                                                },
+                                                                {
+                                                                    "paramName": "ParamValue",
+                                                                    "paramValue": "%Parent3%"
+                                                                },
+                                                                {
+                                                                    "paramName": "PTCName",
+                                                                    "paramValue": "%Parent0%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "LGenBase",
+                                                            "element": "TrafficCaseOfTrafficCasesOfScenarios",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "TrafficCaseOfScenarios",
+                                                                    "paramValue": "%Parent1%"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcEnabled",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcStateName",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcUserData",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcStartButton",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcStopButton",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcPauseButton",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcAbortButton",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TcSingleShotBtn",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "TrafficType",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "IsWeightedSc",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ],
+                                                                        "children": [
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "LGenBase",
+                                                                                    "element": "Weight",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent4%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "ptcname": "%Parent0%",
+                                                                                    "filter": {
+                                                                                        "dataValue": "%Parent5%"
+                                                                                    }
+                                                                                }
+                                                                            },
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "LGenBase",
+                                                                                    "element": "CpsToReach",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent4%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "ptcname": "%Parent0%",
+                                                                                    "filter": {
+                                                                                        "request": {
+                                                                                            "source": "DataSource",
+                                                                                            "element": "not",
+                                                                                            "params": [
+                                                                                                {
+                                                                                                    "paramName": "Par1",
+                                                                                                    "paramValue": {
+                                                                                                        "dataValue": "%Parent5%"
+                                                                                                    }
+                                                                                                }
+                                                                                            ]
+                                                                                        }
+                                                                                    }
+                                                                                }
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "LastCps",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfRunningEntities",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfAvailableEntities",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfNotFinishedEntities",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfStarts",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfSuccesses",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfFails",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfErrors",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "NrOfTimeouts",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "MaxRunningEntities",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "MinAvailableEntities",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "MaxBusyEntities",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "ReceivedAnswers",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "LGenBase",
+                                                                        "element": "RangeLoops",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent0%"
+                                                                    }
+                                                                }
+                                                            ],
+                                                            "ptcname": "%Parent0%"
+                                                        }
+                                                    }
+                                                ],
+                                                "ptcname": "%Parent0%"
+                                            }
+                                        }
+                                    ],
+                                    "ptcname": "%Parent0%"
+                                }
+                            }
+                        ],
+                        "rangeFilter": {
+                            "offset": 0,
+                            "count": 8
+                        },
+                        "ptcname": "%Parent0%"
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Setup.css
new file mode 100644
index 0000000..b291e07
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_Clients {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Setup.html
new file mode 100644
index 0000000..879153b
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_Clients"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/ViewInstances.json
new file mode 100644
index 0000000..63d7528
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/ViewInstances.json
@@ -0,0 +1,208 @@
+[
+    {
+        "class": "CView_TabsWithData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_1_CView_TabsWithData_0"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Clients",
+        "customData": {
+            "customDataForFirstAligner": {
+                "flexCalculation": true,
+                "subviews": [
+                    {
+                        "subView": "CView_Label",
+                        "isElementLabelPresent": true,
+                        "disabled": true,
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "isElementLabelPresent": true,
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_Label",
+                        "isElementLabelPresent": true,
+                        "disabled": true,
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_Label",
+                        "isElementLabelPresent": true,
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "isElementLabelPresent": true,
+                        "flex": 1
+                    }
+                ]
+            },
+            "customDataForSecondAligner": {
+                "flexCalculation": true,
+                "subviews": [
+                    {
+                        "subView": "CView_BasicButton",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_BasicButton",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_BasicButton",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_BasicButton",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_BasicButton",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_BasicButton",
+                        "flex": 1
+                    }
+                ]
+            },
+            "customDataForTable": {
+                "class": "TableGray",
+                "displayName": false,
+                "autoHeight": true,
+                "filter": false,
+                "sort": false,
+                "columns": [
+                    {
+                        "flex": 2
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "flex": 1
+                    },
+                    {},
+                    {
+                        "subView": "CView_Label",
+                        "flex": 2
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "flex": 1
+                    },
+                    {
+                        "subView": "CView_CheckboxOrSwitch",
+                        "flex": 1
+                    },
+                    {},
+                    {
+                        "subView": "CView_Label",
+                        "flex": 2
+                    },
+                    {
+                        "subView": "CView_Label",
+                        "flex": 2
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    },
+                    {
+                        "flex": 1
+                    }
+                ],
+                "processCss": {
+                    "INPUT": {
+                        "width": "100%",
+                        "text-align": "right"
+                    },
+                    "td .NoData": {
+                        "height": "19px"
+                    }
+                }
+            }
+        },
+        "viewModelIndexes": [
+            1
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_1_CView_TabsWithData_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Clients_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Clients"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/ViewModelInstances.json
new file mode 100644
index 0000000..2922ad3
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Clients/ViewModelInstances.json
@@ -0,0 +1,421 @@
+[
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "PTCs"
+        ],
+        "dataPathList": [
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [
+            "PTCs"
+        ],
+        "selectionToControlPathList": [
+            [
+                1
+            ]
+        ]
+    },
+    {
+        "class": "CViewModel_Clients",
+        "customData": {
+            "header": [
+                "Scenario",
+                "Enabled",
+                "State",
+                "CPS",
+                "Lock CPS",
+                "Start",
+                "Stop",
+                "Pause",
+                "Abort",
+                "Restore",
+                "Single shot",
+                "#",
+                "TC",
+                "En.",
+                "State",
+                "Info",
+                "Start",
+                "Stop",
+                "Pause",
+                "Abort",
+                "Single shot",
+                "Traffic type",
+                "Weight",
+                "CPS",
+                "Last CPS",
+                "Running",
+                "Available",
+                "Not finished",
+                "Starts",
+                "Success",
+                "Fail",
+                "Erroneous",
+                "Timeout",
+                "Max running",
+                "Min available",
+                "Max busy",
+                "Fin traffic",
+                "Range loop"
+            ],
+            "iteratorColumnPosition": -1,
+            "separateBy": 0,
+            "allowScrollBelow": true,
+            "streamingThreshold": 8,
+            "numberOfElementsInFirstAligner": 5,
+            "numberOfElementsInSecondAligner": 6
+        },
+        "dataPathStrList": [
+            "PTCs.sizeOf",
+            "PTCs.TrafficCasesOfScenarios",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScEnabled",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScStateName",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.IsWeightedSc.ScCpsToReach",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.IsWeightedSc.ScLockCPS",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScStartButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScStopButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScPauseButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScAbortButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScRestoreButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.ScSingleShotBtn",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.sizeOf",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcEnabled",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcStateName",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcUserData",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcStartButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcStopButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcPauseButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcAbortButton",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TcSingleShotBtn",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.TrafficType",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.IsWeightedSc.Weight",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.IsWeightedSc.CpsToReach",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.LastCps",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfRunningEntities",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfAvailableEntities",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfNotFinishedEntities",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfStarts",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfSuccesses",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfFails",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfErrors",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.NrOfTimeouts",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.MaxRunningEntities",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.MinAvailableEntities",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.MaxBusyEntities",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.ReceivedAnswers",
+            "PTCs.TrafficCasesOfScenarios.EntityGroupOfTrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.TrafficCaseOfTrafficCasesOfScenarios.RangeLoops"
+        ],
+        "dataPathList": [
+            [
+                1,
+                0
+            ],
+            [
+                1,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                0,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                0,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                0,
+                2,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                0,
+                2,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                1,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                1,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                1,
+                2
+            ],
+            [
+                1,
+                1,
+                0,
+                1,
+                3
+            ],
+            [
+                1,
+                1,
+                0,
+                1,
+                4
+            ],
+            [
+                1,
+                1,
+                0,
+                1,
+                5
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                2
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                3
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                4
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                5
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                6
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                7
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                8
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                9,
+                0
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                9,
+                1
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                10
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                11
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                12
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                13
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                14
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                15
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                16
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                17
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                18
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                19
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                20
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                21
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                22
+            ],
+            [
+                1,
+                1,
+                0,
+                2,
+                1,
+                23
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Desktop.json
new file mode 100644
index 0000000..88c5053
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Desktop.json
@@ -0,0 +1,113 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 3,
+                "left": 229
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 159,
+                "left": 239
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 28,
+                "left": 230
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 53,
+                "left": 228
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 77,
+                "left": 227
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 101,
+                "left": 228
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 124,
+                "left": 228
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 160,
+                "left": 582
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 5,
+                "left": 485
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 81,
+                "left": 457
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 29,
+                "left": 458
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 56,
+                "left": 456
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 128,
+                "left": 456
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 105,
+                "left": 456
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 159,
+            "left": 744
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": []
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Request.json
new file mode 100644
index 0000000..2a5df47
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Request.json
@@ -0,0 +1,40 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "TimeElapsed"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Start",
+            "writableInfo": true
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Stop",
+            "writableInfo": true
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Terminate"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Snapshot"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Exit"
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Setup.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Setup.css
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Setup.html
new file mode 100644
index 0000000..2a75889
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/Setup.html
@@ -0,0 +1 @@
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/ViewInstances.json
new file mode 100644
index 0000000..61485aa
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/ViewInstances.json
@@ -0,0 +1,118 @@
+[
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "flexCalculation": true,
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "padding-right": "5px"
+                },
+                ".BasicButton": {
+                    "width": "100%"
+                },
+                ".BasicButton > BUTTON": {
+                    "width": "100%"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            1
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_3",
+            "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_4",
+            "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_5"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "disabled": true,
+            "flex": 1
+        },
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_0"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Terminate Test",
+            "img": "WebApplicationFramework/Res/terminate.png",
+            "imagePosition": "right",
+            "flex": "150px"
+        },
+        "viewModelIndexes": [
+            4
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_3"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Start Test",
+            "img": "WebApplicationFramework/Res/starttest.png",
+            "imagePosition": "right",
+            "flex": "150px"
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_1"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Stop Test",
+            "img": "WebApplicationFramework/Res/stoptest.png",
+            "imagePosition": "right",
+            "flex": "150px"
+        },
+        "viewModelIndexes": [
+            3
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_2"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Exit",
+            "img": "WebApplicationFramework/Res/exit.png",
+            "imagePosition": "right",
+            "flex": "150px"
+        },
+        "viewModelIndexes": [
+            6
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_5"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Snapshot",
+            "img": "WebApplicationFramework/Res/save.png",
+            "imagePosition": "right",
+            "flex": "150px"
+        },
+        "viewModelIndexes": [
+            5
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls_CView_Aligner_4"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/ViewModelInstances.json
new file mode 100644
index 0000000..c62fd91
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_CommonControls/ViewModelInstances.json
@@ -0,0 +1,94 @@
+[
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "TimeElapsed"
+        ],
+        "dataPathList": [
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "Start"
+        ],
+        "dataPathList": [
+            [
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "Stop"
+        ],
+        "dataPathList": [
+            [
+                2
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "Terminate"
+        ],
+        "dataPathList": [
+            [
+                3
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "Snapshot"
+        ],
+        "dataPathList": [
+            [
+                4
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "Exit"
+        ],
+        "dataPathList": [
+            [
+                5
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Desktop.json
new file mode 100644
index 0000000..1b5a42f
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Desktop.json
@@ -0,0 +1,65 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 65,
+                "left": 410
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 19,
+                "left": 231
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 42,
+                "left": 661
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 82,
+                "left": 859
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 85,
+            "left": 1034
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 143,
+                "left": 666
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 121,
+                "left": 719
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 20,
+                "left": 756
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Imports.json
new file mode 100644
index 0000000..8c028c8
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Imports.json
@@ -0,0 +1,14 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_EntityGroups_CView_Aligner_2"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_EntityGroups_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Request.json
new file mode 100644
index 0000000..e7c221f
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Request.json
@@ -0,0 +1,54 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "EntityGroups"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityGroups",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpType",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpSize",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 30
+            }
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Setup.css
new file mode 100644
index 0000000..000cb2a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_EntityGroups {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Setup.html
new file mode 100644
index 0000000..f43a40e
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_EntityGroups"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/ViewInstances.json
new file mode 100644
index 0000000..2ca8112
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/ViewInstances.json
@@ -0,0 +1,47 @@
+[
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "class": "TableGray",
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                }
+            ]
+        },
+        "viewModelIndexes": [
+            1,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_EntityGroups_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_EntityGroups_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_EntityGroups_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_EntityGroups_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_EntityGroups"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/ViewModelInstances.json
new file mode 100644
index 0000000..9617288
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_EntityGroups/ViewModelInstances.json
@@ -0,0 +1,37 @@
+[
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "allowScrollBelow": false,
+            "streamingThreshold": 30,
+            "header": [
+                "Entity Group Name",
+                "Entity Type",
+                "Number Of Entities"
+            ],
+            "name": "Entity Group Overview"
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "EntityGroups"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Desktop.json
new file mode 100644
index 0000000..d64f988
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Desktop.json
@@ -0,0 +1,35 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 0,
+                "left": 250
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 25,
+                "left": 265
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 0,
+                "left": 477
+            },
+            "visible": false
+        }
+    ],
+    "Imports": [],
+    "HtmlEditor": {
+        "pos": {
+            "top": 0,
+            "left": 663
+        },
+        "visible": false
+    }
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Request.json
new file mode 100644
index 0000000..e1f79e4
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Request.json
@@ -0,0 +1,22 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "GlobalStats",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "GlobalStat",
+                        "params": [
+                            {
+                                "paramName": "Statistic",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Setup.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Setup.css
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Setup.html
new file mode 100644
index 0000000..9cae1f6
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/Setup.html
@@ -0,0 +1 @@
+<div id="EPTF_CLL_ExecCtrl_GlobalStats"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/ViewInstances.json
new file mode 100644
index 0000000..f46442d
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/ViewInstances.json
@@ -0,0 +1,21 @@
+[
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "class": "TableGray",
+            "autoHeight": true,
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "displayName": false
+        },
+        "viewModelIndexes": [
+            0,
+            1
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_GlobalStats"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/ViewModelInstances.json
new file mode 100644
index 0000000..c07c70e
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_GlobalStats/ViewModelInstances.json
@@ -0,0 +1,37 @@
+[
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "iteratorIsHeader": true,
+            "transposeTable": true,
+            "dataManipulator": [
+                {
+                    "text": "Total #"
+                }
+            ]
+        },
+        "dataPathStrList": [
+            "GlobalStats",
+            "GlobalStats.GlobalStat"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                0,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Desktop.json
new file mode 100644
index 0000000..25cb985
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Desktop.json
@@ -0,0 +1,100 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 126,
+                "left": 565
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 80,
+                "left": 554
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 28,
+                "left": 552
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 206,
+                "left": 536
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 178,
+                "left": 877
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 93,
+                "left": 1059
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 130,
+                "left": 1003
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 211,
+                "left": 803
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 135,
+                "left": 1184
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 174,
+            "left": 1346
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 282,
+                "left": 906
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 261,
+                "left": 958
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 69,
+                "left": 1087
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Imports.json
new file mode 100644
index 0000000..fe220d4
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Imports.json
@@ -0,0 +1,14 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_2"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Request.json
new file mode 100644
index 0000000..a754b3a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Request.json
@@ -0,0 +1,281 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "PhaseLists"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "PhaseLists",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "Phases",
+                        "params": [
+                            {
+                                "paramName": "PhaseList",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "PhaseListEnablePhase",
+                                    "params": [
+                                        {
+                                            "paramName": "PhaseList",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Phase",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "DataSource",
+                        "element": "sizeOf",
+                        "params": [
+                            {
+                                "paramName": "Source",
+                                "paramValue": "ExecCtrl"
+                            },
+                            {
+                                "paramName": "Element",
+                                "paramValue": "ScenariosOfScenarioGroupsWithPhaseList"
+                            },
+                            {
+                                "paramName": "ParamName",
+                                "paramValue": "PhaseList"
+                            },
+                            {
+                                "paramName": "ParamValue",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "ScenariosOfScenarioGroupsWithPhaseList",
+                        "params": [
+                            {
+                                "paramName": "PhaseList",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList",
+                                    "params": [
+                                        {
+                                            "paramName": "ScenarioOfScenarioGroup",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpCurrentPhase",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioGroup",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpMode",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioGroup",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpStatus",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioGroup",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpStart",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioGroup",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpReset",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioGroup",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScenarioOfScenariosOfScenarioGroupsWithPhaseList",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioOfScenarioGroup",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "NofDeployedLGens",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "ScenarioInstance",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "ScGrpScStatus",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "ScenarioGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "ScenarioInstance",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "Phases",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "PhaseList",
+                                                                    "paramValue": "%Parent0%"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "ScGrpScEnablePhase",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "ScenarioInstance",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Phase",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ],
+                                                                        "filter": {
+                                                                            "request": {
+                                                                                "source": "DataSource",
+                                                                                "element": "dataElementPresent",
+                                                                                "params": [
+                                                                                    {
+                                                                                        "paramName": "Source",
+                                                                                        "paramValue": {
+                                                                                            "dataValue": "ExecCtrl"
+                                                                                        }
+                                                                                    },
+                                                                                    {
+                                                                                        "paramName": "Element",
+                                                                                        "paramValue": {
+                                                                                            "dataValue": "ScGrpScEnablePhase"
+                                                                                        }
+                                                                                    },
+                                                                                    {
+                                                                                        "paramName": "ParamName",
+                                                                                        "paramValue": {
+                                                                                            "dataValue": "ScenarioInstance"
+                                                                                        }
+                                                                                    },
+                                                                                    {
+                                                                                        "paramName": "ParamValue",
+                                                                                        "paramValue": {
+                                                                                            "dataValue": "%Parent3%"
+                                                                                        }
+                                                                                    },
+                                                                                    {
+                                                                                        "paramName": "ParamName",
+                                                                                        "paramValue": {
+                                                                                            "dataValue": "Phase"
+                                                                                        }
+                                                                                    },
+                                                                                    {
+                                                                                        "paramName": "ParamValue",
+                                                                                        "paramValue": {
+                                                                                            "dataValue": "%Parent4%"
+                                                                                        }
+                                                                                    }
+                                                                                ]
+                                                                            }
+                                                                        }
+                                                                    }
+                                                                }
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ],
+                        "rangeFilter": {
+                            "offset": 0,
+                            "count": 20
+                        }
+                    }
+                }
+            ],
+            "selection": [
+                0
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Setup.css
new file mode 100644
index 0000000..f91f2ce
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_PhaseLists {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Setup.html
new file mode 100644
index 0000000..4ad5cdd
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_PhaseLists"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/ViewInstances.json
new file mode 100644
index 0000000..4fe401f
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/ViewInstances.json
@@ -0,0 +1,135 @@
+[
+    {
+        "class": "CView_Table_Vertical",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "displayHeader": false,
+            "autoHeight": true,
+            "columns": [
+                {},
+                {
+                    "subView": "CView_CheckboxOrSwitch"
+                }
+            ],
+            "processCss": {
+                "table td": {
+                    "text-align": "center"
+                },
+                ".CheckBoxOrSwitch": {
+                    "margin": "auto"
+                }
+            },
+            "class": "TableGray_Vertical"
+        },
+        "viewModelIndexes": [
+            1
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1_CView_TabsWithData_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_TabsWithData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            }
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1_CView_TabsWithData_0"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1_CView_TabsWithData_0_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1_CView_TabsWithData_0_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1_CView_TabsWithData_0"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "displayName": false,
+            "autoHeight": true,
+            "columns": [
+                {},
+                {
+                    "subView": "CView_Label"
+                },
+                {
+                    "subView": "CView_Label"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_CheckboxOrSwitch"
+                },
+                {
+                    "subView": "CView_CheckboxOrSwitch"
+                },
+                {},
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_CheckboxOrSwitch"
+                }
+            ],
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "processCss": {
+                "INPUT": {
+                    "width": "100%"
+                },
+                "DIV INPUT[type=checkbox]": {
+                    "width": "auto"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            3,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1_CView_TabsWithData_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_PhaseLists_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_PhaseLists"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/ViewModelInstances.json
new file mode 100644
index 0000000..f5119a1
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_PhaseLists/ViewModelInstances.json
@@ -0,0 +1,154 @@
+[
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {},
+        "dataPathStrList": [
+            "PhaseLists.Phases"
+        ],
+        "dataPathList": [
+            [
+                1,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "PhaseLists"
+        ],
+        "dataPathList": [
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [
+            "PhaseLists"
+        ],
+        "selectionToControlPathList": [
+            [
+                1
+            ]
+        ]
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "header": [
+                "Group Name",
+                "Group Phase",
+                "Group Mode",
+                "Group Status",
+                "Start Current Phase",
+                "Group Reset",
+                "Scenario Name",
+                "LGens",
+                "Scenario Status"
+            ],
+            "iteratorColumnPosition": -1,
+            "allowScrollBelow": false,
+            "streamingThreshold": 20,
+            "separateBy": 0
+        },
+        "dataPathStrList": [
+            "PhaseLists.sizeOf",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScGrpCurrentPhase",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScGrpMode",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScGrpStatus",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScGrpStart",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScGrpReset",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScenarioOfScenariosOfScenarioGroupsWithPhaseList",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScenarioOfScenariosOfScenarioGroupsWithPhaseList.NofDeployedLGens",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScenarioOfScenariosOfScenarioGroupsWithPhaseList.ScGrpScStatus",
+            "PhaseLists.ScenariosOfScenarioGroupsWithPhaseList.ScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList.ScenarioOfScenariosOfScenarioGroupsWithPhaseList.Phases.ScGrpScEnablePhase"
+        ],
+        "dataPathList": [
+            [
+                1,
+                1
+            ],
+            [
+                1,
+                2
+            ],
+            [
+                1,
+                2,
+                0
+            ],
+            [
+                1,
+                2,
+                0,
+                0
+            ],
+            [
+                1,
+                2,
+                0,
+                1
+            ],
+            [
+                1,
+                2,
+                0,
+                2
+            ],
+            [
+                1,
+                2,
+                0,
+                3
+            ],
+            [
+                1,
+                2,
+                0,
+                4
+            ],
+            [
+                1,
+                2,
+                0,
+                5
+            ],
+            [
+                1,
+                2,
+                0,
+                5,
+                0
+            ],
+            [
+                1,
+                2,
+                0,
+                5,
+                1
+            ],
+            [
+                1,
+                2,
+                0,
+                5,
+                2,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Desktop.json
new file mode 100644
index 0000000..845e88a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Desktop.json
@@ -0,0 +1,79 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 89,
+                "left": 510
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 17,
+                "left": 377
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 148,
+                "left": 414
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 29,
+                "left": 804
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 147,
+                "left": 795
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 108,
+                "left": 1070
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 109,
+            "left": 1268
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 250,
+                "left": 760
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 227,
+                "left": 811
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 6,
+                "left": 897
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Imports.json
new file mode 100644
index 0000000..4e2a0e9
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Imports.json
@@ -0,0 +1,14 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_3"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Request.json
new file mode 100644
index 0000000..186b574
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Request.json
@@ -0,0 +1,134 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "RegulatedItems"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "RegulatedItems",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatedItemType",
+                        "params": [
+                            {
+                                "paramName": "RegulatedItemId",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatorName",
+                        "params": [
+                            {
+                                "paramName": "RegulatedItemId",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatedItemWeight",
+                        "params": [
+                            {
+                                "paramName": "RegulatedItemId",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatedItemEnabled",
+                        "params": [
+                            {
+                                "paramName": "RegulatedItemId",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 20
+            }
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Regulators",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatorTotalValue",
+                        "params": [
+                            {
+                                "paramName": "RegulatorName",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatorTargetLoad",
+                        "params": [
+                            {
+                                "paramName": "RegulatorName",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatorCurrentLoad",
+                        "params": [
+                            {
+                                "paramName": "RegulatorName",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "RegulatorStatus",
+                        "params": [
+                            {
+                                "paramName": "RegulatorName",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Setup.css
new file mode 100644
index 0000000..52a7d15
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_Regulator {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Setup.html
new file mode 100644
index 0000000..7ca962a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_Regulator"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/ViewInstances.json
new file mode 100644
index 0000000..7c2e7f6
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/ViewInstances.json
@@ -0,0 +1,110 @@
+[
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 4
+                },
+                {
+                    "flex": 2
+                },
+                {
+                    "subView": "CView_Label",
+                    "flex": 2,
+                    "processCss": {
+                        "INPUT": {
+                            "width": "100%"
+                        }
+                    }
+                },
+                {
+                    "subView": "CView_Label",
+                    "flex": 2,
+                    "processCss": {
+                        "INPUT": {
+                            "width": "90%"
+                        }
+                    }
+                },
+                {
+                    "subView": "CView_CheckboxOrSwitch",
+                    "flex": 1
+                }
+            ],
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            }
+        },
+        "viewModelIndexes": [
+            1,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "class": "TableGray",
+            "autoHeight": true,
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "columns": [
+                {},
+                {
+                    "subView": "CView_Label",
+                    "processCss": {
+                        "INPUT": {
+                            "width": "90%"
+                        }
+                    }
+                },
+                {
+                    "subView": "CView_Label",
+                    "processCss": {
+                        "INPUT": {
+                            "width": "90%"
+                        }
+                    }
+                },
+                {
+                    "subView": ""
+                },
+                {
+                    "subView": "CView_StatusLED"
+                }
+            ]
+        },
+        "viewModelIndexes": [
+            2,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_2"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_Regulator_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Regulator"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/ViewModelInstances.json
new file mode 100644
index 0000000..4a0fb0f
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Regulator/ViewModelInstances.json
@@ -0,0 +1,62 @@
+[
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "List of regulated items",
+            "header": [
+                "Item Name",
+                "Item Type",
+                "Regulator Name",
+                "Weight",
+                "Enabled"
+            ],
+            "allowScrollBelow": false,
+            "streamingThreshold": 20
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "RegulatedItems"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "Regulator Name",
+                "Regulated Value",
+                "Target Load",
+                "Current Load",
+                "Status"
+            ],
+            "name": "List of regulators"
+        },
+        "dataPathStrList": [
+            "Regulators"
+        ],
+        "dataPathList": [
+            [
+                2
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Desktop.json
new file mode 100644
index 0000000..2287c05
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Desktop.json
@@ -0,0 +1,660 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 136,
+                "left": 283
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 317,
+                "left": 250
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 343,
+                "left": 249
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 482,
+                "left": 250
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 700,
+                "left": 245
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 724,
+                "left": 246
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 748,
+                "left": 247
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 506,
+                "left": 251
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 531,
+                "left": 244
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 555,
+                "left": 241
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 577,
+                "left": 241
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 602,
+                "left": 241
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 628,
+                "left": 243
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 653,
+                "left": 246
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 403,
+                "left": 246
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 676,
+                "left": 247
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 433,
+                "left": 249
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1853,
+                "left": 316
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1733,
+                "left": 326
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 819,
+                "left": 340
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 844,
+                "left": 341
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 893,
+                "left": 309
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 916,
+                "left": 311
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 941,
+                "left": 264
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 963.9999694824219,
+                "left": 258
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 988,
+                "left": 252
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 870,
+                "left": 332
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1174,
+                "left": 290
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1638,
+                "left": 322
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1396,
+                "left": 263
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1517,
+                "left": 317
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 56,
+                "left": 284
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 191,
+                "left": 689
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 233,
+                "left": 287
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 772,
+                "left": 249
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 796,
+                "left": 588
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1023,
+                "left": 452
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 458,
+                "left": 247
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1684,
+                "left": 336
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 133,
+                "left": 548
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 380,
+                "left": 1208
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 368,
+                "left": 612
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 318,
+                "left": 476
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 482,
+                "left": 482
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 346,
+                "left": 474
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 676,
+                "left": 654
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 701,
+                "left": 470
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 724,
+                "left": 466
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 524,
+                "left": 1066
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 749,
+                "left": 463
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 446,
+                "left": 681
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 505,
+                "left": 461
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 530,
+                "left": 463
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 555,
+                "left": 463
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 578,
+                "left": 461
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 602,
+                "left": 461
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 627,
+                "left": 463
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 652,
+                "left": 463
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 404,
+                "left": 466
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 777,
+                "left": 1003
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1853,
+                "left": 565
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 848,
+                "left": 836
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1731,
+                "left": 548
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 820,
+                "left": 564
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 842,
+                "left": 567
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 874,
+                "left": 667
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 893,
+                "left": 544
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 917,
+                "left": 546
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 939,
+                "left": 542
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 963,
+                "left": 540
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 988,
+                "left": 540
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1017,
+                "left": 764
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1044,
+                "left": 678
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1108,
+                "left": 520
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1081,
+                "left": 517
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1637,
+                "left": 552
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1394,
+                "left": 493
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1517.9999694824219,
+                "left": 543
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 53,
+                "left": 633
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 321,
+                "left": 1283
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 233,
+                "left": 612
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 436,
+                "left": 1134
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 772,
+                "left": 595
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 812,
+                "left": 909
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 264,
+                "left": 1359
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 426,
+                "left": 753
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 457,
+                "left": 481
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 1682,
+                "left": 593
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 341,
+            "left": 1519
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 582,
+                "left": 1134
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 555,
+                "left": 1185
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 59,
+                "left": 1117
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 37,
+                "left": 1165
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Imports.json
new file mode 100644
index 0000000..d5b2896
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Imports.json
@@ -0,0 +1,18 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_3"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_GlobalStats",
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_1"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Request.json
new file mode 100644
index 0000000..4ca6577
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Request.json
@@ -0,0 +1,1645 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "EntityGroups"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityGroups",
+            "children": [],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 20
+            }
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityGroups",
+            "selection": [
+                0
+            ],
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpType",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpSize",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpOffset",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "NofDeployedLGens",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpLGenPool",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "DataSource",
+                        "element": "sizeOf",
+                        "params": [
+                            {
+                                "paramName": "Source",
+                                "paramValue": "ExecCtrl"
+                            },
+                            {
+                                "paramName": "Element",
+                                "paramValue": "Scenarios"
+                            },
+                            {
+                                "paramName": "ParamName",
+                                "paramValue": "EntityGroup"
+                            },
+                            {
+                                "paramName": "ParamValue",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "Scenarios",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "rangeFilter": {
+                            "offset": 0,
+                            "count": 18
+                        }
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "Scenarios",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "selection": [
+                            0
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ScInstanceName",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ScStatus",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ScStartButton",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "writableInfo": true
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ScStopButton",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "writableInfo": true
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "ScReset",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "writableInfo": true
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "IsInScGroup",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScScGrpName",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScPhaseListName",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "Phases",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpCurrentPhase",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpMode",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpStatus",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpStart",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpTerminate",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "writableInfo": true
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpReset",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScGrpScStatus",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ],
+                                    "filter": {
+                                        "dataValue": "%Parent2%"
+                                    }
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "IsWeightedSc",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "CurrentCPS",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "filter": {
+                                                    "dataValue": "%Parent2%"
+                                                }
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScTargetCPS",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "filter": {
+                                                    "dataValue": "%Parent2%"
+                                                }
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScRegulatorName",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "filter": {
+                                                    "dataValue": "%Parent2%"
+                                                }
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "DataSource",
+                                                "element": "sizeOf",
+                                                "params": [
+                                                    {
+                                                        "paramName": "Source",
+                                                        "paramValue": "ExecCtrl"
+                                                    },
+                                                    {
+                                                        "paramName": "Element",
+                                                        "paramValue": "TrafficCases"
+                                                    },
+                                                    {
+                                                        "paramName": "ParamName",
+                                                        "paramValue": "EntityGroup"
+                                                    },
+                                                    {
+                                                        "paramName": "ParamValue",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "ParamName",
+                                                        "paramValue": "Scenario"
+                                                    },
+                                                    {
+                                                        "paramName": "ParamValue",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "TrafficCases",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "rangeFilter": {
+                                                    "offset": 0,
+                                                    "count": 12
+                                                }
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "TrafficCases",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "selection": [
+                                                    0
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcStat",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Statistic",
+                                                                    "paramValue": "CurrentCPS"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcTargetCPSOrWeight",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcRegulator",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "filter": {
+                                                                "request": {
+                                                                    "source": "DataSource",
+                                                                    "element": "not",
+                                                                    "params": [
+                                                                        {
+                                                                            "paramName": "Par1",
+                                                                            "paramValue": {
+                                                                                "dataValue": "%Parent2%"
+                                                                            }
+                                                                        }
+                                                                    ]
+                                                                }
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcGroupFinishStatus",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcStatus",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcStartButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "writableInfo": true
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcStopButton",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "writableInfo": true
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcStat",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Statistic",
+                                                                    "paramValue": "Starts"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Success"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Fail"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Timeout"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Error"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "FinTraffic"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "RangeLoops"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcExecTime",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Running"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Available"
+                                                                            }
+                                                                        ],
+                                                                        "children": []
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "MaxBusy"
+                                                                            }
+                                                                        ],
+                                                                        "children": []
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "MaxRunning"
+                                                                            }
+                                                                        ],
+                                                                        "children": []
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "MinAvailable"
+                                                                            }
+                                                                        ],
+                                                                        "children": []
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "NotFinished"
+                                                                            }
+                                                                        ],
+                                                                        "children": []
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGoS",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStatDelta",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Starts"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStatDelta",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Success"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStatDelta",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Fail"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStatDelta",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Timeout"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcStatDelta",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "Error"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "Starts"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "Success"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "Fail"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "Timeout"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "Error"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "FinTraffic"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "RangeLoops"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TcGrpFinishStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Condition",
+                                                                                "paramValue": "ExecTime"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "FsmStats",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "FSMStat",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent0%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent1%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "TrafficCase",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Statistic",
+                                                                                "paramValue": "%Parent4%"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcStat",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Statistic",
+                                                                    "paramValue": "CurrentCPS"
+                                                                }
+                                                            ],
+                                                            "timeline": {
+                                                                "maxpoints": 2047
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcTargetCPSOrWeight",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "timeline": {
+                                                                "maxpoints": 2047
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcSingleShotEntityIdx",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcSingleShotEnableLog",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    },
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "TcSingleShotStart",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent0%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "TrafficCase",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "Regulators"
+                                            }
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "TrafficCases",
+                                    "params": [
+                                        {
+                                            "paramName": "EntityGroup",
+                                            "paramValue": "%Parent0%"
+                                        },
+                                        {
+                                            "paramName": "Scenario",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "TcStatus",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "TrafficCase",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "TcStartButton",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "TrafficCase",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "TcStopButton",
+                                                "params": [
+                                                    {
+                                                        "paramName": "EntityGroup",
+                                                        "paramValue": "%Parent0%"
+                                                    },
+                                                    {
+                                                        "paramName": "Scenario",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "TrafficCase",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ],
+                                    "rangeFilter": {
+                                        "offset": 0,
+                                        "count": 10
+                                    }
+                                }
+                            }
+                        ]
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Setup.css
new file mode 100644
index 0000000..cac40b5
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_Statistics {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Setup.html
new file mode 100644
index 0000000..f8b0b29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_Statistics"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/ViewInstances.json
new file mode 100644
index 0000000..dcddee8
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/ViewInstances.json
@@ -0,0 +1,1184 @@
+[
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "subviews": [
+                {
+                    "subView": "CView_Label",
+                    "disabled": true,
+                    "isElementLabelPresent": true,
+                    "elementText": "Entity type"
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true,
+                    "isElementLabelPresent": true,
+                    "elementText": "Group size"
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true,
+                    "isElementLabelPresent": true,
+                    "elementText": "First entity offset"
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true,
+                    "isElementLabelPresent": true,
+                    "elementText": "Number of LGens"
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true,
+                    "isElementLabelPresent": true,
+                    "elementText": "LGenPool"
+                }
+            ],
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "orientation": "vertical",
+            "flex": 8
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "disabled": true,
+            "isElementLabelPresent": true,
+            "elementText": "Scenario instance name"
+        },
+        "viewModelIndexes": [
+            1
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "disabled": true,
+            "elementText": "PhaseList",
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            16,
+            3
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_StatusLED",
+        "customData": {
+            "isLabelPresent": true,
+            "isElementLabelPresent": true,
+            "elementText": "Sc Status"
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0_CView_Aligner_2"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [
+            15
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "disabled": true,
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            4
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "isElementLabelPresent": true,
+            "elementText": "Target CPS"
+        },
+        "viewModelIndexes": [
+            5
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "flex": 7
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ComboBox",
+        "customData": {
+            "isElementLabelPresent": true,
+            "defaultValue": ""
+        },
+        "viewModelIndexes": [
+            6
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [
+            16
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_3",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_4",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_5",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_6",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_7"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2"
+    },
+    {
+        "class": "CView_ComboBox",
+        "customData": {
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            7
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ComboBox",
+        "customData": {
+            "isElementLabelPresent": true,
+            "possibleValues": [
+                "AUTOMATIC",
+                "MANUAL"
+            ]
+        },
+        "viewModelIndexes": [
+            8
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_2"
+    },
+    {
+        "class": "CView_StatusLED",
+        "customData": {
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            9
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_3"
+    },
+    {
+        "class": "CView_CheckboxOrSwitch",
+        "customData": {
+            "isLabelPresent": true,
+            "isElementLabelPresent": true,
+            "isSwitch": true
+        },
+        "viewModelIndexes": [
+            10
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_4"
+    },
+    {
+        "class": "CView_CheckboxOrSwitch",
+        "customData": {
+            "isLabelPresent": true,
+            "isSwitch": false,
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            11
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_5"
+    },
+    {
+        "class": "CView_CheckboxOrSwitch",
+        "customData": {
+            "isLabelPresent": true,
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            12
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_6"
+    },
+    {
+        "class": "CView_StatusLED",
+        "customData": {
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            13
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_7"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "padding-right": "5px"
+                },
+                ".BasicButton > BUTTON": {
+                    "width": "100%"
+                },
+                ".BasicButton": {
+                    "width": "100%"
+                }
+            },
+            "subviews": [
+                {
+                    "subView": "CView_BasicButton",
+                    "text": "Start Scenario",
+                    "img": "WebApplicationFramework/Res/starttest.png",
+                    "imagePosition": "right"
+                },
+                {
+                    "subView": "CView_BasicButton",
+                    "text": "Stop Scenario",
+                    "img": "WebApplicationFramework/Res/stoptest.png",
+                    "imagePosition": "right"
+                },
+                {
+                    "subView": "CView_BasicButton",
+                    "text": "Reset Scenario",
+                    "img": "WebApplicationFramework/Res/resettest.png",
+                    "imagePosition": "right"
+                }
+            ],
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [
+            14
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Tabs",
+        "customData": {
+            "namesCreating": [
+                "Traffic Case data",
+                "Traffic case states in Scenario"
+            ],
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            }
+        },
+        "viewModelIndexes": [
+            35
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "displayName": true,
+            "displayHeader": true,
+            "name": "Traffic case states in scenario",
+            "columns": [
+                {},
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_BasicButton"
+                },
+                {
+                    "subView": "CView_BasicButton"
+                }
+            ],
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            17
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "flex": 6
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "padding-right": "20px"
+                }
+            },
+            "subviews": [
+                {
+                    "subView": "CView_Label",
+                    "isElementLabelPresent": true,
+                    "elementText": "Entity Index"
+                },
+                {
+                    "subView": "CView_CheckboxOrSwitch",
+                    "isElementLabelPresent": true,
+                    "elementText": "Enable Log"
+                },
+                {
+                    "subView": "CView_BasicButton",
+                    "isElementLabelPresent": true,
+                    "elementText": "Single shot",
+                    "text": "Single shot",
+                    "img": "WebApplicationFramework/Res/starttest.png",
+                    "imagePosition": "right"
+                }
+            ]
+        },
+        "viewModelIndexes": [
+            18
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "disabled": true,
+            "isElementLabelPresent": true,
+            "elementText": "Current CPS"
+        },
+        "viewModelIndexes": [
+            19
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "isElementLabelPresent": true,
+            "elementText": "Target CPS or Weight"
+        },
+        "viewModelIndexes": [
+            20
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_3",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_4",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_5",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_6"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_ComboBox",
+        "customData": {
+            "isElementLabelPresent": true,
+            "elementText": "Regulated By",
+            "defaultValue": ""
+        },
+        "viewModelIndexes": [
+            26,
+            21
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_2"
+    },
+    {
+        "class": "CView_StatusLED",
+        "customData": {
+            "elementText": "GroupFinish Status",
+            "isElementLabelPresent": true
+        },
+        "viewModelIndexes": [
+            22
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_3"
+    },
+    {
+        "class": "CView_StatusLED",
+        "customData": {
+            "isElementLabelPresent": true,
+            "elementText": "Status"
+        },
+        "viewModelIndexes": [
+            23
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_4"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Start",
+            "isElementLabelPresent": true,
+            "elementText": "Start"
+        },
+        "viewModelIndexes": [
+            24
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_5"
+    },
+    {
+        "class": "CView_BasicButton",
+        "customData": {
+            "text": "Stop",
+            "isElementLabelPresent": true,
+            "elementText": "Stop"
+        },
+        "viewModelIndexes": [
+            25
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_0_CView_Aligner_6"
+    },
+    {
+        "class": "CView_Tabs",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "namesCreating": [
+                "Entity stats",
+                "FSM stats",
+                "CPS chart"
+            ]
+        },
+        "viewModelIndexes": [
+            36
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Div",
+                    "text": "Statistic",
+                    "class": "HeaderLabel",
+                    "css": {
+                        "padding-top": "10px"
+                    }
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "height": "35px"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content > DIV": {
+                    "padding-top": "5px"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            27
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Div",
+                    "text": "Statistic<br/>name",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Starts<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Success<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Fail<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Timeout<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Error<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Fin<br/>Traffic",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Rangeloops<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Exec<br/>Time",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Running<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Available<br/>&nbsp",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Max<br/>Busy",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Max<br/>Running",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Min<br/>Available",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "Not<br/>Finished",
+                    "class": "HeaderLabel"
+                },
+                {
+                    "subView": "CView_Div",
+                    "text": "GoS<br/>&nbsp",
+                    "class": "HeaderLabel"
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "font-weight": "bold"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Table_Vertical",
+        "customData": {
+            "class": "TableGray_Vertical",
+            "displayName": false,
+            "filter": false,
+            "sort": false,
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            28
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_1"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Div",
+                    "text": "Delta",
+                    "class": "HeaderLabel",
+                    "css": {
+                        "padding-top": "10px"
+                    }
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "height": "35px"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content > DIV": {
+                    "padding-top": "5px"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            29
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_2"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Div",
+                    "text": "Group Finish<br/>Condition",
+                    "class": "HeaderLabel",
+                    "css": {
+                        "padding-top": "0px"
+                    }
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "",
+                    "class": "StripedLabel",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "height": "35px"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content > DIV": {
+                    "padding-top": "5px"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            30
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_0_CView_Aligner_3"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "displayName": true,
+            "displayHeader": false,
+            "flex": 1,
+            "css": {
+                "padding-right": "2px"
+            },
+            "processCss": {
+                ".TableGray table tr": {
+                    "height": "26px"
+                }
+            },
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            31
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "flexCalculation": true,
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "resizable": true
+        },
+        "viewModelIndexes": [
+            32
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "displayName": true,
+            "displayHeader": false,
+            "flex": 1,
+            "css": {
+                "padding-right": "2px"
+            },
+            "processCss": {
+                ".TableGray table tr": {
+                    "height": "26px"
+                }
+            },
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            33
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "flexCalculation": true,
+            "resizable": true
+        },
+        "viewModelIndexes": [
+            32
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "displayName": true,
+            "displayHeader": false,
+            "flex": 1,
+            "css": {
+                "padding-right": "2px"
+            },
+            "processCss": {
+                ".TableGray table tr": {
+                    "height": "26px"
+                }
+            },
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            34
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "flexCalculation": true,
+            "resizable": true
+        },
+        "viewModelIndexes": [
+            32
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "2px",
+                "border": "1px solid gray"
+            },
+            "flexCalculation": true,
+            "processCss": {
+                " > DIV > DIV": {
+                    "vertical-align": "middle"
+                }
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "isElementLabelPresent": true,
+            "elementText": "Scenario is in scenario group",
+            "disabled": true
+        },
+        "viewModelIndexes": [
+            37
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Chart",
+        "customData": {
+            "width": "100%",
+            "height": "350px",
+            "type": "timeseries",
+            "title": "CPS Chart"
+        },
+        "viewModelIndexes": [
+            38
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Statistics_CView_Aligner_2_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3_CView_Tabs_0_CView_Aligner_1_CView_Aligner_2_CView_Tabs_2"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/ViewModelInstances.json
new file mode 100644
index 0000000..e0ed444
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Statistics/ViewModelInstances.json
@@ -0,0 +1,1119 @@
+[
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.EGrpType",
+            "EntityGroups.EGrpSize",
+            "EntityGroups.EGrpOffset",
+            "EntityGroups.NofDeployedLGens",
+            "EntityGroups.EGrpLGenPool"
+        ],
+        "dataPathList": [
+            [
+                2,
+                0
+            ],
+            [
+                2,
+                1
+            ],
+            [
+                2,
+                2
+            ],
+            [
+                2,
+                3
+            ],
+            [
+                2,
+                4
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.ScInstanceName"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.ScStatus"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScPhaseListName"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.CurrentCPS"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.ScTargetCPS"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.ScRegulatorName",
+            "EntityGroups.Scenarios.IsWeightedSc.Regulators"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                2
+            ],
+            [
+                2,
+                7,
+                6,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpCurrentPhase",
+            "EntityGroups.Scenarios.IsInScGroup.Phases"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                3
+            ],
+            [
+                2,
+                7,
+                5,
+                2
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpMode"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                4
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpStatus"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                5
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpStart"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpTerminate"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                7
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpReset"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                8
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScGrpScStatus"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                9
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.ScStartButton",
+            "EntityGroups.Scenarios.ScStopButton",
+            "EntityGroups.Scenarios.ScReset"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                2
+            ],
+            [
+                2,
+                7,
+                3
+            ],
+            [
+                2,
+                7,
+                4
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Condition",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Condition",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "header": [
+                "Traffic Case",
+                "Status",
+                "Start",
+                "Stop"
+            ],
+            "streamingThreshold": 10,
+            "rangeFilterCount": 10
+        },
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.sizeOf",
+            "EntityGroups.Scenarios.TrafficCases"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                3
+            ],
+            [
+                2,
+                7,
+                7
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcSingleShotEntityIdx",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcSingleShotEnableLog",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcSingleShotStart"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                11
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                12
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                13
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcTargetCPSOrWeight"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcRegulator",
+            "EntityGroups.Scenarios.IsWeightedSc.Regulators"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                2
+            ],
+            [
+                2,
+                7,
+                6,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcGroupFinishStatus"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                3
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStatus"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                4
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStartButton"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                5
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStopButton"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Condition",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcRegulator"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                2
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcExecTime",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGoS"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                7
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                0
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                1
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                2
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                3
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                4
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                5
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                6
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                7
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                8
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                9
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                10
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                11
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                12
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                13
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "iteratorIsHeader": true,
+            "transposeTable": true
+        },
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.FsmStats"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                8
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStatDelta",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStatDelta",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStatDelta",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStatDelta",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStatDelta",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcStatDelta"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                14
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                14
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                15
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                16
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                17
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                18
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat.TcGrpFinishStatus"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                19
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                19
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                20
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                21
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                22
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                23
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                24
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                25
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                7,
+                26
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "allowScrollBelow": false,
+            "streamingThreshold": 20,
+            "rangeFilterCount": 20,
+            "name": "Select entitygroup"
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "EntityGroups"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [
+            "EntityGroups"
+        ],
+        "selectionToControlPathList": [
+            [
+                2
+            ]
+        ]
+    },
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "Select scenario",
+            "allowScrollBelow": false,
+            "streamingThreshold": 18,
+            "rangeFilterCount": 18
+        },
+        "dataPathStrList": [
+            "EntityGroups.sizeOf",
+            "EntityGroups.Scenarios"
+        ],
+        "dataPathList": [
+            [
+                2,
+                5
+            ],
+            [
+                2,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [
+            "EntityGroups.Scenarios"
+        ],
+        "selectionToControlPathList": [
+            [
+                2,
+                7
+            ]
+        ]
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "Select traffic case",
+            "streamingThreshold": 12,
+            "rangeFilterCount": 12,
+            "allowScrollBelow": false
+        },
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.sizeOf",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                3
+            ],
+            [
+                2,
+                7,
+                6,
+                4
+            ]
+        ],
+        "selectionToControlPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases"
+        ],
+        "selectionToControlPathList": [
+            [
+                2,
+                7,
+                6,
+                5
+            ]
+        ]
+    },
+    {
+        "class": "CViewModel_RequestToggle",
+        "customData": {
+            "toggleGroups": [
+                0,
+                2
+            ]
+        },
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases",
+            "EntityGroups.Scenarios.TrafficCases"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                4
+            ],
+            [
+                2,
+                7,
+                6,
+                5
+            ],
+            [
+                2,
+                7,
+                7
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_RequestToggle",
+        "customData": {
+            "toggleGroups": [
+                0,
+                1,
+                2
+            ]
+        },
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.FsmStats",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcTargetCPSOrWeight"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                7
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                8
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                9
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                10
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsInScGroup.ScScGrpName"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                5,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Chart",
+        "customData": {
+            "dataSet": [
+                {
+                    "label": "Current CPS",
+                    "color": "#FF0000"
+                },
+                {
+                    "label": "Target CPS",
+                    "color": "#00FF00"
+                }
+            ]
+        },
+        "dataPathStrList": [
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcStat",
+            "EntityGroups.Scenarios.IsWeightedSc.TrafficCases.TcTargetCPSOrWeight"
+        ],
+        "dataPathList": [
+            [
+                2,
+                7,
+                6,
+                5,
+                9
+            ],
+            [
+                2,
+                7,
+                6,
+                5,
+                10
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Desktop.json
new file mode 100644
index 0000000..0774e9a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Desktop.json
@@ -0,0 +1,29 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 30,
+                "left": 201
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 29.600006103515625,
+                "left": 426
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 30,
+            "left": 623
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": []
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Request.json
new file mode 100644
index 0000000..b08f27e
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Request.json
@@ -0,0 +1,26 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EndOfConfig"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "ReadyToRun"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "GUIDone"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EndOfTest"
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Setup.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Setup.css
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Setup.html
new file mode 100644
index 0000000..3706ff5
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/Setup.html
@@ -0,0 +1 @@
+<div id="EPTF_CLL_ExecCtrl_Status"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/ViewInstances.json
new file mode 100644
index 0000000..32094a8
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/ViewInstances.json
@@ -0,0 +1,51 @@
+[
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "subviews": [
+                {
+                    "subView": "CView_StatusLED",
+                    "isElementLabelPresent": true
+                },
+                {
+                    "subView": "CView_StatusLED",
+                    "isElementLabelPresent": true
+                },
+                {
+                    "subView": "CView_StatusLED",
+                    "isElementLabelPresent": true
+                },
+                {
+                    "subView": "CView_StatusLED",
+                    "isElementLabelPresent": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true,
+                    "isElementLabelPresent": true,
+                    "elementText": "ExecCtrl Status:",
+                    "text": " "
+                }
+            ],
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "float": "right",
+                    "padding": "0px 10px"
+                },
+                ".CustomizableApp_LabelAtTop": {
+                    "font-weight": "bold"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Status"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/ViewModelInstances.json
new file mode 100644
index 0000000..5105438
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_Status/ViewModelInstances.json
@@ -0,0 +1,32 @@
+[
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "EndOfTest",
+            "GUIDone",
+            "ReadyToRun",
+            "EndOfConfig",
+            "EndOfConfig"
+        ],
+        "dataPathList": [
+            [
+                3
+            ],
+            [
+                2
+            ],
+            [
+                1
+            ],
+            [
+                0
+            ],
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Desktop.json
new file mode 100644
index 0000000..6d471c4
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Desktop.json
@@ -0,0 +1,79 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 124,
+                "left": 677
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 55,
+                "left": 482
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 184,
+                "left": 501
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 85,
+                "left": 917
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 205,
+                "left": 1169
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 155,
+                "left": 925
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 225,
+            "left": 1323
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 291,
+                "left": 928
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 271,
+                "left": 981
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 58,
+                "left": 1007
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Imports.json
new file mode 100644
index 0000000..b33258c
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Imports.json
@@ -0,0 +1,14 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_Status",
+        "parentID": "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_3"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Request.json
new file mode 100644
index 0000000..4660ef5
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Request.json
@@ -0,0 +1,455 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "ScenariosOnClients"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "ScenariosOnClients",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "ClientOfScenariosOnClients",
+                        "params": [
+                            {
+                                "paramName": "ScenarioOnClient",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "EntityGroupOfScenariosOnClients",
+                                    "params": [
+                                        {
+                                            "paramName": "ScenarioOnClient",
+                                            "paramValue": "%Parent0%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScenarioOfScenariosOnClients",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioOnClient",
+                                                        "paramValue": "%Parent0%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "ScStatusForLGen",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "LGen",
+                                                                    "paramValue": "%Parent1%"
+                                                                },
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 10
+            }
+        }
+    },
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "sizeOf",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "TrafficCasesOfScenarios"
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "TrafficCasesOfScenarios",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "ScenarioOfTrafficCasesOfScenarios",
+                        "params": [
+                            {
+                                "paramName": "TrafficCaseOfScenario",
+                                "paramValue": "%Parent0%"
+                            }
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "ExecCtrl",
+                                    "element": "EntityGroupOfScenarioInstance",
+                                    "params": [
+                                        {
+                                            "paramName": "ScenarioInstance",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "ExecCtrl",
+                                                "element": "ScenarioTypeNameOfScenarioInstance",
+                                                "params": [
+                                                    {
+                                                        "paramName": "ScenarioInstance",
+                                                        "paramValue": "%Parent1%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "ExecCtrl",
+                                                            "element": "IsWeightedSc",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "EntityGroup",
+                                                                    "paramValue": "%Parent2%"
+                                                                },
+                                                                {
+                                                                    "paramName": "Scenario",
+                                                                    "paramValue": "%Parent3%"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "ScIsWeighted",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "ScStatus",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "ScStartButton",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ],
+                                                                        "writableInfo": true
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "ScStopButton",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ],
+                                                                        "writableInfo": true
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "ScCPS",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "EntityGroup",
+                                                                                "paramValue": "%Parent2%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "Scenario",
+                                                                                "paramValue": "%Parent3%"
+                                                                            }
+                                                                        ],
+                                                                        "filter": {
+                                                                            "dataValue": "%Parent4%"
+                                                                        }
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "ExecCtrl",
+                                                                        "element": "TrafficCaseOfTrafficCasesOfScenarios",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "TrafficCaseOfScenario",
+                                                                                "paramValue": "%Parent0%"
+                                                                            }
+                                                                        ],
+                                                                        "children": [
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "ExecCtrl",
+                                                                                    "element": "TcStartButton",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent5%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "writableInfo": true
+                                                                                }
+                                                                            },
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "ExecCtrl",
+                                                                                    "element": "TcStopButton",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent5%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "writableInfo": true
+                                                                                }
+                                                                            },
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "ExecCtrl",
+                                                                                    "element": "TcStartDelay",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent5%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "filter": {
+                                                                                        "request": {
+                                                                                            "source": "DataSource",
+                                                                                            "element": "not",
+                                                                                            "params": [
+                                                                                                {
+                                                                                                    "paramName": "Par1",
+                                                                                                    "paramValue": {
+                                                                                                        "dataValue": "%Parent4%"
+                                                                                                    }
+                                                                                                }
+                                                                                            ]
+                                                                                        }
+                                                                                    }
+                                                                                }
+                                                                            },
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "ExecCtrl",
+                                                                                    "element": "TcTargetCPSOrWeight",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent5%"
+                                                                                        }
+                                                                                    ]
+                                                                                }
+                                                                            },
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "ExecCtrl",
+                                                                                    "element": "TcTimeProfile",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent5%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "filter": {
+                                                                                        "request": {
+                                                                                            "source": "ExecCtrl",
+                                                                                            "element": "TcHasTimeProfile",
+                                                                                            "params": [
+                                                                                                {
+                                                                                                    "paramName": "EntityGroup",
+                                                                                                    "paramValue": {
+                                                                                                        "dataValue": "%Parent2%"
+                                                                                                    }
+                                                                                                },
+                                                                                                {
+                                                                                                    "paramName": "Scenario",
+                                                                                                    "paramValue": {
+                                                                                                        "dataValue": "%Parent3%"
+                                                                                                    }
+                                                                                                },
+                                                                                                {
+                                                                                                    "paramName": "TrafficCase",
+                                                                                                    "paramValue": {
+                                                                                                        "dataValue": "%Parent5%"
+                                                                                                    }
+                                                                                                }
+                                                                                            ]
+                                                                                        }
+                                                                                    }
+                                                                                }
+                                                                            },
+                                                                            {
+                                                                                "getData": {
+                                                                                    "source": "ExecCtrl",
+                                                                                    "element": "TcRegulator",
+                                                                                    "params": [
+                                                                                        {
+                                                                                            "paramName": "EntityGroup",
+                                                                                            "paramValue": "%Parent2%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "Scenario",
+                                                                                            "paramValue": "%Parent3%"
+                                                                                        },
+                                                                                        {
+                                                                                            "paramName": "TrafficCase",
+                                                                                            "paramValue": "%Parent5%"
+                                                                                        }
+                                                                                    ],
+                                                                                    "filter": {
+                                                                                        "request": {
+                                                                                            "source": "DataSource",
+                                                                                            "element": "not",
+                                                                                            "params": [
+                                                                                                {
+                                                                                                    "paramName": "Par1",
+                                                                                                    "paramValue": {
+                                                                                                        "dataValue": "%Parent4%"
+                                                                                                    }
+                                                                                                }
+                                                                                            ]
+                                                                                        }
+                                                                                    }
+                                                                                }
+                                                                            }
+                                                                        ]
+                                                                    }
+                                                                }
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ],
+            "rangeFilter": {
+                "offset": 0,
+                "count": 10
+            }
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Setup.css
new file mode 100644
index 0000000..3f78727
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_TrafficCases {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Setup.html
new file mode 100644
index 0000000..c56ba26
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_TrafficCases"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/ViewInstances.json
new file mode 100644
index 0000000..476a264
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/ViewInstances.json
@@ -0,0 +1,126 @@
+[
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1,
+                    "subView": "CView_StatusLED"
+                }
+            ],
+            "class": "TableGray"
+        },
+        "viewModelIndexes": [
+            1,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "css": {
+                "overflow": "auto"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_2",
+            "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_TrafficCases"
+    },
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 3
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 2,
+                    "subView": "CView_StatusLED"
+                },
+                {
+                    "flex": 1,
+                    "subView": "CView_BasicButton"
+                },
+                {
+                    "flex": 1,
+                    "subView": "CView_BasicButton"
+                },
+                {
+                    "flex": 2,
+                    "subView": "CView_Label"
+                },
+                {
+                    "flex": 3
+                },
+                {
+                    "flex": 1,
+                    "subView": "CView_BasicButton"
+                },
+                {
+                    "flex": 1,
+                    "subView": "CView_BasicButton"
+                },
+                {
+                    "flex": 2,
+                    "subView": "CView_Label"
+                },
+                {
+                    "flex": 2,
+                    "subView": "CView_Label"
+                },
+                {
+                    "flex": 2,
+                    "subView": "CView_Label"
+                },
+                {
+                    "flex": 2,
+                    "subView": "CView_Label"
+                }
+            ],
+            "class": "TableGray",
+            "processCss": {
+                "INPUT": {
+                    "width": "100%"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            2,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_TrafficCases_CView_Aligner_2"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/ViewModelInstances.json
new file mode 100644
index 0000000..ffaa19c
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ExecCtrl_TrafficCases/ViewModelInstances.json
@@ -0,0 +1,222 @@
+[
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "Scenario distribution overview",
+            "iteratorColumnPosition": -1,
+            "allowScrollBelow": false,
+            "streamingThreshold": 10,
+            "header": [
+                "Client name",
+                "Entity groups",
+                "Scenario name",
+                "Client status"
+            ]
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "ScenariosOnClients",
+            "ScenariosOnClients.ClientOfScenariosOnClients",
+            "ScenariosOnClients.ClientOfScenariosOnClients.EntityGroupOfScenariosOnClients",
+            "ScenariosOnClients.ClientOfScenariosOnClients.EntityGroupOfScenariosOnClients.ScenarioOfScenariosOnClients",
+            "ScenariosOnClients.ClientOfScenariosOnClients.EntityGroupOfScenariosOnClients.ScenarioOfScenariosOnClients.ScStatusForLGen"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                1
+            ],
+            [
+                1,
+                0
+            ],
+            [
+                1,
+                0,
+                0
+            ],
+            [
+                1,
+                0,
+                0,
+                0
+            ],
+            [
+                1,
+                0,
+                0,
+                0,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "name": "Traffic case overview",
+            "header": [
+                "Scenario name",
+                "Type",
+                "Status",
+                "Start",
+                "Stop",
+                "CPS",
+                "Traffic cases",
+                "StartTC",
+                "StopTC",
+                "Start delay",
+                "TargetCPS/Weight",
+                "TimeProfile",
+                "Regulator"
+            ],
+            "iteratorColumnPosition": -1,
+            "allowScrollBelow": false,
+            "streamingThreshold": 10
+        },
+        "dataPathStrList": [
+            "sizeOf",
+            "TrafficCasesOfScenarios",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.ScIsWeighted",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.ScStatus",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.ScStartButton",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.ScStopButton",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.ScCPS",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios.TcStartButton",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios.TcStopButton",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios.TcStartDelay",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios.TcTargetCPSOrWeight",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios.TcTimeProfile",
+            "TrafficCasesOfScenarios.ScenarioOfTrafficCasesOfScenarios.EntityGroupOfScenarioInstance.ScenarioTypeNameOfScenarioInstance.IsWeightedSc.TrafficCaseOfTrafficCasesOfScenarios.TcRegulator"
+        ],
+        "dataPathList": [
+            [
+                2
+            ],
+            [
+                3
+            ],
+            [
+                3,
+                0
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                0
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                1
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                2
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                3
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                4
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5,
+                0
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5,
+                1
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5,
+                2
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5,
+                3
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5,
+                4
+            ],
+            [
+                3,
+                0,
+                0,
+                0,
+                0,
+                5,
+                5
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Desktop.json
new file mode 100644
index 0000000..d891e3a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Desktop.json
@@ -0,0 +1,268 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 130,
+                "left": 286
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 30,
+                "left": 293
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 106,
+                "left": 321
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 508,
+                "left": 313
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 311,
+                "left": 291
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 460,
+                "left": 307
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 270,
+                "left": 289
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 191,
+                "left": 293
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 216,
+                "left": 295
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 242,
+                "left": 295
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 9,
+                "left": 745
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 630,
+                "left": 350
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 679,
+                "left": 344
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 134,
+                "left": 791
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 212,
+                "left": 1103
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 75,
+                "left": 564
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 508,
+                "left": 575
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 312,
+                "left": 590
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 335,
+                "left": 827
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 461,
+                "left": 583
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 341,
+                "left": 629
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 405,
+                "left": 741
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 269,
+                "left": 579
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 163,
+                "left": 714
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 190,
+                "left": 582
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 218,
+                "left": 582
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 243,
+                "left": 580
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 104,
+                "left": 578
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 249,
+                "left": 999
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 109,
+                "left": 1218
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 309,
+                "left": 1171
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 75,
+                "left": 1304
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 631,
+                "left": 819
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 677,
+                "left": 817
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 104,
+            "left": 1474
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 353,
+                "left": 1209
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 34,
+                "left": 1208
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Imports.json
new file mode 100644
index 0000000..8be8689
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Imports.json
@@ -0,0 +1,10 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Request.json
new file mode 100644
index 0000000..9bddda7
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Request.json
@@ -0,0 +1,418 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "dataElementPresent",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "HostAdminServer"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "Hosts"
+                }
+            ],
+            "children": [
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "Hosts",
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "CpuLoad",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "PhysicalMemHRF",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "FreeMemHRF",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "DataSource",
+                        "element": "sizeOf",
+                        "params": [
+                            {
+                                "paramName": "Source",
+                                "paramValue": "HostAdminServer"
+                            },
+                            {
+                                "paramName": "Element",
+                                "paramValue": "Hosts"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "Hosts",
+                        "rangeFilter": {
+                            "offset": 0,
+                            "count": 30
+                        }
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "Hosts",
+                        "selection": [
+                            0
+                        ],
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "PhysicalMemHRF",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "FreeMemHRF",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "CpuLoad",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "CPUs",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "HostAdminServer",
+                                                "element": "PerCpuLoad",
+                                                "params": [
+                                                    {
+                                                        "paramName": "HostName",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "CpuIdx",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "ProcessesOnHost",
+                                    "params": [
+                                        {
+                                            "paramName": "HostName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "children": [
+                                        {
+                                            "getData": {
+                                                "source": "HostAdminServer",
+                                                "element": "SelfName",
+                                                "params": [
+                                                    {
+                                                        "paramName": "HostName",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "ProcessIdx",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "HostAdminServer",
+                                                "element": "PID",
+                                                "params": [
+                                                    {
+                                                        "paramName": "HostName",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "ProcessIdx",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "HostAdminServer",
+                                                "element": "CpuLoad",
+                                                "params": [
+                                                    {
+                                                        "paramName": "HostName",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "ProcessIdx",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ],
+                                                "children": [
+                                                    {
+                                                        "getData": {
+                                                            "source": "DataSource",
+                                                            "element": "PTCs",
+                                                            "params": [
+                                                                {
+                                                                    "paramName": "Source",
+                                                                    "paramValue": "DataSource"
+                                                                }
+                                                            ],
+                                                            "children": [
+                                                                {
+                                                                    "getData": {
+                                                                        "source": "StatManager",
+                                                                        "element": "LEDlimit",
+                                                                        "params": [
+                                                                            {
+                                                                                "paramName": "greenLimit",
+                                                                                "paramValue": "0.0"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "yellowLimit",
+                                                                                "paramValue": "80.0"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "redLimit",
+                                                                                "paramValue": "95.0"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "defaultColor",
+                                                                                "paramValue": "green"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "enableValueInLEDText",
+                                                                                "paramValue": "yes"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "value",
+                                                                                "paramValue": "%Parent3%"
+                                                                            },
+                                                                            {
+                                                                                "paramName": "refValue",
+                                                                                "paramValue": "100.0"
+                                                                            }
+                                                                        ],
+                                                                        "ptcname": "%Parent4%"
+                                                                    }
+                                                                }
+                                                            ],
+                                                            "selection": [
+                                                                0
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        },
+                                        {
+                                            "getData": {
+                                                "source": "HostAdminServer",
+                                                "element": "MemUsageHRF",
+                                                "params": [
+                                                    {
+                                                        "paramName": "HostName",
+                                                        "paramValue": "%Parent1%"
+                                                    },
+                                                    {
+                                                        "paramName": "ProcessIdx",
+                                                        "paramValue": "%Parent2%"
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "ProcessSortOption"
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "ProcessSortOptionList"
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "ProcessNames",
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "HostName",
+                                    "params": [
+                                        {
+                                            "paramName": "SelfName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "PID",
+                                    "params": [
+                                        {
+                                            "paramName": "SelfName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "CpuLoad",
+                                    "params": [
+                                        {
+                                            "paramName": "SelfName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            },
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "MemUsageHRF",
+                                    "params": [
+                                        {
+                                            "paramName": "SelfName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "ProcessNames",
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "MemUsage",
+                                    "params": [
+                                        {
+                                            "paramName": "SelfName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "timeline": {
+                                        "maxpoints": 31
+                                    }
+                                }
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "HostAdminServer",
+                        "element": "ProcessNames",
+                        "children": [
+                            {
+                                "getData": {
+                                    "source": "HostAdminServer",
+                                    "element": "CpuLoad",
+                                    "params": [
+                                        {
+                                            "paramName": "SelfName",
+                                            "paramValue": "%Parent1%"
+                                        }
+                                    ],
+                                    "timeline": {
+                                        "maxpoints": 31
+                                    }
+                                }
+                            }
+                        ]
+                    }
+                }
+            ],
+            "filter": {
+                "dataValue": "%Parent0%"
+            }
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Setup.css
new file mode 100644
index 0000000..e95cf0d
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_HostAdminServer {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Setup.html
new file mode 100644
index 0000000..54d5733
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_HostAdminServer"></div>
+<div id="EPTF_CLL_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/ViewInstances.json
new file mode 100644
index 0000000..8edd775
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/ViewInstances.json
@@ -0,0 +1,475 @@
+[
+    {
+        "class": "CView_ElementTableForLargeData",
+        "customData": {
+            "class": "TableGray",
+            "autoHeight": true,
+            "flex": 1,
+            "displayName": false
+        },
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_2",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_3",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_4"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0"
+    },
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "class": "TableGray",
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "displayName": false,
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                }
+            ]
+        },
+        "viewModelIndexes": [
+            1,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "class": "TableGray",
+            "name": "All EPTF processes",
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                }
+            ],
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            3,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_2"
+    },
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "class": "TableGray",
+            "name": "Processes on this host",
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                },
+                {
+                    "subView": "CView_StatusLED",
+                    "flex": 1
+                },
+                {
+                    "flex": 1
+                }
+            ],
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "autoHeight": true
+        },
+        "viewModelIndexes": [
+            4,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical",
+            "processCss": {
+                "INPUT:disabled": {
+                    "color": "black"
+                }
+            },
+            "flex": 9
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ComboBox",
+        "customData": {},
+        "viewModelIndexes": [
+            5
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Label",
+        "customData": {
+            "text": "Sort processes by: ",
+            "disabled": true
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_2"
+    },
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "class": "TableGray",
+            "displayName": false,
+            "displayHeader": false,
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 1,
+                    "subView": "CView_Label",
+                    "disabled": true
+                },
+                {
+                    "flex": 1,
+                    "subView": "CView_Label",
+                    "disabled": true
+                }
+            ],
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "0px 4px 4px 4px",
+                "border-bottom": "1px solid gray",
+                "border-left": "1px solid gray",
+                "border-right": "1px solid gray"
+            }
+        },
+        "viewModelIndexes": [
+            6,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_1",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_2",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_3"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Label",
+                    "text": "Physical memory",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "padding": "0px 4px 0px 4px",
+                "border-left": "1px solid gray",
+                "border-right": "1px solid gray"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "background-color": "#d0d0d0"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            7,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Label",
+                    "text": "Free memory",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "padding": "0px 4px",
+                "border-left": "1px solid gray",
+                "border-right": "1px solid gray"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "background-color": "#d0d0d0"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            8,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_2"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Label",
+                    "text": "CPU load [%]",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "padding": "0px 4px",
+                "border-left": "1px solid gray",
+                "border-right": "1px solid gray"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "background-color": "#d0d0d0"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            9,
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_3"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "subviews": [
+                {
+                    "subView": "CView_Label",
+                    "text": "Host Statistics",
+                    "disabled": true
+                },
+                {
+                    "subView": "CView_Label",
+                    "text": "Value",
+                    "disabled": true
+                }
+            ],
+            "flexCalculation": true,
+            "css": {
+                "padding": "4px 4px 0px 4px",
+                "border-top": "1px solid gray",
+                "border-left": "1px solid gray",
+                "border-right": "1px solid gray"
+            },
+            "processCss": {
+                ".Aligner_Horizontal_Content": {
+                    "background-color": "#8d8d8d",
+                    "border-bottom": "1px solid black"
+                },
+                "INPUT": {
+                    "font-size": "14px",
+                    "font-weight": "bold"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1_CView_Aligner_0_CView_Aligner_0"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "flexCalculation": true,
+            "resizable": true
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Condition",
+        "customData": {},
+        "viewModelIndexes": [
+            10
+        ],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_1"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1"
+    },
+    {
+        "class": "CView_Div",
+        "customData": {
+            "text": "HostAdminServer is disabled!",
+            "css": {
+                "font-size": "20px",
+                "font-weight": "bold",
+                "text-align": "center"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_1"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "overflow": "auto"
+            },
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_HostAdminServer_CView_Aligner_0",
+            "EPTF_CLL_HostAdminServer_CView_Aligner_1"
+        ],
+        "parentID": "EPTF_CLL_HostAdminServer"
+    },
+    {
+        "class": "CView_Chart",
+        "customData": {
+            "width": "100%",
+            "type": "timeseries",
+            "yTicksFormat": "data",
+            "zoomAndPan": false,
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "title": "Memory Usage"
+        },
+        "viewModelIndexes": [
+            11
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_3"
+    },
+    {
+        "class": "CView_Chart",
+        "customData": {
+            "width": "100%",
+            "type": "timeseries",
+            "yTicksFormat": "percent",
+            "zoomAndPan": false,
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "title": "CPU Load"
+        },
+        "viewModelIndexes": [
+            12
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_HostAdminServer_CView_Aligner_1_CView_Condition_0_CView_Aligner_4"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/ViewModelInstances.json
new file mode 100644
index 0000000..2682a02
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_HostAdminServer/ViewModelInstances.json
@@ -0,0 +1,299 @@
+[
+    {
+        "class": "CViewModel_TableForLargeData",
+        "customData": {
+            "header": [],
+            "allowScrollBelow": false,
+            "streamingThreshold": 30
+        },
+        "dataPathStrList": [
+            "dataElementPresent.sizeOf",
+            "dataElementPresent.Hosts"
+        ],
+        "dataPathList": [
+            [
+                0,
+                1
+            ],
+            [
+                0,
+                2
+            ]
+        ],
+        "selectionToControlPathStrList": [
+            "dataElementPresent.Hosts"
+        ],
+        "selectionToControlPathList": [
+            [
+                0,
+                3
+            ]
+        ]
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "Host",
+                "CPU Load [%]",
+                "Physical Memory",
+                "Free Memory"
+            ]
+        },
+        "dataPathStrList": [
+            "dataElementPresent.Hosts"
+        ],
+        "dataPathList": [
+            [
+                0,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "EPTF Process",
+                "Host",
+                "PID",
+                "CPU Load [%]",
+                "Memory Usage"
+            ]
+        },
+        "dataPathStrList": [
+            "dataElementPresent.ProcessNames"
+        ],
+        "dataPathList": [
+            [
+                0,
+                6
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "EPTF Process",
+                "PID",
+                "CPU Load [%]",
+                "Memory Usage"
+            ],
+            "iteratorColumnPosition": -1
+        },
+        "dataPathStrList": [
+            "dataElementPresent.Hosts.ProcessesOnHost",
+            "dataElementPresent.Hosts.ProcessesOnHost.SelfName",
+            "dataElementPresent.Hosts.ProcessesOnHost.PID",
+            "dataElementPresent.Hosts.ProcessesOnHost.CpuLoad.PTCs.LEDlimit",
+            "dataElementPresent.Hosts.ProcessesOnHost.MemUsageHRF"
+        ],
+        "dataPathList": [
+            [
+                0,
+                3,
+                4
+            ],
+            [
+                0,
+                3,
+                4,
+                0
+            ],
+            [
+                0,
+                3,
+                4,
+                1
+            ],
+            [
+                0,
+                3,
+                4,
+                2,
+                0,
+                0
+            ],
+            [
+                0,
+                3,
+                4,
+                3
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.ProcessSortOption",
+            "dataElementPresent.ProcessSortOptionList"
+        ],
+        "dataPathList": [
+            [
+                0,
+                4
+            ],
+            [
+                0,
+                5
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "dataManipulator": [
+                {
+                    "text": "CPU # Load [%]"
+                }
+            ]
+        },
+        "dataPathStrList": [
+            "dataElementPresent.Hosts.CPUs",
+            "dataElementPresent.Hosts.CPUs.PerCpuLoad"
+        ],
+        "dataPathList": [
+            [
+                0,
+                3,
+                3
+            ],
+            [
+                0,
+                3,
+                3,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.Hosts.PhysicalMemHRF",
+            "dataElementPresent.Hosts.PhysicalMemHRF"
+        ],
+        "dataPathList": [
+            [
+                0,
+                3,
+                0
+            ],
+            [
+                0,
+                3,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.Hosts.FreeMemHRF",
+            "dataElementPresent.Hosts.FreeMemHRF"
+        ],
+        "dataPathList": [
+            [
+                0,
+                3,
+                1
+            ],
+            [
+                0,
+                3,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.Hosts.CpuLoad",
+            "dataElementPresent.Hosts.CpuLoad"
+        ],
+        "dataPathList": [
+            [
+                0,
+                3,
+                2
+            ],
+            [
+                0,
+                3,
+                2
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Condition",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent"
+        ],
+        "dataPathList": [
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Chart",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.ProcessNames"
+        ],
+        "dataPathList": [
+            [
+                0,
+                7
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Chart",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.ProcessNames"
+        ],
+        "dataPathList": [
+            [
+                0,
+                8
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Desktop.json
new file mode 100644
index 0000000..fb8a992
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Desktop.json
@@ -0,0 +1,57 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 27,
+                "left": 271
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 51,
+                "left": 271
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 3,
+                "left": 271
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 51,
+                "left": 494
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 3,
+                "left": 604
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 73,
+                "left": 533
+            },
+            "visible": false
+        }
+    ],
+    "Imports": [],
+    "HtmlEditor": {
+        "pos": {
+            "top": 3,
+            "left": 773
+        },
+        "visible": false
+    },
+    "RequestEditor": {}
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Request.json
new file mode 100644
index 0000000..5a84d67
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Request.json
@@ -0,0 +1,55 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "dataElementPresent",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "ExecCtrl"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "Progressbar"
+                }
+            ],
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "Progressbar",
+                        "filter": {
+                            "request": {
+                                "source": "DataSource",
+                                "element": "!=",
+                                "params": [
+                                    {
+                                        "paramName": "Par1",
+                                        "paramValue": {
+                                            "dataValue": "%Parent1%"
+                                        }
+                                    },
+                                    {
+                                        "paramName": "Par2",
+                                        "paramValue": {
+                                            "dataValue": "100.0"
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "ProgressbarText"
+                    }
+                }
+            ],
+            "filter": {
+                "dataValue": "%Parent0%"
+            }
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Setup.css
new file mode 100644
index 0000000..cfbe6ad
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Setup.css
@@ -0,0 +1,4 @@
+#EPTF_CLL_ProgressBar {
+    height: 100%;
+    width: 100%;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Setup.html
new file mode 100644
index 0000000..34d83b8
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/Setup.html
@@ -0,0 +1 @@
+<div id="EPTF_CLL_ProgressBar"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/ViewInstances.json
new file mode 100644
index 0000000..6976d48
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/ViewInstances.json
@@ -0,0 +1,48 @@
+[
+    {
+        "class": "CView_ProgressBar",
+        "customData": {},
+        "viewModelIndexes": [
+            1
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ProgressBar_CView_Condition_0"
+    },
+    {
+        "class": "CView_Condition",
+        "customData": {
+            "css": {
+                "height": "100%",
+                "width": "100%"
+            },
+            "processCss": {
+                "> div > div": {
+                    "height": "100%",
+                    "width": "100%"
+                }
+            }
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [
+            "EPTF_CLL_ProgressBar_CView_Condition_0",
+            "EPTF_CLL_ProgressBar_CView_Condition_1"
+        ],
+        "parentID": "EPTF_CLL_ProgressBar"
+    },
+    {
+        "class": "CView_Div",
+        "customData": {
+            "text": "Loading ExecCtrl...",
+            "css": {
+                "font-size": "20px",
+                "font-weight": "bold",
+                "text-align": "center"
+            }
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ProgressBar_CView_Condition_1"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/ViewModelInstances.json
new file mode 100644
index 0000000..c4a0057
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_ProgressBar/ViewModelInstances.json
@@ -0,0 +1,54 @@
+[
+    {
+        "class": "CViewModel_SetupLoaderBasedOnCondition",
+        "customData": {
+            "setupToLoad": "EPTF_CLL_ExecCtrl_Statistics",
+            "negate": true
+        },
+        "dataPathStrList": [
+            "dataElementPresent.Progressbar"
+        ],
+        "dataPathList": [
+            [
+                0,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent.Progressbar",
+            "dataElementPresent.ProgressbarText"
+        ],
+        "dataPathList": [
+            [
+                0,
+                0
+            ],
+            [
+                0,
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_Condition",
+        "customData": {},
+        "dataPathStrList": [
+            "dataElementPresent"
+        ],
+        "dataPathList": [
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Desktop.json
new file mode 100644
index 0000000..d0f5c40
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Desktop.json
@@ -0,0 +1,29 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 59,
+                "left": 331
+            },
+            "visible": true
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 56,
+                "left": 662
+            },
+            "visible": true
+        }
+    ],
+    "Imports": [],
+    "HtmlEditor": {
+        "pos": {
+            "top": 0,
+            "left": 970
+        },
+        "visible": true
+    },
+    "RequestEditor": {}
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Request.json
new file mode 100644
index 0000000..8aca3c7
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Request.json
@@ -0,0 +1,18 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "dataElementPresent",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "HostAdminServer"
+                },
+                {
+                    "paramName": "Element",
+                    "paramValue": "Hosts"
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Setup.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Setup.css
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Setup.html
new file mode 100644
index 0000000..0cd8298
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/Setup.html
@@ -0,0 +1 @@
+<div id="EPTF_CLL_SetupTabs"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/ViewInstances.json
new file mode 100644
index 0000000..e4bf476
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/ViewInstances.json
@@ -0,0 +1,11 @@
+[
+    {
+        "class": "CView_SetupTabs",
+        "customData": {},
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_SetupTabs"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/ViewModelInstances.json
new file mode 100644
index 0000000..c2f62ac
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_SetupTabs/ViewModelInstances.json
@@ -0,0 +1,78 @@
+[
+    {
+        "class": "CViewModel_SetupTabs",
+        "customData": {
+            "hierarchy": {
+                "menuElements": [
+                    {
+                        "type": "organizer",
+                        "displayName": "ExecCtrl",
+                        "menuElements": [
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_Statistics",
+                                "displayName": "Statistics"
+                            },
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_EntityGroups",
+                                "displayName": "Entity Groups"
+                            },
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_ClientResources",
+                                "displayName": "Client Resources"
+                            },
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_TrafficCases",
+                                "displayName": "Traffic Cases"
+                            },
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_PhaseLists",
+                                "displayName": "Phase Lists"
+                            },
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_Regulator",
+                                "displayName": "Regulator"
+                            },
+                            {
+                                "type": "setup",
+                                "setupName": "EPTF_CLL_ExecCtrl_Clients",
+                                "displayName": "Clients"
+                            }
+                        ]
+                    },
+                    {
+                        "type": "setup",
+                        "setupName": "EPTF_CLL_StatHandler",
+                        "displayName": "StatHandler"
+                    },
+                    {
+                        "type": "setup",
+                        "setupName": "EPTF_CLL_HostAdminServer",
+                        "displayName": "HostAdminServer",
+                        "isVisible": 0
+                    },
+                    {
+                        "type": "setup",
+                        "setupName": "Setup_IMSBasic",
+                        "displayName": "Next Gen"
+                    }
+                ]
+            }
+        },
+        "dataPathStrList": [
+            "dataElementPresent"
+        ],
+        "dataPathList": [
+            [
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Desktop.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Desktop.json
new file mode 100644
index 0000000..02e865b
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Desktop.json
@@ -0,0 +1,72 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 30,
+                "left": 214
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 5,
+                "left": 201
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 74,
+                "left": 203
+            },
+            "visible": false
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 33,
+                "left": 424
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 74,
+                "left": 422
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 55,
+                "left": 551
+            },
+            "visible": false
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 85,
+            "left": 731
+        },
+        "visible": false
+    },
+    "RequestEditor": {},
+    "Imports": [
+        {
+            "pos": {
+                "top": 114,
+                "left": 467
+            },
+            "visible": false
+        },
+        {
+            "pos": {
+                "top": 10,
+                "left": 456
+            },
+            "visible": false
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Imports.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Imports.json
new file mode 100644
index 0000000..895d970
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Imports.json
@@ -0,0 +1,10 @@
+[
+    {
+        "setupName": "EPTF_CLL_ExecCtrl_CommonControls",
+        "parentID": "EPTF_CLL_ExecCtrl_CommonControls"
+    },
+    {
+        "setupName": "EPTF_CLL_SetupTabs",
+        "parentID": "EPTF_CLL_ExecCtrl_Stathandler_CView_Aligner_0"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Request.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Request.json
new file mode 100644
index 0000000..97a56c8
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Request.json
@@ -0,0 +1,47 @@
+[
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "PTCs",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "StatHandler"
+                }
+            ],
+            "children": [
+                {
+                    "getData": {
+                        "source": "StatHandler",
+                        "element": "ResetComponent",
+                        "ptcname": "%Parent0%"
+                    }
+                }
+            ]
+        }
+    },
+    {
+        "getData": {
+            "source": "DataSource",
+            "element": "PTCs",
+            "params": [
+                {
+                    "paramName": "Source",
+                    "paramValue": "StatHandler"
+                }
+            ],
+            "selection": [
+                0
+            ],
+            "children": [
+                {
+                    "getData": {
+                        "source": "StatHandler",
+                        "element": "ResetAll",
+                        "ptcname": "%Parent0%"
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Setup.css b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Setup.css
new file mode 100644
index 0000000..cfb9618
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Setup.css
@@ -0,0 +1,7 @@
+#EPTF_CLL_ExecCtrl_Stathandler {
+    height: calc(100% - 40px);
+}
+
+#EPTF_CLL_ExecCtrl_CommonControls {
+    height: 40px;
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Setup.html b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Setup.html
new file mode 100644
index 0000000..84fce79
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/Setup.html
@@ -0,0 +1,2 @@
+<div id="EPTF_CLL_ExecCtrl_Stathandler"></div>
+<div id="EPTF_CLL_ExecCtrl_CommonControls"></div>
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/ViewInstances.json
new file mode 100644
index 0000000..eb0a0d4
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/ViewInstances.json
@@ -0,0 +1,87 @@
+[
+    {
+        "class": "CView_ElementTable",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "class": "TableGray",
+            "displayName": false,
+            "autoHeight": true,
+            "columns": [
+                {
+                    "flex": 1
+                },
+                {
+                    "subView": "CView_BasicButton",
+                    "flex": 1,
+                    "css": {
+                        "width": "100%"
+                    },
+                    "processCss": {
+                        "BUTTON": {
+                            "width": "100%"
+                        }
+                    }
+                }
+            ]
+        },
+        "viewModelIndexes": [
+            1,
+            0
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Stathandler_CView_Aligner_1"
+    },
+    {
+        "class": "CView_ElementAligner",
+        "customData": {
+            "css": {
+                "margin-bottom": "2px",
+                "padding": "4px",
+                "border": "1px solid gray"
+            },
+            "subviews": [
+                {
+                    "subView": "CView_Div"
+                },
+                {
+                    "subView": "CView_BasicButton",
+                    "text": "Reset all statistics",
+                    "css": {
+                        "width": "100%"
+                    },
+                    "processCss": {
+                        "BUTTON": {
+                            "width": "100%"
+                        }
+                    }
+                }
+            ],
+            "flexCalculation": true
+        },
+        "viewModelIndexes": [
+            2
+        ],
+        "idsCreating": [],
+        "parentID": "EPTF_CLL_ExecCtrl_Stathandler_CView_Aligner_2"
+    },
+    {
+        "class": "CView_Aligner",
+        "customData": {
+            "css": {
+                "overflow": "auto"
+            },
+            "orientation": "vertical"
+        },
+        "viewModelIndexes": [],
+        "idsCreating": [
+            "EPTF_CLL_ExecCtrl_Stathandler_CView_Aligner_0",
+            "EPTF_CLL_ExecCtrl_Stathandler_CView_Aligner_1",
+            "EPTF_CLL_ExecCtrl_Stathandler_CView_Aligner_2"
+        ],
+        "parentID": "EPTF_CLL_ExecCtrl_Stathandler"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/ViewModelInstances.json
new file mode 100644
index 0000000..82cb282
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/EPTF_CLL_StatHandler/ViewModelInstances.json
@@ -0,0 +1,54 @@
+[
+    {
+        "class": "CViewModel_FlexAligner",
+        "customData": {},
+        "dataPathStrList": [],
+        "dataPathList": [],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "StatHandler Component",
+                "Reset"
+            ]
+        },
+        "dataPathStrList": [
+            "PTCs",
+            "PTCs.ResetComponent"
+        ],
+        "dataPathList": [
+            [
+                0
+            ],
+            [
+                0,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    },
+    {
+        "class": "CViewModel_ElementRelay",
+        "customData": {},
+        "dataPathStrList": [
+            "PTCs.ResetAll",
+            "PTCs.ResetAll"
+        ],
+        "dataPathList": [
+            [
+                1,
+                0
+            ],
+            [
+                1,
+                0
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/Desktop.json b/test/TestContent/CustomizableApp/Setups/Test1/Desktop.json
new file mode 100644
index 0000000..338f32a
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/Desktop.json
@@ -0,0 +1,27 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 0,
+                "left": 200
+            },
+            "visible": true
+        }
+    ],
+    "ViewEditors": [
+        {
+            "pos": {
+                "top": 0,
+                "left": 450
+            },
+            "visible": true
+        }
+    ],
+    "HtmlEditor": {
+        "pos": {
+            "top": 0,
+            "left": 700
+        },
+        "visible": true
+    }
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/Imports.json b/test/TestContent/CustomizableApp/Setups/Test1/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/Request.json b/test/TestContent/CustomizableApp/Setups/Test1/Request.json
new file mode 100644
index 0000000..5803bbe
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/Request.json
@@ -0,0 +1,40 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Clients"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityGroups",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpType",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpSize",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/Setup.css b/test/TestContent/CustomizableApp/Setups/Test1/Setup.css
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/Setup.css
@@ -0,0 +1 @@
+
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/Setup.html b/test/TestContent/CustomizableApp/Setups/Test1/Setup.html
new file mode 100644
index 0000000..338db46
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/Setup.html
@@ -0,0 +1 @@
+<div id="setuptabs"></div>
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/Test1/ViewInstances.json
new file mode 100644
index 0000000..6814823
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/ViewInstances.json
@@ -0,0 +1,12 @@
+[
+    {
+        "class": "CView_ElementTable",
+        "customData": {},
+        "viewModelIndexes": [
+            0
+        ],
+        "idsCreating": [],
+        "parentId": "setuptabs",
+        "parentID": "setuptabs"
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test1/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/Test1/ViewModelInstances.json
new file mode 100644
index 0000000..cea54ac
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test1/ViewModelInstances.json
@@ -0,0 +1,22 @@
+[
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "Name",
+                "Type",
+                "Size"
+            ]
+        },
+        "dataPathStrList": [
+            "EntityGroups"
+        ],
+        "dataPathList": [
+            [
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/Desktop.json b/test/TestContent/CustomizableApp/Setups/Test2/Desktop.json
new file mode 100644
index 0000000..e8da49c
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/Desktop.json
@@ -0,0 +1,19 @@
+{
+    "ViewmodelEditors": [
+        {
+            "pos": {
+                "top": 0,
+                "left": 250
+            },
+            "visible": true
+        }
+    ],
+    "ViewEditors": [],
+    "HtmlEditor": {
+        "pos": {
+            "top": 0,
+            "left": 970
+        },
+        "visible": true
+    }
+}
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/Imports.json b/test/TestContent/CustomizableApp/Setups/Test2/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/Request.json b/test/TestContent/CustomizableApp/Setups/Test2/Request.json
new file mode 100644
index 0000000..5803bbe
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/Request.json
@@ -0,0 +1,40 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "Clients"
+        }
+    },
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityGroups",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpType",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                },
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "EGrpSize",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ]
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/Setup.css b/test/TestContent/CustomizableApp/Setups/Test2/Setup.css
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/Setup.css
@@ -0,0 +1 @@
+
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/Setup.html b/test/TestContent/CustomizableApp/Setups/Test2/Setup.html
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/Setup.html
@@ -0,0 +1 @@
+
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/ViewInstances.json b/test/TestContent/CustomizableApp/Setups/Test2/ViewInstances.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/ViewInstances.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/Setups/Test2/ViewModelInstances.json b/test/TestContent/CustomizableApp/Setups/Test2/ViewModelInstances.json
new file mode 100644
index 0000000..beaff3d
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Setups/Test2/ViewModelInstances.json
@@ -0,0 +1,21 @@
+[
+    {
+        "class": "CViewModel_DynamicTable",
+        "customData": {
+            "header": [
+                "Entity type",
+                "Entity size"
+            ]
+        },
+        "dataPathStrList": [
+            "EntityGroups"
+        ],
+        "dataPathList": [
+            [
+                1
+            ]
+        ],
+        "selectionToControlPathStrList": [],
+        "selectionToControlPathList": []
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/CustomizableApp/ViewModels/placeholder b/test/TestContent/CustomizableApp/ViewModels/placeholder
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/ViewModels/placeholder
diff --git a/test/TestContent/CustomizableApp/Views/placeholder b/test/TestContent/CustomizableApp/Views/placeholder
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/CustomizableApp/Views/placeholder
diff --git a/test/TestContent/GuiEditor/AppConfig.json b/test/TestContent/GuiEditor/AppConfig.json
new file mode 100644
index 0000000..b1f70ab
--- /dev/null
+++ b/test/TestContent/GuiEditor/AppConfig.json
@@ -0,0 +1,5 @@
+{
+    "lastEditedApp": "CustomizableContent/CustomizableApp",
+    "lastEditedSetup": "Test1",
+    "confirmExit": false
+}
\ No newline at end of file
diff --git a/test/TestContent/GuiEditor/AppConfigSchema.json b/test/TestContent/GuiEditor/AppConfigSchema.json
new file mode 120000
index 0000000..9b9aaa2
--- /dev/null
+++ b/test/TestContent/GuiEditor/AppConfigSchema.json
@@ -0,0 +1 @@
+../../../htdocs/CustomizableContent/GuiEditor/AppConfigSchema.json
\ No newline at end of file
diff --git a/test/TestContent/MainConfig.json b/test/TestContent/MainConfig.json
new file mode 100644
index 0000000..bbec976
--- /dev/null
+++ b/test/TestContent/MainConfig.json
@@ -0,0 +1,30 @@
+{
+    "availableApps": [
+        {
+            "directory": "WebApplications/CustomizableApp",
+            "name": "TitanSim",
+            "params": {
+                "customization": "CustomizableContent/CustomizableApp"
+            }
+        },
+        {
+            "directory": "WebApplications/GuiEditor"
+        },
+        {
+            "directory": "WebApplications/RequestConsole",
+            "params": {
+                "customization": "CustomizableContent/CustomizableApp"
+            }
+        },
+        {
+            "directory": "WebApplications/WebpageFrame",
+            "params": {
+                "location": "http://ttcn.ericsson.se/TitanSim/Help/"
+            },
+            "name": "Help"
+        },
+        {
+            "directory": "WebApplications/MockTest"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/AppConfig.json b/test/TestContent/RequestConsole/AppConfig.json
new file mode 100644
index 0000000..34a2755
--- /dev/null
+++ b/test/TestContent/RequestConsole/AppConfig.json
@@ -0,0 +1,6 @@
+{
+    "lastEditedApp": "CustomizableContent/CustomizableApp",
+    "confirmExit": false,
+    "lastEditedSetup": "Test1",
+    "appForListingSetups": "CustomizableContent/CustomizableApp"
+}
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/AppConfigSchema.json b/test/TestContent/RequestConsole/AppConfigSchema.json
new file mode 100644
index 0000000..6b88b24
--- /dev/null
+++ b/test/TestContent/RequestConsole/AppConfigSchema.json
@@ -0,0 +1,26 @@
+{
+    "$schema": "http://json-schema.org/draft-04/schema#",
+    "title": "RequestConsole",
+    "type": "object",
+    "additionalProperties": true,
+    "properties": {
+        "lastEditedApp": {
+            "description": "The last edited app.",
+            "type": "string"
+        },
+        "lastEditedSetup": {
+            "description": "The last edited setup.",
+            "type": "string"
+        },
+        "appForListingSetups": {
+            "description": "App path used to list setups to be loaded.",
+            "type": "string"
+        },
+        "confirmExit": {
+            "description": "Whether we ask if the setup is to be saved when trying to exit RequestConsole.",
+            "type": "boolean",
+            "default": false
+        }
+    },
+    "required": ["lastEditedApp"]
+}
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Desktop.json b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Desktop.json
new file mode 100644
index 0000000..07392e9
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Desktop.json
@@ -0,0 +1,19 @@
+{
+    "ViewmodelEditors": [],
+    "ViewEditors": [],
+    "Imports": [],
+    "HtmlEditor": {
+        "pos": {
+            "top": 0,
+            "left": 970
+        },
+        "visible": true
+    },
+    "RequestEditor": {
+        "openRequests": [
+            [
+                0
+            ]
+        ]
+    }
+}
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Imports.json b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Imports.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Imports.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Request.json b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Request.json
new file mode 100644
index 0000000..b0833a4
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Request.json
@@ -0,0 +1,33 @@
+[
+    {
+        "getData": {
+            "source": "ExecCtrl",
+            "element": "EntityGroups",
+            "children": [
+                {
+                    "getData": {
+                        "source": "ExecCtrl",
+                        "element": "Scenarios",
+                        "params": [
+                            {
+                                "paramName": "EntityGroup",
+                                "paramValue": "%Parent0%"
+                            }
+                        ]
+                    }
+                }
+            ],
+            "selection": [
+                0
+            ]
+        }
+    },
+    {
+        "setData": {
+            "source": "ExecCtrl",
+            "element": "Start",
+            "content": "1",
+            "tp": 1
+        }
+    }
+]
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Setup.css b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Setup.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Setup.css
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Setup.html b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Setup.html
new file mode 100644
index 0000000..43ec6f0
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/Setup.html
@@ -0,0 +1 @@
+<div id="div_id"></div>
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/ViewInstances.json b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/ViewInstances.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/ViewInstances.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/ViewModelInstances.json b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/ViewModelInstances.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/TestContent/RequestConsole/Setups/DsRestAPI_Console_Default/ViewModelInstances.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/test/createOfflineWebGUI.sh b/test/createOfflineWebGUI.sh
new file mode 100755
index 0000000..c408bc1
--- /dev/null
+++ b/test/createOfflineWebGUI.sh
@@ -0,0 +1,119 @@
+#!/bin/sh
+#///////////////////////////////////////////////////////////////////////////////
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                               //
+#//                                                                           //
+#// All rights reserved. This program and the accompanying materials          //
+#// are made available under the terms of the Eclipse Public License v1.0     //
+#// which accompanies this distribution, and is available at                  //
+#// http://www.eclipse.org/legal/epl-v10.html                                 //
+#///////////////////////////////////////////////////////////////////////////////
+
+CURRENT_DIR=`pwd`
+#---COPY_TO="."
+COPY_TO="./WebGUI"
+#---CLL_DIR=`readlink -f $0 | sed 's/\/test.*//g'`
+CLL_DIR="../"
+DO_ZIP=0
+
+showUsage()
+{
+    echo "Usage: $0 <options>"
+    echo "The script will create the offline version of WebGUI."
+    echo "Options:"
+    echo "  -t [directory]: target directory to create the package in, default: $COPY_TO"
+    echo "  -c [directory]: the CLL respository, default: $CLL_DIR"
+    echo "  -z : enable zip output, default: disabled"
+}
+
+while getopts t:c:z o
+do
+    case "$o" in 
+        t) COPY_TO=$OPTARG;;
+        c) CLL_DIR=$OPTARG;;
+        z) DO_ZIP=1;;
+        [?]) showUsage; exit 1;;
+    esac
+done
+
+WEBGUI_SRC=$CLL_DIR/htdocs
+API_DIR=$CLL_DIR/htdocs/Utils/DsRestAPI/
+CUST_DIR=$CLL_DIR/test/TestContent
+TESTCASES_DIR=$CLL_DIR/test/DsRestAPI/JSON_reqResp
+
+MOCK_SERVER_DIR=$CLL_DIR/test/MockedServer
+MOCKTEST_DIR=$CLL_DIR/test/MockTest
+MOCKTEST_DSSERVERDESCRIPTOR=$CLL_DIR/test/DsRestAPI/DsRestAPITestConfig.json
+SELENIUM_DIR=$CLL_DIR/test/Selenium
+
+API_LOC=$COPY_TO/htdocs/Utils/DsRestAPI
+CUST_LOC=$COPY_TO/htdocs/CustomizableContent
+WEBAPP_LOC=$COPY_TO/htdocs/WebApplications
+TESTCASES_LOC=$WEBAPP_LOC/MockTest/Testcases
+SELENIUM_LOC=$COPY_TO/htdocs/Selenium
+
+MAIN_HTML=$COPY_TO/htdocs/Main.html
+TEST_HETML=$COPY_TO/htdocs/Test.html
+
+# create target directory if it does not exist
+if [ ! -d $COPY_TO ]; then
+    mkdir $COPY_TO
+fi
+
+# check if offline WebGui already exists and delete it if it does
+if [ -e $COPY_TO/deleteOfflineWebGUI.sh ]; then
+    cd $COPY_TO
+    ./deleteOfflineWebGUI.sh
+    cd $CURRENT_DIR
+fi
+
+cp -arL $WEBGUI_SRC $COPY_TO
+
+# check if the symbolic link to the js API exists and delete it if necessary
+if [ -e $API_LOC ]; then
+    rm -rf $API_LOC
+fi
+cp -arL $API_DIR $API_LOC
+
+# check if the directory exsits (it usually does, not only when the server is running) and delete it
+if [ -e $COPY_TO/htdocs/CustomizableContent ]; then
+    rm -rf $COPY_TO/htdocs/CustomizableContent
+fi
+cp -arL $CUST_DIR $CUST_LOC
+
+cp -arL $MOCK_SERVER_DIR $API_LOC
+cp -arL $MOCKTEST_DIR $WEBAPP_LOC
+
+cp -arL $SELENIUM_DIR $SELENIUM_LOC
+
+cp -arL $TESTCASES_DIR/* $TESTCASES_LOC
+
+cp -arL $MOCKTEST_DSSERVERDESCRIPTOR $WEBAPP_LOC/MockTest/DsRestAPITestConfig.js
+
+awk '{
+    if ($0 ~ /FileHandler.js/) {
+        sub("FileHandler.js", "DsRestAPI/MockedServer/FileHandler.js");
+        print $0;
+    } else {
+        print $0
+    }
+}' $MAIN_HTML > $TEST_HETML
+
+cd $COPY_TO/htdocs
+listOfFiles=`find | cut -b3- | awk '{if(NR>1){if(NR!=2){print ", "}print "\""$0"\""}}'`
+# this will replace \n-s with spaces, so sed will work
+listOfFiles=`echo $listOfFiles` 
+cd $CURRENT_DIR
+
+sed -i "s|REPLACETHIS|$listOfFiles|g" $API_LOC/MockedServer/FileHandler.js
+
+if [ $DO_ZIP == 1 ]; then
+    cd $COPY_TO
+    tar -czvf WebGUI.tgz htdocs >> /dev/null
+    rm -rf WebGUI
+    cd $CURRENT_DIR
+fi
+
+cd $CURRENT_DIR
+
+echo "rm -rf htdocs; rm -f WebGUI.tgz; rm -f deleteOfflineWebGUI.sh" > $COPY_TO/deleteOfflineWebGUI.sh
+chmod u+x $COPY_TO/deleteOfflineWebGUI.sh
diff --git a/test/nightlytest_webGUI_git.py b/test/nightlytest_webGUI_git.py
new file mode 100644
index 0000000..2bf05e3
--- /dev/null
+++ b/test/nightlytest_webGUI_git.py
@@ -0,0 +1,11 @@
+#// Copyright (c) 2000-2017 Ericsson Telecom AB                                                       //
+#// All rights reserved. This program and the accompanying materials are made available under the     //
+#// terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at //
+#// http://www.eclipse.org/legal/epl-v10.html                                                         //
+#/////////////////////////////////////////////////////////////////////////////////////////////////////// 
+
+import sys, os
+
+os.system('./createOfflineWebGUI.sh');
+os.system('cd WebGUI/htdocs/Selenium; ./runTestsWithXvfb.sh');
+os.system('cd WebGUI; ./deleteOfflineWebGUI.sh');