Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Create (LibDEF_DataBroker owner_i, String guid_i, String hostName_i,  
 | 
  Number portNumber_i) as LibDEF_System 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    Create and assign primary-key attributes. 
 | 
    Also check for primary keys like TypeIndex. 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Jacky CHAN Apr-19-2016 (created) 
 | 
    // SystemByGUID 
 | 
    duplicatedGUID := LibDEF_System::FindSystemByGUID( owner_i, guid_i ); 
 | 
    if( not isnull( duplicatedGUID ) ) 
 | 
    { 
 | 
      LibDEF_Util::LogErrorInstanceUniqueness( typeof( LibDEF_System ), duplicatedGUID.GetInstanceKeyGUIDAsString() ); 
 | 
    } 
 | 
     
 | 
    // SystemByCoordinate 
 | 
    duplicatedCoordinate := LibDEF_System::FindSystemByCoordinate( owner_i, hostName_i, portNumber_i ); 
 | 
    if( not isnull( duplicatedCoordinate ) ) 
 | 
    { 
 | 
      LibDEF_Util::LogErrorInstanceUniqueness( typeof( LibDEF_System ), duplicatedCoordinate.GetInstanceKeyCoordinateAsString() ); 
 | 
    } 
 | 
     
 | 
    return owner_i.System( relnew, 
 | 
                           GUID       := guid_i, 
 | 
                           HostName   := LibDEF_Util::ConvertLocalhost( hostName_i ), 
 | 
                           PortNumber := portNumber_i, 
 | 
                           // always treat a System is available on creation 
 | 
                           IsAvailable := true ); 
 | 
  *] 
 | 
} 
 |