From d753cb7e4a39d8176e7bcf4388f451174c9d5445 Mon Sep 17 00:00:00 2001 From: Pierre-Charles David Date: Mon, 5 Jun 2023 16:46:22 +0200 Subject: [PATCH] [2027] Support both versions of the ITool interface in the imageURL data fetchers Bug: https://github.com/eclipse-sirius/sirius-components/issues/2027 Signed-off-by: Pierre-Charles David --- CHANGELOG.adoc | 1 + ...leClickOnDiagramElementToolImageURLDataFetcher.java | 10 ++++++++-- ...ickOnTwoDiagramElementsToolImageURLDataFetcher.java | 10 ++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 5a76fae3cc..a1fa6fbdc4 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -54,6 +54,7 @@ It will start by improving a bit performances since diagrams were persisted twic - https://github.com/eclipse-sirius/sirius-components/issues/1991[#1991] [form] Fix an issue where widgets from different groups share the same ID. - https://github.com/eclipse-sirius/sirius-components/issues/1305[#1305] [diagram] Fix an issue where the default tools of the palette's tool sections where not updated. - https://github.com/eclipse-sirius/sirius-components/issues/2008[#2008] [view] Make edge tool more robust for applications which use a custom IViewRepresentationDescriptionSearchService. +- https://github.com/eclipse-sirius/sirius-components/issues/2027[#2027] [diagram] Support both versions of the ITool interface in the imageURL data fetchers === New Features diff --git a/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnDiagramElementToolImageURLDataFetcher.java b/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnDiagramElementToolImageURLDataFetcher.java index cfe87e9850..6851a13ed2 100644 --- a/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnDiagramElementToolImageURLDataFetcher.java +++ b/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnDiagramElementToolImageURLDataFetcher.java @@ -29,7 +29,13 @@ public class SingleClickOnDiagramElementToolImageURLDataFetcher implements IData @Override public String get(DataFetchingEnvironment environment) throws Exception { - ITool tool = environment.getSource(); - return URLConstants.IMAGE_BASE_PATH + tool.imageURL(); + String url = ""; + Object source = environment.getSource(); + if (source instanceof org.eclipse.sirius.components.diagrams.tools.ITool tool) { + url = URLConstants.IMAGE_BASE_PATH + tool.getImageURL(); + } else if (source instanceof ITool tool) { + url = URLConstants.IMAGE_BASE_PATH + tool.imageURL(); + } + return url; } } diff --git a/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnTwoDiagramElementsToolImageURLDataFetcher.java b/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnTwoDiagramElementsToolImageURLDataFetcher.java index 796713f14f..f370d5d6db 100644 --- a/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnTwoDiagramElementsToolImageURLDataFetcher.java +++ b/packages/diagrams/backend/sirius-components-diagrams-graphql/src/main/java/org/eclipse/sirius/components/diagrams/graphql/datafetchers/diagram/SingleClickOnTwoDiagramElementsToolImageURLDataFetcher.java @@ -29,7 +29,13 @@ public class SingleClickOnTwoDiagramElementsToolImageURLDataFetcher implements I @Override public String get(DataFetchingEnvironment environment) throws Exception { - ITool tool = environment.getSource(); - return URLConstants.IMAGE_BASE_PATH + tool.imageURL(); + String url = ""; + Object source = environment.getSource(); + if (source instanceof org.eclipse.sirius.components.diagrams.tools.ITool tool) { + url = URLConstants.IMAGE_BASE_PATH + tool.getImageURL(); + } else if (source instanceof ITool tool) { + url = URLConstants.IMAGE_BASE_PATH + tool.imageURL(); + } + return url; } }