@@ -264,16 +264,19 @@ public void write(JsonWriter out, CollectionConfig value) throws IOException {
264264 public CollectionConfig read (JsonReader in ) throws IOException {
265265 var jsonObject = JsonParser .parseReader (in ).getAsJsonObject ();
266266
267- var mixedProperties = jsonObject .get ("properties" ).getAsJsonArray ();
268267 var references = new JsonArray ();
269268 var properties = new JsonArray ();
270269
271- for (var property : mixedProperties ) {
272- var dataTypes = property .getAsJsonObject ().get ("dataType" ).getAsJsonArray ();
273- if (dataTypes .size () == 1 && DataType .KNOWN_TYPES .contains (dataTypes .get (0 ).getAsString ())) {
274- properties .add (property );
275- } else {
276- references .add (property );
270+ if (jsonObject .has ("properties" ) && jsonObject .get ("properties" ).isJsonArray ()) {
271+ var mixedProperties = jsonObject .get ("properties" ).getAsJsonArray ();
272+
273+ for (var property : mixedProperties ) {
274+ var dataTypes = property .getAsJsonObject ().get ("dataType" ).getAsJsonArray ();
275+ if (dataTypes .size () == 1 && DataType .KNOWN_TYPES .contains (dataTypes .get (0 ).getAsString ())) {
276+ properties .add (property );
277+ } else {
278+ references .add (property );
279+ }
277280 }
278281 }
279282
@@ -286,7 +289,7 @@ public CollectionConfig read(JsonReader in) throws IOException {
286289
287290 // Separate modules into reranker- and generative- modules.
288291 var rerankerModules = new JsonArray ();
289- if (jsonObject .has ("moduleConfig" )) {
292+ if (jsonObject .has ("moduleConfig" ) && jsonObject . get ( "moduleConfig" ). isJsonObject () ) {
290293 var moduleConfig = jsonObject .remove ("moduleConfig" ).getAsJsonObject ();
291294
292295 moduleConfig .entrySet ().stream ()
0 commit comments