Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2016-07-15 22:29:34 +0000
committerChristian W. Damus2016-07-16 12:37:06 +0000
commit86cfd7f722ea4f8f45a683024f50af247b8373af (patch)
tree633d0998f807cfcbb6c6ec0a262252bae108957c /tests/junit/extraplugins
parent2fb82a8d63e5d5954e77c74f765731bc61ce0eb8 (diff)
downloadorg.eclipse.papyrus-86cfd7f722ea4f8f45a683024f50af247b8373af.tar.gz
org.eclipse.papyrus-86cfd7f722ea4f8f45a683024f50af247b8373af.tar.xz
org.eclipse.papyrus-86cfd7f722ea4f8f45a683024f50af247b8373af.zip
Bug 461980: [Model Import] Structure diagram has wrong size
https://bugs.eclipse.org/bugs/show_bug.cgi?id=461980 Add a hook in the diagram transformation to set the default size of the frame, if any, if it has any defaults. Implement this hook for composite structure diagrams. (cherry-picked from streams/2.0-maintenance) Change-Id: I4ba9d3932468f6b19361ba77907452d230481d23
Diffstat (limited to 'tests/junit/extraplugins')
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath14
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF5
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/bug461980/CompositeStructureDiagram.emx37
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java7
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/AbstractTransformationTest.java30
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/RegressionTests.java30
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/StructureDiagramTest.java62
8 files changed, 174 insertions, 17 deletions
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath
index 2d1a4302f04..eca7bdba8f0 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs
index 4759947300a..62a08f4494d 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF
index e620ddc57b7..627e66a792e 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF
@@ -32,7 +32,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.gef,
org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.2.0",
org.eclipse.papyrus.junit.framework;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.ui;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="2.0.0"
Export-Package: org.eclipse.papyrus.migration.rsa.tests,
org.eclipse.papyrus.migration.rsa.tests.qvt
Bundle-Vendor: Eclipse Modeling Project
@@ -42,4 +43,4 @@ Bundle-Name: Model import migration Tests (Incubation)
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.migration.rsa.tests.Activator
Bundle-SymbolicName: org.eclipse.papyrus.migration.rsa.tests;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/bug461980/CompositeStructureDiagram.emx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/bug461980/CompositeStructureDiagram.emx
new file mode 100644
index 00000000000..a3419ed2f40
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/bug461980/CompositeStructureDiagram.emx
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<!--Rational Software Architect RealTime Edition 9.1.2-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.mmi.ui.signatures.diagram" version="7.0.0"><feature description="" name="Rational Modeling Platform (com.ibm.xtools.rmp)" url="" version="7.0.0"/></signature>?>
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.model" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<uml:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.3/Umlnotation" xmi:id="_ih-8ckm2EeaTgb5ZZIM8Jg" name="CompositeStructureDiagram">
+ <eAnnotations xmi:id="_ih-8c0m2EeaTgb5ZZIM8Jg" source="uml2.diagrams"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_leeiwEm2EeaTgb5ZZIM8Jg" name="Class1">
+ <eAnnotations xmi:id="_lfOwsEm2EeaTgb5ZZIM8Jg" source="uml2.diagrams">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_lfOwsUm2EeaTgb5ZZIM8Jg" type="Structure" element="_leeiwEm2EeaTgb5ZZIM8Jg" name="StructureDiagram1" measurementUnit="Himetric">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_lfOwskm2EeaTgb5ZZIM8Jg" type="StructureDiagramFrame" element="_leeiwEm2EeaTgb5ZZIM8Jg" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_lfOws0m2EeaTgb5ZZIM8Jg" type="StructureCompartment"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_lfOwtEm2EeaTgb5ZZIM8Jg" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lfOwtUm2EeaTgb5ZZIM8Jg" x="793" y="793"/>
+ </children>
+ </contents>
+ </eAnnotations>
+ </packagedElement>
+ <profileApplication xmi:id="_ih-8dkm2EeaTgb5ZZIM8Jg">
+ <eAnnotations xmi:id="_ih-8d0m2EeaTgb5ZZIM8Jg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Standard.profile.uml#_yzU58YinEdqtvbnfB2L_5w"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ <profileApplication xmi:id="_ih-8eEm2EeaTgb5ZZIM8Jg">
+ <eAnnotations xmi:id="_ih-8eUm2EeaTgb5ZZIM8Jg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/Default.epx#_fNwoAAqoEd6-N_NOT9vsCA?Default/Default?"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default?"/>
+ </profileApplication>
+ <profileApplication xmi:id="_ih-8ekm2EeaTgb5ZZIM8Jg">
+ <eAnnotations xmi:id="_ih-8e0m2EeaTgb5ZZIM8Jg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_4OVBUD0TEeKt-L0gyEptgQ?Deployment/Deployment?"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment?"/>
+ </profileApplication>
+</uml:Package>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java
index 4e18eae4798..c48ef2b4980 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java
@@ -9,7 +9,7 @@
* Contributors:
* Thibault Le Ouay (Sherpa Engineering) t.leouay@sherpa-eng.com - Initial API and implementation
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
- * Christian W. Damus - bug 496439
+ * Christian W. Damus - bugs 496439, 461980
*****************************************************************************/
package org.eclipse.papyrus.migration.rsa.tests;
@@ -19,6 +19,7 @@ import org.eclipse.papyrus.migration.rsa.tests.qvt.ImportDiagramTest;
import org.eclipse.papyrus.migration.rsa.tests.qvt.ImportModelsTest;
import org.eclipse.papyrus.migration.rsa.tests.qvt.ImportProfilesTest;
import org.eclipse.papyrus.migration.rsa.tests.qvt.TracesTest;
+import org.eclipse.papyrus.migration.rsa.tests.regression.RegressionTests;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@@ -29,7 +30,9 @@ import org.junit.runners.Suite.SuiteClasses;
@SuiteClasses({
ImportDiagramTest.class, ImportModelsTest.class, BatchImportTest.class, ImportProfilesTest.class,
TracesTest.class,
- ThreadSafeResourceSetTest.class })
+ ThreadSafeResourceSetTest.class,
+ RegressionTests.class,
+})
public class AllTests {
// Test suite
}
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/AbstractTransformationTest.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/AbstractTransformationTest.java
index 27fe81b3db7..e2507af0b31 100644
--- a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/AbstractTransformationTest.java
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/AbstractTransformationTest.java
@@ -8,7 +8,7 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- * Christian W. Damus - bug 496439
+ * Christian W. Damus - bugs 496439, 461980
*****************************************************************************/
package org.eclipse.papyrus.migration.rsa.tests.qvt;
@@ -17,6 +17,8 @@ import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -25,10 +27,14 @@ import org.eclipse.core.runtime.IPath;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
import org.eclipse.papyrus.infra.ui.editor.IMultiDiagramEditor;
import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
+import org.eclipse.papyrus.junit.utils.DisplayUtils;
import org.eclipse.papyrus.junit.utils.rules.HouseKeeper;
import org.eclipse.papyrus.migration.rsa.RSAToPapyrusParameters.Config;
import org.eclipse.papyrus.migration.rsa.RSAToPapyrusParameters.RSAToPapyrusParametersFactory;
@@ -99,7 +105,7 @@ public class AbstractTransformationTest extends AbstractPapyrusTest {
}
- protected void simpleImport(String modelToImportPath, String[] additionalResourcesPath) throws Exception {
+ protected void simpleImport(String modelToImportPath, String... additionalResourcesPath) throws Exception {
simpleImport(modelToImportPath, additionalResourcesPath, false);
}
@@ -111,10 +117,28 @@ public class AbstractTransformationTest extends AbstractPapyrusTest {
rootPackage = (Package) umlModel.getResource().getContents().get(0);
}
+ protected Diagram openDiagram(String name) throws Exception {
+ List<Diagram> diagrams = getDiagrams();
+ Diagram result = diagrams.stream()
+ .filter(d -> name.equals(d.getName()))
+ .findAny()
+ .orElseThrow(AssertionError::new);
+ ServiceUtilsForEObject.getInstance().getIPageManager(result).openPage(result);
+ DisplayUtils.flushEventLoop();
+ return result;
+ }
+
+ protected List<Diagram> getDiagrams() throws Exception {
+ ModelSet modelSet = ServiceUtils.getInstance().getModelSet(editor.getServicesRegistry());
+ return StreamSupport.stream(NotationUtils.getAllNotations(modelSet).spliterator(), false)
+ .filter(Diagram.class::isInstance).map(Diagram.class::cast)
+ .collect(Collectors.toList());
+ }
+
protected void batchImport(String[] modelsToImportPath, String[] additionalResourcesPath) throws Exception {
mainModelFiles = new IFile[modelsToImportPath.length];
- List<URI> urisToImport = new LinkedList<URI>();
+ List<URI> urisToImport = new LinkedList<>();
int i = 0;
for (String mainModelPath : modelsToImportPath) {
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/RegressionTests.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/RegressionTests.java
new file mode 100644
index 00000000000..58748706b11
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/RegressionTests.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * 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:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.tests.regression;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+
+
+/**
+ * Suite of specific bug regression tests.
+ */
+@RunWith(Suite.class)
+@SuiteClasses({
+ StructureDiagramTest.class,
+})
+public class RegressionTests {
+ // All is specified in annotations
+}
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/StructureDiagramTest.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/StructureDiagramTest.java
new file mode 100644
index 00000000000..ed89f33b913
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/regression/StructureDiagramTest.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * 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:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.migration.rsa.tests.regression;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.Size;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.migration.rsa.tests.qvt.AbstractTransformationTest;
+import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
+import org.junit.Test;
+
+/**
+ * Specific regression tests for bugs in the import of structure diagrams.
+ */
+public class StructureDiagramTest extends AbstractTransformationTest {
+
+ /**
+ * Initializes me.
+ */
+ public StructureDiagramTest() {
+ super();
+ }
+
+ /**
+ * @see <a href="http://eclip.se/461980">bug 461980</a>
+ */
+ @Test
+ public void defaultFrameSize_bug461980() throws Exception {
+ simpleImport("resources/bug461980/CompositeStructureDiagram.emx");
+
+ openEditor();
+
+ // Need to open the diagram to convert the visual IDs to modern notation for assertions
+ Diagram diagram = openDiagram("StructureDiagram1");
+
+ View frameView = ViewUtil.getChildBySemanticHint(diagram, ClassCompositeEditPart.VISUAL_ID);
+ assertThat(frameView, instanceOf(Node.class));
+
+ Node frame = (Node) frameView;
+ assertThat(frame.getLayoutConstraint(), instanceOf(Size.class));
+ Size size = (Size) frame.getLayoutConstraint();
+ assertThat(size.getWidth(), is(600));
+ assertThat(size.getHeight(), is(400));
+ }
+}

Back to the top