Skip to content

Commit

Permalink
[1716] Fix the "Related Elements" view for dynamic model instances
Browse files Browse the repository at this point in the history
Bug: #1716
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
  • Loading branch information
pcdavid authored and sbegaudeau committed Feb 24, 2023
1 parent ca1c5d1 commit cfe736f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 6 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.adoc
Expand Up @@ -14,6 +14,7 @@

- https://github.com/eclipse-sirius/sirius-components/issues/1674[#1674] [diagram] The fade and hide tools were available on the background of the diagram
- https://github.com/eclipse-sirius/sirius-components/issues/1710[#1710] [diagram] Ensure that the edit box of an empty edge label is not located at the wrong position
- https://github.com/eclipse-sirius/sirius-components/issues/1716[#1716] [workbench] Fixed the "Related Elements" view when activated on dynamic instances

=== New Features

Expand All @@ -26,7 +27,7 @@

=== Architectural decision records

- [ADR-085] Add support for project templates
2- [ADR-085] Add support for project templates
- [ADR-086] Add support of edges as targets of single click tools
- [ADR-087] Provide the variables available to each operation
- [ADR-088] Align the lifecycle of views on the lifecycle of domains
Expand Down
Expand Up @@ -15,6 +15,7 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.MissingResourceException;
import java.util.Objects;
import java.util.Optional;

Expand All @@ -28,6 +29,7 @@
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.sirius.components.compatibility.emf.properties.api.IPropertiesValidationProvider;
import org.eclipse.sirius.components.compatibility.forms.WidgetIdProvider;
import org.eclipse.sirius.components.compatibility.services.ImageConstants;
import org.eclipse.sirius.components.core.api.IObjectService;
import org.eclipse.sirius.components.forms.TreeNode;
import org.eclipse.sirius.components.forms.components.TreeComponent;
Expand Down Expand Up @@ -190,7 +192,11 @@ private String getContainmentReferenceLabel(EObject eObject, EReference eReferen
if (adapter instanceof ItemProviderAdapter) {
ItemProviderAdapter editingDomainItemProvider = (ItemProviderAdapter) adapter;
String key = String.format("_UI_%s_%s_feature", eReference.getEContainingClass().getName(), eReference.getName());
return editingDomainItemProvider.getString(key);
try {
return editingDomainItemProvider.getString(key);
} catch (MissingResourceException mre) {
// Expected for dynamic instances.
}
}
return null;
}
Expand All @@ -205,7 +211,7 @@ private String getNodeImageURL(VariableManager variableManager) {
} else if (self != null) {
result = this.objectService.getImagePath(self);
}
return result;
return Optional.ofNullable(result).orElse(ImageConstants.DEFAULT_SVG);
}

private String getNodeKind(VariableManager variableManager) {
Expand Down
Expand Up @@ -17,7 +17,9 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.MissingResourceException;
import java.util.Objects;
import java.util.Optional;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.AdapterFactory;
Expand All @@ -31,6 +33,7 @@
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.sirius.components.compatibility.emf.properties.api.IPropertiesValidationProvider;
import org.eclipse.sirius.components.compatibility.forms.WidgetIdProvider;
import org.eclipse.sirius.components.compatibility.services.ImageConstants;
import org.eclipse.sirius.components.core.api.IObjectService;
import org.eclipse.sirius.components.forms.TreeNode;
import org.eclipse.sirius.components.forms.components.TreeComponent;
Expand Down Expand Up @@ -141,7 +144,11 @@ private String getNodeLabel(VariableManager variableManager) {
if (adapter instanceof ItemProviderAdapter) {
ItemProviderAdapter editingDomainItemProvider = (ItemProviderAdapter) adapter;
String key = String.format("_UI_%s_%s_feature", eReference.getEContainingClass().getName(), eReference.getName());
result = editingDomainItemProvider.getString(key);
try {
result = editingDomainItemProvider.getString(key);
} catch (MissingResourceException mre) {
// Expected for dynamic instances.
}
}
} else {
Adapter adapter = this.adapterFactory.adapt(eObject, IItemPropertySource.class);
Expand Down Expand Up @@ -169,7 +176,7 @@ private String getNodeImageURL(VariableManager variableManager) {
} else if (self != null) {
result = this.objectService.getImagePath(self);
}
return result;
return Optional.ofNullable(result).orElse(ImageConstants.DEFAULT_SVG);
}

private String getNodeKind(VariableManager variableManager) {
Expand Down
Expand Up @@ -28,6 +28,7 @@
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.sirius.components.compatibility.emf.properties.api.IPropertiesValidationProvider;
import org.eclipse.sirius.components.compatibility.forms.WidgetIdProvider;
import org.eclipse.sirius.components.compatibility.services.ImageConstants;
import org.eclipse.sirius.components.core.api.IObjectService;
import org.eclipse.sirius.components.forms.TreeNode;
import org.eclipse.sirius.components.forms.components.TreeComponent;
Expand Down Expand Up @@ -179,7 +180,7 @@ private String getNodeImageURL(VariableManager variableManager) {
} else if (self != null) {
result = this.objectService.getImagePath(self);
}
return result;
return Optional.ofNullable(result).orElse(ImageConstants.DEFAULT_SVG);
}

private String getNodeKind(VariableManager variableManager) {
Expand Down

0 comments on commit cfe736f

Please sign in to comment.