diff options
| author | pguilet | 2017-09-20 08:52:37 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2017-09-22 09:49:48 +0000 |
| commit | 75aef28f82de39f0d27a8dcf99a2cd2bfd677f45 (patch) | |
| tree | c8afba5481afc0ea0b296557e2d566d6d53db379 | |
| parent | 54c0ec7d7a4f317d905feee32febb200abf475cb (diff) | |
| download | org.eclipse.sirius-75aef28f82de39f0d27a8dcf99a2cd2bfd677f45.tar.gz org.eclipse.sirius-75aef28f82de39f0d27a8dcf99a2cd2bfd677f45.tar.xz org.eclipse.sirius-75aef28f82de39f0d27a8dcf99a2cd2bfd677f45.zip | |
[522524] fix missing resources in aird editor in CDO contexts
Some resources can be retrieved only by the SiriusCommonContentProvider
when extensions provided outside of Sirius are installed.
Bug: 522524
Change-Id: I6846cba781d36251429d815f6e4ef3a1b68fa669
Signed-off-by: pguilet <pierre.guilet@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.ui.editor/src/org/eclipse/sirius/ui/editor/internal/graphicalcomponents/GraphicalSemanticModelsHandler.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/org.eclipse.sirius.ui.editor/src/org/eclipse/sirius/ui/editor/internal/graphicalcomponents/GraphicalSemanticModelsHandler.java b/plugins/org.eclipse.sirius.ui.editor/src/org/eclipse/sirius/ui/editor/internal/graphicalcomponents/GraphicalSemanticModelsHandler.java index 7a7dacae2f..7892660bcf 100644 --- a/plugins/org.eclipse.sirius.ui.editor/src/org/eclipse/sirius/ui/editor/internal/graphicalcomponents/GraphicalSemanticModelsHandler.java +++ b/plugins/org.eclipse.sirius.ui.editor/src/org/eclipse/sirius/ui/editor/internal/graphicalcomponents/GraphicalSemanticModelsHandler.java @@ -872,14 +872,18 @@ public class GraphicalSemanticModelsHandler implements SessionListener, SessionM Resource sessionResource = session.getSessionResource(); IFile file = WorkspaceSynchronizer.getFile(sessionResource); ProjectDependenciesItem projectDependenciesItem = new NoDynamicProjectDependencies(file.getProject(), session); + List<Object> directChildOfProjectDependency = Arrays.asList(siriusCommonContentModelProvider.getChildren(projectDependenciesItem)); childrenList.add(projectDependenciesItem); - childrenList.addAll(Arrays.asList(children)); - List<Object> directChildOfProjectDependency = Arrays.asList(siriusCommonContentModelProvider.getChildren(projectDependenciesItem)); + List<Object> itemsWithProjectDependenciesChildren = Arrays.asList(children); + childrenList.addAll(itemsWithProjectDependenciesChildren.stream().filter(input -> !(input instanceof ViewpointsFolderItemImpl) && !directChildOfProjectDependency.contains(input)) + .collect(Collectors.toList())); + childrenList.addAll( + Arrays.asList(siriusCommonContentModelProvider.getChildren(file.getProject())).stream().filter(input -> !(input instanceof ProjectDependenciesItem)).collect(Collectors.toList())); // We put as input only the ProjectDependenciesItemImpl and all // Ecore resources not provided by this item. - treeViewer.setInput(childrenList.stream().filter(input -> !(input instanceof ViewpointsFolderItemImpl) && !directChildOfProjectDependency.contains(input)).collect(Collectors.toList())); + treeViewer.setInput(childrenList); treeViewer.expandToLevel(2); treeViewer.expandToLevel(projectDependenciesItem, 2); } |
