| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetBootNode (LibDEF_IntegrationEvent event_i) | 
| { | 
|   Description: 'Determine BootNode by reading information from the configuration.' | 
|   TextBody: | 
|   [* | 
|     // Jacky CHAN Apr-19-2016 (created) | 
|     LibDEF_Util::EventLog( event_i, "Retrieving BootNode configuration." ); | 
|      | 
|     bootNodeHost := LibDEF_Util::GetSettingValueBootNodeHostName(); | 
|     bootNodePort := LibDEF_Util::GetSettingValueBootNodePortNumber(); | 
|      | 
|     // if this System is the BootNode | 
|     if( bootNodeHost = "" or bootNodePort = 0 ) | 
|     { | 
|       this.SystemLocal().SetAsBootNode(); | 
|       this.SetInDomain( true ); | 
|      | 
|       // update coordinate since being BootNode has the rights | 
|       currentHostName   := OS::ComputerName(); | 
|       currentPortNumber := LibDEF_Util::GetSettingValueWebServerPortNumber(); | 
|       this.SystemLocal().ChangeKeySystemByCoordinate( currentHostName, currentPortNumber, event_i ); | 
|      | 
|       LibDEF_Util::EventLog( event_i, | 
|                              "This System is the BootNode. " + | 
|                              "Host name: " + this.BootNode().HostName() + "; Port number: " + [String]this.BootNode().PortNumber() ); | 
|     } | 
|   *] | 
| } |