diff options
| author | Belqassim Djafer | 2015-07-07 14:05:17 +0000 |
|---|---|---|
| committer | Pierre-Charles David | 2015-08-25 14:49:27 +0000 |
| commit | 89cbaeda8250006a41d9cbe3684a46043bf31a70 (patch) | |
| tree | b8ebc9c28a953d4ccf8723c5e401e83d99a68e70 | |
| parent | 23af9fd4dada1e0736248ac19995238a1bcd1671 (diff) | |
| download | org.eclipse.sirius-89cbaeda8250006a41d9cbe3684a46043bf31a70.tar.gz org.eclipse.sirius-89cbaeda8250006a41d9cbe3684a46043bf31a70.tar.xz org.eclipse.sirius-89cbaeda8250006a41d9cbe3684a46043bf31a70.zip | |
[475819] Display viewpoints by their labels in ViewpointSelection window
Bug: 475819
Change-Id: Ibc01fd8d2f8ffc28aa98660fd51b2f16c936e855
Cherry-picked-from: 464254
Signed-off-by: Belqassim Djafer <belqassim.djafer@obeo.fr>
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
7 files changed, 98 insertions, 2 deletions
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/My.ecore b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/My.ecore new file mode 100644 index 0000000000..b60907b8b8 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/My.ecore @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" + name="p0"/> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/ViewpointSelectionDialogTest.odesign b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/ViewpointSelectionDialogTest.odesign new file mode 100644 index 0000000000..5644fef0c3 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/ViewpointSelectionDialogTest.odesign @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" name="ViewpointSelectionDialogTest" version="10.0.0.201505222000"> + <ownedViewpoints name="ViewpointID" label="Viewpoint Label"/> + <ownedViewpoints name="Viewpoint2ID"/> +</description:Group> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/representations.aird b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/representations.aird new file mode 100644 index 0000000000..05d281c1e5 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/data/unit/ViewpointSelectionDialog/representations.aird @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xmi:id="_z6yuECSMEeWK8pQtEvtDeA" version="10.0.0.201505222000"> + <semanticResources>My.ecore</semanticResources> +</viewpoint:DAnalysis> diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ViewpointSelectionDialogTest.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ViewpointSelectionDialogTest.java new file mode 100644 index 0000000000..4640048677 --- /dev/null +++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ViewpointSelectionDialogTest.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.tests.swtbot; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; + +import org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase; +import org.eclipse.sirius.tests.swtbot.support.api.business.UIResource; +import org.eclipse.sirius.ui.tools.api.views.modelexplorerview.IModelExplorerView; +import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView; +import org.eclipse.swtbot.swt.finder.SWTBot; +import org.eclipse.swtbot.swt.finder.waits.Conditions; +import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable; +import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem; + +/** + * Test the labels of viewpoints in viewpoint selection window. + * + * @author <a href="mailto:belqassim.djafer@obeo.fr">Belqassim Djafer</a> + */ +public class ViewpointSelectionDialogTest extends AbstractSiriusSwtBotGefTestCase { + + private static final String MODEL_FILE = "My.ecore"; + + private static final String SESSION_FILE = "representations.aird"; + + private static final String VSM_FILE = "ViewpointSelectionDialogTest.odesign"; + + private static final String VSM1_ID = "ViewpointID"; + + private static final String VSM2_ID = "Viewpoint2ID"; + + private static final String VSM_LABEL = "Viewpoint Label"; + + private static final String DATA_UNIT_DIR = "data/unit/ViewpointSelectionDialog/"; + + private static final String VIEWPOINTS_SELECTION = "Viewpoints Selection"; + + SWTBot modelExplorerViewBot; + + @Override + protected void onSetUpBeforeClosingWelcomePage() throws Exception { + copyFileToTestProject(Activator.PLUGIN_ID, DATA_UNIT_DIR, MODEL_FILE, SESSION_FILE, VSM_FILE); + } + + @Override + protected void onSetUpAfterOpeningDesignerPerspective() throws Exception { + sessionAirdResource = new UIResource(designerProject, SESSION_FILE); + localSession = designerPerspective.openSessionFromFile(sessionAirdResource, true); + + SWTBotView modelExplorerView = bot.viewById(IModelExplorerView.ID); + modelExplorerView.setFocus(); + modelExplorerViewBot = modelExplorerView.bot(); + } + + /** + * Ensure that the labels of viewpoints are displayed instead of viewpoints + * names on the viewpoint selection window. + * + */ + public void testViewpointsLabelsOnViewpointSelectionDialog() { + // open the viewpoint selection dialog + SWTBotTreeItem sessionTreeItem = localSession.getRootSessionTreeItem(); + sessionTreeItem.contextMenu(VIEWPOINTS_SELECTION).click(); + bot.waitUntil(Conditions.shellIsActive(VIEWPOINTS_SELECTION)); + assertThat("The dialog is not correct for the viewpoints selection", bot.activeShell().getText(), equalTo(VIEWPOINTS_SELECTION)); + SWTBotTable table = bot.table(0); + assertTrue("The Viewpoint should be displayed by its label", table.containsItem(VSM_LABEL) && !table.containsItem(VSM1_ID)); + assertTrue("The Viewpoint should be displayed by its id", table.containsItem(VSM2_ID)); + } + +} diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java index 3e5f8d7f1f..3444148c93 100644 --- a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java +++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/suite/AllTestSuite.java @@ -358,6 +358,7 @@ public class AllTestSuite extends TestCase { // Scenario test cases suite.addTestSuite(ESEDemoTest.class); suite.addTestSuite(ValidationTest.class); + suite.addTestSuite(ViewpointSelectionDialogTest.class); suite.addTestSuite(InitializeEmptySessionTest.class); suite.addTestSuite(InitializeSessionTest.class); suite.addTestSuite(RepairTest.class); diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/viewpoint/ViewpointSelectionDialog.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/viewpoint/ViewpointSelectionDialog.java index cce64b83a3..4c5eaed567 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/viewpoint/ViewpointSelectionDialog.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/viewpoint/ViewpointSelectionDialog.java @@ -28,6 +28,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerCell; +import org.eclipse.sirius.business.api.query.IdentifiedElementQuery; import org.eclipse.sirius.business.api.query.ViewpointQuery; import org.eclipse.sirius.business.internal.movida.ViewpointDependenciesTracker; import org.eclipse.sirius.business.internal.movida.registry.ViewpointRegistry; @@ -99,7 +100,7 @@ public class ViewpointSelectionDialog extends TitleAreaDialog { } public String getLabel() { - return viewpoint.getName(); + return new IdentifiedElementQuery(viewpoint).getLabel(); } public URI getViewpointURI() { diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/viewpoint/ViewpointSelectionDialog.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/viewpoint/ViewpointSelectionDialog.java index d9ae4f4e0f..a6d9443a74 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/viewpoint/ViewpointSelectionDialog.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/viewpoint/ViewpointSelectionDialog.java @@ -34,6 +34,7 @@ import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.window.ToolTip; import org.eclipse.sirius.business.api.componentization.ViewpointRegistry; +import org.eclipse.sirius.business.api.query.IdentifiedElementQuery; import org.eclipse.sirius.business.api.query.ViewpointQuery; import org.eclipse.sirius.ext.base.Option; import org.eclipse.sirius.viewpoint.description.RepresentationExtensionDescription; @@ -94,7 +95,7 @@ public class ViewpointSelectionDialog extends TitleAreaDialog { * @return viewpoint name */ public String getLabel() { - return viewpoint.getName(); + return new IdentifiedElementQuery(viewpoint).getLabel(); } /** |
