@@ -128,15 +128,15 @@ std::unique_ptr<Info> JSONReader::parse() {
128128 auto node = task[" node" ];
129129 auto time = task[" time" ];
130130 auto etype = task[" entity" ][" type" ];
131- assert (time.is_number ());
132- assert (node.is_number ());
131+ assert (time.is_number () && " task time must be a number " );
132+ assert (node.is_number () && " task node must be a number " );
133133
134134 if (etype == " object" ) {
135- auto object = task[" entity" ][ " id" ] ;
135+ auto object = task[" entity" ]. value ( " id" , task[ " entity " ][ " seq_id " ]) ;
136136 auto home = task[" entity" ][" home" ];
137137 bool migratable = task[" entity" ][" migratable" ];
138- assert (object.is_number ());
139- assert (home.is_number ());
138+ assert (object.is_number () && " task id or seq_id must be provided and be a number " );
139+ assert (home.is_number () && " task home must be a number " );
140140
141141 std::vector<UniqueIndexBitType> index_arr;
142142
@@ -174,8 +174,8 @@ std::unique_ptr<Info> JSONReader::parse() {
174174 auto sid = s[" id" ];
175175 auto stime = s[" time" ];
176176
177- assert (sid.is_number ());
178- assert (stime.is_number ());
177+ assert (sid.is_number () && " sid must be a number " );
178+ assert (stime.is_number () && " stime must be a number " );
179179
180180 subphase_loads[sid] = stime;
181181 }
@@ -227,10 +227,10 @@ std::unique_ptr<Info> JSONReader::parse() {
227227 auto from = comm[" from" ];
228228 auto to = comm[" to" ];
229229
230- ElementIDType from_id = from[ " id" ] ;
231- ElementIDType to_id = to[ " id" ] ;
230+ ElementIDType from_id = from. value ( " id" , from[ " seq_id " ]) ;
231+ ElementIDType to_id = to. value ( " id" , to[ " seq_id " ]) ;
232232
233- assert (bytes.is_number ());
233+ assert (bytes.is_number () && " bytes must be a number " );
234234 // assert(from.is_number());
235235 // assert(to.is_number());
236236
0 commit comments