Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod CreateOrLoadDataset 
 | 
{ 
 | 
  Description: 'Create or load DataBroker dataset based on configuration.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Jacky CHAN Feb-25-2016 (created) 
 | 
    debuginfo( "===== Data Broker server startup starts =====" ); 
 | 
     
 | 
    datasetName := LibDEF_DataBroker::DATASET_NAME(); 
 | 
    oinfo       := MDSEditor::Editor().ObjectInfo( LibDEF_DataBroker::DATASET_KIND(), LibDEF_DataBroker::DATASET_PATH(), datasetName ); 
 | 
     
 | 
    if( isnull( oinfo ) ) 
 | 
    { 
 | 
      storageState := LibDEF_Util::GetSettingValueDefaultStorageState(); 
 | 
     
 | 
      if( storageState <> "" ) 
 | 
      { 
 | 
        debuginfo( "Create dataset", datasetName, "with storage mode =", storageState ); 
 | 
        MDSLibDEF_DataBroker::CreateMDS( datasetName, storageState ); 
 | 
      } 
 | 
      else 
 | 
      { 
 | 
        // log warning 
 | 
        propertyName := LibDEF_Util::GetSettingNameDefaultStorageState(); 
 | 
        LibDEF_Util::LogWarning( "Failed to retrieve configuration '" + propertyName + "'. Memory-only dataset will be created." ); 
 | 
     
 | 
        // create memory-only dataset 
 | 
        MDSLibDEF_DataBroker::CreateMDS( datasetName, MDSInterface::MemoryOnlyState() ); 
 | 
      } 
 | 
       
 | 
    } 
 | 
    else if( not oinfo.IsLoaded() ) 
 | 
    { 
 | 
      debuginfo( "Load dataset", datasetName, "with storage mode =", oinfo.State() ); 
 | 
      MDSLibDEF_DataBroker::LoadMDS( datasetName ); 
 | 
    } 
 | 
     
 | 
    debuginfo( "===== Data Broker server startup ends =====" ); 
 | 
  *] 
 | 
} 
 |