Merge pull request #1802 from Luis-Fernando-Molina/develop

Contribution: Network Refactoring into LAN Network
This commit is contained in:
Luis Fernando Molina authored and GitHub committed 2021-09-20 07:52:59 -04:00
commit 12c27519b7
78 files changed
+1952 -1828

No files matched your search

+13 -13
View File
@@ -1,5 +1,5 @@
function newEventsServerClient(networkNode) {
function newEventsServerClient(lanNetworkNode) {
/* Web Sockets Connection */
const MODULE_NAME = 'System Event Handler'
@@ -192,19 +192,19 @@ function newEventsServerClient(networkNode) {
if (thisObject.isConnected() !== true) {
if (lastTryToReconnectDatetime !== undefined) {
if (networkNode !== undefined) {
if (networkNode.payload !== undefined) {
if (networkNode.payload.uiObject !== undefined) {
networkNode.payload.uiObject.setErrorMessage('Failed to Connect to Superalgos Platform Client via WebSockets. Retrying in 1 minute. Check at this node config if the host property has the IP address of the computer running Superalgos Platform Client.')
if (lanNetworkNode !== undefined) {
if (lanNetworkNode.payload !== undefined) {
if (lanNetworkNode.payload.uiObject !== undefined) {
lanNetworkNode.payload.uiObject.setErrorMessage('Failed to Connect to Superalgos Platform Client via WebSockets. Retrying in 1 minute. Check at this node config if the host property has the IP address of the computer running Superalgos Platform Client.')
}
}
}
}
} else {
if (networkNode !== undefined) {
if (networkNode.payload !== undefined) {
if (networkNode.payload.uiObject !== undefined) {
networkNode.payload.uiObject.setStatus('Connected to Superalgos Platform Client via WebSockets.')
if (lanNetworkNode !== undefined) {
if (lanNetworkNode.payload !== undefined) {
if (lanNetworkNode.payload.uiObject !== undefined) {
lanNetworkNode.payload.uiObject.setStatus('Connected to Superalgos Platform Client via WebSockets.')
retryCommandsPhysics()
}
}
@@ -220,14 +220,14 @@ function newEventsServerClient(networkNode) {
let port
/* At this point the node does not have the payload property yet, that is why we have to do this manually */
try {
let config = JSON.parse(networkNode.config)
let config = JSON.parse(lanNetworkNode.config)
host = config.host
port = config.webSocketsPort
/* Check if we really have to stablish the connection. */
if (config.autoConnect === false) { return }
} catch (err) {
networkNode.payload.uiObject.setErrorMessage(
lanNetworkNode.payload.uiObject.setErrorMessage(
'Bad configuration. Invalid JSON Format.',
undefined,
{
@@ -241,7 +241,7 @@ function newEventsServerClient(networkNode) {
}
if (host === undefined) {
networkNode.payload.uiObject.setErrorMessage(
lanNetworkNode.payload.uiObject.setErrorMessage(
'Bad configuration. Host Property Not Found.',
undefined,
{
@@ -255,7 +255,7 @@ function newEventsServerClient(networkNode) {
}
if (port === undefined) {
networkNode.payload.uiObject.setErrorMessage(
lanNetworkNode.payload.uiObject.setErrorMessage(
'Bad configuration. WebSocketsPort Property Not Found.',
undefined,
{
@@ -21,7 +21,7 @@
}
],
"referencingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"editors": {
"config": true
@@ -42,8 +42,8 @@ function newEthereumUtilitiesRouteToClient() {
return
}
let networkNodeConfig = JSON.parse(networkClient.payload.referenceParent.config)
let url = 'http://' + networkNodeConfig.host + ':' + networkNodeConfig.webPort + '/' + 'WEB3'
let lanNetworkNodeConfig = JSON.parse(networkClient.payload.referenceParent.config)
let url = 'http://' + lanNetworkNodeConfig.host + ':' + lanNetworkNodeConfig.webPort + '/' + 'WEB3'
return {
params: params,
File renamed without changes.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

File renamed without changes.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{\n \"host\": \"localhost\",\n \"webPort\": \"34248\",\n \"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
File diff suppressed because it is too large. Load diff
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
File diff suppressed because it is too large. Load diff
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -140433,8 +140433,8 @@
"status": "Done"
},
"referenceParent": {
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"id": "3c165071-7558-4708-9999-8ffe71d346b1"
}
}
@@ -141009,8 +141009,8 @@
"status": "Done"
},
"referenceParent": {
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"id": "3c165071-7558-4708-9999-8ffe71d346b1"
}
}
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -7994,7 +7994,7 @@
"status": "Done"
},
"referenceParent": {
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"id": "e452cf65-2b2b-44f2-9e67-bdd9d3c008e4"
}
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -38,7 +38,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "dataStorage",
"childrenNodesProperties": [
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "dataTasks",
"childrenNodesProperties": [
@@ -1,5 +1,5 @@
{
"type": "Network Node",
"type": "LAN Network Node",
"menuItems": [
{
"action": "Configure",
@@ -69,7 +69,7 @@
"addLeftIcons": true,
"level": 1,
"attachingRules": {
"compatibleTypes": "->Network->"
"compatibleTypes": "->LAN Network->"
},
"childrenNodesProperties": [
{
@@ -103,5 +103,5 @@
"autoAdd": true
}
],
"propertyNameAtParent": "networkNodes"
"propertyNameAtParent": "lanNetworkNodes"
}
@@ -1,10 +1,10 @@
{
"type": "Network",
"type": "LAN Network",
"menuItems": [
{
"action": "Add UI Object",
"label": "Add Network Node",
"relatedUiObject": "Network Node",
"label": "Add LAN Network Node",
"relatedUiObject": "LAN Network Node",
"actionFunction": "payload.executeAction"
},
{
@@ -22,9 +22,9 @@
"level": 0,
"childrenNodesProperties": [
{
"name": "networkNodes",
"name": "lanNetworkNodes",
"type": "array",
"childType": "Network Node"
"childType": "LAN Network Node"
}
]
}
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 2,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "learningTasks",
"childrenNodesProperties": [
@@ -4,7 +4,7 @@
{
"action": "Add UI Object",
"label": "Add Network",
"relatedUiObject": "Network",
"relatedUiObject": "LAN Network",
"actionFunction": "payload.executeAction"
},
{
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 0,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "productionTradingTasks",
"childrenNodesProperties": [
@@ -49,7 +49,7 @@
"addLeftIcons": true,
"level": 0,
"attachingRules": {
"compatibleTypes": "->Network Node->"
"compatibleTypes": "->LAN Network Node->"
},
"propertyNameAtParent": "testingTradingTasks",
"childrenNodesProperties": [
@@ -17,7 +17,7 @@
},
{
"style": "Chapter",
"text": "III->Foundations->Topic->Network->The Network hierarchy organizes the infrastructure to run bots and store data. It is the hierarchy you will use the most to operate the system.",
"text": "III->Foundations->Topic->LAN Network->The Network hierarchy organizes the infrastructure to run bots and store data. It is the hierarchy you will use the most to operate the system.",
"updated": 1610309740906
},
{
@@ -1,5 +1,5 @@
{
"type": "Network Node",
"type": "LAN Network Node",
"definition": {
"text": "A network node represents a machine running Superalgos, on which processes run and data is stored.",
"translations": [
@@ -1,5 +1,5 @@
{
"type": "Network",
"type": "LAN Network",
"definition": {
"text": "The network hierarchy provides the control functions for running data-mining and trading operations. Because operations may be run either on a single machine or distributed over a network of machines, it also contains definitions regarding the physical location in which nodes live or function.",
"translations": [
@@ -62,7 +62,7 @@
},
{
"style": "Javascript",
"text": "dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')",
"text": "dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')",
"updated": 1614943544233
},
{
@@ -70,17 +70,17 @@
},
{
"style": "Title",
"text": "Network",
"text": "LAN Network",
"updated": 1609945037649
},
{
"style": "Include",
"text": "Foundations->Node->Network->Definition",
"text": "Foundations->Node->LAN Network->Definition",
"updated": 1609945860234
},
{
"style": "Include",
"text": "Foundations->Node->Network->Content",
"text": "Foundations->Node->LAN Network->Content",
"updated": 1609945864347
},
{
@@ -1,20 +1,20 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "1",
"type": "Network Hierarchy",
"type": "LAN Network Hierarchy",
"definition": {
"text": "The Network Hierarchy organizes the infrastructure to run bots and store data. It is the hierarchy you will use the most to operate the system.",
"text": "The LAN Network Hierarchy organizes the infrastructure to run bots and store data. It is the hierarchy you will use the most to operate the system.",
"updated": 1610043827538
},
"paragraphs": [
{
"style": "Include",
"text": "Foundations->Node->Network->Definition",
"text": "Foundations->Node->LAN Network->Definition",
"updated": 1610043677920
},
{
"style": "Include",
"text": "Foundations->Node->Network->Content",
"text": "Foundations->Node->LAN Network->Content",
"updated": 1610043683253
},
{
@@ -24,21 +24,21 @@
},
{
"style": "Hierarchy",
"text": "Foundations->Network->3",
"text": "Foundations->LAN Network->3",
"updated": 1610049486480
},
{
"style": "Title",
"text": "Network Node"
"text": "LAN Network Node"
},
{
"style": "Include",
"text": "Foundations->Node->Network Node->Definition",
"text": "Foundations->Node->LAN Network Node->Definition",
"updated": 1610043762523
},
{
"style": "Include",
"text": "Foundations->Node->Network Node->Content",
"text": "Foundations->Node->LAN Network Node->Content",
"updated": 1610043768852
},
{
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "2",
"type": "Organization of Tasks",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "3",
"type": "Data Tasks Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "4",
"type": "Indicator and Sensor Bot Instances",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "5",
"type": "Testing Trading Tasks Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "6",
"type": "Production Trading Tasks Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "7",
"type": "Trading Bot Instance and Trading Sessions",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "8",
"type": "Trading Session References",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "9",
"type": "Trading Session Parameters",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "10",
"type": "Data Storage Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "11",
"type": "Data Mines Data Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "12",
"type": "Trading Mines Data Section",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "13",
"type": "Data and Trading Mine Products",
"definition": {
@@ -1,5 +1,5 @@
{
"topic": "Network",
"topic": "LAN Network",
"pageNumber": "14",
"type": "How to Safely Close Superalgos",
"definition": {
@@ -18,12 +18,12 @@
},
{
"style": "Title",
"text": "Network",
"text": "LAN Network",
"updated": 1614353250354
},
{
"style": "Text",
"text": "A Network, represented by the Network Hierarchy, is just a definition that allows the system to know where Tasks need to be run, and where data is hosted. At any workspace you might define one, or even more than one, Network Hierarchy. For simplicity, we will continue the explanation assuming only one Network is defined.",
"text": "A Network, represented by the LAN Network Hierarchy, is just a definition that allows the system to know where Tasks need to be run, and where data is hosted. At any workspace you might define one, or even more than one, LAN Network Hierarchy. For simplicity, we will continue the explanation assuming only one Network is defined.",
"updated": 1617263502648
},
{
@@ -46,7 +46,7 @@
},
{
"style": "Subtitle",
"text": "At the Network Hierarchy"
"text": "At the LAN Network Hierarchy"
},
{
"style": "Text",
@@ -68,7 +68,7 @@
},
{
"style": "Text",
"text": "Here this procedure will add Time Machine s with Timeline Chart s inside of them. Deeper inside this branch, you will find Layer s node, which references the Data Products at the Network Hierarchy. That reference is crucial for the system to know when you turn on a Layer at the charts, where the data needs to be fetched from (which Client).",
"text": "Here this procedure will add Time Machine s with Timeline Chart s inside of them. Deeper inside this branch, you will find Layer s node, which references the Data Products at the LAN Network Hierarchy. That reference is crucial for the system to know when you turn on a Layer at the charts, where the data needs to be fetched from (which Client).",
"updated": 1617263990004
},
{
@@ -176,7 +176,7 @@
},
{
"style": "Text",
"text": "To add a network node, select Add Network Node on the Superalgos Network node menu. A network node is added along with the basic structure of nodes to set up a node."
"text": "To add a network node, select Add LAN Network Node on the Superalgos Network node menu. A network node is added along with the basic structure of nodes to set up a node."
},
{
"style": "Subtitle",
@@ -8,7 +8,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
let thisObject = {
node: undefined,
networkNode: undefined,
lanNetworkNode: undefined,
exchange: undefined,
market: undefined,
product: undefined,
@@ -85,12 +85,12 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
thisObject.product = productDefinition.config.singularVariableName
/*
We will find the networkNode that leads to this Product Definition
We will find the lanNetworkNode that leads to this Product Definition
and is related to this exchange and market.
*/
let networkNode = fincNetworkNode(network, productDefinition, thisObject.exchange, thisObject.market)
let lanNetworkNode = fincNetworkNode(network, productDefinition, thisObject.exchange, thisObject.market)
if (networkNode === undefined) {
if (lanNetworkNode === undefined) {
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> Network Node not found.")
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> Initialization Failed because we could not find where the data of this dataset is located within the network. Check the logs for more info.");
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[WARN] initialize -> Could not find where " + productDefinition.name + " for " + thisObject.exchange + " " + thisObject.market + " is stored within the network.");
@@ -99,9 +99,9 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
}
/* We found where the data is located on the network. */
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving data from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving data from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort);
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort);
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE, true);
} catch (err) {
@@ -113,7 +113,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
function finalize() {
fileStorage = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
thisObject.exchange = undefined
thisObject.market = undefined
bot = undefined
@@ -190,7 +190,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
A. We are interested in a particular Exchange and Market.
B. We have the Network we received from the UI whe the user ran the Task.
C. We have the Product Definition that is the parent node of the Data Set represented by this object.
D. This Product Definition is referenced by one or more Data Products nodes at some branch of the Network Hierarchy.
D. This Product Definition is referenced by one or more Data Products nodes at some branch of the LAN Network Hierarchy.
E. We need to find the right Data Product node, the one who is itself a descendent of the Market Data Products
node that is referencing the market and exchange that we have as a parameter of this function.
@@ -206,7 +206,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
*/
let found = false
let networkNode
let lanNetworkNode
let splittedMarket = market.split('-')
let baseAsset = splittedMarket[0]
let quotedAsset = splittedMarket[1]
@@ -214,7 +214,7 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
scanNodeMesh(network)
if (found === true) {
return networkNode
return lanNetworkNode
} else {
return
}
@@ -235,12 +235,12 @@ exports.newFoundationsProcessModulesDataset = function (processIndex) {
return
}
if (startingNode.type === 'Network Node') {
if (startingNode.type === 'LAN Network Node') {
/*
We will store the Network Node here so that if we find the rignt path
we can know from which Netwrok Node it going through.
*/
networkNode = startingNode
lanNetworkNode = startingNode
}
if (
@@ -8,7 +8,7 @@
let thisObject = {
networkNode: undefined,
lanNetworkNode: undefined,
initialize: initialize,
finalize: finalize,
start: start,
@@ -90,11 +90,11 @@
and need to exactly the same task to exist, you should split the network in two
different networks, each one with unique tasks so as to avoid confussion.
*/
for (let i = 0; i < network.networkNodes.length; i++) {
let networkNode = network.networkNodes[i]
if (networkNode.dataTasks !== undefined) {
for (let z = 0; z < networkNode.dataTasks.projectDataTasks.length; z++) {
let projectDataTasks = networkNode.dataTasks.projectDataTasks[z]
for (let i = 0; i < network.lanNetworkNodes.length; i++) {
let lanNetworkNode = network.lanNetworkNodes[i]
if (lanNetworkNode.dataTasks !== undefined) {
for (let z = 0; z < lanNetworkNode.dataTasks.projectDataTasks.length; z++) {
let projectDataTasks = lanNetworkNode.dataTasks.projectDataTasks[z]
if (projectDataTasks.exchangeDataTasks === undefined) {continue}
for (let j = 0; j < projectDataTasks.exchangeDataTasks.length; j++) {
let exchangeTasks = projectDataTasks.exchangeDataTasks[j]
@@ -118,22 +118,22 @@
We found where the task that runs the process definition
we are waiting for is located on the network.
*/
thisObject.networkNode = networkNode
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME,
"[INFO] initialize -> Connecting to Websockets Server " + networkNode.name +
" -> host = " + networkNode.config.host +
' -> port = ' + networkNode.config.webSocketsPort + '.');
"[INFO] initialize -> Connecting to Websockets Server " + lanNetworkNode.name +
" -> host = " + lanNetworkNode.config.host +
' -> port = ' + lanNetworkNode.config.webSocketsPort + '.');
eventServerClient = TS.projects.foundations.taskModules.eventServerClient.newFoundationsTaskModulesEventServerClient(networkNode.config.host, networkNode.config.webSocketsPort)
eventServerClient = TS.projects.foundations.taskModules.eventServerClient.newFoundationsTaskModulesEventServerClient(lanNetworkNode.config.host, lanNetworkNode.config.webSocketsPort)
eventServerClient.initialize(onConnected)
function onConnected() {
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Connected to Websockets Server " + networkNode.name +
" -> host = " + networkNode.config.host +
' -> port = ' + networkNode.config.webSocketsPort + '.');
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Connected to Websockets Server " + lanNetworkNode.name +
" -> host = " + lanNetworkNode.config.host +
' -> port = ' + lanNetworkNode.config.webSocketsPort + '.');
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE);
@@ -173,7 +173,7 @@
processThisDependsOn = undefined
currentProcessKey = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
bot = undefined
thisObject = undefined
}
@@ -202,7 +202,7 @@
eventServerClient.listenToEvent(key, 'Process Execution Finished', undefined, callerId, responseCallBack, eventsCallBack)
TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting for " + thisObject.networkNode.name + "->" + processThisDependsOn.parentNode.parentNode.name + "->" + processThisDependsOn.parentNode.config.codeName + "->" + processThisDependsOn.config.codeName)
TS.projects.foundations.functionLibraries.processFunctions.processHeartBeat(processIndex, undefined, undefined, "Waiting for " + thisObject.lanNetworkNode.name + "->" + processThisDependsOn.parentNode.parentNode.name + "->" + processThisDependsOn.parentNode.config.codeName + "->" + processThisDependsOn.config.codeName)
function responseCallBack(message) {
if (message.result !== TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE.result) {
@@ -12,7 +12,7 @@
const MODULE_NAME = "Status Report"
let thisObject = {
networkNode: undefined,
lanNetworkNode: undefined,
mainUtility: undefined,
file: undefined, // Here we have the JSON object representing the file content.
initialize: initialize,
@@ -106,13 +106,13 @@
let network = TS.projects.foundations.globals.taskConstants.NETWORK_NODE
let processThisDependsOn = statusDependencyNode.referenceParent.parentNode
for (let i = 0; i < network.networkNodes.length; i++) {
let networkNode = network.networkNodes[i]
for (let i = 0; i < network.lanNetworkNodes.length; i++) {
let lanNetworkNode = network.lanNetworkNodes[i]
if (checkThisDataBranch(networkNode.dataTasks) === true) { return }
if (checkThisTradingBranch(networkNode.testingTradingTasks) === true) { return }
if (checkThisTradingBranch(networkNode.productionTradingTasks) === true) { return }
if (checkThisLearningBranch(networkNode.learningTasks) === true) { return }
if (checkThisDataBranch(lanNetworkNode.dataTasks) === true) { return }
if (checkThisTradingBranch(lanNetworkNode.testingTradingTasks) === true) { return }
if (checkThisTradingBranch(lanNetworkNode.productionTradingTasks) === true) { return }
if (checkThisLearningBranch(lanNetworkNode.learningTasks) === true) { return }
function checkThisDataBranch(branch) {
if (branch === undefined) { return }
@@ -151,10 +151,10 @@
We found where the task that runs the process definition this status report depends on
and where it is located on the network.
*/
thisObject.networkNode = networkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort)
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort)
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE)
return true
}
@@ -203,10 +203,10 @@
We found where the task that runs the process definition this status report depends on
and where it is located on the network.
*/
thisObject.networkNode = networkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort)
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort)
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE)
return true
}
@@ -255,10 +255,10 @@
We found where the task that runs the process definition this status report depends on
and where it is located on the network.
*/
thisObject.networkNode = networkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.')
thisObject.lanNetworkNode = lanNetworkNode
TS.projects.foundations.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).BOT_MAIN_LOOP_LOGGER_MODULE_OBJECT.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + lanNetworkNode.name + " -> host = " + lanNetworkNode.config.host + ' -> port = ' + lanNetworkNode.config.webPort + '.')
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, networkNode.config.host, networkNode.config.webPort)
fileStorage = TS.projects.foundations.taskModules.fileStorage.newFileStorage(processIndex, lanNetworkNode.config.host, lanNetworkNode.config.webPort)
callBackFunction(TS.projects.foundations.globals.standardResponses.DEFAULT_OK_RESPONSE)
return true
}
@@ -294,7 +294,7 @@
function finalize() {
fileStorage = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
bot = undefined
thisObject = undefined
}
@@ -98,21 +98,21 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
let networkNode = rootNode
scanNetworkNode(networkNode)
if (rootNode.type === 'LAN Network') {
let lanNetworkNode = rootNode
scanNetworkNode(lanNetworkNode)
}
}
function scanNetworkNode(networkNode) {
if (networkNode === undefined) { return }
function scanNetworkNode(lanNetworkNode) {
if (lanNetworkNode === undefined) { return }
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Trading Session')
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Learning Session')
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Trading Session')
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Learning Session')
scanSessionArray(backtestingSessionsArray)
scanSessionArray(fordwardTestingSessionsArray)
@@ -130,19 +130,19 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
let market = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false)
if (market.payload.referenceParent === undefined) { continue }
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenById(node, session, true) === true) {
createTimeMachine(node, session, market.payload.referenceParent, networkNode, rootNodes)
createTimeMachine(node, session, market.payload.referenceParent, lanNetworkNode, rootNodes)
}
}
}
}
}
function createTimeMachine(dashboard, session, market, networkNode, rootNodes) {
function createTimeMachine(dashboard, session, market, lanNetworkNode, rootNodes) {
let mineProducts
let timeMachine = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(dashboard, 'Time Machine')
let exchange = market.payload.parentNode.payload.parentNode
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(timeMachine, session)
timeMachine.name = session.name + ' ' + session.type + ' ' + networkNode.name + ' ' + exchange.name + ' ' + market.name
timeMachine.name = session.name + ' ' + session.type + ' ' + lanNetworkNode.name + ' ' + exchange.name + ' ' + market.name
timeMachine.payload.floatingObject.collapseToggle()
timeMachine.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
timeMachine.timeFrameScale.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180
@@ -151,7 +151,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
/*
We will create 3 Time Line Charts for the Trading Mine Products
*/
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Trading Mine Products')
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Trading Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
@@ -210,7 +210,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
/*
We will create 3 Time Line Charts for the Learning Mine Products
*/
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Learning Mine Products')
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Learning Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
@@ -269,7 +269,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
/*
We need to create a Timeline Chart for each Data Mine Products.
*/
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Data Mine Products')
mineProducts = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Data Mine Products')
for (let j = 0; j < mineProducts.length; j++) {
let mineProduct = mineProducts[j]
/*
@@ -302,7 +302,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
function addMissingDashboards(node, rootNodes) {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.type === 'LAN Network') {
let network = rootNode
scanNetwork(network)
}
@@ -311,25 +311,25 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() {
function scanNetwork(network) {
if (network === undefined) { return }
for (let j = 0; j < network.networkNodes.length; j++) {
let networkNode = network.networkNodes[j]
scanNetworkNode(networkNode)
for (let j = 0; j < network.lanNetworkNodes.length; j++) {
let lanNetworkNode = network.lanNetworkNodes[j]
scanNetworkNode(lanNetworkNode)
}
function scanNetworkNode(networkNode) {
let testingTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Testing Trading Tasks', node, true)
let productionTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Production Trading Tasks', node, true)
function scanNetworkNode(lanNetworkNode) {
let testingTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Testing Trading Tasks', node, true)
let productionTradingTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Production Trading Tasks', node, true)
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenById(node, testingTradingTasks, true) === true) {
let dashboard = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard')
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(dashboard, testingTradingTasks)
dashboard.name = testingTradingTasks.type + ' ' + networkNode.name
dashboard.name = testingTradingTasks.type + ' ' + lanNetworkNode.name
}
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenById(node, productionTradingTasks, true) === true) {
let dashboard = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard')
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(dashboard, productionTradingTasks)
dashboard.name = productionTradingTasks.type + ' ' + networkNode.name
dashboard.name = productionTradingTasks.type + ' ' + lanNetworkNode.name
}
}
}
@@ -232,7 +232,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.type === 'LAN Network') {
installInNetwork(rootNode)
}
}
@@ -248,12 +248,12 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
function installInNetwork(network) {
for (let j = 0; j < network.networkNodes.length; j++) {
let networkNode = network.networkNodes[j]
installInNetworkNode(networkNode)
for (let j = 0; j < network.lanNetworkNodes.length; j++) {
let lanNetworkNode = network.lanNetworkNodes[j]
installInNetworkNode(lanNetworkNode)
}
function installInNetworkNode(networkNode) {
function installInNetworkNode(lanNetworkNode) {
let tradingSessionsCreatedArray = []
let learningSessionsCreatedArray = []
@@ -270,9 +270,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Tasks
*/
let dataTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Tasks', node, true)
let dataTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Tasks', node, true)
if (dataTasks === undefined) {
dataTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Tasks')
dataTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Tasks')
}
/*
We will make ourserves sure that the Project Data Tasks nodes are there.
@@ -303,9 +303,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Learning Tasks
*/
let learningTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Learning Tasks', node, true)
let learningTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Learning Tasks', node, true)
if (learningTasks === undefined) {
learningTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Learning Tasks')
learningTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Learning Tasks')
}
/*
We will make ourserves sure that the Project Learning Tasks nodes are there.
@@ -339,7 +339,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
learningSessionsCreatedArray = learningSessionsCreatedArray.concat(allSessionsArray)
dashboardsArray.push({ environmentNode: learningTasks, networkNode: networkNode, sessionsArray: allSessionsArray })
dashboardsArray.push({ environmentNode: learningTasks, lanNetworkNode: lanNetworkNode, sessionsArray: allSessionsArray })
}
}
@@ -357,9 +357,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Now we install the environmnet at the current Network Node
*/
let tradingTasks = UI.projects.foundations.utilities.branches.findInBranch(networkNode, environmentType, node, true)
let tradingTasks = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, environmentType, node, true)
if (tradingTasks === undefined) {
tradingTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, environmentType)
tradingTasks = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, environmentType)
}
/*
We will make ourserves sure that the Project Trading Tasks nodes are there.
@@ -395,7 +395,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
.concat(forwardSessionsArray)
tradingSessionsCreatedArray = tradingSessionsCreatedArray.concat(allSessionsArray)
dashboardsArray.push({ environmentNode: tradingTasks, networkNode: networkNode, sessionsArray: allSessionsArray })
dashboardsArray.push({ environmentNode: tradingTasks, lanNetworkNode: lanNetworkNode, sessionsArray: allSessionsArray })
}
}
}
@@ -404,9 +404,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Mines Data
*/
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Storage', node, true)
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true)
if (dataStorage === undefined) {
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')
}
let dataMinesData = UI.projects.foundations.utilities.branches.findInBranch(dataStorage, 'Data Mines Data', node, true)
if (dataMinesData === undefined) {
@@ -443,9 +443,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Mines Data
*/
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Storage', node, true)
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true)
if (dataStorage === undefined) {
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')
}
let learningMinesData = UI.projects.foundations.utilities.branches.findInBranch(dataStorage, 'Learning Mines Data', node, true)
if (learningMinesData === undefined) {
@@ -498,9 +498,9 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/*
Here we complete the missing stuff at Data Mines Data
*/
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(networkNode, 'Data Storage', node, true)
let dataStorage = UI.projects.foundations.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true)
if (dataStorage === undefined) {
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(networkNode, 'Data Storage')
dataStorage = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')
}
let tradingMinesData = UI.projects.foundations.utilities.branches.findInBranch(dataStorage, 'Trading Mines Data', node, true)
if (tradingMinesData === undefined) {
@@ -575,7 +575,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
*/
let arrayItem = dashboardsArray[i]
let dashboard = UI.projects.foundations.utilities.nodeChildren.findOrCreateChildWithReference(projectDashboards, 'Dashboard', arrayItem.environmentNode)
dashboard.name = arrayItem.environmentNode.type + ' ' + arrayItem.networkNode.name
dashboard.name = arrayItem.environmentNode.type + ' ' + arrayItem.lanNetworkNode.name
/*
We delete all the existing Time Machines related to the market we are currently installing.
For that, we make a new array with the existing Time Machines so that the deleting
@@ -611,7 +611,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
*/
for (let j = 0; j < arrayItem.sessionsArray.length; j++) {
let session = arrayItem.sessionsArray[j]
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.createTimeMachine(dashboard, session, node, arrayItem.networkNode, rootNodes)
UI.projects.foundations.functionLibraries.chartingSpaceFunctions.createTimeMachine(dashboard, session, node, arrayItem.lanNetworkNode, rootNodes)
}
}
}
@@ -678,7 +678,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() {
/* Scan Networks for the market being unistalled to delete it. */
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.type === 'LAN Network') {
uninstallInNetwork(rootNode)
}
}
@@ -104,13 +104,13 @@ function newFoundationsFunctionLibraryDataStorageFunctions() {
}
function addMissingTradingSessionReferences(node, rootNodes) {
let networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'Network Node', undefined, true, false, true, false)
if (networkNode === undefined) { return }
let lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'LAN Network Node', undefined, true, false, true, false)
if (lanNetworkNode === undefined) { return }
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Trading Session')
let backtestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Backtesting Session')
let fordwardTestingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Forward Testing Session')
let paperTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Paper Trading Session')
let liveTradingSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Trading Session')
addMissingSession(backtestingSessionsArray)
addMissingSession(fordwardTestingSessionsArray)
@@ -131,11 +131,11 @@ function newFoundationsFunctionLibraryDataStorageFunctions() {
}
function addMissingLearningSessionReferences(node, rootNodes) {
let networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'Network Node', undefined, true, false, true, false)
if (networkNode === undefined) { return }
let lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(node, 'LAN Network Node', undefined, true, false, true, false)
if (lanNetworkNode === undefined) { return }
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(networkNode, 'Live Learning Session')
let backLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Back Learning Session')
let liveLearningSessionsArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(lanNetworkNode, 'Live Learning Session')
addMissingSession(backLearningSessionsArray)
addMissingSession(liveLearningSessionsArray)
@@ -13,13 +13,13 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* Nodes that do not belong to a network can not get ready. */
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
/* First we setup everything so as to listen to the response from the Task Server */
let eventSubscriptionIdOnStatus
@@ -47,14 +47,14 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
node.payload.uiObject.run(eventsServerClient, callBackFunction)
@@ -174,14 +174,14 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let key = node.name + '-' + node.type + '-' + node.id
eventsServerClient.raiseEvent(key, 'Stop Learning Session')
@@ -240,7 +240,7 @@ function newFoundationsFunctionLibraryLearningSessionFunctions() {
return
}
result.networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'Network Node', undefined, true, false, true, false)
result.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (node.learningSystemReference === undefined) {
node.payload.uiObject.setErrorMessage('Session needs a child Learning System Reference.')
@@ -56,13 +56,13 @@ function newFoundationsFunctionLibraryTaskFunctions() {
return thisObject
function syncronizeTaskWithBackEnd(node) {
let networkNode = validations(node)
if (networkNode === undefined) {
let lanNetworkNode = validations(node)
if (lanNetworkNode === undefined) {
/* Nodes that do not belong to a network can not get ready. */
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
/* First we setup everything so as to listen to the response from the Task Manger */
let eventSubscriptionIdOnStatus
@@ -90,14 +90,14 @@ function newFoundationsFunctionLibraryTaskFunctions() {
function runTask(node, isDebugging, callBackFunction) {
let networkNode = validations(node)
if (networkNode === undefined) {
let lanNetworkNode = validations(node)
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
for (let i = 0; i < node.bot.processes.length; i++) {
let process = node.bot.processes[i]
@@ -161,7 +161,7 @@ function newFoundationsFunctionLibraryTaskFunctions() {
let taskDefinition = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, taskLightingPath)
let networkLightingPath = '->Network->Network Node->' +
let networkLightingPath = '->LAN Network->LAN Network Node->' +
'Data Storage->' +
'Data Mines Data->Trading Mines Data->Learning Mines Data->' +
'Project Data Products->Project Trading Products->Project Learning Products->' +
@@ -185,7 +185,7 @@ function newFoundationsFunctionLibraryTaskFunctions() {
'Market->' +
'Process Definition->'
let networkDefinition = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(networkNode.payload.parentNode, false, true, true, false, false, networkLightingPath)
let networkDefinition = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(lanNetworkNode.payload.parentNode, false, true, true, false, false, networkLightingPath)
/*
We will also send all the project schemas we have to the Task Server.
@@ -218,13 +218,13 @@ function newFoundationsFunctionLibraryTaskFunctions() {
}
function stopTask(node, callBackFunction) {
let networkNode = validations(node)
if (networkNode === undefined) {
let lanNetworkNode = validations(node)
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let event = {
taskId: node.id,
@@ -288,24 +288,24 @@ function newFoundationsFunctionLibraryTaskFunctions() {
return
}
let networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(taskManager, 'Network Node', undefined, true, false, true, false)
let lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(networkNode.payload, 'host') === undefined) {
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(lanNetworkNode.payload, 'host') === undefined) {
node.payload.uiObject.setErrorMessage('Network Node needs to have a valid Host property at its config.')
return
}
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(networkNode.payload, 'webPort') === undefined) {
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(lanNetworkNode.payload, 'webPort') === undefined) {
node.payload.uiObject.setErrorMessage('Network Node needs to have a valid webPort property at its config.')
return
}
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(networkNode.payload, 'webSocketsPort') === undefined) {
if (UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(lanNetworkNode.payload, 'webSocketsPort') === undefined) {
node.payload.uiObject.setErrorMessage('Network Node needs to have a valid webSocketsPort property at its config.')
return
}
return networkNode
return lanNetworkNode
}
function runAllTasks(taskManager) {
@@ -13,13 +13,13 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* Nodes that do not belong to a network can not get ready. */
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
/* First we setup everything so as to listen to the response from the Task Server */
let eventSubscriptionIdOnStatus
@@ -47,14 +47,14 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let key = node.name + '-' + node.type + '-' + node.id
@@ -200,14 +200,14 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
/* If something fails at validations we just quit. */
return
}
let networkNode = validationsResult.networkNode
if (networkNode === undefined) {
let lanNetworkNode = validationsResult.lanNetworkNode
if (lanNetworkNode === undefined) {
/* This means that the validations failed. */
callBackFunction(GLOBAL.DEFAULT_FAIL_RESPONSE)
return
}
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(lanNetworkNode.id)
let key = node.name + '-' + node.type + '-' + node.id
eventsServerClient.raiseEvent(key, 'Stop Trading Session')
@@ -266,7 +266,7 @@ function newFoundationsFunctionLibraryTradingSessionFunctions() {
return
}
result.networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'Network Node', undefined, true, false, true, false)
result.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (node.tradingSystemReference === undefined) {
node.payload.uiObject.setErrorMessage('Session needs a child Trading System Reference.')
@@ -426,6 +426,21 @@ function newFoundationsFunctionLibraryUiObjectsFromNodes() {
) {
node.project = 'Foundations'
}
/* Migration code from beta 11 to beta 12 */
if (
node.type === 'Network'
) {
node.type = "LAN Network"
if (node.lanNetworkNodes === undefined && node.networkNodes !== undefined) {
node.lanNetworkNodes = node.networkNodes
}
}
if (
node.type === 'Network Node'
) {
node.type = "LAN Network Node"
}
/*
This function can be called with a positionOffset to change the node
saved position and all of its descendants positions as well with an
@@ -171,12 +171,12 @@ function newPlottersManager() {
}
}
let host = layer.networkNode.config.host
let webPort = layer.networkNode.config.webPort
let host = layer.lanNetworkNode.config.host
let webPort = layer.lanNetworkNode.config.webPort
if (host === undefined) { host = window.location.hostname }
if (webPort === undefined) { webPort = window.location.port }
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(layer.networkNode.id)
let eventsServerClient = UI.projects.foundations.spaces.designSpace.workspace.eventsServerClients.get(layer.lanNetworkNode.id)
storage.initialize(
mine,
@@ -143,15 +143,15 @@ function newWorkspace() {
for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
let rootNode = thisObject.workspaceNode.rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.networkNodes === undefined) { continue }
for (let j = 0; j < rootNode.networkNodes.length; j++) {
let networkNode = rootNode.networkNodes[j]
if (rootNode.type === 'LAN Network') {
if (rootNode.lanNetworkNodes === undefined) { continue }
for (let j = 0; j < rootNode.lanNetworkNodes.length; j++) {
let lanNetworkNode = rootNode.lanNetworkNodes[j]
let eventsServerClient = newEventsServerClient(networkNode)
let eventsServerClient = newEventsServerClient(lanNetworkNode)
eventsServerClient.initialize()
thisObject.eventsServerClients.set(networkNode.id, eventsServerClient)
thisObject.eventsServerClients.set(lanNetworkNode.id, eventsServerClient)
}
}
}
@@ -473,25 +473,25 @@ function newWorkspace() {
function stopAllRunningTasks() {
for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) {
let rootNode = thisObject.workspaceNode.rootNodes[i]
if (rootNode.type === 'Network') {
if (rootNode.networkNodes !== undefined) {
for (let j = 0; j < rootNode.networkNodes.length; j++) {
let networkNode = rootNode.networkNodes[j]
if (networkNode.dataTasks !== undefined && networkNode.dataTasks.payload !== undefined) {
networkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
networkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
if (rootNode.type === 'LAN Network') {
if (rootNode.lanNetworkNodes !== undefined) {
for (let j = 0; j < rootNode.lanNetworkNodes.length; j++) {
let lanNetworkNode = rootNode.lanNetworkNodes[j]
if (lanNetworkNode.dataTasks !== undefined && lanNetworkNode.dataTasks.payload !== undefined) {
lanNetworkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
lanNetworkNode.dataTasks.payload.uiObject.menu.internalClick('Stop All Exchange Data Tasks')
}
if (networkNode.learningTasks !== undefined && networkNode.learningTasks.payload !== undefined) {
networkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
networkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
if (lanNetworkNode.learningTasks !== undefined && lanNetworkNode.learningTasks.payload !== undefined) {
lanNetworkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
lanNetworkNode.learningTasks.payload.uiObject.menu.internalClick('Stop All Exchange Learning Tasks')
}
if (networkNode.testingTradingTasks !== undefined && networkNode.testingTradingTasks.payload !== undefined) {
networkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
networkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
if (lanNetworkNode.testingTradingTasks !== undefined && lanNetworkNode.testingTradingTasks.payload !== undefined) {
lanNetworkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
lanNetworkNode.testingTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
}
if (networkNode.productionTradingTasks !== undefined && networkNode.productionTradingTasks.payload !== undefined) {
networkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
networkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
if (lanNetworkNode.productionTradingTasks !== undefined && lanNetworkNode.productionTradingTasks.payload !== undefined) {
lanNetworkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
lanNetworkNode.productionTradingTasks.payload.uiObject.menu.internalClick('Stop All Exchange Trading Tasks')
}
}
}
@@ -107,7 +107,7 @@ function newCircularMenu() {
}
/* There are 4 possible rings of icons, we will go through each of them here. */
let amplitudeArray = [80, 50, 40, 80]
let amplitudeArray = [80, 70, 40, 80]
let initialAngleArray = [220, 205, 200, 180]
for (let j = 1; j < ringsArray.length + 1; j++) {
let iconOnlyArray = ringsArray[j - 1]
@@ -272,7 +272,7 @@ function newFoundationsFloatingSpace() {
payload.node.type === 'Learning System' ||
payload.node.type === 'Trading Engine' ||
payload.node.type === 'Learning Engine' ||
payload.node.type === 'Network' ||
payload.node.type === 'LAN Network' ||
payload.node.type === 'Crypto Ecosystem' ||
payload.node.type === 'Charting Space' ||
payload.node.type === 'Data Mine' ||
@@ -23,7 +23,7 @@ function newLayer() {
plotterTypeIcon: undefined,
baseAssetIcon: undefined,
quotedAssetIcon: undefined,
networkNode: undefined,
lanNetworkNode: undefined,
checkStatusAtShutDown: checkStatusAtShutDown,
physics: physics,
draw: draw,
@@ -132,7 +132,7 @@ function newLayer() {
thisObject.plotterTypeIcon = undefined
thisObject.baseAssetIcon = undefined
thisObject.quotedAssetIcon = undefined
thisObject.networkNode = undefined
thisObject.lanNetworkNode = undefined
thisObject.bot = undefined
thisObject.productDefinition = undefined
thisObject.mine = undefined
@@ -166,8 +166,8 @@ function newLayer() {
'Market Trading Products->Exchange Trading Products->' +
'Market Learning Products->Exchange Learning Products->' +
'Project Data Products->Project Learning Products->Project Trading Products->' +
'Data Mines Data->Trading Mines Data->Learning Mines Data->Data Storage->Network Node->' +
'Data Storage->Network Node->' +
'Data Mines Data->Trading Mines Data->Learning Mines Data->Data Storage->LAN Network Node->' +
'Data Storage->LAN Network Node->' +
'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' +
'Back Learning Session->Live Learning Session->' +
'Trading System Reference->Trading Engine Reference->Trading System->Trading Engine->' +
@@ -285,8 +285,8 @@ function newLayer() {
return
}
thisObject.networkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'Network Node', undefined, false, true, true, true)
if (thisObject.networkNode === undefined) {
thisObject.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(thisObject.definition, 'LAN Network Node', undefined, false, true, true, true)
if (thisObject.lanNetworkNode === undefined) {
thisObject.payload.uiObject.setErrorMessage('Network Node not Found')
return
}
@@ -26325,13 +26325,13 @@
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [],
@@ -50044,13 +50044,13 @@
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [
{
"type": "Asset Class",
"name": "Network",
"name": "LAN Network",
"config": "{\"codeName\":\"Network\"}",
"project": "Governance",
"assetClasses": [],
@@ -13213,12 +13213,12 @@
"id": "a8de78f0-c3e4-4a2a-b7e8-f659073969db",
"savedPayload": {
"position": {
"x": 7692.307692307692,
"y": 21250
"x": 39655.1724137931,
"y": 18250
},
"targetPosition": {
"x": 7692.307692307692,
"y": 21250
"x": 39655.1724137931,
"y": 18250
},
"floatingObject": {
"isPinned": false,
@@ -62,12 +62,12 @@
"id": "baa2f02c-2920-4edb-a103-d452fc61d82f",
"savedPayload": {
"position": {
"x": 30769.230769230762,
"y": 21250
"x": 29310.344827586196,
"y": 24250
},
"targetPosition": {
"x": 30769.230769230762,
"y": 21250
"x": 29310.344827586196,
"y": 24250
},
"floatingObject": {
"isPinned": false,
@@ -62,12 +62,12 @@
"id": "36c2b050-631f-4291-987c-418adc94317d",
"savedPayload": {
"position": {
"x": 28846.15384615384,
"y": 18250
"x": 27586.206896551714,
"y": 21250
},
"targetPosition": {
"x": 28846.15384615384,
"y": 18250
"x": 27586.206896551714,
"y": 21250
},
"floatingObject": {
"isPinned": false,
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@@ -0,0 +1,37 @@
{
"type": "Network Project",
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"label": "Add P2P Network",
"relatedUiObject": "P2P Network",
"actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity"
}
],
"isProjectHead": true,
"isTitleAllwaysVisible": false,
"addLeftIcons": true,
"isPinned": true,
"positionLocked": true,
"icon": "network",
"childrenNodesProperties": [
{
"name": "projectDefinition",
"type": "node",
"childType": "Project Definition",
"project": "Foundations",
"autoAdd": true
}
]
}
@@ -0,0 +1,39 @@
{
"type": "P2P Network Node",
"menuItems": [
{
"action": "Configure",
"actionProject": "Foundations",
"label": "Configure",
"iconPathOn": "configuration",
"iconPathOff": "configuration",
"dontShowAtFullscreen": true,
"actionFunction": "uiObject.configEditor.activate"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"editors": {
"config": true
},
"initialValues": {
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}"
},
"isTitleAllwaysVisible": true,
"addLeftIcons": true,
"level": 1,
"attachingRules": {
"compatibleTypes": "->P2P Network->"
},
"childrenNodesProperties": [
],
"propertyNameAtParent": "p2pNetworkNodes"
}
@@ -0,0 +1,32 @@
{
"type": "P2P Network",
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"label": "Add P2P Network Node",
"relatedUiObject": "P2P Network Node",
"actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction"
}
],
"isHierarchyHead": true,
"addLeftIcons": true,
"level": 0,
"childrenNodesProperties": [
{
"name": "p2pNetworkNodes",
"type": "array",
"childType": "P2P Network Node"
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because it is too large. Load diff
@@ -4,12 +4,12 @@
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
"rootNodes": [
{
"type": "Network",
"name": "My Network",
"type": "LAN Network",
"name": "My LAN Network",
"project": "Foundations",
"networkNodes": [
"lanNetworkNodes": [
{
"type": "Network Node",
"type": "LAN Network Node",
"name": "My Computer",
"config": "{ \n\"host\": \"localhost\", \n\"webPort\": \"34248\", \n\"webSocketsPort\": \"18041\"\n}",
"project": "Foundations",
@@ -24,6 +24,7 @@
"addLeftIcons": true,
"isPinned": true,
"positionLocked": true,
"icon": "tensorflow",
"childrenNodesProperties": [
{
"name": "projectDefinition",