Lines 26-37
Link Here
|
26 |
import org.eclipse.emf.common.util.URI; |
26 |
import org.eclipse.emf.common.util.URI; |
27 |
import org.eclipse.emf.ecore.EClass; |
27 |
import org.eclipse.emf.ecore.EClass; |
28 |
import org.eclipse.emf.ecore.EObject; |
28 |
import org.eclipse.emf.ecore.EObject; |
|
|
29 |
import org.eclipse.emf.ecore.EcorePackage; |
29 |
import org.eclipse.emf.ecore.resource.Resource; |
30 |
import org.eclipse.emf.ecore.resource.Resource; |
30 |
import org.eclipse.emf.ecore.resource.ResourceSet; |
31 |
import org.eclipse.emf.ecore.resource.ResourceSet; |
31 |
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; |
32 |
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; |
|
|
33 |
import org.eclipse.emf.ecore.util.EcoreUtil; |
32 |
import org.eclipse.emf.ecore.xmi.XMLResource; |
34 |
import org.eclipse.emf.ecore.xmi.XMLResource; |
33 |
import org.eclipse.gmf.codegen.gmfgen.FeatureLabelModelFacet; |
35 |
import org.eclipse.gmf.codegen.gmfgen.FeatureLabelModelFacet; |
34 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditContainer; |
36 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditContainer; |
|
|
37 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditContext; |
35 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditRoot; |
38 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditRoot; |
36 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditRule; |
39 |
import org.eclipse.gmf.codegen.gmfgen.GenAuditRule; |
37 |
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator; |
40 |
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator; |
Lines 57-65
Link Here
|
57 |
import org.eclipse.gmf.internal.common.ToolingResourceFactory; |
60 |
import org.eclipse.gmf.internal.common.ToolingResourceFactory; |
58 |
import org.eclipse.gmf.internal.common.migrate.MigrationResource; |
61 |
import org.eclipse.gmf.internal.common.migrate.MigrationResource; |
59 |
import org.eclipse.gmf.internal.common.migrate.ModelLoadHelper; |
62 |
import org.eclipse.gmf.internal.common.migrate.ModelLoadHelper; |
|
|
63 |
import org.eclipse.gmf.mappings.CanvasMapping; |
64 |
import org.eclipse.gmf.mappings.ElementInitializer; |
65 |
import org.eclipse.gmf.mappings.FeatureInitializer; |
60 |
import org.eclipse.gmf.mappings.FeatureLabelMapping; |
66 |
import org.eclipse.gmf.mappings.FeatureLabelMapping; |
|
|
67 |
import org.eclipse.gmf.mappings.FeatureSeqInitializer; |
68 |
import org.eclipse.gmf.mappings.FeatureValueSpec; |
61 |
import org.eclipse.gmf.mappings.LabelMapping; |
69 |
import org.eclipse.gmf.mappings.LabelMapping; |
|
|
70 |
import org.eclipse.gmf.mappings.Language; |
71 |
import org.eclipse.gmf.mappings.Mapping; |
62 |
import org.eclipse.gmf.mappings.MappingEntry; |
72 |
import org.eclipse.gmf.mappings.MappingEntry; |
|
|
73 |
import org.eclipse.gmf.mappings.NodeMapping; |
74 |
import org.eclipse.gmf.mappings.ReferenceNewElementSpec; |
75 |
import org.eclipse.gmf.mappings.TopNodeReference; |
76 |
import org.eclipse.gmf.mappings.ValueExpression; |
63 |
import org.eclipse.gmf.tests.Plugin; |
77 |
import org.eclipse.gmf.tests.Plugin; |
64 |
|
78 |
|
65 |
public class MigrationPatchesTest extends TestCase { |
79 |
public class MigrationPatchesTest extends TestCase { |
Lines 856-859
Link Here
|
856 |
assertNotNull(canvas.getLabels().get(0).getFigure()); |
870 |
assertNotNull(canvas.getLabels().get(0).getFigure()); |
857 |
|
871 |
|
858 |
} |
872 |
} |
|
|
873 |
|
874 |
public void testAuditContexts() throws Exception { |
875 |
URI gmfgenFileName = createURI("test226149.gmfgen"); //$NON-NLS-1$ |
876 |
|
877 |
Exception caughtGenException = assertOrdinaryLoadModelProblems(gmfgenFileName); |
878 |
assertTrue("expected diagnostic exception", caughtGenException != null); //$NON-NLS-1$ |
879 |
|
880 |
assertOnLoadModelMigrationSuccess(gmfgenFileName); |
881 |
checkAuditContexts(gmfgenFileName); |
882 |
|
883 |
URI newUri = temporarySaveMigratedModel(gmfgenFileName, "test226149", "gmfgen"); |
884 |
|
885 |
assertOnLoadModelMigrationDidNothing(newUri); |
886 |
checkAuditContexts(newUri); |
887 |
} |
888 |
|
889 |
private void checkAuditContexts(URI modelUri) { |
890 |
ModelLoadHelper loadHelper = new ModelLoadHelper(new ResourceSetImpl(), modelUri); |
891 |
Resource resource = loadHelper.getLoadedResource(); |
892 |
|
893 |
assertEquals(1, resource.getContents().size()); |
894 |
Object first = resource.getContents().get(0); |
895 |
assertTrue(first instanceof GenEditorGenerator); |
896 |
GenEditorGenerator editor = (GenEditorGenerator) first; |
897 |
assertEquals(1, editor.eContents().size()); |
898 |
first = editor.eContents().get(0); |
899 |
assertTrue(first instanceof GenAuditRoot); |
900 |
GenAuditRoot root = (GenAuditRoot) first; |
901 |
assertEquals(6, root.eContents().size()); |
902 |
|
903 |
assertNotNull(root.getClientContexts()); |
904 |
assertFalse(root.getClientContexts().isEmpty()); |
905 |
assertEquals(2, root.getClientContexts().size()); |
906 |
|
907 |
GenAuditContext saveMe1 = root.getClientContexts().get(0); |
908 |
assertEquals("SaveMe1", saveMe1.getId()); |
909 |
assertFalse(saveMe1.getRuleTargets().isEmpty()); |
910 |
assertEquals(2, saveMe1.getRuleTargets().size()); |
911 |
|
912 |
GenAuditContext saveMe2 = root.getClientContexts().get(1); |
913 |
assertEquals("SaveMe2", saveMe2.getId()); |
914 |
assertFalse(saveMe2.getRuleTargets().isEmpty()); |
915 |
assertEquals(1, saveMe2.getRuleTargets().size()); |
916 |
} |
917 |
|
918 |
public void testFeatureValueSpecRefactor227505() throws Exception { |
919 |
URI gmfmapFileName = createURI("test227505.gmfmap"); //$NON-NLS-1$ |
920 |
|
921 |
Exception caughtGenException = assertOrdinaryLoadModelProblems(gmfmapFileName); |
922 |
assertTrue("expected diagnostic exception", caughtGenException != null); //$NON-NLS-1$ |
923 |
|
924 |
assertOnLoadModelMigrationSuccess(gmfmapFileName); |
925 |
checkValueExpressions(gmfmapFileName); |
926 |
|
927 |
URI newUri = temporarySaveMigratedModel(gmfmapFileName, "test227505", "gmfmap"); |
928 |
|
929 |
assertOnLoadModelMigrationDidNothing(newUri); |
930 |
checkValueExpressions(newUri); |
931 |
} |
932 |
|
933 |
private void checkValueExpressions(URI modelUri) { |
934 |
ModelLoadHelper loadHelper = new ModelLoadHelper(new ResourceSetImpl(), modelUri); |
935 |
Resource resource = loadHelper.getLoadedResource(); |
936 |
//EcoreUtil.resolveAll(resource); |
937 |
|
938 |
assertEquals(1, resource.getContents().size()); |
939 |
Object first = resource.getContents().get(0); |
940 |
assertTrue(first instanceof Mapping); |
941 |
Mapping mapping = (Mapping) first; |
942 |
assertEquals(2, mapping.eContents().size()); |
943 |
first = mapping.eContents().get(0); |
944 |
assertTrue(first instanceof TopNodeReference); |
945 |
Object second = mapping.eContents().get(1); |
946 |
assertTrue(second instanceof CanvasMapping); |
947 |
TopNodeReference topNode = (TopNodeReference) first; |
948 |
assertEquals(1, topNode.eContents().size()); |
949 |
first = topNode.eContents().get(0); |
950 |
assertTrue(first instanceof NodeMapping); |
951 |
NodeMapping node = (NodeMapping) first; |
952 |
|
953 |
ElementInitializer initer = node.getDomainInitializer(); |
954 |
assertNotNull(initer); |
955 |
assertTrue(initer instanceof FeatureSeqInitializer); |
956 |
FeatureSeqInitializer featureRef = (FeatureSeqInitializer) initer; |
957 |
assertNotNull(featureRef.getInitializers()); |
958 |
assertFalse(featureRef.getInitializers().isEmpty()); |
959 |
assertEquals(3, featureRef.getInitializers().size()); |
960 |
|
961 |
FeatureInitializer init1 = featureRef.getInitializers().get(0); |
962 |
assertTrue(init1 instanceof FeatureValueSpec); |
963 |
FeatureValueSpec feature1 = (FeatureValueSpec) init1; |
964 |
assertEquals(EcoreUtil.getURI(EcorePackage.eINSTANCE.getEModelElement_EAnnotations()).fragment(), EcoreUtil.getURI(feature1.getFeature()).fragment()); |
965 |
ValueExpression value1 = feature1.getValue(); |
966 |
assertNotNull(value1); |
967 |
assertEquals(Language.JAVA_LITERAL, value1.getLanguage()); |
968 |
assertEquals("some.Checker", value1.getBody()); |
969 |
|
970 |
FeatureInitializer init2 = featureRef.getInitializers().get(1); |
971 |
assertTrue(init2 instanceof FeatureValueSpec); |
972 |
FeatureValueSpec feature2 = (FeatureValueSpec) init2; |
973 |
assertEquals(EcoreUtil.getURI(EcorePackage.eINSTANCE.getENamedElement_Name()).fragment(), EcoreUtil.getURI(feature2.getFeature()).fragment()); |
974 |
ValueExpression value2 = feature2.getValue(); |
975 |
assertNotNull(value2); |
976 |
assertEquals(Language.OCL_LITERAL, value2.getLanguage()); |
977 |
assertEquals("self.name", value2.getBody()); |
978 |
|
979 |
FeatureInitializer init3 = featureRef.getInitializers().get(2); |
980 |
assertTrue(init3 instanceof ReferenceNewElementSpec); |
981 |
ReferenceNewElementSpec ref3 = (ReferenceNewElementSpec) init3; |
982 |
assertEquals(EcoreUtil.getURI(EcorePackage.eINSTANCE.getETypeParameter_EBounds()).fragment(), EcoreUtil.getURI(ref3.getFeature()).fragment()); |
983 |
assertNotNull(ref3.getNewElementInitializers()); |
984 |
assertFalse(ref3.getNewElementInitializers().isEmpty()); |
985 |
assertEquals(1, ref3.getNewElementInitializers().size()); |
986 |
|
987 |
FeatureSeqInitializer featureRef3 = ref3.getNewElementInitializers().get(0); |
988 |
assertNotNull(featureRef3); |
989 |
assertNotNull(featureRef3.getInitializers()); |
990 |
assertFalse(featureRef3.getInitializers().isEmpty()); |
991 |
assertEquals(1, featureRef3.getInitializers().size()); |
992 |
|
993 |
FeatureInitializer init31 = featureRef3.getInitializers().get(0); |
994 |
assertTrue(init31 instanceof FeatureValueSpec); |
995 |
FeatureValueSpec feature31 = (FeatureValueSpec) init31; |
996 |
assertEquals(EcoreUtil.getURI(EcorePackage.eINSTANCE.getEGenericType_ELowerBound()).fragment(), EcoreUtil.getURI(feature31.getFeature()).fragment()); |
997 |
ValueExpression value31 = feature31.getValue(); |
998 |
assertNotNull(value31); |
999 |
assertEquals(Language.JAVA_LITERAL, value31.getLanguage()); |
1000 |
assertEquals("some.Checker2", value31.getBody()); |
1001 |
} |
1002 |
|
859 |
} |
1003 |
} |