/** * 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)); }
? userMetadataService.getDefinitionMetadata(name) : userMetadataService.getDefinitionMetadataWithInterceptor(name, GetMetadataInterceptorParameters.builder().hasMetadata(tableInternal).build()); definitionMetadata.ifPresent(table::setDefinitionMetadata);
/** * {@inheritDoc} */ @Override public Optional<TableDto> getOpt(final QualifiedName name, final GetTableServiceParameters tableParameters) { final QualifiedName viewQName = QualifiedName.ofTable(name.getCatalogName(), VIEW_DB_NAME, createViewName(name)); final Optional<TableDto> result = tableService.get(viewQName, tableParameters); // // User definition metadata of the underlying table is returned // if (result.isPresent()) { final TableDto table = result.get(); table.setName(name); final QualifiedName tableName = QualifiedName .ofTable(name.getCatalogName(), name.getDatabaseName(), name.getTableName()); final Optional<ObjectNode> definitionMetadata = userMetadataService.getDefinitionMetadataWithInterceptor(tableName, GetMetadataInterceptorParameters.builder().hasMetadata(table).build()); definitionMetadata.ifPresent( jsonNodes -> userMetadataService.populateMetadata(table, jsonNodes, null)); } return result; }
/** * 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)); }