| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ParseEntityQuery (String querykind, JSON jsondata) as owning Lib3DS_Entities | 
| { | 
|   TextBody: | 
|   [* | 
|     entities := construct( Lib3DS_Entities ); | 
|      | 
|     urlprefix := ''; | 
|     urlprefixes := guard( jsondata.Get( 'url_prefixes' ), null( JSON, owning ) ); | 
|     if( not isnull( urlprefixes ) ) | 
|     { | 
|       key := urlprefixes.GetProperty( 0 ); | 
|       urlprefix := guard( urlprefixes.Get( key ).GetString(), '' ); | 
|     } | 
|      | 
|     results := guard( jsondata.Get( 'results' ), null( JSON, owning ) ); | 
|      | 
|     if( guard( results.IsArray(), false ) ) | 
|     { | 
|       for( i := 0; i < results.Size(); i++ ) | 
|       { | 
|         result := results.Get( i ); | 
|          | 
|         if( not isnull( result ) ) | 
|         { | 
|           id := guard( result.Get( 'id' ).GetString(), '' ); | 
|           physicalid := guard( result.Get( 'physicalid' ).GetString(), '' ); | 
|            | 
|           if( id <> '' and physicalid <> '' ) | 
|           { | 
|             obj := this.FindOrCreateEntity( querykind, id, physicalid ); | 
|             obj.Synchronize( result, urlprefix ); | 
|             entities.Add( obj ); | 
|           } | 
|         } | 
|       } | 
|     } | 
|      | 
|     return &entities; | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |