Quintiq file version 2.0
|
#parent: #root
|
Method DeserializeScopeElements (JSON array)
|
{
|
TextBody:
|
[*
|
key_comment := LibOpt_Scope::JSON_Comment();
|
key_id := attribute( LibOpt_ScopeElement, InternalIdentifier ).Name();
|
optimization := this.Run().Optimization();
|
scope_elements := selectsortedset( optimization, ScopeElement, se, true, se.InternalIdentifier() );
|
se_index := 0;
|
for( i := 0; i < array.Size(); i++ )
|
{
|
json_se := array.Get( i );
|
comment := json_se.Get( key_comment ).GetString();
|
id := [Key] json_se.Get( key_id ).GetString();
|
|
// Find the scope element in the set of scope elements.
|
for( {}; se_index < scope_elements.Size() and scope_elements.Element( se_index ).InternalIdentifier() < id; se_index++ )
|
{ }
|
scope_element := guard( scope_elements.Element( se_index ), null( LibOpt_ScopeElement ) );
|
if( isnull( scope_element ) or id <> scope_element.InternalIdentifier() )
|
{
|
identifier := json_se.Get( attribute( LibOpt_ScopeElement, Identifier ).Name() ).GetString();
|
details := json_se.Get( attribute( LibOpt_ScopeElement, Details ).Name() ).GetString();
|
scope_element := LibOpt_ScopeElementDeleted::Create( this.Run().Optimization(), id, details, identifier, true );
|
}
|
group := null( LibOpt_Group );
|
if( json_se.Has( LibOpt_Scope::JSON_Group() ) )
|
{
|
group := LibOpt_Group::FindOrCreateByName( optimization, json_se.Get( LibOpt_Scope::JSON_Group() ).GetString() );
|
}
|
|
this.Add( scope_element, group, comment );
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|