@Override public Map<QName, Metadata> getMetadataMap() { return record.getMetadataMap(); } }
@Override public Map<QName, Metadata> getMetadataMap() { // Metadata objects are immutable return Collections.unmodifiableMap(delegate.getMetadataMap()); } }
/** * Removes state from the record which was present on submit, but shouldn't be present in the record * returned to the client. */ private void removeUnidirectionalState(Record record) { record.getFieldsToDelete().clear(); // Clearing the fieldsToDelete of the metadata's is a bit more complex since those objects are immutable Map<QName, Metadata> changedMetadata = null; for (Map.Entry<QName, Metadata> metadataEntry : record.getMetadataMap().entrySet()) { if (metadataEntry.getValue().getFieldsToDelete().size() > 0) { MetadataBuilder builder = new MetadataBuilder(); for (Map.Entry<String, Object> entry : metadataEntry.getValue().getMap().entrySet()) { builder.object(entry.getKey(), entry.getValue()); } if (changedMetadata == null) { changedMetadata = new HashMap<QName, Metadata>(); } changedMetadata.put(metadataEntry.getKey(), builder.build()); } } if (changedMetadata != null) { record.getMetadataMap().putAll(changedMetadata); } }
changedScopes.addAll(calculateUpdateFields(record, fields, record.getMetadataMap(), originalFields, originalRecord.getMetadataMap(), null, version, put, recordEvent, referencedBlobs, unReferencedBlobs, false, fieldTypes)); for (BlobReference referencedBlob : referencedBlobs) {
Map<QName, Metadata> metadatas = record.getMetadataMap(); if (!metadatas.isEmpty()) { ObjectNode metadatasNode = recordNode.putObject("metadata");
Map<QName, Metadata> metadatas = record.getMetadataMap(); if (metadatas.size() > 0) { output.writeVInt(metadatas.size());
Set<Scope> changedScopes = calculateUpdateFields(record, fields, record.getMetadataMap(), originalFields, originalRecord.getMetadataMap(), originalNextFields, version, put, recordEvent, referencedBlobs, unReferencedBlobs, true, fieldTypes); for (BlobReference referencedBlob : referencedBlobs) {