Quintiq file version 2.0
|
#parent: #root
|
StaticMethod OnServerStartUp
|
{
|
TextBody:
|
[*
|
debuginfo( '========================================================= MP Sync =================================================================')
|
// Clean up storage MPSync datasets, because MPSync is now memory-only
|
findOptions := DatasetFindOptions::Construct()
|
findOptions.Kind( GlobalParameters_MP::GetDatasetMPSync() );
|
findOptions.IncludeOffline( true )
|
storageMPSyncKeys := DatasetController::Find( findOptions );
|
|
if( DMF_Utility::GetIsAutoConversion() )
|
{
|
deletes := construct( structured[stream[Key]] );
|
traverse( storageMPSyncKeys, Elements, e )
|
{
|
deletes.Add( e->DatasetController::Delete() );
|
}
|
|
// After deleting them, we will create a new memory-only MPSync
|
void->After( stream[Key]::Merge( deletes ) )->MPSync::CreateDataset();
|
}
|
else
|
{
|
// Load or create mpsync
|
folder := GlobalParameters_MP::GetDatasetFolder();
|
datasetName := MPSync::GetDatasetName();
|
oinfo := MDSEditor::Editor().ObjectInfos( datasetName, folder, datasetName );
|
o := select( oinfo, Elements, o/*, not o.IsLoaded()*/, true );
|
emptydataset := isnull( o );
|
|
if( emptydataset )
|
{
|
MPSync::CreateDataset();
|
}
|
else
|
{
|
MDSMPSync::LoadMDSAndConvert( o.MDSID(), GlobalParameters_MP::GetStorageState() );
|
}
|
}
|
*]
|
}
|