final Schema arraySchema = schema.field(keyvalueforStruct.getKey()).schema(); final Struct arrayStruct = new Struct(arraySchema); for (int i = 0; i < array.size(); i++) { convertedArray.put(arrayElementStructName(i), array.get(i));
final SchemaBuilder arrayStructBuilder = SchemaBuilder.struct().name(builder.name() + "." + key).optional(); final Map<String, BsonValue> convertedArray = new HashMap<>(); for (int i = 0; i < array.size(); i++) { convertedArray.put(arrayElementStructName(i), array.get(i));
private void assureJsonArraySize(BsonArray jsonArray, Integer index) { while (index >= jsonArray.size()) { jsonArray.add(BsonNull.VALUE); } }
public RemoteInsertManyResult decode( final BsonReader reader, final DecoderContext decoderContext ) { final BsonDocument document = (new BsonDocumentCodec()).decode(reader, decoderContext); keyPresent(Fields.INSERTED_IDS_FIELD, document); final BsonArray arr = document.getArray(Fields.INSERTED_IDS_FIELD); final Map<Long, BsonValue> insertedIds = new HashMap<>(); for (int i = 0; i < arr.size(); i++) { insertedIds.put((long) i, arr.get(i)); } return new RemoteInsertManyResult(insertedIds); }
for (int index = 0; index < json.asArray().size(); index++) { nested = _getPropsFromPath( json.asArray().get(index),
private BsonValue findOrCreateJsonArray(BsonValue currentVal, String objKey, Integer aryIdx) { if (objKey != null) { BsonDocument jsonObj = currentVal.asDocument(); if (jsonObj.get(objKey) == null) { BsonValue ary = new BsonArray(); jsonObj.put(objKey, ary); return ary; } return jsonObj.get(objKey); } else { // aryIdx != null BsonArray jsonAry = currentVal.asArray(); if (jsonAry.size() <= aryIdx || jsonAry.get(aryIdx).equals(BsonNull.VALUE)) { BsonValue ary = new BsonArray(); assureJsonArraySize(jsonAry, aryIdx); jsonAry.set(aryIdx, ary); return ary; } return jsonAry.get(aryIdx); } }
private BsonValue findOrCreateJsonObject(BsonValue currentVal, String objKey, Integer aryIdx) { if (objKey != null) { BsonDocument jsonObj = currentVal.asDocument(); if (jsonObj.get(objKey) == null) { BsonValue obj = new BsonDocument(); jsonObj.put(objKey, obj); return obj; } return jsonObj.get(objKey); } else { // aryIdx != null BsonArray jsonAry = currentVal.asArray(); if (jsonAry.size() <= aryIdx || jsonAry.get(aryIdx).equals(BsonNull.VALUE)) { BsonValue obj = new BsonDocument(); assureJsonArraySize(jsonAry, aryIdx); jsonAry.set(aryIdx, obj); return obj; } return jsonAry.get(aryIdx); } }
if (id.isArray() && id.asArray().size() == 1) { id = id.asArray().get(0);
if (document.containsKey(Fields.FAILURE_DETAILS_FIELD)) { final BsonArray detailsArr = document.getArray(Fields.FAILURE_DETAILS_FIELD); failureDetails = new ArrayList<>(detailsArr.size()); for (final BsonValue detail: detailsArr) { final BsonDocument detailDoc = detail.asDocument();
private void transformWrite( BsonValue contentToTransform, final BsonDocument responseContent) { if (contentToTransform.isDocument()) { if (contentToTransform.asDocument().containsKey("_embedded") && contentToTransform.asDocument().get("_embedded") .isDocument() && contentToTransform.asDocument().get("_embedded") .asDocument().containsKey("rh:result") && contentToTransform.asDocument().get("_embedded") .asDocument().get("rh:result").isArray()) { BsonArray bulkResp = contentToTransform.asDocument() .get("_embedded").asDocument().get("rh:result") .asArray(); if (bulkResp.size() > 0) { BsonValue el = bulkResp.get(0); if (el.isDocument()) { BsonDocument doc = el.asDocument(); doc .keySet() .stream() .forEach(key -> responseContent .append(key, doc.get(key))); } } } } }
.asArray(); if (bulkResp.size() > 0) { BsonValue el = bulkResp.get(0);