@Override public void populateMetadata(final HasMetadata holder, final ObjectNode definitionMetadata, final ObjectNode dataMetadata) { super.populateMetadata(holder, definitionMetadata, dataMetadata); }
@Override public void saveMetadata(final String userId, final HasMetadata holder, final boolean merge) { super.saveMetadata(userId, holder, merge); }
/** * Populate the given metadata. * * @param holder metadata */ @Override public void populateMetadata(final HasMetadata holder, final boolean disableIntercetpor) { Optional<ObjectNode> metadata = Optional.empty(); if (holder instanceof HasDataMetadata) { final HasDataMetadata dataDto = (HasDataMetadata) holder; if (dataDto.isDataExternal()) { metadata = getDataMetadata(dataDto.getDataUri()); } } Optional<ObjectNode> definitionMetadata = Optional.empty(); if (holder instanceof HasDefinitionMetadata) { final HasDefinitionMetadata definitionDto = (HasDefinitionMetadata) holder; definitionMetadata = disableIntercetpor ? this.getDefinitionMetadata(definitionDto.getDefinitionName()) : this.getDefinitionMetadataWithInterceptor(definitionDto.getDefinitionName(), GetMetadataInterceptorParameters.builder().hasMetadata(holder).build()); } populateMetadata(holder, definitionMetadata.orElse(null), metadata.orElse(null)); }
/** * Saves user metadata. * * @param userId user name * @param holder metadata * @param merge true if the metadata should be merged with existing metadata */ @Override public void saveMetadata(final String userId, final HasMetadata holder, final boolean merge) { if (holder instanceof HasDefinitionMetadata) { final HasDefinitionMetadata defDto = (HasDefinitionMetadata) holder; // If the user is updating the definition metadata do a merge on the existing metadata final ObjectNode newMetadata = defDto.getDefinitionMetadata(); if (newMetadata != null) { saveDefinitionMetadata(defDto.getDefinitionName(), userId, Optional.of(newMetadata), merge); } } if (holder instanceof HasDataMetadata) { final HasDataMetadata dataDto = (HasDataMetadata) holder; // If the user is updating the data metadata and a separate data location exists, // do a merge on the existing metadata final ObjectNode newMetadata = dataDto.getDataMetadata(); if (newMetadata != null && dataDto.isDataExternal()) { saveDataMetadata(dataDto.getDataUri(), userId, Optional.of(newMetadata), merge); } } }
/** * Populate the given metadata. * * @param holder metadata */ @Override public void populateMetadata(final HasMetadata holder, final boolean disableIntercetpor) { Optional<ObjectNode> metadata = Optional.empty(); if (holder instanceof HasDataMetadata) { final HasDataMetadata dataDto = (HasDataMetadata) holder; if (dataDto.isDataExternal()) { metadata = getDataMetadata(dataDto.getDataUri()); } } Optional<ObjectNode> definitionMetadata = Optional.empty(); if (holder instanceof HasDefinitionMetadata) { final HasDefinitionMetadata definitionDto = (HasDefinitionMetadata) holder; definitionMetadata = disableIntercetpor ? this.getDefinitionMetadata(definitionDto.getDefinitionName()) : this.getDefinitionMetadataWithInterceptor(definitionDto.getDefinitionName(), GetMetadataInterceptorParameters.builder().hasMetadata(holder).build()); } populateMetadata(holder, definitionMetadata.orElse(null), metadata.orElse(null)); }
/** * Saves user metadata. * * @param userId user name * @param holder metadata * @param merge true if the metadata should be merged with existing metadata */ @Override public void saveMetadata(final String userId, final HasMetadata holder, final boolean merge) { if (holder instanceof HasDefinitionMetadata) { final HasDefinitionMetadata defDto = (HasDefinitionMetadata) holder; // If the user is updating the definition metadata do a merge on the existing metadata final ObjectNode newMetadata = defDto.getDefinitionMetadata(); if (newMetadata != null) { saveDefinitionMetadata(defDto.getDefinitionName(), userId, Optional.of(newMetadata), merge); } } if (holder instanceof HasDataMetadata) { final HasDataMetadata dataDto = (HasDataMetadata) holder; // If the user is updating the data metadata and a separate data location exists, // do a merge on the existing metadata final ObjectNode newMetadata = dataDto.getDataMetadata(); if (newMetadata != null && dataDto.isDataExternal()) { saveDataMetadata(dataDto.getDataUri(), userId, Optional.of(newMetadata), merge); } } }