From 93b9de8af7f7337c14c0abe4249760fa233b859e Mon Sep 17 00:00:00 2001 From: Dominik Riemer Date: Tue, 28 Jan 2025 14:21:00 +0100 Subject: [PATCH] Fix migration --- .../core/migrations/v0980/ModifyAssetLinksMigration.java | 9 ++++++--- ui/src/app/assets/dialog/base-asset-links.directive.ts | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v0980/ModifyAssetLinksMigration.java b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v0980/ModifyAssetLinksMigration.java index 8515e37317..012ecad44c 100644 --- a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v0980/ModifyAssetLinksMigration.java +++ b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v0980/ModifyAssetLinksMigration.java @@ -26,9 +26,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.stream.Collectors; public class ModifyAssetLinksMigration implements Migration { @@ -59,12 +61,13 @@ private void updateAssetLink(Map asset) { if (asset.containsKey("assetLinks")) { List> assetLinks = castToListOfMaps(asset.get("assetLinks")); + assetLinks.removeIf(assetLink -> "dashboard".equals(assetLink.get("linkType"))); assetLinks.forEach(assetLink -> { Optional.ofNullable(assetLink.get("linkType")) .filter(linkType -> linkType.equals("data-view")) .ifPresent(linkType -> { - assetLink.put("linkType", "chart"); - assetLink.put("queryHint", "chart"); + assetLink.put("linkType", "dashboard"); + assetLink.put("queryHint", "dashboard"); }); }); } @@ -82,7 +85,7 @@ private List> castToListOfMaps(Object obj) { return ((List) obj).stream() .filter(item -> item instanceof Map) .map(item -> (Map) item) - .toList(); + .collect(Collectors.toCollection(ArrayList::new)); } else { throw new IllegalArgumentException("Expected a List of Maps but got: " + obj); } diff --git a/ui/src/app/assets/dialog/base-asset-links.directive.ts b/ui/src/app/assets/dialog/base-asset-links.directive.ts index 1c60f3750e..1a4c3fc888 100644 --- a/ui/src/app/assets/dialog/base-asset-links.directive.ts +++ b/ui/src/app/assets/dialog/base-asset-links.directive.ts @@ -87,8 +87,8 @@ export abstract class BaseAssetLinksDirective { a.name.localeCompare(b.name), ); this.charts = charts.sort((a, b) => - a.baseAppearanceConfig.name.localeCompare( - b.baseAppearanceConfig.name, + a.baseAppearanceConfig.widgetTitle.localeCompare( + b.baseAppearanceConfig.widgetTitle, ), ); this.dashboards = dashboards.sort((a, b) =>