From 7b41ca874309b28b13612885e57d1e1d3b8361b4 Mon Sep 17 00:00:00 2001 From: Fabian Brosig <fabian.brosig@uni-wuerzburg.de> Date: Thu, 3 Jan 2013 17:44:48 +0000 Subject: [PATCH] initial commit of spray/graphiti project for composite diagrams git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@9657 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../.classpath | 9 + .../.project | 34 ++ .../META-INF/MANIFEST.MF | 35 +++ .../bin/compositediagram.shape | 47 +++ .../bin/compositediagram.spray | 60 ++++ .../bin/compositediagram.style | 21 ++ .../compositediagram/Activator.class | Bin 0 -> 2089 bytes .../CompositediagramModule.class | Bin 0 -> 511 bytes .../CompositediagramModuleBase.class | Bin 0 -> 1991 bytes .../CompositediagramDiagramTypeProvider.class | Bin 0 -> 587 bytes ...positediagramDiagramTypeProviderBase.class | Bin 0 -> 1293 bytes .../CompositediagramFeatureProvider.class | Bin 0 -> 687 bytes .../CompositediagramFeatureProviderBase.class | Bin 0 -> 10887 bytes .../CompositediagramImageProvider.class | Bin 0 -> 563 bytes .../CompositediagramImageProviderBase.class | Bin 0 -> 742 bytes .../CompositediagramModelService.class | Bin 0 -> 6154 bytes ...CompositediagramToolBehaviorProvider.class | Bin 0 -> 707 bytes ...ositediagramToolBehaviorProviderBase.class | Bin 0 -> 3289 bytes ...sitediagramAddAssemblyContextFeature.class | Bin 0 -> 733 bytes ...diagramAddAssemblyContextFeatureBase.class | Bin 0 -> 5155 bytes ...ediagramAddCompositeComponentFeature.class | Bin 0 -> 745 bytes ...gramAddCompositeComponentFeatureBase.class | Bin 0 -> 4590 bytes .../CompositediagramCopyFeature.class | Bin 0 -> 677 bytes .../CompositediagramCopyFeatureBase.class | Bin 0 -> 1722 bytes ...ediagramCreateAssemblyContextFeature.class | Bin 0 -> 745 bytes ...gramCreateAssemblyContextFeatureBase.class | Bin 0 -> 4748 bytes ...agramCreateCompositeComponentFeature.class | Bin 0 -> 757 bytes ...mCreateCompositeComponentFeatureBase.class | Bin 0 -> 4347 bytes ...gramDirectEditAssemblyContextFeature.class | Bin 0 -> 761 bytes ...DirectEditAssemblyContextFeatureBase.class | Bin 0 -> 3411 bytes ...mDirectEditCompositeComponentFeature.class | Bin 0 -> 773 bytes ...ectEditCompositeComponentFeatureBase.class | Bin 0 -> 3427 bytes ...ediagramLayoutAssemblyContextFeature.class | Bin 0 -> 745 bytes ...gramLayoutAssemblyContextFeatureBase.class | Bin 0 -> 2376 bytes ...agramLayoutCompositeComponentFeature.class | Bin 0 -> 757 bytes ...mLayoutCompositeComponentFeatureBase.class | Bin 0 -> 2393 bytes ...itediagramMoveAssemblyContextFeature.class | Bin 0 -> 737 bytes ...iagramMoveAssemblyContextFeatureBase.class | Bin 0 -> 4439 bytes ...diagramMoveCompositeComponentFeature.class | Bin 0 -> 749 bytes ...ramMoveCompositeComponentFeatureBase.class | Bin 0 -> 3182 bytes .../CompositediagramPasteFeature.class | Bin 0 -> 681 bytes .../CompositediagramPasteFeatureBase.class | Bin 0 -> 5803 bytes ...ediagramResizeAssemblyContextFeature.class | Bin 0 -> 745 bytes ...reBase$ResizeConfiguration_RectShape.class | Bin 0 -> 1541 bytes ...gramResizeAssemblyContextFeatureBase.class | Bin 0 -> 1677 bytes ...agramResizeCompositeComponentFeature.class | Bin 0 -> 757 bytes ...e$ResizeConfiguration_CompositeShape.class | Bin 0 -> 1574 bytes ...mResizeCompositeComponentFeatureBase.class | Bin 0 -> 1707 bytes ...ediagramUpdateAssemblyContextFeature.class | Bin 0 -> 745 bytes ...gramUpdateAssemblyContextFeatureBase.class | Bin 0 -> 5499 bytes ...agramUpdateCompositeComponentFeature.class | Bin 0 -> 757 bytes ...mUpdateCompositeComponentFeatureBase.class | Bin 0 -> 5521 bytes .../internal/ExecutableExtensionFactory.class | Bin 0 -> 947 bytes .../property/AssemblyContextFilter.class | Bin 0 -> 534 bytes .../property/AssemblyContextFilterBase.class | Bin 0 -> 1237 bytes .../property/AssemblyContextIdSection.class | Bin 0 -> 546 bytes .../AssemblyContextIdSectionBase$1$1.class | Bin 0 -> 1688 bytes .../AssemblyContextIdSectionBase$1.class | Bin 0 -> 2403 bytes .../AssemblyContextIdSectionBase.class | Bin 0 -> 4592 bytes .../property/AssemblyContextNameSection.class | Bin 0 -> 554 bytes .../AssemblyContextNameSectionBase$1$1.class | Bin 0 -> 1706 bytes .../AssemblyContextNameSectionBase$1.class | Bin 0 -> 2425 bytes .../AssemblyContextNameSectionBase.class | Bin 0 -> 4604 bytes .../property/CompositeComponentFilter.class | Bin 0 -> 546 bytes .../CompositeComponentFilterBase.class | Bin 0 -> 1249 bytes .../CompositeComponentIdSection.class | Bin 0 -> 558 bytes .../CompositeComponentIdSectionBase$1$1.class | Bin 0 -> 1715 bytes .../CompositeComponentIdSectionBase$1.class | Bin 0 -> 2436 bytes .../CompositeComponentIdSectionBase.class | Bin 0 -> 4610 bytes .../CompositeComponentNameSection.class | Bin 0 -> 566 bytes ...ompositeComponentNameSectionBase$1$1.class | Bin 0 -> 1733 bytes .../CompositeComponentNameSectionBase$1.class | Bin 0 -> 2458 bytes .../CompositeComponentNameSectionBase.class | Bin 0 -> 4622 bytes .../shapes/CompositeShape$TextIds.class | Bin 0 -> 1588 bytes .../shapes/CompositeShape.class | Bin 0 -> 7548 bytes .../shapes/RectShape$TextIds.class | Bin 0 -> 1493 bytes .../compositediagram/shapes/RectShape.class | Bin 0 -> 7169 bytes .../styles/CompositediagramDefaultStyle.class | Bin 0 -> 2286 bytes .../bin/spray.properties | 17 + .../build.properties | 7 + .../icons/README.txt | 1 + .../icons/connection16.gif | Bin 0 -> 882 bytes .../icons/ecore/EAttribute.gif | Bin 0 -> 123 bytes .../icons/ecore/EClass.gif | Bin 0 -> 206 bytes .../icons/ecore/EReference.gif | Bin 0 -> 183 bytes .../model/compositediagram.shape | 47 +++ .../model/compositediagram.spray | 60 ++++ .../model/compositediagram.style | 21 ++ .../model/spray.properties | 17 + .../shapepreviews/svg/CompositeShape.svg | 35 +++ .../shapepreviews/svg/RectShape.svg | 35 +++ .../compositediagram/Activator.java | 70 +++++ .../CompositediagramModule.java | 19 ++ .../CompositediagramModuleBase.java | 36 +++ .../CompositediagramDiagramTypeProvider.java | 13 + ...mpositediagramDiagramTypeProviderBase.java | 33 ++ .../CompositediagramFeatureProvider.java | 19 ++ .../CompositediagramFeatureProviderBase.java | 292 ++++++++++++++++++ .../CompositediagramImageProvider.java | 26 ++ .../CompositediagramImageProviderBase.java | 24 ++ .../diagram/CompositediagramModelService.java | 126 ++++++++ .../CompositediagramToolBehaviorProvider.java | 17 + ...positediagramToolBehaviorProviderBase.java | 79 +++++ ...ositediagramAddAssemblyContextFeature.java | 17 + ...ediagramAddAssemblyContextFeatureBase.java | 104 +++++++ ...tediagramAddCompositeComponentFeature.java | 17 + ...agramAddCompositeComponentFeatureBase.java | 94 ++++++ .../features/CompositediagramCopyFeature.java | 17 + .../CompositediagramCopyFeatureBase.java | 54 ++++ ...tediagramCreateAssemblyContextFeature.java | 17 + ...agramCreateAssemblyContextFeatureBase.java | 106 +++++++ ...iagramCreateCompositeComponentFeature.java | 17 + ...amCreateCompositeComponentFeatureBase.java | 95 ++++++ ...agramDirectEditAssemblyContextFeature.java | 17 + ...mDirectEditAssemblyContextFeatureBase.java | 85 +++++ ...amDirectEditCompositeComponentFeature.java | 17 + ...rectEditCompositeComponentFeatureBase.java | 85 +++++ ...tediagramLayoutAssemblyContextFeature.java | 18 ++ ...agramLayoutAssemblyContextFeatureBase.java | 52 ++++ ...iagramLayoutCompositeComponentFeature.java | 18 ++ ...amLayoutCompositeComponentFeatureBase.java | 52 ++++ ...sitediagramMoveAssemblyContextFeature.java | 17 + ...diagramMoveAssemblyContextFeatureBase.java | 114 +++++++ ...ediagramMoveCompositeComponentFeature.java | 17 + ...gramMoveCompositeComponentFeatureBase.java | 80 +++++ .../CompositediagramPasteFeature.java | 17 + .../CompositediagramPasteFeatureBase.java | 98 ++++++ ...tediagramResizeAssemblyContextFeature.java | 18 ++ ...agramResizeAssemblyContextFeatureBase.java | 47 +++ ...iagramResizeCompositeComponentFeature.java | 18 ++ ...amResizeCompositeComponentFeatureBase.java | 47 +++ ...tediagramUpdateAssemblyContextFeature.java | 18 ++ ...agramUpdateAssemblyContextFeatureBase.java | 135 ++++++++ ...iagramUpdateCompositeComponentFeature.java | 18 ++ ...amUpdateCompositeComponentFeatureBase.java | 135 ++++++++ .../internal/ExecutableExtensionFactory.java | 34 ++ .../property/AssemblyContextFilter.java | 15 + .../property/AssemblyContextFilterBase.java | 31 ++ .../property/AssemblyContextIdSection.java | 13 + .../AssemblyContextIdSectionBase.java | 111 +++++++ .../property/AssemblyContextNameSection.java | 13 + .../AssemblyContextNameSectionBase.java | 111 +++++++ .../property/CompositeComponentFilter.java | 15 + .../CompositeComponentFilterBase.java | 31 ++ .../property/CompositeComponentIdSection.java | 13 + .../CompositeComponentIdSectionBase.java | 111 +++++++ .../CompositeComponentNameSection.java | 13 + .../CompositeComponentNameSectionBase.java | 111 +++++++ .../shapes/CompositeShape.java | 128 ++++++++ .../compositediagram/shapes/RectShape.java | 123 ++++++++ .../styles/CompositediagramDefaultStyle.java | 76 +++++ 151 files changed, 3810 insertions(+) create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase$ResizeConfiguration_RectShape.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase$ResizeConfiguration_CompositeShape.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape$TextIds.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape$TextIds.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.class create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/connection16.gif create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EAttribute.gif create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EClass.gif create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EReference.gif create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath new file mode 100644 index 00000000..7e88ffbc --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="model"/> + <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="output" path="bin"/> +</classpath> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project new file mode 100644 index 00000000..f8641fdf --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF new file mode 100644 index 00000000..49a51a15 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/META-INF/MANIFEST.MF @@ -0,0 +1,35 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; singleton:=true +Bundle-Activator: edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.emf.ecore, + org.eclipse.graphiti;bundle-version="0.8.0", + org.eclipse.graphiti.mm;bundle-version="0.8.0", + org.eclipse.graphiti.pattern;bundle-version="0.8.0", + org.eclipse.graphiti.ui;bundle-version="0.8.0", + org.eclipse.graphiti.ui.capabilities;bundle-version="0.8.0", + org.eclipselabs.spray.runtime.graphiti, + org.eclipselabs.spray.shapes, + org.eclipselabs.spray.styles, + org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.200", + org.eclipse.emf;bundle-version="2.6.0", + org.eclipse.emf.transaction;bundle-version="1.4.0", + com.google.guava;bundle-version="10.0.1", + com.google.inject;bundle-version="3.0.0", + javax.inject;bundle-version="1.0.0", + edu.kit.ipd.descartes.mm.applicationlevel +Import-Package: org.apache.log4j, + org.apache.commons.logging, + org.eclipse.xtext.xbase.lib, + org.eclipse.xtext.service, + org.eclipse.xtext.ui.editor, + org.eclipse.xtext.ui.guice, + org.eclipse.xtext.ui.resource, + org.eclipse.xtext.util +Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape new file mode 100644 index 00000000..5bdca8bb --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.shape @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Spray shapes definition + * + * This file contains the definition of graphical figures using the Shapes Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ +// Add import statements here, e.g. +// import java.util.* + +// Add definition of shapes here. +// shape RectangleShape { +// rectangle { +// position(x=0,y=0) +// size(width=100,height=100) +// } +// } + +shape CompositeShape { + rectangle { + compartment( + layout=vertical + spacing = 5 + margin = 5 + id = context + ) + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = classText + } + } +} + +shape RectShape { + rectangle { + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = rectText + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray new file mode 100644 index 00000000..7203fdd1 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.spray @@ -0,0 +1,60 @@ +/************************************************************************************* + * + * Spray diagram definition + * + * This file contains the definition of a graphical editor using the Spray Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + * + * See also compositediagram.properties to configure generator properties. + *************************************************************************************/ +// Add import statements here +import repository.* + +diagram compositediagram for Repository style CompositediagramDefaultStyle + +// Add class mappings here. Refer to EClasses here. Don't forget to configure a +// dependency to the plugin defining the EMF metamodel in META-INF/MANIFEST.MF. +// It is required to have a genmodel for the metamodel. If the Ecore model lies in +// a workspace project, this project must have the Xtext nature. +// +// Example class mapping: +// class BusinessClass icon "ecore/EClass.gif" { +// container ( fill=yellow ) +// { +// text ( ) { "<<"+eClass.name+">> " + name}; +// line ( color=black width=2) +// } +// behavior { +// // Enable create feature for this class and add it to the palette "Shapes" +// create into types palette "Shapes"; +// } +// } +// +// Example association mapping: +// class Association icon "connection16.gif" { +// connection ( ) { +// from source; +// to target; +// fromText "source " + source.name +// } +// } + +class CompositeComponent { + shape CompositeShape { + name into classText + reference assemblyContexts into context + } + behavior { + create into components palette "Components" + } +} + +class AssemblyContext { + shape RectShape { + name into rectText + } + behavior { + create palette "Context" + } +} + diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style new file mode 100644 index 00000000..553a14c1 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/compositediagram.style @@ -0,0 +1,21 @@ +/************************************************************************************* + * + * Spray styles definition + * + * This file contains the definition of style classes using the Styles Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ + +// Add definition of styles here. +style CompositediagramDefaultStyle { + description = "The default style of the compositediagram diagram type." + // transparency = 0.95 + // background-color = black + // line-color = black + // line-style = solid + // line-width = 1 + // font-color = black + // font-name = "Tahoma" + font-size = 12 + // font-bold = yes +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.class new file mode 100644 index 0000000000000000000000000000000000000000..c4334cb9b49fe66101bcd6464a1989f0eac22c88 GIT binary patch literal 2089 zcmb_d3sW065dLHg2j(EfX(6OZ(-1<9)1p8hdDx{P5U5)RC??D>?Mz3U6-UYW?&eNM z;a~L`(q_^h&>z+5>h6pk$h6ZL?6I_3t-k%V+Fk$k_aA=(SU|%<j$uPKWByEOu7W0S z%E%F+mJx5axd;MRIYKMnbLGBtc_;%vQrZs>x#PDJSvHkug`&-u9If^R?ODh(%=lr8 zOUG3~BzdfO;KnWG@uj^;hr-d1YMY6IVNiKbr9;OUF4YN?w|u|lN}j5DE!(Xy3~kmQ zt<~1QudOf?>rchL;I8mmyrDzowa8#(+4mwXJiQ~_SPo*Cp+5>jamX-``e*p2e#W;Y zzXMg}DZR+hSDM{n$S?a%SwJ6(Hb!xd;apvLay@SE$#7fjxzf=09pUbXP?>e6%<CsA zGL$tv0K@fC-New3T8clW0Lvfz@EN}!dreo;MYTN872~e(;J}fAd85d}MTYa;$Q<t& zHkWLSV`2yl@7b_1QXuJl8&@&KFzSR-XxRxinUrS#?J*3>w2giYFj!7XhGFWz2~%_; z?FWX>tc?#aLHt`%ugJ$DcIna$@_W_~WZ@%*3#U`-q2G*MX@N6Td$QFPdl664hKI4I zRa<h(@8F5jimzqDR=SZQ6flRPg$0K1&W8H(iPGx0nMbjJPjSn_XAD<*DDwl84LsJ$ z<*9MBVB<FKP&T#If$|t`mA-w$gQmunH@$VXRX_!wTc|QjoQ~jHtQ=`lh;skV|8>ww zHY%WDN`cOjs)$xe`gap~*%eVlG`pIOJ<~NzS7@k~Cv+TAS<P3s@1C|<EcNITr0Vu| zWwA0#qbY(1Hp;kRq%|8~U}_jOd~M+?hKr}K+@Wcsj-?KB({vp2pVx;0O=Bnh5zX<} zE1vAKsvkdToRXuuX!vpH$W>(;#^`Z(oij0@kW-wfhxZ|8s*t2fSQsSj5Xm_d=u0(D zvPC-TLNvZbD^4?`xxajbv7Zvt^E3`5%5l6+vYi^>o#Z$%#{>ahpq)JJOeQc}q{)${ zSiW(Dcgw%va=H8*SAN5_E@qMJfoY<5ok-1KjLO~MkEbUye8Qmp8A4{J9h~yCnt3WP z<Al7Gx*kT85X_MuP9ARdpcjtO3mN*5d1LZnf-p_9`Q(4b<sWIzp&NtS35vN}-n7Q- z#AXs&U?%?xAMW<`C*w=Z?H=J~V>ka2^CW%Tc!5voclRV_wI{AK8M85yX&HL=QGUg> zlZWs19PZB!PvRbyi1z)2{Bm-s8m-N>MqXg$IabTR<I5ZjSYOZWR(ilj@DS^?zd^tB Q&5dT0R`f4PV-8#Y0C`;cbpQYW literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.class new file mode 100644 index 0000000000000000000000000000000000000000..0b81b11fc52147e77c38611850634b8a61486910 GIT binary patch literal 511 zcmcIhJxjzu5Ph3VE*eiyY_06n!UbE!!h@@#jdGQUd)YxpH`%aB4*XeGf`vc8A0<wL zmDnBwZ|1#Wn6Izzk52%n*i8{B+>!0{3%8nUt1UH!2`x3cEVZd?$AxLxSB_TXbfDTd z-1_jU3ttW~SvHTslzR3@xbn7hlp<DmSZ9Yz(~!dWoGWfG6h?<f3x#;*EoB&CbAkk8 zg=x+eU3cY@!mU|4so2YXVcfz5?)k46w@=(C+~@0@_)H<Y@m(lr&iy3&|DW#U*{lo> sAUnyoAYS#m2&TgHz=7oW9UE^VM92jDG_WNGOoliSzb#B*M=-+l2Mr*Yr~m)} literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.class new file mode 100644 index 0000000000000000000000000000000000000000..220c09cda955b0daa9e08f9daf5725de8bcf4292 GIT binary patch literal 1991 zcmcIl+g95~6y0Mk0^>BPlTboK$)#y+Trvsi-INp)LY10Jae&v3rHPmzOIo8bEBT3j zOZ(Kg5B-3CR9BB=gI#32Rv)^&*4%Vv&)#SD9RKzAAAbT^!A}-)3_nY^%}<o!Dss6i zV@GHsW8P|U5k<aogi&GO%TwudEu%12Ce&}a6SmT^bd~V5Xz`5;3)`XF_GL}P(!w|c z54Fdo<Eto^{Ed-s43DKgRgUEA&Ddz+m@OGdt(@*ghRIbGD6_^eRw^GdjBkXl%wr7G z1x#R);c8t4a;M#DO8rtaeaTR)hmP<Mg;vSDw>WN&Rm{+=|KBpJ3^$r8aP5PAd(%y_ zv>PRg7_OJf_1EH5a9;!--|$5oQ}A>{d4Vu(P0XKVBUUT*Y|7e-Q^E<FUp%F{R<&@Q z;qj<VTYlISeum$)69%u8moix>)#+-v7lxiMxe8uO$M71-lDb+xwD1ALqoGG=8Ha66 z*J(G1pYY_$fmYjOA*p9@3m;mTXPCPTyMWtRpi52?$go+;<f}Y{RuU{VUk`%N2qWEu zrV6}TTlooH3yTa-Mw88OwOf%tgS)tI;T}oN@*RC>0UzT5L(YT@wg04|;e^o;37<0D z8k9f|u#ZB0(v*R7oJScI3rpFUJztntp>7@61$>5OhJq)}`96jPGTf!G)g%GDfJb=D zkT;<n#6|=T`Sj+Xq}^s>j?@)T7#<A5IiZ$RExL|~yNu&VIP`$Oz*iQ&WLO#zzkjxK z&u@DwDBx>+)0dC}F_bSzxb#di0zJ2D{TJ9Unrt$K?-;K1%Gb-ck+j`Bo?_j?_YAkQ z7axe0<U7>F1=O&?Fp;c~TUQ2?(#5V0v+Fs4n<jX(falmE3gXPaN6H*C><_~AzEK4} zvpEfiqW64BMe!tKqbb;w0Fv~tl0AbT!7bDoma}R{z)@-Ler1>+@+xcHVnNPnqy^!* zN^0}s#)Z@S{|^t7n<2+hrKi6oP)oVRB()aJIQ5MBiKX8$^&1Ux$Wxnq2IeqBZJ`@L z{S}%qyoak4b&bY3yq|(B(`phwRxJLSF83kk2O!4IA#UI%ZAi}lg+OxDzo-;vJDAI% z_)!OUayY6KKS}5BQ0m}e4wd3cZ~l32{%tpY^&Qqact$&a=-@>TeG#*y6Idjwcj$MQ b9^5_HxSukb?Vj3WMCW50JE@G_RKeaqW-vc{ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..a2bf6190b7fe5bf309c8ee5a95e843016009d7e1 GIT binary patch literal 587 zcmcgpu};G<6g;O%1EEmFAFve$EU|(ZC}N5b5><CMeu4){9Be02KZ^;8fe+xL5Ke%F ziK()5_wJo6zkB}pe0v9Qiv1Lkz%%JqKCzeFXsO8+%6f9Ls-$X~k_+Y8)FpLPN=uD# z?2TQ^!c;>|n$^8kmHg%TALHuVU#uItwWecDHbpGZZv5Fx<w#(B&NcfBfzj+}DG<+% zrVJx&Pmo|NFwME9o3>h!U8q$VZXD#MP~}ot?)6VI_7Cg?T)y!bX9C%sX>CE*+>bZ= z$Hq?{Ri|)>kUIQ40*gLvz%(d1XdpR$#nww`M92d6Hn0;8Fd6D3@NQ57djTU%zX0F! Bw(tM| literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..fb8abf255f15cde81718f4ce898a154dd452dc2f GIT binary patch literal 1293 zcmcJPTWb?R6vzLQ#IB9orgtx?jqw6WP)F-yMQ9_1KolV%P<@*0j>*{F%rZNP^jj%- z0gJv0ekk#5lB$Fi>_c8=&di+io0<PPGe3TQ`37JYcN}CGhSDGMV`aIDeD2HG6UNGz zhaneH6ev$vr3Zl=$$%Rf=~!89PPnJTu`PWidPao&tgp{3Je{n!Pa^rk=#lcJIS{dQ zkYjkHO^-`2P*E&7QKG)Giu;!DcVlaWXH$Y1Hm%mdf$WQs(&mgAGdy_JOy$`wZ?scF z_81l(tAVml7_yaWhap$jzRV+wOD-H-bg;w_&R3p8DeTbvmL?Aug=F&;hKH5(`;b13 z6k+zNoje%UT&!b*`dHc-I0^m_<m<^PV&0euAt*zksRr`-Fziax7TrJ+ys14Abc9jK zcsiN0eMM<_+nldrDOXPlin3YmNxMH1Di|LsCF69u-AeVmWwJ=BZo9aE1qV9}_s&&h z4sI}*`6`lD+<BBxU|4Ed;T=B{(KJW-mL3{U9;zgZcmMOP-hU%TB3C9Evh;7zGfA`{ zD?>It6KWS}RHu1H{c7zq^0iaAM`SF2!s`36>n63!W560Yu44ro*rGXi5`@dRLL-K& zxHbj8BzOWW)jpv39b2{BS6n~Jo}!eH%dL+nCM)mAC5u1!B86=eWalq@X^Ou&_GQTq Jx5&)k_AkT2iFp73 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..28504d83fcfe7e250778b40536317b22c4c5364c GIT binary patch literal 687 zcmcgqO-lnY5PjL!R@Z7j4&DV1en5j>D?L~#2t@=-@9Ab}M|Yc;%@+EzJP98B0sbg4 zZPkMp@lpaa^Cpj(d6T?<yuJarK&y&KAR}GKNA{AfmYVWJIZwIFGO4UhIZ>X?ETuW6 z(vdYed*c=|G1)36&1&LQCck~}*F~R{FC5)DGiOb%in74dMq6H~oCGSDJY(M#I6od3 zH<6U2Y;%%fcspg!QhRxGy%sZE*q?zrCnJG!&uEHK!cGlas0h>tJfqtp8<QKVaT@Bk z1}0JINI72OuVmRzITtX4jSB7vl(e@3?f)qii0@6|66*6((a|4I*?v%Sg+qjH;X5IC zv0P5D)quK)!T~C$XD`@(4pD?S*m#v~1ZESv0UxYcs9`Ulz{fu7t6GhKA~Zh%ciYwm literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..830c0b7b36f9514a63cdb1f62a72cc89b422c564 GIT binary patch literal 10887 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 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..29cd0f1d6ef1be706e241f8e6ff0a6b7fcccb65f GIT binary patch literal 563 zcmcgp%}T^D5dP9_ceSpr_y&4X4+gv{9$XNFB7(B_*>+gRZJLs%1s}_k;K2v*p~ST4 z#e>IX;QN^&Bwyz9>-_`3Irb-r6xLj{dM#c{UFd?FoSf%I8>6YNOUcQLtxE2=)Q)T0 zh_~)V=hh6G3!#-Gqknn+XK-t1#rMv3Qm~sKR<Ikq@R}M{7+*>y{z_qVe6mo8=eFP! zBWzERV5~69q~g2QEZIHMvJ58<GMiJmASb>5X~zCZ8U>SWFu;XE`e0j^^NsWmJNoy3 y&z`9x93mtQ8%AK&Ck!|VP7fYPPT#Qg8X6JOfc+TQ2?b0Codn(uPGK)#gxNP1`>hB7 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..885836dad68c66a4ced601a4f5d640225eb8dffe GIT binary patch literal 742 zcmcgqO>Yx15PeR!O-U14!k0L5L3~KI#DPl@Qi-TkDXJ=pBCeBNvmLP4Tdy|~KZ_Gm z5B&lCQ5CZx6v%}e2hVuM^Q`xteRX|t3E(9j^wCoYwrI^4PKN8k6t>AJCfgYA4b`>d zoDzr1*@bl`+B!6xLi}p-;Fo(_FqM(K`IRSY2S=VtdlJKf3me~3WBbSyUWHg1n>(%> zYXo1PabnZ5sU4+HA$oH#Z&IW@{e@T9I(h%@@aUt$c>0+ZWE@qcIZctPa$jLI300G* zN;7h;-Nr42W09vto)&rfMxORwuglZF<>_^KdL>T_gV$VfdZV!M^w~@yn}os+uz}k{ z46viHJLSqAw|;Kp2bw$EQ4Kk{8Aa~uRWnOx+$fw+|Fiw#(wK_kU_tCUI!k|r$lx@z zF}H`@F@EyTSJa*R*<*+e@|P4IVG~=D`%?9=ElaM%j>MsKjASKw^Z9p-zAZ;~C3XN{ lgguGFp98pqu~ZrE-hf|7-OZ_W;KM(FY6VodC!;;w{{f5{(0c#? literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.class new file mode 100644 index 0000000000000000000000000000000000000000..6a612a0f81a6e56d89b801e08dc88a6a7b060519 GIT binary patch literal 6154 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 W`bn4R7ZkR7ENdhc|HX9y{QLi9D*xdC literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.class new file mode 100644 index 0000000000000000000000000000000000000000..ceaa3759e4c0fc75b10c03500842481ac4967cf6 GIT binary patch literal 707 zcmcgq!A=4(5Pe+`bVWf9-o1$?G<wBw0ApgZF(wl3Wjle<UD|ZZCVZAB6AylXA7v~c z7f*U2lg!MUd70^J`}y_$0pJ?#IwAo_dLdufOSW2SDpKV<6*AAIvNq#Xc{cNmO3I`o zYYO(pEoEx*bxxYq)Tvx<<M3BwWK1@onJU@1M`udb<m#vjl)K+MPz4FpZg|eVFK~69 z7&n!aW^4<RL57{NXQ{oszum|hEiG+N-Rq16szakGMg<2A?4c&mOn6QYi+n<Eq$XLI z-%d=bvaxc!!av2TpK&4JlijQC2~@PV0^R?~6^NhA!liV_D_NbtylnSbl?rDFE5jE< zh+=h3!Pf)oBMJu8E-v4&{~EFgaq#iF+6>GV4g)^ju+YF!K!J~AG}p6Q0Yy0Z25ZCK AAOHXW literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.class new file mode 100644 index 0000000000000000000000000000000000000000..fdaf0352b5586efbcf34f7ec2201e1820c10a229 GIT binary patch literal 3289 zcmc&$ZFdtz6n-X2n>JmF6sUk`p%u-Gu)GKb1C=zi5NOjvVx^$sW-}xMo83LTlS+^0 z_&@NAe*wP~sz(og^*4Du-q~!@lqM8C9{rNcot?Qa&wcK_^ZTDa{R-eL9>)=3SmV{E z{#Zy|xK+K%ebewH_w`0YH(b{erXhu6TYQaMy2o9|7t-<8b<=4CYhD#b%`+N$`#=B6 zhqB{Xv%GGs3CCOZoHbG9-mKyCIARR99IvKx(-N-FEu-S=zUvw5y4SR&XmFhryLBOj zE-QMj;!DpkWl5drrIcZRera(zcc;8KS1dosFBQvkcgqZ83y+L7L$?gOrkA8A>{^y# zPu{V8Y1nebu$p`b!whlSlKhEe7~igEae1jo8cRda7!pBzHn*kEFnC$mLe4OpNiK9n zvgLPG>V<19fXeGGZ^xfatuVy$PL(GR#Xb#tFv_rZLD;<5Y*e^cHYyfZt~;h-tr(tA za=00jbwReDEc`!tBk-bC=`x)9dm&RaH7-ls;-(_htm6?87#e+$Bl@|*l#b$-uP?Wk za~5w9_SsZ#<BGIa&GCe+)2-_PeM~>s-pVHM4&II9D8tpRe7%l&ma*<Mr5><uAy}8V zw<b)k;XO<+j0(S0H(WmNIgM++#c=T-26Qiu<3yw`x3*}s9Sp@&gQ(&KhDUG=QySjK z35F3uIA0f5)#En9iR5;ac;lfe+lFK7O(`sWZbA4mJAx09iX+KzyxVrq!y3}aP^Ace zuHnjcVnQ-?PboO5;S_X|$pMCg$wI2D=$0yvDCgNY&M+jqZFI_edwgM7r*Tfh$2iY$ zfVA$&r9ygpeBJ7HVL=qr8V=zwL&T*zJKvX0uj3%Yu<$#1XZJ`p+o@qV_a-{Gr&9H$ zk~GZ6i-z0o0F@@CGw<=B3#+zArBA4@#4*e8-M`ZU9+LK^M?L@5-W}NGo!w6Bn{Qo6 zfZ>{kIn1|;JKSz}Ifk?SGSsnHc;yaNXbv}2Lo5)4eM+hS?bM3$>6V5CEHdod0bc)3 zy`{4ibm$j#>Nu7dzWq;-&iOuXRIK%I5`{h_P{a*}LqRmlhQ*}}azb-j^+F=VIN`iC z<O-5|YF-eXhD)Mm2gzkv>UrpLZ<@L-GkRgCy*XQY>)9EqXBuMXd)D)Aw^fqvYFGu; z%t0#dokl2$$*z#Xx!tGUcQcnA!WRq!OR~<r1ir%8aXes{pkAog9H(aSc3U(ZON}R8 zHAY{9feM3W^KWt<y*bn-LppiC%dfDth3E%ewR4u>pXeFeyyJzLWiZ~9;{7JxuCc2Z z#zPGzs?@kcmQx?@o%Zm%uea-xf=HB{rf2ebp<W~>JIx?`@AZ0#sps7(#mCrjN_3Ro znh_ku00v2l2htG9i7t7BzEbnUDE;oG6Ek!pLjQy5%yYc;V{m7TeiOm&1f4#H{UndK zPT>F!l0@fe=WWtK)q=yJt{>=3jJ{20Uf{@;qfe2^yu`8M$xTc$Y~llk?{TOlMK|$L z1TS%V6K5HoDdQKO(bXuF@gt-jH0%bD#4u9iY?{Kz;0(<^<xIL|rsK>sF5(h7F+fl4 zPmm=yMlprUxI+47=sdykhnk5oe2S}~v$siN^lc*jGjglx4dkEW`UY;2SPaEw61NZ; z4e-4{s7=#@<Wk^>)>08V62ooWA>$=d8$mh1cQL>lm>T>ApRGpIV?!JGytEoikBtP2 zf%MpYwRnLqRs4}4ew99urz+N#iK&hWqE{G!OQ%)pCNsYw_Y{ei%4Z}M14&s5kmXy* rj*~mU4I)Q@FuF;}yhX?^cBOc-gX$z|sFN*)U<{GbJ+v0Ij^NQ>hLFoE literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..fee9ae64080458572ef70028015dc2cf81f99fb0 GIT binary patch literal 733 zcmc&xO-lnY5Pex|t82Bj2k+kefJXGF6l$R$EFvhqr@PZOy4x&CwzT4(@+5fh2l%7J z=?4g&^wbOt^CmBuc{871?;ilp(WoF0m{L;6C+(%q6Pb{UmG$IgmPwW8sg9M`W}MQ5 zQfVnSPJ3f#GB(*FrbMfuRhb-+@`dGxonJTYBxyTGSwEe1%-GY^cbC)(N&+wIs(!5; z36!t&So@a1#ZhGJP*R-g+>vBS`AB>HBkN|>^_?{noshje?g^ASCZP};*sfv|Wr13x z$8=j{eX<X#pK^spWMY-}l+|;*N|yXcJAvnDUFt6df<Z2D_FvTk;k_wrOkF)!*ZlLg zn~!Rua0tQEnjgW&BV%7-)Iz`pluu6Iu=UDOfRKH-$kv!y#}4CzB@0#TGGadVP+R;} IXB1%n8xu9?;s5{u literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..f7036e31832108c26ce3ebccf1b67b767bd8840d GIT binary patch literal 5155 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 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..90b2dabc63930680fb3a0ea817df96db24d5bc53 GIT binary patch literal 745 zcmc&yO-lnY5Pex|t82Bj2k+ke0OQB8QqV#{SVT~IPj{#7=<a68W(y+XZ}KE~@CW## z#B^IKcn~}_1H-(@OEPaJpI`4E08Y`W!4r6*sE`kAC1;V0C=Zpfl*=TMD$8OHm1UjA zG@)1;%5=_Fn@1Vyq>L$IH8LuZLsGUd?qK)V&P5b0Qe}`*YI`$w4HbcxB^Ge0auTSX zbIP_OaJCm{Gm;d>oaH2)ux!khf5ctQ3%@aX!V#JFeqW%{)e-qv!FnC5s0uU!PU*Tx z24wEkAa*ab0v)QjuMAJ|JXx`0&IO)>B{rZf;0-f@<Npd5@NactLhA8U;K^df^AGXY z*pKejL}3@g^=!I?GuJrhYYuhbIRmN(hi_PWb&&_(dB4my9J7fHhj(Ty)UoN1<6{er L@~);s9=5*$z8>xJ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..6ec070ef5824e3bcfcaadec2a2edf984479ea6e5 GIT binary patch literal 4590 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 K-=dr@yz^gA<zn^# literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..2e14c01c53ba8208864c065412ccc02aeeebc738 GIT binary patch literal 677 zcmcgpO-lno41KfKR@Z8451#er2RNd~N)Hwa!Xkpw`*b&LQ+GSd>};Vw%ah>2AK;G? z(+?0l2wpmYke9rfyktJV-ai0bqg6woFrlQ>FYGnviB719jq_CKEYl{>Q;v;iJ56au zsdkjxg1vQf9ouXfQ^IECOs0oqeCgz3_gAHB^LcMotf8VX-CVyrQ;<USmZ$7H3OA>b zbt6r2%6UOrWane{{3HE-t@F{@87Ji0XMKfA*CrHV3%hk}qpHw|cuEgtHX!$G2B~yt zMK(5R-#A|2b+Y2eTqvZ`=H_iH1jAh6>c4X;gip3~G4*&c&+#9BcsVgMgA*v($l@q5 wS&R6Zpbi2tpn87shMiZ50)*njWws&ACiVm$tyrjIUy$%|fX4Ezrl0_a-|Q{YUH||9 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..574a68658b237d01026b4afbe58f323d72889322 GIT binary patch literal 1722 zcmcgsOHUI~6#i~I?La9Hd5Vfs<<XYH5MCN;P-!F~DM*BnD68A)rCew`lbKs0dw+#H zS8mw2!RUg-jSK&RJAa1}&rEAEP$gnwCb_w1?m6H2&UeqbpTB=N1~7$59RY^2$XAR# zsSIi7jl6J8?kM3JrINvIyC_Yrq*X48eNi+VVOy?LmUCd3R>|LsyyOLkmyB(}RmGve z%$bvnWgje64;Q&BbZ87SmQyf<S(LUb3<|e*q>@HOo}xU;xys?D`X!nnd|#HOT40!t zXB#5aNi5egt~u7e%nK)-*ksT$R$fF9L~|4&gc;hivMg3BrJQg!c&;cII<uC^i<{h$ zo?ZK?sU7Ju*xCQ9RGJ~MZ8J>%ZLJKt$;+N{40kV5%CyQ#yimrn=bxz>>BRFEbfHH_ zH^bDQm2MOtMKAgox(h<BNmE%~gFG&Zk|-<E@m@T!)wm?;Is2!-Yn%;DN5Ie@#Wh@K z7$WS&ic9zBx=(Vu!c<F^b2fru`8VZXkSUSf<@?+y@^ZnbqNjBXFg&<a2RyBhjdwFu ziD?EJYfx|DM#54{1Z_bY&RtGH>L{DKe714w3q+ydoaK$kIc*qP*A+MSR=DktjE)#h zoB1ydxanQ?SQIIYGql+iwP9uGxyV`E$usoEx6ZThMm(}^RUA_+NpF~kE_jM2yh5}X zB?{7e2wIu<F3_rzwSWM9KsY(}4oz=q7eIv8i2t{jJp0f>c5l@SQM8gp{%AuxVK8*y zN)77^`83hl;@Eq1GOVONp(%Cz3ZdX(>e+nwcrFy2)81g9Kis2DttQ8haCKhq*FWNh z@AFb)Jz7ub^~qQ5kWhj?j}bJ}{w8r9q)ah%VhF?Zr7(gSjAD-Lhe-MyXNWCjuX9|a zxLZEAG)2dV-7s;zjXQ*$B6JT)CmhgO=o>n8jItAo)^#u)U1WmMW|XQA5KJ72TA}L% r<%!u^D>RupLh@9*Hve#%uxAKu*5@`@4XAT#t#b?4xG_u+WB|qwR;S@D literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..f7b8be07b3b4eb1944722c9fdcc170eeab4fa96a GIT binary patch literal 745 zcmc&xO-sW-5PchKtFhYJgLiL!fa}MxQqVv_2qGxGZ<A@enq<RfQ!FC>CQpI~e}F$q zoPL1dt*7q5FmL9~?!4LWpU*D<=V;a73A|8T$|vol&SM!<5h?4akZCGao+mm|PMa*D zF(uMcZVK&;oyf?fvzTJ7hE}C=K+2Vt8-st9z;cDIih|O9G6_uP=-GAW>>4TpZz~+& zS`{Qvz0{d@9f6C3(Ac4*DA9RAl7;0X?ew3xo5kRF){J#bwtd(Ws01b^A8XjGV;xn2 zMyNBoEz>^P2h~sbg;r=HmGqR=Q@lu4+(;J!ui*+8&=&9pxxneN!Ug<$Q`(5SdMfa2 znQuRNRAYsG2;SNB2sU0E`x>JTJT{<ubo_yhcaA*x?EP7`!OSMM81KzlsAHQE^Ra`* K?5-vw54*qln(i6^ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..ce068ce5d33e3055c23aaa35d12efe0fcbd9318d GIT binary patch literal 4748 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 C9;qMz literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..5ca95d6580c3ea20acaaad546c0ada3fe0eac7d8 GIT binary patch literal 757 zcmc&yJ4*vW5dQXziN<JR3VS;r;ELKsQWyvbhX_jg&D|s!y}Ld3HUS$E|B;no;Scaf ziIWErY{beP80MSD?tC-*@%i=+-~`PI0)<D4$NHYV<~-Ih6_IhC3Z16f<axr8@ock% zCX{GLxh>dR_n;%2&TNX=44p~!fQ%nIDeU}+beu$J>75xFWxhKvsGy|q{J%Y1n1U3_ z=bW)`E1d3y)(tg93FifAp_h-?^EbuIMeo<nPB<pl+V3fpIyR;%R<K^fD#{A=kTbd( zr+sp_rk}_Q&Co_B=^4jUyl|HMhzo_M@PB8}QV0gQ!tr0ZD^zdn*hSRkDaW(rrWZfs zm;E2znTf$JluT}Vl!%N^bVX1bfe27OIDEz0i&z1wqN_7+T{0Wk5WF+bLJgaOBp+L- L&+cjn3b6eJ;-d2^ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..977e19ab4e9307e1a5bc2c03121df5430e5ff197 GIT binary patch literal 4347 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 J_^t|H{{z7MDzyLr literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..1512ae4e83baa57ae5c47450bbb88faf781e0637 GIT binary patch literal 761 zcmc&yO-lnY5Pex|t82Bj2k+ke03(X0N<pgyVG%*;J>8wQqr00Wn=SSv;xF<fc<=}K zqr~(B1aCbx1H-(@o5{Q(-#?#U08Y@Tz!P|(sE|)=C1;V0C=Zpfl*=TMD$8OHm1UjA zG@@7<%5=_Fo3RXaGL0!>H83iXeNwhCuCV>@=86r4_BvvFk>`~3;&EH2mY!{AR#8Do z;BCo6T&kP|%IBQ2Z3&$21=<WGg)wJ2NhdHHvgJRKH}m1|j2>}Brn%o0D7AG&K31?^ z#VX1IwSZH)Es`FY2i1$+3ynaBD())76Fg6r?2vPT*I>y@XbO1!OyGD?@dEz6E=))r zo`^hK^a~t4s*%DjgxlTZ2xo4A&Q~02!E*+b4-P-D_U<ANzVrSxTXW1hHXPoWu~5aP QLynIv)TX`a4td!A1=&vYUH||9 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..b74ce7560971bcd880e331f13f344df70046e99c GIT binary patch literal 3411 zcmd5;OLNm!6#lL)TaYLrglBlQJet^!gD9_r7*c|hfT<G#c2i0p^jf|+0@+d}In%5= z{Sj=tW<h6KTDs`Kw%h)S{t4Q1CB-(0oiMCAo{^=id(QdJ_nmWe|9bPsp8(F|v5FYO z52D)CpP0UGI#s<YJcGNw@br3J=Z<5U2KP<7VTm<i>8@~W&-86~T{rA{a4)JRuerRg zKN8$;x@4H&^k&X<h2hUvO@G$&M7?6I=k10szV{bGiyPb%DinsI?bdW*Sf=9%i&s3| zb6mczyUm7g)`d<{oK@2|+mU7~p6_zQZ$~g2wa6>OZby`ayJi}KA=Bx*?a2$@dwOAc zV{eWjdDU!~{tUx~RClvhs)Z=nvTLuIRpI8+D-25Bu8Kay(XT<pu09N4kBUKt(T@DO zV7M9Or(p<t8MK=4Tc{YasdRTR-E!CshJ6|mNHXjxnhmkktXG6v<`s*`7%tidw^q1o z%I9cN@mEcc;m6|tpc+Vn*dvGGT=$H7)6Xzq@J72F7_RRmp%K=iUT9lU5k(c6OF!tx zaeScS1VgT?d@V5BI@0hVPLd{4Q`7Km*)j8$sEdZrFxg95YC&gXx2JD5%=MAVr!}0x zM+|4k^NprQQhVN=%42G{1>4<h!BFTy#}1Lw#m9V&>lSa+^w4`w@-n6&g*3x{3LaLk z;muk#+co{wI>Xd9dGU>Hp1#F0r(&F8?!5|e(}+<q!7$cUI62?iAj&k47}Q8ahHE>N z-nMGX`gN$$E_HXZ1KDI;v1ONT;hf&oIK$<hZaWg%$|^NS$>+wCMeYPWuVRWuTrY06 zDLfU^3`3jIskq8;v6s8;kkO2y0xHnVHRV{cnnc~*9)<dD?Uw5-*ply3N9T6oI-xGz znq8isD-|D>=kJ#v7UueK19K|!45_ZryG&ON^H?BPvX@=k5w5?!185R_W2YP}oVwJ_ zb;uhb><ao8!!G&#lm*&{+bF8|^ey&7V-1T~qEDCjuE{N$;|Ee5{-c(a!z_bk4R>*m zYMt;e@j7w6pZc_|W{a*e0}Ys@$Xnbaj|=bjW!Th^)EY`{)~Ye|_?&HROW93k_3eg; zKr#$c7V>C83YXVq&&5;e0#W7(KN96$Clirf_Xc{`+FFq`eyf3_LNrpOkjA$tj{>Dv z<dCjv5O~CJu<2B}FSd^5sUFq7!=#X>jl^2mFnuMv=^A3elwbHO?{fw_D{DYGNqFOQ zIwYOs`GM{dbWi6Py6&c@0%G(71~TKnp)d10v|lm&GcClhpRR*}@ewjQ1Pw=VfYuI% z2K0Z3p2!r3F+%Pbj?j+K?N78PLGM!IFL8`vF_V3PQ%m$P$}p`=yhi3J21b<E$Ua3v zc@}?0d*eaGBLT=$1o1R^K0^`5=$gVP#)Ie=L%*%)DV&8)QB|D8IebiU2MEP^Tp)i3 zun!k;iBi8z{s+O{U{uAViYqE|WOEHO5#GOPw<Kq#6YnczBFL|homMixV0c6s{^TWQ z<Csp2B!+LkK;bF+CSKwW!}H<N^Hvro2oET>O3{ZX`cX_$kxkLc6^fh-GMNb@wlbM% zWilCMGDIt%VTG_AB{n|Ceaa+5EPa6o#DdI;`2LsNB~>sL$AjE5DzYj~7ODA{_$o>; zOaC+g5K|=8p}5IlB_Dv%!nY9^hOhArt;h=bhr-Kb^4UPjrOX6LNz_a$v_Nu7ZV~}E zi4AU&Bgu%H{t<;3eHeqZGGtwaDxabP1d8N%5qq(OW4J^5E)!dKNtF^!@p1s`Rv5a) zQ64qQT_%zb*ox8ns{vba@^e05OCfJ#0b2?3c{pGz8L)LivULq=z}D?<gsqb27|j0w D9vHtb literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..be6aee997de2e8818f44ebe48e7c0d0cdb935510 GIT binary patch literal 773 zcmc&yO-sW-5PchKtFhYJgLiL!fGc_tDm_>&2tfp;_iZw5N0V&WYzkgQ{6C%q5B>mu zl(<bx1y6c%2Znj`u{&>eK0e>x0UV)KgD3DvQ6cZyO3oq~Q64H|DVIqiRhGpZD$6>J zX+p6yl<AzUHV-n?NoiBWYGhO*hoo#_Tw(V|<eUwK_99}th?GW3sqM{*YN!Z2|9>B6 zDkp*JDW_~Z0>?XnHX})4%vny-(agqd`J3wHy#H&XCmfM!@Ad^MT^*5+C9Kx5jH*B* z;FPY4WI*Ot4Py5~E6|~e`^xYX&z%)J=3L+@`2RVy1-xM<aQIjL0{)FIOh`SR@;q7m z_<T!#u?q)xYND_W;U+je!igKB(=~@W@SFhEz5Q3Lyg18)@3dcf8!oenHHWumS*T;( QA(xL0G|Ic04td!80uS@~ZU6uP literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..b7a7881d64595551bd7f56a2e0c291fb0e10ddbd GIT binary patch literal 3427 zcmd5;TUQfT6#h;~G71ACUh&p?DTDxy^#&58LI8~oh=x*YFLsz5!)R`unXt+q=;~ka zwa-4-wOU*I(50_^?XT#cu>H==kVHtp<x>}Hg_(2C-uv6%xA&g&*PB271aJ|LHADn{ zkolVN#P$rknm6*&wM@s8u2Cu(X0=+hEz`3r<)U1dMZ=NRifelnXTz{6CI4CGZL{E* zCF7Aay_!SA^p>4j+mV(xm$$w8j{i`WWp6$(nlW9eAu5oqI0ZvmMZ4<CqPglCZq+e2 z45wE1?2<GXsJdo*b|cvIs_QwX<u!uX<wEFHU~g6Cq_b{YQXtvvyWz<V_FW^hw0Slq z5TCTmwl^hkDbd=jo^2)!w&YaS?YwkSLn{K&bR{o4(Sa@<8uoOe8~Zf$2n;mk*8;=M zFh3o=*e{?Lq*q5JFp?N*4W?BNdm(T@M+|X+eObFK7i*<e=`5S8MUv5%typGp#dK`- z9xg_`HQN>VG5h~02+9z7R28_;I_dTb2y|O!xls`UH+ECes+2wXy=P<^R;;6Ru$mfr z(1nxuK*K44R7(ZxV0Lt*<3pULEJ{|}@+zut=8Ce!Mi3Zlr!E_@x_R0)wi>27DfC$# z=kSrhIeMO{xm4SA@2oy%+s#*;trh~AHgxO~X(;>HTsMuPSuPlX_mtvgP)7no0tXp9 zC}7K-E*2_|?X8sr#&^ie+&tzQ+bmNWh6QfES1oQIG#W+)23u;U23-TkGRr_f3w0E@ zzDxD(D7Y%&D%<T!YbU$#P2<&y>eX$ubEjYmTy5*NDWUDevOjX3X+2pmtA6Ke80VmC z$ITA4r(r^%cPly#lLD99x!VaDClzZb!^vx_;Z&@Vy1Q*^_1!uy)m*bV&tX%i_TUCl z=Wb0e&CTYr50~feFF(x8c3}py8qxxZme5<wSRHeirz_RYPNgaxZ(|qG6nyifnk^<9 z)k!tU8zO88`W8QDR?&1_RiT}@jjV=G-=aUT*0F#^e!=8-HM7WZekjotAZ%MT(2`iv zaToVk>`Y+MERpPk?A3;xb-tDbIAr27t-^DByx#|6dsDJKqJ`;VL7>ftZF_5~j<WM_ zH${k3pofX5dj?fr-cWtlkr>Jd>~W<R3UjZSjL@!i6TNGFttckH)nQ_lOfpiy<XfzV zfreJptj_C@cqDMRR?VB9+&-Ph+f@86(?Z=lV(UTEbml5G$CC55`qod@i4U)8jc;6i z$A8#zAv>=sA$ppSJ9t~9RO&Lprx>4ksp0QlzGV>MAJCl~{tcbU-=Y7CzMr`e!9o7^ z_{PU*bObt%;}F*l2L}9qgl{y(QS{TDz%iZ(-2TKfG43UXU*d$oLUQB<&Mfj}Kwu&| z`Wnfn=<bic#>i8|qR%>>@oa}5@t6<t3?ZJS=W~oW$lnA8FziRa9QdtAPvATZM%8c{ z7w|FTb`!-#T%x~2IDpHz!ql(Qe-FeP3}_hBa7{ysHrFu~;{BVa6**JQcwZqILVksj ziD>c{^z}#kK6#1h4ot-QV|_PYAoCQRqc3qs;CWx}c|D6$!~@3G7`>O#k7JB=HqMo6 zjGXc_nF=D-GnuMqG8Sgi%azZtLTty$#^<=tOp;{j3p^kTDkt*&FWtp82n{Fw+>#nb zG|m^L`Iq=AOmKw%IR+4kDyjo<<Niw82crkOAsB(L@eNm0h5W<tDw*_%FXdu#lv0wK zi6|E+r{X5&a}(R-Cf*+px#{YUlF^3|C@V|VRiN@279fzN;|1);B2M5A^<5%ccd1H_ z!+hC?bt?#6=O~Q=b61I^eYPUppY+-4pr4CATTyx&^x2Bh=TV=nxX;!p#nyFbK3lh2 L5w=Fp5!n9$Wn#tb literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..41d6dfe3b4821b59d5d5fc80cfa7e6f2d6c93ffc GIT binary patch literal 745 zcmc&xO-lnY5Pex|t82Bj2k+ke0OQB8QqV#{SVT~IPj{#7=x(zl*<um#H+d2~_yhb= zV)_Asx1O4TVcz5=nfLPj^Z5nf9E}PBffq^&`NU3gp2&o3tc)WovrMWyPdQeO^(dt= zrP5HYEjw){GS=Cwri9hNs7&@rxx)B^?SDIwn&`q^SxZ?jowW7H(X;E!*%g!o-c~rk zwX!5ozT^?RmcYe9q|HE5oN{hSdSUsH9sh~DSqy$>^q3Pe&BLxhsjU+Vv4+hm)=?Iy zMLeS0BI}WPP`%W@(1>)b(ylT*#fxUi4cQ93Mk_R+DG>B?fzxG$3xxN&Ffny_D)4NX zZ$EidV}*SP@7Z(-AKo~hD;~8F_yEdB#~;{u_f>$<=Wy1od1f739`DUrsAAhA&&LjG Lv%BgZ1=#%s@OAFO literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..8f8f618d5977075f6c21e9df7f35029d4f029b49 GIT binary patch literal 2376 zcmb_eTW=dh7(HV<S!{1EBu%)vKxot2PSQy)X(&!p62}39Qwl+m;BCB~IMeJ+yXy$^ zg7_Km#1F^|5-kcyNPX>Zsu16LH;ru!xu_4B>|D<I&V0A=^S}T23&1UGX-F{qAR8^d zuL7>z25(5;5MCgCZdqKouBi+WD91MCfi$@%UB_2}<F&crSe<X#P@?Gxi|<Miv^)Zq z`*v!g?X-e5-<MY1Y?mE7klzKH(dl*JOART8isLo8G)(3C(iC-{`>rS2+-uo^vLq)9 z?w$(NiIugwA9%tDBKDY$VZ`iM+Y+{DN{?Z!c1B`<Pq>nAhgKuXn4-imyrOIstTNor zce4!;RgHB#@|*+JkY1^<!;mUF4Vgg_SsfZ)(=fuY^J;wF5$*G@q!Da~`ZLgx4To_Z zuVaE?v?-&V=uQmfe4+ae|L5xe^hg>Emvjtam|?7@Z27Qd)us2fsGE{uqUIRF+!3A% z=ka1H*i$~kkF{5G?+fP|MKiJMGAwpG;Vgk<NE^aF_Ts(M62XYFoL3`6ob;u_w^_W4 z_cgr7aHlIV2PhcKpkoFfFicWdA1Nbn!pf_d(vo(-u-qHl6H+Q=_xQBW`++45R~c>& zl+%k0uOTSjUMJbIxQ4uj>r@wK!1i0!Q9zMFqnl6)?UO&wsXj!NvY5vW4GR>}^JoaM zIye?7T}i-t%cooU{ulMfR7sSlvwd2mwHr1(%dvSYP$sX`lpm1sTezd)Hp5J}@qveR zEa5Ko0$+VkHImF1sv-JA9ry4N%}E5qRK8lMJr)Ooo5F7LNDW12g<<1Db<@{#$=h*O zG2A_+00yUDSUxW4UmA?=&6fU%6L_rN@98T&Oaom<xar=W(sqyg%EsyNm46+PhT}<I ziT%4u{3F|eF!r~E8@H=rv-65%@F_miP-S?~72u2XOdXrZF=V!#mS@OK6*kJH^FEX} z!rVyBQ1?yJ^UdgwS}=`C`lg44#x%{oL<$M|KUJLj9hu^v(7&ON(We-Dg2`WLBY`Oz zM>`}rqPUDp)Rd-aZ8`$t4ZKM+qQF~tn`jx{K`y3$LT6I6w>)=*%M4rd&v4~u3?&ce zk1)${ggJ(X3rDy~$^Hu_7LrF;PT(0zKVc|!m^>tCsv}^UOarr|{2Gb5j&W)TITSlW zijj$zLY8qKt0X|fA|Bvll8_@wYgngCl!-;By=Y~FRw}eIio^?y6ZZ>T)u_@~7yueW q58Wqx=%IA+H%!hw#V4Vt$ScEiB>ZJ`;*Io65$RY2!{?pzwSNFazRE`c literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..345eba2c29c201a0e254925c513151fe0cafbb47 GIT binary patch literal 757 zcmc&yO-sW-5PchKtFhYJgLiL!fGg^)(u0M95JXUV-zL*`G|7g|rqGLs|HzZz!5`p{ z61Qoo;6*%j2ZnjGGrRL<=JV_Q1Hc(tHFyF~6czH3t>i3{5#^yWmU5XSQe|1pp|Y&g zm?jiULz&LmYBQCgPD-01RwJVlIV5EZ;}W~SZUQycg<X0}Bc;^#<_R@a1YTBK!<EWO zpnAzE+m68bL7>e@QW$fVlXUd5F<btjc)h6o*60aGWZH*)fl60L<YNt+b*!T*&<HrC zn<5#IxmSbO{m=?@sN%jdJi`lT#f~`_cn((EgSLP-%mhyV%U!^~(}fAC$1{!>%SkUb z<B$2DJgAAnK7{Ms><A~WeNNXL>cDdXRF96|u<`0F55CiW>20{kCbk^jn@6FJZHHVu NcF-u_YC7a$_Z!}6^U?qS literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..658f25ba2fd0ca0e5af6ffc53f78f1c098add6f7 GIT binary patch literal 2393 zcmb_eTW=dh6#m9`vN+ycNSbhSfzYP4ourdq)8aHGah(!yN>NZH;Ay;`IMb|mSG(hg z@QC;m@Wc<u3lc2~NJxF{Z>kVyFG+0IkhJu{<GG#heCIm*?C(GR0&oQz22u<^$VQv* zD9x4E;0+mA!q+n3tri!aXDdr+<vO<9l{WXK=LSl<{vNm7Ry3ClC7Qly@hvHI+b6+F z&q+<}xov&48%-SP=(Sj2RRq#NhN0^EO)f24d4aS=J>Y@oi#_hQ9j#iDlM-)RX?3h< zr5<QsSUOgaz%dNlk-`n(h^F)zR%)jN4z`6S`DUm!hD;#J41-I`QF@u-YM~RY52^Kp z#{=KpRSoHviw_wx6}KUWkVejgfj0~cGkp7c+#ZqcaQbFw#1Ks6!ePwBn;2&pX-XZP z#D+0c3dK%C{>$J0>Xs}R&X^d$Aj4=)Ir4tHRhRx(qHaru@tSK1`=RhvxK1`RdRqky zKh|E4@&701D5|L~k71$H52pzzL)H?`p(Agdln|EdX!)Jy>#;;7UY3jB<nTT|H1Gk# zwT=Ys!=OKciD`VqFhP-hpe*f%MOd|Eiz<s@u{*rSpj6e~;q8F;3YHC=XSm##PPb%e zhM<u9QC8(}0R;mWsXk62+pE<?5hVtLETJsgA%DCi`%tQ!!yGOdn5T%o42MwG1jhnp zED>032V_+cd{KWSElsI9)5Ar!w!+@mavk2*%I4LY3N$Idf@=n@GE8?W?|a$Ab=;ty z5UB5|OwxtodMJI<#4UVGYa+ogSy(UD9*JGSZQ(R|%!Z<~#BlGGO6SG)OAb#Gi{Zuz zHPAl;!wT}qgzNpKyA!52=p;N^?{)UME~LKRBe|*W&a&qnc9**+i!Z%!MOv;ec{OqI zGT{$zYGLhc2rp?`gLd?w4B=CJW?-G+PDhMirE{8CL!M!1({1~fTvK7Yym=I%<Uu`b z7s)f*@7cT*W=Lk5+HjiQb4EYv#WbdAPR|UDSz3LG3{vzzS(^PFL#01qeod2+Cm4N< ziC^g;g-IGmB9J^moW&VxO;fZt6$|1myiF^Dz&m)CU>V*+K7oHscQSOgID3Gz3>$M# zaqedfr1$3zFvD<wS%&-b2e?cr{|m<F(+5~g;VH^LVIZ@g-Y3yaL|}?k12e?@0+G3h zF=`8Wlp-RfSj7>MMcl?R5iqcTJNSes<cZP>R>_D8p_p_Q@7$%GD(#FQ^&De_{T$~F wsy7zKfX2{6w@E(qP`30NCT5@DUPvnT${<|{Kb4NXkv$@jO-L|&9^J3~0}98{fdBvi literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..5011f16f2ea86cdd653247694e9a70b6c56e86c4 GIT binary patch literal 737 zcmc&xO-lnY5Pex|t82Bj2k+ke03&)-3R)-#s|ZT(>F%_R?lw!3T`b~{@+5fh2l%7J z=?4hjdTIuSd6SpSyqWKx&o2OHXw?u1OeiVjv-VQwiA>1F%6f7#%cRQlRL9C|Gft_b zR9ec7)85#Lj7>I+DbZ?ZRVD|dd|~-v=ikk(De1~N%KGV~W5%9de0R>Rp(60Mvhvr; zkwEoQkF{?LoF7ES4kg8@&K*e>m5;R7f5L7SZQol{>V)jYVNamaF$slO!)6`ps0uV9 zJ*K-N>yv#{{gf-TA``2$r>vghMY7^Y+6lZyE0cdA5DapG(`97~gb${$F?ID+-VzHx zc~YgqJ_OHedITE}jeU(#8vz?oJv#ot#ydv=LiXV-+hArBTa5SSEYz{hi22w-WA;~* HQGnfFXDI6) literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..216d6df3cafe546d3d16191a46ce90906a6feff0 GIT binary patch literal 4439 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 F{{=CtH@g4; literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..0e377fc63f405e3c60a9a08cd7d44a8872aaacf1 GIT binary patch literal 749 zcmc&yO-lnY5Pex|t82Bj2k+ke03-ES>A^xlSVd5JPj{#7=<a68W($Idf60^J!5`p{ z64Py|;6d=z3=H!oFUh=_e15%u0BECCgD3DrQ6V4LO3oq~Q64H|DVIqiRhGpZD$6>J zX-cs)l<AzUHjgsYNf}ebYHU;@N2F|F+`-<johv=1Wv&cTN^O5muc0FFvdRiBR89ib zb57ZI1<novZN`$qn6sRula@``@{hdBMddd}PdOsfIUER7dO9K>YuKz~9aVuwz$sl9 z$&k#Q8piI0R-i)_50v2<UL-4a!nwe6u*wc}1iVouaQa{60{*QoOh|p6DQqvNy!aD; zPX6RxO%?VbT-RnxICHIYzUELDo-?3&bo_>mR~LEko%hRZ!!euKa(HjfLLJ)<IX-sK LDDP@I<YD(4Du(bb literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..57d5e6de3f50c46df910f717fcc7d6bf441653c0 GIT binary patch literal 3182 zcmb_eUsn@H9K8d9m9QfIquM`GinI`cRjG&stb$-^gQB6dYHQDs47i$P_v~&s`qtBL z(J#;^Uwo+6_MD#fwV$X@wRd(x+@!JQP|tzQ?Ci{)`@8d-`<p-i{^d6SXYs9t4uS7f zvFbc<BggfNPEmyg8AK{{%4J9Te#tG!$n`2EwWCT-pnNZMBQJR56uffWRz+8C2eRyJ zDH&A*PF!sIvg+-qdSBeAs7kbKhA+raSx5=Ydcn4%3MJPMl|w-Po*TI@LEW-na;~T? zSuI5xFn>?_s)ix3za$@d)o4{#<hBX~F6R<xCAk?op&!UcPEf5xZaIM;Y8WT4KjxAU zS%L03x8g<@1*S%mXf3#{)Of4~-i}*TL3V6IAhqZfRT`b>wP9hOh5Z6|-i*>Q>4eU) z7HQb%)sKD~2XRQCZ(Bw27ZaGk;^<g1kUh!L1A!wpy3j3fAm>)pwQ6}&1?zINqy!G- zyn-xk$iUU_wa!#@&kY5>&%K%8_nv0l(~d1);B-=jcD7T%F33tf>jdUrmk|Z85~+ug zvr?b5XnL|^w|j8{?^_rYIG;$;7Cc@FVq*v&2pr}HuepWD)5mYAq{=*11Z~{qm$*F7 z{_g0|X`Yz1a8h8jC8NffaZc$VKD6->M!D<cu`UBXb&!%t!4r6{JsR~HF={r=^vc*c zg>iwC1YD?wgbTy#oA*^ATK0lw+5#)D*o#Ke&GWKjx%+ZQIwe`zb_{y97sHse;o!7D znvPYEWvD3@Ro<dgd4Y145>wCGn9_3CNg>iWhw~Pu1ui9|{jZ~EoGfWcc@^xq1!ZFf z7X<nV-(Xb&URx3vh1<4(8jqD0-e`eGX=xAfEV~a?v4OmWc^cCmpw>OV3Fs4nt9t;t zV#-$on6~Z9Hr~Oz0#@x93S4-NZ`201IP?O&p;rwGrfM<8TO&25tl2NxY}9<VrrMca z&);2~ZbL!4^uJP{)y}NKQksus;lZl(WBazSDsUzt>#O{vaXAaunW@do2=tV9OZWdX z(GBfCc^m7y{*#a8t&`}*1|}_h$>QAx_hxg@+keZ(8g9_X+R?fhfXCy2QM=BFzF>OR zWDxsw+E8A0b>W<@-;ZjyDP1?}eXZ_HlUm%=5dE@~S2@9d)?_|A+2(bF&mO+rKnflF zJ(@Z74C&0Tuy3)^_Y?<y!r>?U(1D|T_QfE>ggA*K7{LJh2Fygfg=2gp1diiv!U}yX z47@nPF?!MBspoi4;CBqKvNa-bEi?WUW3#Eug#PIoe~t-(i61e;))|4H@$ny+{Q+I6 z$BB-)=8lVTN9SWr{?cQv(;2g!#(uWPk;VjXI+Nt*U=U|8#vAPnJ$RO$yMk$a&bQmR zfUl9oUChT(T{L{_Q5CU(MMjh6$SYW4JO`1-GOlv1W60rCBBhAFgwNROA|{x5sTW+N z+k&ug!oskHoP}%r1N!^5Ld+ba5dI?KKF*mp3hm0nx0}53rZUG<u|P(yZX=gPO}>cb z>d}#Z^+a!!2|YuiAQ_7k`$%$t1W%CI2<eTJ+%zd?v5GldkHfub7O#gpUkjHNiQ(QR zxju?#!X02WzeCIv5eF%n4tIniXbHNBelV86iX~v)z2G9e)fx#lVhL(0#6mFsZ%DNR GcmDxyo3FV5 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..59dc7207d4242a5a4d6e41556cc13e123e2436ce GIT binary patch literal 681 zcmcgpO-lno41KfKR@Z8458iw8102y~r3VWIVUdE;`*b&LV|P2t>}<iG<w@}15Aa8c z=?4fN1TURH$V=W#UNWCw?;ilJ(W)U(m{C&d8GFrnq7y1&<2)5Q%e2Y!lw;%B&Qn@Y zsvYIFU~k=vj%~JzDPc2lCevdwzI1Z2_p356g{S_yT0=#_Zn5E=DM+Du%X9W!g`3mJ zx{0PZ<-8y*!t*J6{t<t_5jt>o!3nv}*-)X<vk8UR!G0aPs46rfp3_5_jmSNjQ7Ro; zk&R6{G>(^eldSkD7YbRl#eq8t!8ljA`tP6$;iD~GOnqJs)c)%mFQ3iApbaHESso=O wixFQF)I}f$RL?Kou=grafKYt6$~J`A#DU<GH4Akd3KBk!&{)0I6cph28|XvR>Hq)$ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..22929b5452ab2a865df3f2ebc42d76509286a9c1 GIT binary patch literal 5803 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 B!&m?S literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..679e1e12999a48cd825a019a3e2f44f5cc371c8d GIT binary patch literal 745 zcmc&xO-lnY5Pex|tF_wNgLiL!fbrv4DQKY}6cLr))7@!1y1QADY_W>?n>+~~`~m(b zG5r9+TTjivFmLjb%zOF%`TPQKih2owzzapWd}Jp%i)2JLRK}5&Ng`F2#T+WfI*n;W zu{4xv%TAlI40STCDPlD+Dv^CsE;s&Q>)*~TS$?JqYboi)<CabxJ-PObT|z<NZHWV1 zDoX;zb57Yc1<v+5+6*LxF=v*f7nTj#@t?S>`QSH3k2oUJ*zXDyS~{XKR<K^dDvAQt z4ySaTCp|Lvsu%kg>Kz@bxT_3L@Vr@YL$(61oh2I35D5C2!11EO1<H3iHzBooBJgC9 zZ$ElaBZXZE@7ZJtAKo~hOCB{5_yCFrhaXsb_f>$h&*f>i>X|icc)T-Xp@L11JRe)A LPVcID6kz)os*&!J literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase$ResizeConfiguration_RectShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase$ResizeConfiguration_RectShape.class new file mode 100644 index 0000000000000000000000000000000000000000..dd6635a2a2dce66239144359405617ab810849b6 GIT binary patch literal 1541 zcmc&!&1w`u5dM01&AO9``7tI&jWH%_jNphE5F$!k2?`qzS;@hR^v+gxTYG-!?ul+L zBKR8O3wRNtf(IYKhZ1WxF<C<hh=*mMx~jYCtDmW=pTEBU0B{=%WfTNHP%{f&DHo`; z88pd;(m1j~6a_L(wF;$ENvvs$bYLh=ta6Fz1Yr_&d1@-zGBOG_NxICiVfE0<I$5<% zE7nrf(4A@$J9^_*ceNi%OY^%5{IIE7nd!QFu}-0@w`EFYlmzZ3rWH`ARca|<Z)saO zb>Q(4ZOTl$BX9%;TwB@sTLSNDea>^4gSn?-<?ai-U+8-@*Ea-8)uc%k2n_l-fdLOi z4EZSIlt6JIR~W9Tn4V@)gUmD8&?GQcOG2qPq*1xNcUj7dEby`4Ngdxx`~#+xeViDz z%}prvUSn#VyryP1<L4Dj;A|O_0&n}=Ek34jPGCsOPLjDb8Os(Kft6a%C}`QRflZC< z1SX4}ih72_=ED=z^T%2*#IlDAxLC%tz=QvU@-c&Pfz!&?ogo*t4@xUAsq6+B$Lr(o zI_K^$`<TluNB1rNs0w)XBr_qcs=V2j{&kn!d?~l2fd3?p$yBxErNezWeZ*!s*f5yo z0Vwi96eA<~6fjrhn=(!^t*~?l1^xhU@x~V>-{5~{seoao1FQp1X@sfY<vomIj3q7% z#`h4G_{{YN7kA+8;LKN?|HNW1#7qyw;6B8qV<2V^L(ClkQNVoH(G^_f)9c1Dfol-I E0eKzV@Bjb+ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..cd277709e2449379335848639b2e63ee95d6e16d GIT binary patch literal 1677 zcmc&!T~8B16g^WawWWX}Afi=K)Pm758lS2rSVPjJ8l{GWCo|pNmeKukc9&RRjER54 z|DX>_B8fl1A7#9|+vsX4pdsO5XJ_W#IdkXSbMLqBU%mpkiE05kfj88N<O>~2?RR8{ z0!x{Y0_iwX`M#|!6>875X^U)W$oB#rdZsTe&q?Og(W+;ZBfF%+$ne4XAC@%=^lMrP z0&?1RzwWsqy$V-T@B1pC0`dY4&-5f&w)O+ERXdP@Z&Y8J$PKkal5g-gb*O*c@_@Q3 zvcnX-wW)j>Knjf8s_#YNL*=R-8G)7NKEZ<+Mz-Rcn^}mOz~~+A>hPYxt!fr+NMMaY z9FL8+r8{J5OX~vpy4Rr+Mle=J0Y?iM7g#?S-jkpMxkgr)&`?4dWASjTjN_ORnCMYz zN#7(;uP$ZZup8ZfWuyp!=`xOBRA92HU3wHbZ8A?)+a`gjre`U8T^Sv(2b=kDQwIWX zn+Nmm|JEC4GuQP6Ze&T=Pa*|onaWggEaR^3MJ6c@ftP!!!b)W?8yUe4N}={!HiiW< z<jPtBX9eCLGL?%%B72rmVg=`8y)Ov7s~&pV<2o!1@*q&#Bm280OrX^AB4g32j@5qq zUpwCQ=W0s{lpC%~rfw^4ja(R&UCGQZaK(*q+ZOzB+3}d;IX4p?i@bV*JnsNA%U8Ei zTHZl<gC`T8G5HB6J|^xnJWeDaa}03`)0oFB@6DzMaT0U9VhFa)GpxXAoEgC1<#RE7 vaR-%+<!zk%z>6Haf@6tex|V?|{)8&x0xq&WhsDJI5-#(<#5)!Ku0Z?%CbS$F literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..44d4db76d29d45c59d3eaf9830a0edd6a5ae2d6a GIT binary patch literal 757 zcmc&yO-sW-5PchKtFhYJgLiL!fGg^)(u0M95JXgZ-zL*`G|7g|rl1EA|B)xbgFnC@ zC2nJ>;6*%j2ZnjGGrRL<=Hv729l#M<HFyG#6czH0t>i3{5#^yWmU5XSQe|1pp|Y&g zm?jiULz&LmYI83`os>33tVTv9a!AS+#wB)t-CR-54>b3dMoOveeJ9jV5qMr~4QDDR zf$AxzY&!zSJApPMNny-cPSVlK#%%eA;`yxhOQR<ok!kPt1u9(~k&h*;*0GGLKqKIk zE{bG8=0*)-_d_etp^E#;@D$IS6+7l!;3-&a5849WFcUcZFLwd|S{Ejy9#1)*%qKnD zj6ddoaH}Q?+YqjE(<7X?_Bma1r~}UlP~F>q#mbAbJorxgrMKZCn^<#r>pKc{tUKi5 Nv4KYUR?{I5n_rh5^P&I% literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase$ResizeConfiguration_CompositeShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase$ResizeConfiguration_CompositeShape.class new file mode 100644 index 0000000000000000000000000000000000000000..d4b1d935d888e5097a11da28ab1d9741e61558c4 GIT binary patch literal 1574 zcmd5+-D?v;5dUpb6MMPZ4{K}vs%@jz3a*Gkp`z4CQHVYm>4Pt_xtk`do4aFouhKq> z;9nxX_##vVAN&LSqr|;ylEzX+@S){kc4l|xHy<}MKYo7u4&Wvh%P26sr!eKOq~$UR zc}OM@+LGa&4i`zHWFV}JBSo8}xTYjF(#Cp=2XQCoDU_n6MTc*Yu&H*2wS6y7$;fT$ z-{wq2kzLz0xGxM<dpgmEY^6H)_@ZyoXp4l(7-CqCb&FG=WMYUruSr{4x##%-ZHQFa z1Hc$cwk=Kd2E*I>;pe;J;<+OuY40+;TRaK@U0r7ws>LA<gQ4Q%7)l<B81YfY35Mcg zrZ8HU5j{yeP14UqQxU^NJr0Cg7g}a=_i`vJHN%G^kk>ynmireo(maf{+>RqF)Nc2z zDiyz`Fwgw?Fs5+2jA@29hu=FsW^jgKM2W39wU0$4TBI3P>jSf)MALASXtBk08d=#H zm==>w6K`aX^+AXg59e^9jPnfl{u9c_EG8LFO4G2KY|!4TF2l4m>!hvQE5DaIb3gB6 zA+sFsTlQ2LyhfbrfYxNzcgy|d&|N>hneQ&8gO<$omts>e_>ZE9bWI6k$aU#_&+^Z! z2Xk&Fif&`Fv9WA099MKVWgK^O*h#lga3A0;UHk0FSNNZtRKTdCC8q<I+L)t$&U+Zg zgp*u>Fxf@8?aoZEva|zl2dBQ^>_;aKLd*_8RQeDX{{k_$A7bGEhytp)qf5B#PA`vR I3Rl2>0kq2N1^@s6 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..2e33224d4570818cde54e09833ccf737070881a0 GIT binary patch literal 1707 zcmd5+QBM;=5dOAQYfAw|KtxeN)Pm79`eITw(HfE_)u<Q};)7YP)3SQKJNNd8_-IW0 zCBEx}l1SnY@JAWvu17sd1rka0;r4cCcfOtd=9~Hc<Lfs7*HI}TC-9b<k$kDG)In1= zDRh*v6v|FVsvvN+qpbElm)6OZh5|p-);Al{@jJ<!np(Au>c|!;8yR-2?bvxjp?*U> zYclc3vx{Aadn%*?@&a|=v?V#N4nlI(YAD0Ns10c%&*~0Iz9d-FR{y%_KDAWj+AjXm znhGd|6c}>Vh9B7n%2RDJ0(Tqx1P@~vxfI{r$U;;F4&TzAws!<>RI+G&0;{KSJTm^e zZj!0aFAL;rev?WVz+f2#94TN(;Mu`Yp9GyDKH;K-G6v(}Xc@;aDlpt8o9uKSCQz%) zXCJZ~=YOQ72!XLO4&kuCNJD${FzT$5d8$@j5*Tgxj&hfk(eXMp=Ixpe1>Q9d=J9`{ zJI-pZ6$o6*^01$T3QRDY+sgJ@x*eIMP6S@<r4GmUEWNg}o)K=XYped2kbZ&mxw2Zo z8G#S~p3S*F!9DNQeJaXnoQw58Bk;cRKPVtB%|e<If$APY*e!Pgr6oTy4lU|f`!{<p zPdnr`J89qS*9Wh@Q0q#dT=zUOHCKfpaiz>|duDXDgV+2F*Wmy+b-^DOBab<rbD!a{ z$g9W5vjrGmxV(wd!WPOaJQ@Cik<U2(DLFpQ<8T5p$q*+ohAB+2ZKCUl6PV-`L-5`d z!wQ_j=@kAp`^E6ZEljU0Y~t)kUgY>FIF>l3D;cO_52}b+oag-<=92RlaFPEdwoLPP G3F0S4cqr-s literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..6f239414b739a43819e5be868baa713123e8cc68 GIT binary patch literal 745 zcmc&xO-lnY5Pex|t82Bj2k+ke0OQB8QqV#{SVT~JPj{znbhlZOY_W*=n>+~~`~m(b zaryy*H&4yLFmLjb%zOFz{`drNibe&2z%wO<eAHg*Jdp{xSXoa_W|>rZp6Xb6ZAK}L zDV3IT<Fq$+B4d-yYD%;kSe3~>DPLGV*#5I~pC`)Gg>#hk(n;HlJU#i&oLxal;B|=u zTq;Kb<#RpKz9n$B7a2Q{6sJ0OBw1KK)L#FJyIKr>W6fA6WSje4fl}Kf6k-MIRji^c zP>b}4u8XWk_D=OuexVVWSfyQM^%O6fB|p?o;3Zn30ZoCRp9>uSSGYiUYYH1vM^6Qw z{O8+`9@JQ27lJ*TF2TXZajr0GA>aVY2Z!%id*doV$T^&KYs{=;gYnLsg(@}~F&|r~ L&F-o*3b6eHQmgJ( literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..57c3f27069fa54f30d4e5ae8b493d5d24a48e6cd GIT binary patch literal 5499 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 MtK)YJqzS+OFToNTBme*a literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.class new file mode 100644 index 0000000000000000000000000000000000000000..168ac1c31e81547ece0b17184c0cfd41676dde2a GIT binary patch literal 757 zcmc&yO-sW-5PchKtFhYJgLiL!fGg^)(u0M95JXUW-zL*`HOYp}rr<@yf8<H<;1BRe ziPN-H@FJeN1H-)8ncaCa^ZE7u0pJ9!8a#m~iVFFlozz(*Bg#W%9py4fq{^~bhstS_ z#x$W=TFOkWow1KHG)ZYwq}9l(L=H*0!g6Bw*UeoPDMt%$X{408-YlVpionZqYq(H3 z2~^K@s$ECmbT2S=Bq@w_mXl<9*;qUML-BH6`?WO_9g%JC_XR3l6OoS<tk<!Msz4*q zDP0xGfb6Xr#QZ}mFrkY3%IYbeJ1cIibAjhzxjkqLc*9KK_`lo*{2No)ka~K`@oX{a z`DXkv|D$^~QP_px&P|VC;r6kvG3vl$0jdXwZ&-U}%Y)C_FTD+pY+{4)&MXRbY%=0_ NY@t!U)nw#h`x`xV^JV}5 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.class new file mode 100644 index 0000000000000000000000000000000000000000..f846a1a8944080acfe230e5f6a826554ec77af78 GIT binary patch literal 5521 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 Tu;XxJc68Kd$8Tsz6Mp+|&AuaP literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..103503171bd6a2108bacd1b954e05a5f21022df8 GIT binary patch literal 947 zcmcgqOHUL*5dIn#MwU??KJW#^8*re5SB%N3Kuk7zz;N&FDaK-FrYAi;%lfbM0>*<s zz#nC-Uepi+H{zupUG;T+UH$#|`RzM^=U7WHrNET6ddNX@o#~7kYkZ(am!&p!U9dHQ zT~*MC3hk+O4F~5xY3s^KOc|Tpn^JQX$XBM&dt<U~FoS~j#(}Cv(EG+lP=b!af%Ca0 zTX5ZwmWFZAE$h5xOS(5`f|uTdnDtJLmn*KjOkwr~R~%j{OmA!+DRf@DjJlY{T#6aY zDlGK5qIYdMAparKQCRLfYl<V|Ip)6)JK-ZY3d8<?+rzHHTu$LtTV;{e>c(b2F2yxD z>top^ojO0%7v<e9mT))0vcmhDA=tBlM@If5#Xa0t=n9oLbZpupC>#ox8y+)x!Agod zSWuXkVQ;Gwih593lW8I(ojaEoBoc}R{ii+wK1uNqkA&r+YrUm?jvHIQUKZOYW@PXT zq6*PC#Hy$Uv590_yb?dNb&gwKB$z^1Y%Bwdm=~K~G>E?~Strt#lL+1sAN!K8SUkgn e&k|mSuUvvBf8j#@O8Db{;p<nx6`oFpto{OdeFQcD literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..62104ad62a4b3830818ca07caeb9786b173564c6 GIT binary patch literal 534 zcmcgpu};H441Jd-4TP2=Mm9EJ;3QTM5>#S}SU}w`iJ=FVTy%G-$Y(JjG4KI=6vBxZ znY%pu*|Pln{QdL!1>gb)DI$T2s!qP@Aaz^GihQYDATR4$s<t({R6*Ou(1wh3)LO5D zb-gTYJ?2zt_3TtFTW4Exp_ez_Q(c&TX`4WA;ZB=CE=4S`-o~a|<w;<Ar5hct1tuq_ zD}i`vE6Omz?hFa00*hQXbl=qlxkptPo;b{Hsmw|_J@CI`9M;+kJmuR^ekqVW*v^&2 zp0T2%f1NykQ5%J0@M-)+a1_Hyj43lYav(YTz|K1tB4mt18<=B{aW>`&$2l{BeZ~lj EU#Cl=Q2+n{ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.class new file mode 100644 index 0000000000000000000000000000000000000000..758098e36482f8a5070a52112d1195073f3c097c GIT binary patch literal 1237 zcmcgsOHWfl6#k|yTr35&hziKV7Xlh4F)=ZzAprzqQjnyEg}dqW00Z}SZf2%Lev1Er zjVm7u6Sw{*V?4L5$Saz#a5FP!&i%gg&3WAKKfinh@B|Md<OFu9(USWnNRu{XgS=KQ zke5j!Rhq^|t6*$1rUQzlqttp6tUHw2ChapdjM{N3k*TvOxo{|#yr-ldAFkMDpm$-- z#DUzh@)V&UuxQ<mBpsX7lVo7JYl4w2Bhy%gZR--bRQJIt9X7j!HPV@a4v#?ZbJH|o zQ6N7%w<S<mu?;FBk1HkgpjTk1YMQjsO6ug^sCrBS<*L;x-crtFcK5Onc8wR<tNyRo zS6I5zn$jTfY_@t~8aU^v(ZOa3^>Xv~aW$rdnxQiHwuoyOj!+huxsbq<J20B7_p+PW z60T!JU~q>5=Viav@e3@>&Rs0wnBmol?<@VdiO~qR1m^!9_av%>F^n^UV=uQnSH=6+ z^*yfUnspgDHO{_JVC#~ZIrSJywz<WuBe~iMScxzp@ZwUXKGV(uxs-eA>8XInef*CC z3PjXVBrtV~;k;ylfm%>{e_f^RmW^;<VB%!<&tU|LHQREUcve{B<QeIICUId;9VpxZ z4-x+efE=HAczBK2lDrGvd*(l)??c;N<TY~xW%Tn}>U_Za09yqNVu)`taKdC6>BuKs zee@YOa#(--4Y%K;r*M=%Vn-esS(!n=D4)l;rN=Rhi8k?c2izrQ8cbq}sf+BLX2m(& TWn3S`k8BR^vF8EXIn4Y5MxAda literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.class new file mode 100644 index 0000000000000000000000000000000000000000..661acabd0585eca368333b93dadda883a1957b28 GIT binary patch literal 546 zcmcgpO-sW-5Ph2_jmB!ly9aOT!3D31panq)UMjtBvO^u4WW(;Jn4jfI@X#ONj}kY< ztJgB{X5I|*{r&T`0dS4u6p_G^bSGErCAV5?a;37KoUCi9+P30Sc{WW&YpSHB);RXY z_Odkf)+WtrX;m#-Yg)3tm-o(5T~z(dG@jo5lb%yKlt>W^tajAwK{*l_-*UtLPGEF? zu@H!7MpK3n_9sX%7MSMT&~sN8WM5QKg^ZKjl&V@N%LD&&#{QL^0Ovaz{zf31o6eT> z$iq;l|DE*eO|2Eq5Ecv%MbKhcEMOX#+;Skf{KVcza74%g4q@OR2r${&NzjLZ2^<BC GF#QGeFQ&@? literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..90de490a9905856d97af20fd3a85b9c570e8d9e7 GIT binary patch literal 1688 zcmcgs%We}f6g_SNX(t0MEtK+ZVW3H=FkuA>LV^&aN-09L$`&~uH#MEHhp|(dUt)*E zODy;RK7vm{+?iHFu;>D$Seo&D`PjbK_k92P^&5bDXx1>rU{yTgd)jlI#XMF{irg#5 z)0B%WOSBYTTa&1LmGE3;)@g6^F_$(iWff~N%tgwx+-55GWB%AVl@5||#~QB={6@T` zWC8I+I2E;`Rt;5#b(;^ll8Mfo;ws(YJ{QJ`GLXMi(&n)?!;Vc;VPb}pepkDwMThN8 z^t5f-`k^-3KVo>-nDE}c<8rk9J6|H{#@bW5p4wDs({A<|svR4v88FmCoWRKd6`TrD z!)b<g<9~o>d)lbyqjaG1Z81m`!+g(5k@Q8b3;oDgEegi)X0j=ZT2!!lB#brV)Q;R; zhWr0|S%#U|b`O*sdAek!(d-9U!o?acFr*WGgdr~BGQ+fxQaKmVrG8BMDK;lr$990L zSgzq3!`=iF9byHG3=48sn4x-cL}z`GjHv#>mL26%J=4XDUpbEA?z|TJf?>96WI|+V zhMUUo+Bn25tP)OYW4$xpCSqh*{j(F@ThEDRjdy&rjOrFj+0NmHF)HsQg1FUTnfkgy z49@1}ismM1ioP1A$v#6;hxEc<U%UMg!P@#~gzw9sS^5WMFr$U9Fh}}gsn>A^^Q6%t zEZ{8JsyIi!L%;_#v%<Ib0l^oX|AZ@l0}cpSmVn`5=n-HA*J<GtZXlw$N-cB~4U*=` MwnTF=3TPU?06Pa4mjD0& literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..82374732f124acbe635b38e9e3984f20be78d11a GIT binary patch literal 2403 zcmcgu>rT`_6#ixxDJ%t7yx$QQ*<FwkugIc_A|@n@{(z8}7|qZQ%Rt*{+Ck-Ed;x!H zqER&Q0elD_#dxMm0;>j%KiXz8*K_HdbH1<NetiB4;41DoC@_T5-{c$0a25O9m#HTb zBU2uRT*PspJYkfM0{KD)Jdv?ZmC?x-_jH(zrLROQ5h0Hg9m~XQ@q1}1!<ArbR!2s@ zGV}hT^sI{eB9)a%2VD&1b@4**KtwJ6cx9co9dt8{=%mG^7pORuJbh_6*^Ere7qqWd zx0)(7GLi{Hw^>tZ<qCP;%+d7*8J<y*GItr`YOa=R%M4w!+Lygx=y&0ur-UL7y68oj zp;)yC4mMRJA8m#!GFcKUfn*qLYEJ~qB2jj}v)E-Xk3r}80hLL*yi%BjafwobVYJ%Z zH`sGF@{QVZ2`6yM!AXXV97FBmG|n*e2+xygmT9kZ4tU4yP<h2`$|xQO!mR2f<ns^O zMK|Z$Vr=x`9EKd6XBgjmtACSoaRI|rj4f%bA{DhB=uoJLVY*uD@IZ#E+$17OMOMjt zX?HAw4q5W0f=doY7;f(M<=-{97)6!RnY^0SVJISh(FkvYf&alNLZMJc7L4pczE_~( zpiX(7W7<?EE0ZPEFmCJeGQ*o(lZJ}ye`8i#?gIxwGhyo3uTk6Qie2K6YYdKjCB02U zh%?q%);8#W7N^oCNE1nmELJ+){tfrrP(ZjxOtUvfr#i&`J--NwzULj7TApZYv35~! zCZ2q#EDc=PkB}!U6H~R#MP5ME9<>&vS<^m)J0B6*&IW?mJjD<ZPm$UIuyWb*5B)zB zsr8~nt9>+@LV;eOR3G~QxBd|W?`T%QA-k6CSm~!2q`6BncJ(lhP|t7_$9A-=(HX0E zxc(mQCmi3#S%!u2ZCqsdg4&b%_(zOwW1@gv?E{&_GxXy*0h-J#47IiFSRj44jvHj7 zpKRU4EfmT<gz-~5R!69}9v!e&-_oG%c6YYecG-Sf5x29wX*8(sB5DF=s14G2D{h}! GyZZ^`&HPUQ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..9a0ae7496699cae4ff448256b3bb729b1311c55f GIT binary patch literal 4592 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 O{Ek;uME3B?zyAU}OGh05 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.class new file mode 100644 index 0000000000000000000000000000000000000000..c841893d5db6fc1e8ce5bff8a5d4aa4913e61ff8 GIT binary patch literal 554 zcmcgp%}T>S5dJnz8jaP8FCgC3g9~02K?|NjFO}Xm$)IDi*|57Q=CM2p9(({FO56mm zUdzBY^UW~--#?#U0IqSIA`)P#I=NvlxvgYHu2j~OlUhsFwl$Z^vuSGDQY|gD#<4fH zm!;98O%<zWtF&ybY03It-aALSsQZO!JiYm)(zK#-D3T%;&^v4Qpd1NIZ@FQAConm` zSPR4pQ&ENq_Gd^i6`1GT(6ZA7*(X)hA>$-BrK;D;^1%O`v43GFu*r8e{*6GkGMz2y zk%zHP|3B>2tJ*4@AuJgli=f4@T);FiIdUMm{J`FOa74%g4q@OR2rwJ%B<RDy1dakm GnEwKwHmV~4 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1cd98b3ddb25f36442098f68e0454ba494dedae9 GIT binary patch literal 1706 zcmcgs%We}f6g_T2(@q9jS}5gR=s=TFVZsU&gajc-NNI&=l`V2SZfcmZhp|(de`15g zODy;RK7$WI+?iHFu;>D$Seo&D`Pja`_k92P^&5b@Xx1>r@J7WW{#tvkvzW)qNs)Wy zc$#vNWr>!;Yikm<uM(cC%sTCDKIYP<rL1BthPg<2mfK9_e#{>^r_w<(?pWj1f!`9T z+E%gvc`TfYT2ZTpD#M1&hg``-XHIdI?sA_C<3t(AUnptwSes$Trl~M7!?fSiE^5(n zdlNoyn>K%-jrI>2-Zdt^d+)eB?flM}NV>81l(Hu_7233$eTHhs#%dM}^$;g89iW1f zA!<0q&~E$>@LW$DwKYlyD&G-<L@_M%tQ1LK<hsz0jMd`N7~G_j7PaWn>X9(kj8i*u zcNp&d>vb7sW7|DYa^&fnl}584U>O%`IL}}wT#6ws;u6D*kWx7p(Y1a|z95^Eea&`& zD_E)FDnmNabceWxC5A=0C(KYiKcct3NJdl#!L}XcQa#m0?XMnBdADDQeZer-H8LUk zG{a5h_iP;ECe{ckwXxnE?+{foto_-Q?ycuUyv94eSw?jWrEKl+nK3HwB!bx1VTF3U zLY&U#=Zi)sX^OrYX2?EEQit@yUthoV5yAS#XN2#|pgH;nWiX?KFELO0QmNN*8VjV+ zA}rzz*{V28zC*zKG_%6D{sF-kocn~!e*+E(SeAg{VdxQH1=nfe6jl+@T%~5Zfd)wn MWLu`W7zH$qU(W#_9RL6T literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..71bd07f7a1a6bd4c44677d57fbc37b13604067d0 GIT binary patch literal 2425 zcmcgu>rT`_6#ixxDJ(@+yx&n4*<H{Pujs0Y0wyL4{(z8}7|qZQ%V687?SSw!zJNb8 z(I}eu06vBfVm#9&kyV4lA8j+4>$!B!Ip5cBKR$m2a0PcA6d1Jh*Z2!%xQc!5%hVHz zktq*DF5);)o-j&Bfn1jXPh_l9WpuL1JsoCa=_}DnM9AYr$1*XS{C=9sa4FcF(vguH zW=@21UV2u^1Ch$ggo7@I@~T)DJP=WfKVDj;Z3o>9BRXku=>;lIB~M=&PF5q6@>%Vx z<;|u_jf`Z%&}~*!TDeTVH*<BqL8kAhNSS*KNi}ENwMB-mDecQ%F!Z}{&{IMY11@?| zW++zefq|xq<lI`gB$EZP6i9}_ruIazC=zAo+lyWH0vTTB`w5i^y1-JH1#^K?gJHDV z+%@DgHvWy;VhP7^!ohKdFxP;)IEhmXJ;L*3nq}PU+{4~+LsV+<iZY7FfiTND3HhVx zb^*@#wlEugID;VvXBozK-t52RT%5ysD$ABMR*{NY(>fF?Vz^zcb$B4dWo{A?r6Q|o zzVK@-f(}{orGg6%Mi_4F^kwfFT#TYhNlji&=`a+LKW~Khf`R|VDMF-BM;4guLB3O< z;h;|0o@?q<CMpvp)G%)A^CH8WoD+wN?SJD|TkHb|0W~4)*zb|s<(ggMl&cJm+>qXy zA?z9JEN>h5zl&3e6S#?_MHVX^ZvVjoZAc&lB<9(fr;{CGd(Sa~r0@BMrj{@ATHKx2 zYl$ZxDoYB(yOZ=K%g$7HGm#e%;YY1mX;!q);693ofTsdM9G_x{h^R<yA6U6;`H221 ziqv{hqSZbcO`<?AP^yo8fLs5F{qJa2zyZ6K?O5rj7^JyNGIsSK4pGl=7)Q3Xtk4;& z_k8_5+)p^Vh0_eP<69VJ_=4J#`uInTZQ)V@zqIeqB%Yxk&k5ROW?`tUW!nPj!!=wd z8~tSK25zEI?jgLN+_pMGz4d6HwfdF@ZMVC##kR}#(~7v2?cGL$`Ys|W;10DxI&a18 IQ)_oW0lU5hkN^Mx literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..4d511579d950261c371e25947a8c854cce0d4de3 GIT binary patch literal 4604 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 G`S)LN@=MhK literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..9ddce7a635da0b8cc8c0a10a66a9a00b13df4728 GIT binary patch literal 546 zcmcgpu};H441Jd-4TP2=b_O<J;3QTM1C^K}7Et$VVinUQce-3E^|P3e82A7_3e|~V zWbN|&o-NDI_V>@{7l0d_q=*z&RCapJL9;7$No`?#pjOwlHqKRCn83EFXhW6u<ZR2q z`mHW(J#Z@7th}kU^VX3MTRs1)45XnZJaQGtr-&8Sdm8p&T2dI_al_$WVRUi1P>AQY zqzoe*PLN=%Fw422r><U-e=*BSI!<$2m}+4>_xd*(hgWVDINy``TZQb|cD^9FoR~WM z@1)mnW@B&;Sx_DdiK<^rFcqZ-4J20|ICz&tgiNq615+FcP6nPxoQhI77K||40fvsJ AVE_OC literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.class new file mode 100644 index 0000000000000000000000000000000000000000..6582f5e636dda8c136bdd3ba7968ccc5a328d177 GIT binary patch literal 1249 zcmcgsO;1xn6g|@xAC>}IL<K~^4+Jz!Vq#)aLm~u-Nl}s-7Vf6g3k-d)GnqFf;ivc? z*tqgzVdB=`WQ_N<1;G+cSh$(FckVl9&fJgp{pXjj0G{Gegq%Q=8g1D$K^oVP4NA50 zfl`?yQaKkJt%9+wm<}nHo}5ihu>MGDn{;ey7`5kBBAvI6d^nP8Cy|cPqE^^2aUj2{ zQi@OzSh0Rjl8%i_Nix>$n_y(yNEfTHYkeYL*3;mX4%<D>8tF_#mq*~r3)3=TMIgVh zxFb+lvkfXDkE<mN;EKR#)wJk!JE@a@tLiZcl&e;&ct?4Y`MtwJ*f*&_QvHt!sIYpa zHMt=0e4%<_COGrX=wP$7rgHnlT#qT?WL6g66>%M75y}Gd7ZRl84~^y;ZuXK}!VQcI zjO<b1)HG||xWMwl;>8k98D5?FzA}Vcn22y&VCnDoo<)@~i77_#-K*`C3zMdA>IYoV z4eK*<YW(>^ft^cc=G<c_+2t;?p5%J>!b*f`fz3-*yT7Rga*jLe*||GUyZIkA6o{xR zN?_(3L%(W);aX6-xusmEaU(nsm_A#8K8!%IX4_s9PYi3E>sSAKB$p4=p~4(^n)s&x z<k;dV;x%GV@-BEESo(;;51nw4*DMT_F~n=B`vLF6>=iJAQ9jAQ36o`{<DYQt@n_u3 zVe82^+<A|I!g2nX19@a*Wd;EgY)^7yPhkwx9pc$8xJS%1xQiL4E^>6173Xk|af1*) OvT3-_k%#Q(F#ikRzjQVL literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.class new file mode 100644 index 0000000000000000000000000000000000000000..589a2fd83abdb637b173a52f33a26aeb1a4b4be9 GIT binary patch literal 558 zcmcgp!Ab)$5PjM1c6F^*`~tnH2LoOe4;Bi-;-%7inhctnO+q$X=x2EnJoo{Al$c%g z>ah&GdG8HLW-?#jAD;lOaa<x}Sd;4btBzcI#TB(ugh(xK8ZNvyT8gNhHMAka19{i# z=)#su*9@GL7SBO6+z00=#4VrwRR&_o#s{?^+22wkXRy0_?_RXTFuv7R$2*46`NfhU zpE*SpM%bUAz?flLYfFz^v!d`MRwkV|sht#NDT40xubIae-7=VZcm3ZmR14PyNps!z zb^6cWUaiGO;0$TZv|Oaj`tcH$N%27g#pOHp-jb1_O4yfygA~AI;6=)ZNiiHH%rN}{ D4a=+B literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f721d02abc8446dcad02c366a86f26435a55238b GIT binary patch literal 1715 zcmc&!%We}f6g_SNX_JAL7D{;+7-&)|Ojv<}SP+6#DMg4@*&^5DriK}NWILt#C>BV( z#DWjtJNOR7ooNw*1xO$TOEbPNANxK(fBpCgz-_c@m|}1$8Sxi7aGfVSQC<ocl;>H- zMV_ZxilD7Y)t*YZQ@QmzSU2X<W+kl>Erw2HJa;x%E{u8iyQU<JGGRU0RI)&MAiRp( zal3{p!<uzNu4Jlnuei!~cyPjaQ5y26N?Mm_GbE5qn1tbI*wsF6(|h}qesG6wzo(53 z_ZeO_Cx3nacahrq5jBza5*;XL4{av2>9ht6)vis{3>X>_j^Jn=6&#CD!*PaA^Iw2x z``W0-qikEbEwP;{hWWmgA{_{)3;s}8Ez-siCLXo8O=)Yy!dNrT?8x6@xbwIEGR!2l zx3A<Vke`)iYf#4$&em{-A)j<LMmUG_4AVkN<$X+kefbYH*_v=dJ9S*dat)Ul%w!`T z;W8E(7UZrlL-piv%nd|3qFShL+L4p$kuDk_{=?|I`CRM?hS{ExDa}zc+)!cHCK0Y< zg`hH<=$-MF+7ApXKli4888}T~6FlE2t$GDhHh8pdjB?#nc&|K`snaVo+}Ye*(e6Y| z(O1JX$!Cb_5?|;Wt2f@FzPk1v(d*J^mj3n9n9;#!m?M6%<Qq7FdE)307I2beRh%N- z0pMNQS)p5fgZc-YeuoRc0&WwqECHhf(?h@tuF%0LTt!TKl{)GgnncZ$Y>D<_70|T4 E0kA?M`v3p{ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..eb43cb24bc06fa88a7223d1d2aa017452fd21a52 GIT binary patch literal 2436 zcmc&$>rN9v6#k|~7Rn+O?{~x^Z9zu7AX4>*fC)*_9}p4~qZxLGGO#<l*&S5g#uqTr zM1yGJ1Na<1hw;o7m5M>*kJ@H4XD;WmbI$p`{rvUACjeJ*$3c!Emi`7`SB9(D=e|rm zkr<isFytbR1LX;$A|1$QGT@1fqg0tF+2mdnX0r5^Xe1)!aT3KcF`In)`%Wfksm+|f zAU$j4o=9bB+(8FJaZNlEJP^9UA1<%awu4TFp(tr^=>;lIB~PClPHweH`F!N7mCd?J zjnpz>=rpS;EnT7D>+OxcM!s(=t;}79wA^mzl_iFb>ByJeVCZ$>psRp9`doCQ$dE7F z1ATR+<%5lIStg5OIgkwf^~e*!l1P-D?<{uMD`ZI8{0^mYy23)3<#SQKFbu=x`o3A8 zwIxuiEERA9ryQJQ(Cy8+i_<v6&?P)irdid!Y=7ok?uZ&LUR6f%I1pwfN<uz2(`>_8 z-?nG12j?*0;5@_V?z{byo{I|@q~2^uV+|?Yn2AE6G{aQ6(h`9TSGY-pPDR$(eDS9& zf)-thrG!fkh8QMx$MW|UTnwX3bxlzbq=Z8I3r2YB4E#4i5iW(1w(w*RS}^*dP;*eF zf^To}l*UWr1ynF<d-O8Ht9F+THQc{uuCmkv4#H~!+L2##x6ehp#4Xnt9Qi_e8-@UA zq_xFu>VL0JZB7U$k_LG!wS>Kg44SY&Fh~rvyHY1x)c(H82$sJ5hul=!jK3Cr7ov^C zllPV7h7xs1lgKk+4_%L0o~GuT)m}i{uN(8ytVTYAJEw_?rvs6uGQ|K9Ql6dzV8x>4 zCHla~)6<Ott@e;Ki5&fbLUrUF-0Bt%zM)wThwNImW3?ZnpXM&<*ww>0LL<Xb9NV$7 zN@uLy!RlMM?{Rz^XBp;4w{el-BPx%oqgxo+##jzNtsl%Zo}d>`3EyPqVW4Sc#{=2J zb=)8yz2s{GH<2rL5$aFwcpakAMs&b>eN93$?9Obl8M1w~JZ@!sQ>f9{L3{<=rl+6I KTXp-ZG>2~|zY0nK literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..4f10fc077b802c080a99a7099bd4735222f7132b GIT binary patch literal 4610 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 O@jG5s9ofYz|NaYyP)@Y~ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.class new file mode 100644 index 0000000000000000000000000000000000000000..f17b01dfe3c653560dc7df76e57f3a177af36c91 GIT binary patch literal 566 zcmcgpJx{|h5PeS52122Te*hCOV2KsPKqaQAOHuc$a{@#BA;+oIpT&g4zz^U@A)E+S z#>&#W_wID|z4O=i$0vYm92dw08m>F}s-x7tmNmDELgZE&Bgy+lD~j6LhBw^Ez}~ew zy0DeXnSpby=_!zrJ~+=IZsq*1G7!r)F39kbRew)`T)^-0#d~U5U~;Rij&}m1^NW>0 zK6f>j7-4^kF(v}DN?TrZX3gP|)=la-shpx_MM3xaH<`z0-3r)hmkw?O%BAaq;s@PN zcJ}XvuU=?FI7PCWJ{c*B-eSTcDLH6heEE*Ox0J|GChW_=K{~*6;NuhzlM*;em|^w< D;Ww`{ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c996b5f2d2c386734c50c3d3ab58f6b9013d0feb GIT binary patch literal 1733 zcmc&!+fEZf82*M<3fol>6!DC@LW{()UTJE)u-3$+5F(_vW|$qy=<dvBXNvTxjESds z;RE<2K85k$1!MF=6HUq_v-6+k+kgJkmv5gw1GtN34HFDr#Y6s5d#<yX$I3~Od*yhV za*<_;mcnam61A@qo~z6{?QK5d(xxS?Vl4)_NO_jqOyz#WJ3llfVU+P3B2`;T7C4WD zQ&B5w)lg+vv-yB4ndr<ZuF_rZb77n)4f!)AZ60egAedB`m|@cIX&1G~<KFmPZqxrC zXrui@hS!bbaG>|6Xl?(DoJhK{_7u3sHWk{mn|+3A$Hr<J4D}EvFd3kNlObw2#n5j2 z5AaM+8?`Y^cT~PDb`r%f*RxV2eUa;eKN41p)G_QIL)@YkrLG<cW6dbFLwASa-oL(> zVLG<m10{!^URr51`vDelp@#De`S@!x#6?_Um=aPd=OTL9*JG*7=GfEP4sZoaHC$!L z#vS(%*Ra4aFZYBQsLi9X*B8l<Y9iRO!(6H-x@d*vzmCG&FT}oJnCTjs&}21(b>;VL z9AX(O1eV%Z?~b<BfoE9xwNKqE&uJzb@A!IY)h(E^*~6#CsJxR1=aj<|b$x}#J)4~^ zTA!#1+BHm(e43~Z@rAy=dg~p6)wK@@-;_o(^bJa5Mi-xBmiUE|uj4f4h@(rG#~G4U zah7z4fcNQSg>LmNf{!@&9+!Uy+#z6D0)~gCM}QSvr;8J~fr!p3_0~-^h?*nWBAvx5 HplN*v5X>rp literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase$1.class new file mode 100644 index 0000000000000000000000000000000000000000..871bbca965956a2f63bcecee4cd3d308975c02fd GIT binary patch literal 2458 zcmc&$>rN9v6#k|yER;nn-tUM7dXo_^h*bR{Vq#M82c(IK(G0so8QoiUrzo%E3#f?( z(ZmPvNqh?9nJp?+qQ)P!&1TMA&SmGE^L_j2%lnT2F5#wy3_~p4Hh-!#SCPwInK&ZW zGU2|@MHG3;5n6?TCpV<WV;O~s(qX*GozPEZ=_=8Rh0minjAX1g`TVz?R0w3CmxM2u zrDN>e7KtoQTgWjKo`?;>JrT6{{naP5ZK0oGJd9ghI-ZIW$&+WAljA@qd@*#@+Gax~ zS_U#^=-2BiDPE-T8@-OdPTp^*K<Qfy?NaaEmzxZ^`OuYvU>LSxVIYqz_S+alfgxKm z2lh8qAeY+ys*G2}swWvn8lfY+rihi9?=0rbH8SX)zeRDHt}*YYSzVFOHN#}7@!Q-l zm_n$Rn|U0=2@A&=qF!g-#z~xF7!ZylleGF?{Ez&1-4iumw63(`ktg(882kL*olZ+G zxTaO>LpXy`3uhT>yYKf;dN$5sjJmWXwK1fE)}7E7Dqxr^mAfL4{u<Y@2ojODIA8f8 z3$II;Vku(6!Z^ds?pXfbf{jU(sJbaCf)`%|?y?rnQwF|AP=rx_7#OHB2MsWNSEyU4 zP}%pofQr+_={(A)nO?oX@Ur*iLyh;Z*(*1Pz(MFuuv`5(f4{kGo4DpOgC(C!r>zN! zs@<(_(!aMlwL4**h+E{b*cJ9K)X;$k0z_h@-PJnVrS|ugM)36czhtM}b1XJUyd1V; zN8VM2DJG~>I^>=Tdr<h4;cjZfg~0LXiy&w%O1&Ps4EDW%=y~1~Ng@-B5<z9@=>sbi z3{TN#N0y#J<Y{$?q*-L>59BM=x3DW)*!P-d85}Tc>5kEUh!L9Gq+?bO;t-7thjC=b z$~v7fcE>7jV86rBZJcIUtZm~w!v~ZfRBBtOZeuEgAJ+G!8jmoH$Aok;^)TA8vg3j5 z;R>#jk74pPgKNkX28aP>cf5|%Xd>z}USE;W3A;aC?1XGyEsN{v-W=*Q=7_z38}y9O Ld82NA<<9UGFbflW literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.class new file mode 100644 index 0000000000000000000000000000000000000000..25f2b4b85a9399eb43693991ddb2a6bc43f6c222 GIT binary patch literal 4622 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 J_VCKTe*+WbQ*8hM literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape$TextIds.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape$TextIds.class new file mode 100644 index 0000000000000000000000000000000000000000..7f3699da93eb08d1dbf68288654c87f9b7f6bd5f GIT binary patch literal 1588 zcmcgsO;6iE5Pge7oCE`DC{RB7O-m9eE=cVq5u!p=iW=Zxh!k;JoFy#vM`Sy+`ByC* zK&^^;?vJWEYYe1^9ve&c?(EK+ee-t4zkYwa0<eZP9YYMZXm!nxGBRbSWwu0U^B@wT z>AEKGbR22(Ncx^5PK9FzqT`1$@`Ijf`))iJEy>#fcg^sacL=t5vu-JSVNZOHYOPR5 ziec=8pK{aTUfbOAx-Nrm`(8v245B^&5*3E5?eH*Eq!>oFcJ{Xy8t>}+TNcC7!GI`a zs<tCN8LcyD#ZrSIwduD+2E#cpj2p<~9z(jCxJ(u6cdA)YAiZ{_R%&F)cf!Ch(i!N= zm@=Rvt!57lWRRs$b?J$nu6rngJ$~p2hC<!9xzpf*RCc_WgNAXU5FN{qPCeyLSJ33R zSQ?BRIXuBL9ZwnZeQEZ>NVo=`V}Wjr2LbQdey7J!?iXYC@I=^ArPim<%@PSj#T6&B zd&JP|hb0=826Ed<-lBmQC^5Y0XR)cuu+m5Ume!pNsz<0~bC%x?Z1G;IE1dYdy;hVr zX=KT^$D?jQ9-sPxstDDAB)U#Sjhg3)AkIus!@p)Y_>WCZ7o7ZCHdd+XHTt1x8#AgS z02-+ofc&g#1=>l`n8OJ98DurcR?o_Jux4RYyTI5v3bAoN6&sVoKWIxkL&0jM&M;}6 zWBMy0hA>0lvG}wiMp42n7U@+x>ZRUI&R8WM#YrzO&0k>d4xA<jBp@T6>zG$$iReQ- zO5krP5e1(*!*uh5R=#Rh6{Br!?h=oeztGM#mFsBimO_?l?PU_9Og`$YT!ED@vG^10 Z-#88BIOY<T<M9<%6q4`^CRR6Q{s8FIxXl0n literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.class new file mode 100644 index 0000000000000000000000000000000000000000..9b004ad139f77824fcebe1928e7b92d22959dc09 GIT binary patch literal 7548 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 literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape$TextIds.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape$TextIds.class new file mode 100644 index 0000000000000000000000000000000000000000..7708724989b035e223e3547d4c8701e8e05f9bbf GIT binary patch literal 1493 zcmcIk-A@xi5dSS#xV9YMT7{zcfzlS_f{DJgK@7p9u|Q&>2{AD)*R?F(N3(Y&_P<hi zfM_H>`$rjPj}z|2$KJ!<%<lYVelt6>zyEx{1n?ZICWaV3h<4BZEF)WX+jd)o4p)%~ zZO^lLx9duWM>6nTaUxt>iEa?eC{TUd3A|VqZOJ=|dv<uly99eDoT#bA#Xa#Qs<%TE z8HVv=e!^{+`yG4B?|BSaMRwYP;bUX41gZ?9TRZ#Pi>=p<{jDYge?Rz$*_z`@Uq<T; zMycFl$ZQ5}k;QNxR1FIgm}D5KB_@SZ<EB8(NJ+m_t(RLlvYoatj1eu}vS1?1Fwu~{ z*y(wPLhbQGSCCC3aJbvzN@_jc%)`JqMU9SRNP$kc+Y=->rSia&&to3<P26LcOeNJ1 zBjH(CzypRHSBm$YpxbAtq*LELJf^m&)>GB^w?*Y(FylOSKQTmUSW>a_ps!UIb<x5@ zJYjf|Ca~%9Fs!CnUo*O?fbM&0#e6g9DM!4K`r^i~r)5<eQe~R5<MXJe=uoBnX>e`O z>8%qztM2<k#rX&t-4%w`V5XBUGkG93)~LA+dXR=TW_7OvlXJS$X(vN#4tiupNqa@Q z{)#`q4yG;R9Ajsg%KRkFIK@=+3^U*8cnG&?&C?$!VGK(s#Jl>0#x8NTMj>@jv$8yY zjypHN5i&pmvSQi9UCoM^%wjHqza*v_UO2_f!CRwpc~H|lwvFNiiYs5~<ch|XH+D@S sN8R%%@lhcg9V<W0Di?VC3+(?m15ab0OO%rKT}DMC3D2;MXB)GB0VDOD{Qv*} literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.class new file mode 100644 index 0000000000000000000000000000000000000000..e276e4a2c98b56ae3220732d7c5bf296b7d9274c GIT binary patch literal 7169 zcmcIp33wc38GirWZDy1FDJ7KBK@>!Uv}wC-fkG2n8gjG?X&XpLON)f*?qoBt*;!^M zp}`yRR<tUpsGuTva}=6(0l}k+f~a^Ocq`tD_l>^)%pS8zHr<q`Po7NX_`m!9^2pQo zJqTd6n6DuuFlZ*nVpm#j%*rNXNi&x)9M{anMn_{tHk-B*hHKfGv^j33V~&}%bCzp6 z6S0In>fM`3%SbuKXe>8kWC?bWnQ;5nt%iuedfQ3G%tYGC=FGIQD;LXU9b+QqjAdMF z)Qk}@J7T$(4;<?<hmEnc+po@eI0Wj>u`-ssUf}eW-T<yL<gjVDV-5+&d;GgT#~!zm zrqjM;P$1H2C(Q<gQ7<tMbpl8AS{ZZ8*yt|P88CLGO@ZcKJ7J^;4aZW?g_jX`#L5Y5 z?>#cQX%`3$X9ZTyRVIOG%JlUsaBCHn&~jNT;o8b9xmc&2aSaOXcp7aFQk>Ny?nGK? z)i;KEXkQY9En8q#a`g~6Mq(k36{yde{iZW+C8+hKGvmtn-$}Qxc(%O}$3fSySfFJ_ z510W);&?oZrlqdBeE00JefeqAnzZICt0svH6xx-j&z5)&PNbV<%}$5@SQMhFse{Z{ zKv3-G;&~cQ7Fcmeu`3`YPQmj97A8CfD$Oro)g*o;RQrya6fp%TiqixZm-4}iM1><Z zU<q0^EEU)g5N|e*OdAvSm>csPve&yWc$363EEkxUGu?Pn;QX2->?=k{ciJ2^Gj4nD z6~?#`OB<O~tlxF4Oo|Dl5izXNuu@=cjZEgIg^k2&oL-1q^-*A`CI*XcRbBN)I%PYS zJHj9@knQ*4v;k-0EDdV}jxNh|o^7X1BO`G()(U9jMtaQLIxMiLg~pwBjNaFdbsEkQ zhy^6C2>L4ICD!9yMgXnBRGhUPRX&WgqBH{?rQ>#VNSvpD8VN+@n{HxclX~AJ(LLq; zU_CY>u3?kFx&UW$bDV*RtSNCmE)WP0Z0!>`H<*s*j;mdH^Ja-H*ebAqLiql<*~l0v z(-E+1viRH*^z?90Qnkn9JC+P8b}p2-2>k+0OoBc;U50B2Tsa3`DtvElYEi_fmW#1X z0}Jut+e#sl*p5pC8mQSpD`$CiJ3_~$paMH3F2xJ{Y(J$35Ln$(Aw$`LtM?6!7=oeU z@@k2<Dx}0NB$#-;s^hQ^>Q1t^$)w_$VO!vgLvzw)O@U$<nn-D2oURNw`%F?ygOwP8 zC2$;dwwd*RYQ7UVyCz4N3g=}-6IV*475Za{e(Dib2$^VXu*0cO8HFreL(Sh<JWIJ9 zxEk1k9jfM+U?j#c&Vu8Yy?AEacNA5BnA26>H4jtZU~VX@UiHW21Y9CR)_3C?4HLBZ zj3%pu+vs(`iCjk!mBb72B9;s4)yw9}acW_pq5}9C;3X0-#moFu?B$jo#~$s<F%_?^ zjxt-Ui@DfTyRr>nwsvr>#4B(e1CBhZ=2<29j!d%Ox`s+#R~>agUDL#7-ipVU3`X%P zRxPDWkKq+LHAxJuQu*vP60cR#%qP`O4j-ISRNYn#y<XxCcw?#M=}Xh!O9l~0R%dA% zAEh2<mTos7M~Mo}{w8JiHw!GQ!R#eCCD~gf-io&|Q!9OXjg6nFS61gcU?sn5cxhj? zj5kWW9q(W%_2a<%DsXvCs7k{7IBV<r{IgNqG=t$*E9<;l;yt*TZs>F5S!cl9?atZ= zJyXLd0<_6{l}+9!a9RyEQ6TlW6}M^lfWVnGKonwbt7Fj-y)clt9Ur8RcJ#(KZrR+u zWniecyJtY)tT}{m0G%hnhb2COkFtNFdu(FEca7?!(;aCml~Dm8&{o~J0au;QEK|9X z_u~?GD5jgrOtU9ay1Pr_Zbf+^DG!=#<Txmo=tgl5d!7DG9ev$h{k=m2-P;F-;$8LF zhy5BR1ui=>qw^`sOz~t+;sEl@lMZu*?@gB<p<%s9k=@Kb+%NF}KEcI8#u#O`Tgakb zZk`KsgBn;LlK3P(<u`+>4W{-c235~3a8Y%06;GA|afYd6Iz5#(KO+ETvd>C<4iEeF zqd@Q2VBZ}WZA^SY;t@RR+jm;P%~~Y_el-n{Zq<Ot@MR5OVq+Z$quCnBoJ#b;*{;w# zOMFGO8OPHDRedRyq=Kd_GpCZ?S0%oNud^E|%)BFZc9*@oBa;}h*?o^xS9l<g`lrj9 zuhKV8*>(ge(Luh6Z)^CL0OPc#y;rb_@7R@d9V1aWJ4k#7-(?#$Z0+7UJWMSJtf@(y zk|2J5R?D!XT*F~+TKdAJTGg}^P)zB(k4d%R-h$2_W}nGIiF0USd&sI;3oFH$m>D)v zu}x6brTD@xp{z#9sqHk!ftjh4Tl#5jG*@-?roSQ>;vQhl%m@zA)Dem1dHB$(06N~U zs0CfAS@6&(wJS6QgsZFe)s>!FG+s#<0#<kNKzw_ZRFU%t6KXzv$ir4tbZ6ycb2wqn z(0L4hRy*3ia3pW>Gsxd0{*Hh6{p)5cqvC&?m2^j#eOuToDv*Ck{JV6-*j+lJzWrC? zY4uIb;|1_drj;6T`B6X$QTpfumOqB2h^To})xF|6qEvVlbe$BMI-ok>!hvFaWF7T` zx-|TE1Z{j+%3;X$+hb0`?6K4wGhaD`XMq)}_E461hWp*lw2{l19GSF2iDY7=GP&so zuiTHJj#rIO>k;A)P`9*oKcaW@E`$bN8@#v6cyc+539!gN1&Jm;@jT|^DB_?_akP&s ze2n)N;^C$DqPaDXMImhA?Fp@sJWdLuEuu%7Pd$K^Wy|we5kmL?&d8%Jgo@`4Q=U6R z*o&UFd3r>j7Y;`bpjYRmFEWXNrIXl^$7Sq#>hwCDM3N!+H&=u}!lUZlRUx!#x>lf( z$JIO&A%+)w2efc_L2`kf$II&!#0h#N?DHDcqs^}*uX>bhzS=t*&Es`MR==#RL9f>v zd?E6<zCf!!fJ%=ltfaEXLmDO08>oOry|MY7MCzey%;Q}|C-sK5CSB@HMSQmu@X2U+ z!BBxUy;0pNe7f9=_vi5;O2NC2<#DHXyjhpcd-vkrN!*vmgApZ5Gl>OX@x-U|ILPBg zwdpdC&ntBtz!yC}sjkOE*rr~5Lyz1=GyBePJ0}zVlZcLRIu_#$oQSiy4Luv@VlB4f z91LI`E~6`@(7`7EJdUlMxQ^?(J?OzL+|k{JO_=14?I13|qv*xs*o+@=L-u1rKZQPq z--V(P1475e;v}w!mSdY(h3#Sk1M5QU5IeC`n7CBf-0fUTgWrH5aWl6vcW@hW4|{@# zkQN6q>N)E5bWFNn(NTH#Jv>1NRqwt}sv$Ir2k=Auh=H(J+({muK!mh&_zAh22S;3t zpW<h9<vn5zevT&@CI>|rzu>tj;eUl+^0%IFPvX~nZXnlp;5Ya!@h-<r_#J-Fgt7`Z z;t%}VM9NR$kA8q~8{h|9%l&xllKuEoZ)<20e^r-%s>^@W<$tY_NfA<)d97s&oJ`ul zRlGXHnL{&Nc9vr}0pkqqt8prEm&3HBAbk`kiKtLJn2=CG9TJT~@~>Kz?Sl|a8}$DJ D02K6d literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.class b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.class new file mode 100644 index 0000000000000000000000000000000000000000..98624e32caee3cf10d47ee34708f2505a169c89f GIT binary patch literal 2286 zcmcgtTT|Oc6#mxOmIG=?+&F1S+L~O5u>l3hh2k^`fk2!(G>s|K@pPuMSc|=lY-yx5 z9r~-<r__Du59qJyFX;5FBtr&drg>;z_ICE%zVn^kKmY#y4**N})<B9u3cGK;mCBNy zZP_AdabJnR>UJ&ed5&yxCEcDQ4uoU*!gB+uT>sE&x!rIrY{}a`?^=O6bVzOe#QBEU z=Y2;twA4VF;fd?FEzxqM7YK*%1y<ns{Lu3IJte!sB3oWZDmk<_)Yq3nBMjL`vM1GJ zhOyG@E<<|VwZ%BbaLz;qS%%5F?1}AucTe~`e9sXK`MTTU&Mx<*-p7Y&)sX?i+xq{O zf0ZHE6F<di{7|aD2gPyX1iU9(%GIa_)<y(xb#~-s?zCNBst#R_YY;l9j^iReHjrnS zN%Rv4|3J2=WLq)hCN81CV77(Y;*ChkFjpGk`bfWabenvR;fjg#n9SiS!}YV+FoA3M z)WCHHD=|Jzz~t0Se1^{%GJ#Mvo1svu|Hu!x<?vqHYA9d!+SS?J9Hto_?sP=ajwo0R z(J8w7MMZ}v`CE*6TvUgiSkSTEG;vG2IZtjjs4aZy=}yq1854I<VlW7*O}D2QmPVnJ zn1$A<PN0lA0~Lmaf1khBG%=5b$oV$!61^{x^HT_D^LI@wVu@HMgPP*h%VEznwdkIS z`&yKh!86yfC-4wo7+7H_B?gmFY!j;>Mvr%SkGDkxL-0YIJ{@$e*&M;Pvv9nIFHJng z6T*aQ6-BZ<I+D|@3hSZY5+h~-(SBsVB{V0)x%P3#l#^8xASC!QAuAacla&(Fj{2L* zx=(C~D3CvmWh`&VpNS%@MwQanhdf}-SgxxdHN8e*-E~}_;lF#ELI>eH@!G^IY*T+x z6NRUZR!4L>L+yilY0c)I5;i?zwiIy!!d~+Q4>UU)Zr^W-O{u?u>9d}r1>HfI2DJ!% zjzF4L^qtUX(9WWn(VQv2L+)2vq%cmS76Vh5pwWyj(EJhYC@)OXsFnYsF-P<Fzv05G za^)Q^Z_npH8DJ`f`FwGJ8#E7an_+-ihSl^1^Fd~KU@<(%4mZoRG3MtgSJQ<|AzLs8 zBqOCqr2h-qk76o^k=>vKZqsT8d3vj+aF@nKROr`V!7`rX9-7qhI_@`7Y;oKaC7xo9 zB2VKxJi~fu^$j*iXN+vz$0oK&Rv~LIP$P&|=$U+puLz6hxPm&Z4AQ33#@Vlug%tV8 w>de1Bjx)k;EsWuEbmJ(7Y#al_Hxyrl;vCHy?G!s{<HdXUr;hM%goy0?1ChXe8UO$Q literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties new file mode 100644 index 00000000..20699eef --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/bin/spray.properties @@ -0,0 +1,17 @@ +modelFileExtension = repository +pluginId = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +mainPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +diagramPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram +featurePackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features +propertyPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property +stylesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles +gradientsPackage= edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.gradients +shapesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes +utilPackage = org.eclipselabs.spray.runtime.graphiti.containers + +srcManPath = src +srcGenPath = src-gen +resourceManPath = resource +resourceGenPath = resource-gen +projectPath = ./edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +headerTimestamp = true diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties new file mode 100644 index 00000000..71458334 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/build.properties @@ -0,0 +1,7 @@ +source.. = src/,\ + src-gen/,\ + model/ +bin.includes = META-INF/,\ + plugin.xml,\ + icons/,\ + model/ diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt new file mode 100644 index 00000000..68897e2e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/README.txt @@ -0,0 +1 @@ +Place your image resources here. diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/connection16.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/connection16.gif new file mode 100644 index 0000000000000000000000000000000000000000..186a12726a554815fcbdb78fa950de9a9c26b154 GIT binary patch literal 882 zcmZ?wbhEHb6krfw_|5<UEetIT3@t4T|NnDvv;ZMTON)R&3lK_3^hosdXleq{6rhr0 zKydHae+Hn!Q7{?;!yyC|f3h$#Fz_?zfN}yTPcU%!Gsttucx+g3u$e<xE9S%mg%);Z zKD(YD3{5OdOd5P!It&*vaxk;7Fg!Tm$il$n&{b2A;K;<n$|Yx^VAODcjYmW#q=CWl P@O+16E?F-F1qN#X@o4gn literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EAttribute.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EAttribute.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc9944a7d53cc29a1aeb60ee16be2a29fbe0aacb GIT binary patch literal 123 zcmZ?wbhEHb6krfw*v!E2<LAX6Kd*iNaqY*CYgtM5MQOIRIhIo^47-X<=ho=||Nox> z6)65>VPs(7V$cBzgUn!H(Fi!{xq7d~>$BB<2@-Ma3G)sVD!%B9X;WZ17$6<)_{Ju% N;=qCei%tdxYXAW?D$f7_ literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EClass.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EClass.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b8da630d851f42d11457ee5b593ba6c4174ed22 GIT binary patch literal 206 zcmZ?wbhEHb6krfwIKsft)YjP4+W6z=#UDSfegARo$B%0ZX5=iKk&~NZpOs`^l3`Pj zYFn9Q)tql$mt!%x+^DbAq_fCuZjJuzYJ=$&2LJ#6XTS>-f3h$#Fo-hffK-9(WMK79 zQ0+^}oVQ}hy4RYV1v(zjRgPcw6g*-eVt?vop@Bqyzwi^b<~d3}j!&*U_}S2U>?9*c g#r{5F<x>`#i@Gi!`t@7aucM`Ap2LE7iv$>~0nN%xU;qFB literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/icons/ecore/EReference.gif new file mode 100644 index 0000000000000000000000000000000000000000..88cdf2ad85049bb0a4a11fa8dcd13a2a78a0f0d0 GIT binary patch literal 183 zcmZ?wbhEHb6krfwIKsf-9}?%2P~uv@!lQVSxr5V>pBI1py!QRawX7ujqBPqBJLcEs zSWc}l>?$%ny?6H98vXzO|1*#R6o0ZXG61d80cir+$-ru&pwgF;IWJ??x}4c|1w76T rCq*jWU2wVigtajNC||Ys=);5zDUm%vOpa^SGS;mrJ1yGEz+epkb(c1h literal 0 HcmV?d00001 diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape new file mode 100644 index 00000000..5bdca8bb --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.shape @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Spray shapes definition + * + * This file contains the definition of graphical figures using the Shapes Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ +// Add import statements here, e.g. +// import java.util.* + +// Add definition of shapes here. +// shape RectangleShape { +// rectangle { +// position(x=0,y=0) +// size(width=100,height=100) +// } +// } + +shape CompositeShape { + rectangle { + compartment( + layout=vertical + spacing = 5 + margin = 5 + id = context + ) + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = classText + } + } +} + +shape RectShape { + rectangle { + position(x=0, y=0) + size(width=100, height=25) + text { + position(x=5, y=0) + size(width=95, height=25) + id = rectText + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray new file mode 100644 index 00000000..7203fdd1 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.spray @@ -0,0 +1,60 @@ +/************************************************************************************* + * + * Spray diagram definition + * + * This file contains the definition of a graphical editor using the Spray Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + * + * See also compositediagram.properties to configure generator properties. + *************************************************************************************/ +// Add import statements here +import repository.* + +diagram compositediagram for Repository style CompositediagramDefaultStyle + +// Add class mappings here. Refer to EClasses here. Don't forget to configure a +// dependency to the plugin defining the EMF metamodel in META-INF/MANIFEST.MF. +// It is required to have a genmodel for the metamodel. If the Ecore model lies in +// a workspace project, this project must have the Xtext nature. +// +// Example class mapping: +// class BusinessClass icon "ecore/EClass.gif" { +// container ( fill=yellow ) +// { +// text ( ) { "<<"+eClass.name+">> " + name}; +// line ( color=black width=2) +// } +// behavior { +// // Enable create feature for this class and add it to the palette "Shapes" +// create into types palette "Shapes"; +// } +// } +// +// Example association mapping: +// class Association icon "connection16.gif" { +// connection ( ) { +// from source; +// to target; +// fromText "source " + source.name +// } +// } + +class CompositeComponent { + shape CompositeShape { + name into classText + reference assemblyContexts into context + } + behavior { + create into components palette "Components" + } +} + +class AssemblyContext { + shape RectShape { + name into rectText + } + behavior { + create palette "Context" + } +} + diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style new file mode 100644 index 00000000..553a14c1 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/compositediagram.style @@ -0,0 +1,21 @@ +/************************************************************************************* + * + * Spray styles definition + * + * This file contains the definition of style classes using the Styles Language. + * Refer to http://code.google.com/a/eclipselabs.org/p/spray/ for documentation. + *************************************************************************************/ + +// Add definition of styles here. +style CompositediagramDefaultStyle { + description = "The default style of the compositediagram diagram type." + // transparency = 0.95 + // background-color = black + // line-color = black + // line-style = solid + // line-width = 1 + // font-color = black + // font-name = "Tahoma" + font-size = 12 + // font-bold = yes +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties new file mode 100644 index 00000000..20699eef --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/model/spray.properties @@ -0,0 +1,17 @@ +modelFileExtension = repository +pluginId = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +mainPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +diagramPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram +featurePackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features +propertyPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property +stylesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles +gradientsPackage= edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.gradients +shapesPackage = edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes +utilPackage = org.eclipselabs.spray.runtime.graphiti.containers + +srcManPath = src +srcGenPath = src-gen +resourceManPath = resource +resourceGenPath = resource-gen +projectPath = ./edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram +headerTimestamp = true diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg new file mode 100644 index 00000000..d8603383 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/CompositeShape.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no" ?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg width="110" height="55" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>Shape: CompositeShape</title> + <metadata> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <rdf:Description rdf:about="http://code.google.com/a/eclipselabs.org/p/spray/"> + <dc:creator>org.eclipselabs.spray.shapes.generator.GeneratorSVGDefinition</dc:creator> + <dc:subject>Spray SVG Shape</dc:subject> + <dc:source>http://code.google.com/a/eclipselabs.org/p/spray/</dc:source> + <dc:format>image/svg+xml</dc:format> + <dc:type>Image</dc:type> + </rdf:Description> + </rdf:RDF> + </metadata> +<defs> + <style type="text/css"> <![CDATA[ + rect {fill: none; stroke:black; stroke-width:1px} + line {fill: none; stroke:black; stroke-width:1px} + polyline {fill: none; stroke:black; stroke-width:1px} + polygon {fill: none; stroke:black; stroke-width:1px} + circle {fill: none; stroke:black; stroke-width:1px} + ellipse {fill: none; stroke:black; stroke-width:1px} + text {fill: black; font-family: verdana,sans-serif; font-size:12px;} + .default {fill: none; stroke:black; stroke-width:1px} + ]]> + </style> + <rect id="anchor" style="fill:#a0c0e8" width="5" height="5"/> +</defs> +<rect x="0" y="0" width="100" height="25"/> +<text x="5" y="25">#classText</text> +</svg> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg new file mode 100644 index 00000000..da7f6f21 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/shapepreviews/svg/RectShape.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no" ?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg width="110" height="55" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>Shape: RectShape</title> + <metadata> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <rdf:Description rdf:about="http://code.google.com/a/eclipselabs.org/p/spray/"> + <dc:creator>org.eclipselabs.spray.shapes.generator.GeneratorSVGDefinition</dc:creator> + <dc:subject>Spray SVG Shape</dc:subject> + <dc:source>http://code.google.com/a/eclipselabs.org/p/spray/</dc:source> + <dc:format>image/svg+xml</dc:format> + <dc:type>Image</dc:type> + </rdf:Description> + </rdf:RDF> + </metadata> +<defs> + <style type="text/css"> <![CDATA[ + rect {fill: none; stroke:black; stroke-width:1px} + line {fill: none; stroke:black; stroke-width:1px} + polyline {fill: none; stroke:black; stroke-width:1px} + polygon {fill: none; stroke:black; stroke-width:1px} + circle {fill: none; stroke:black; stroke-width:1px} + ellipse {fill: none; stroke:black; stroke-width:1px} + text {fill: black; font-family: verdana,sans-serif; font-size:12px;} + .default {fill: none; stroke:black; stroke-width:1px} + ]]> + </style> + <rect id="anchor" style="fill:#a0c0e8" width="5" height="5"/> +</defs> +<rect x="0" y="0" width="100" height="25"/> +<text x="5" y="25">#rectText</text> +</svg> diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java new file mode 100644 index 00000000..fa1eb251 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/Activator.java @@ -0,0 +1,70 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PluginActivator.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.util.Modules2; +import org.eclipselabs.spray.runtime.graphiti.GraphitiRuntimeModule; +import org.osgi.framework.BundleContext; + +import com.google.inject.Guice; +import com.google.inject.Injector; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + private Injector injector; + + // The plug-in ID + public static final String PLUGIN_ID = "spray"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + injector = createInjector(); + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + protected Injector createInjector() { + return Guice.createInjector(Modules2.mixin(new GraphitiRuntimeModule(), new CompositediagramModule())); + } + + public final Injector getInjector() { + return injector; + } + + public static final <T> T get(Class<T> type) { + return getDefault().getInjector().getInstance(type); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java new file mode 100644 index 00000000..d6170b61 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModule.java @@ -0,0 +1,19 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray GuiceModule.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; + +public class CompositediagramModule extends CompositediagramModuleBase { + // Add custom bindings here + // public Class<? extends MyInterface> bindMyInterface () { + // return MyInterfaceImpl.class; + // } + // + // Get instances through the Activator: + // MyInterface instance = Activator.get(MyInterface.class); +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java new file mode 100644 index 00000000..535505ed --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/CompositediagramModuleBase.java @@ -0,0 +1,36 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray GuiceModule.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram; + +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.PlatformUI; +import org.eclipse.xtext.service.AbstractGenericModule; +import org.eclipse.xtext.ui.editor.GlobalURIEditorOpener; +import org.eclipse.xtext.ui.editor.IURIEditorOpener; +import org.eclipse.xtext.ui.resource.IStorage2UriMapper; +import org.eclipse.xtext.ui.resource.Storage2UriMapperImpl; + +import com.google.inject.Binder; +import com.google.inject.name.Names; + +public class CompositediagramModuleBase extends AbstractGenericModule { + public Class<? extends IURIEditorOpener> bindIURIEditorOpener() { + return GlobalURIEditorOpener.class; + } + + @Override + public void configure(Binder binder) { + binder.bind(IStorage2UriMapper.class).to(Storage2UriMapperImpl.class); + binder.bind(IWorkbench.class).toInstance(PlatformUI.getWorkbench()); + binder.bind(IWorkspace.class).toInstance(ResourcesPlugin.getWorkspace()); + binder.bind(String.class).annotatedWith(Names.named("diagramTypeId")).toInstance("compositediagram"); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java new file mode 100644 index 00000000..a7904724 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProvider.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DiagramTypeProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +public class CompositediagramDiagramTypeProvider extends CompositediagramDiagramTypeProviderBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java new file mode 100644 index 00000000..d008ed68 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramDiagramTypeProviderBase.java @@ -0,0 +1,33 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DiagramTypeProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.AbstractDiagramTypeProvider; +import org.eclipse.graphiti.tb.IToolBehaviorProvider; + +public abstract class CompositediagramDiagramTypeProviderBase extends AbstractDiagramTypeProvider { + protected IToolBehaviorProvider[] toolBehaviorProviders; + + public CompositediagramDiagramTypeProviderBase() { + super(); + setFeatureProvider(new CompositediagramFeatureProvider(this)); + } + + /** + * {@inheritDoc} + */ + @Override + public IToolBehaviorProvider[] getAvailableToolBehaviorProviders() { + if (toolBehaviorProviders == null) { + toolBehaviorProviders = new IToolBehaviorProvider[]{new CompositediagramToolBehaviorProvider(this)}; + } + return toolBehaviorProviders; + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java new file mode 100644 index 00000000..8ca89e74 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProvider.java @@ -0,0 +1,19 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray FeatureProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.IDiagramTypeProvider; + +public class CompositediagramFeatureProvider extends CompositediagramFeatureProviderBase { + + public CompositediagramFeatureProvider(final IDiagramTypeProvider dtp) { + super(dtp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java new file mode 100644 index 00000000..4cf62eec --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramFeatureProviderBase.java @@ -0,0 +1,292 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray FeatureProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.dt.IDiagramTypeProvider; +import org.eclipse.graphiti.features.IAddFeature; +import org.eclipse.graphiti.features.ICreateConnectionFeature; +import org.eclipse.graphiti.features.ICreateFeature; +import org.eclipse.graphiti.features.ICopyFeature; +import org.eclipse.graphiti.features.ILayoutFeature; +import org.eclipse.graphiti.features.IMoveShapeFeature; +import org.eclipse.graphiti.features.IPasteFeature; +import org.eclipse.graphiti.features.IUpdateFeature; +import org.eclipse.graphiti.features.IDeleteFeature; +import org.eclipse.graphiti.features.IDirectEditingFeature; +import org.eclipse.graphiti.features.IRemoveFeature; +import org.eclipse.graphiti.features.IResizeShapeFeature; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.features.context.ICustomContext; +import org.eclipse.graphiti.features.context.ICopyContext; +import org.eclipse.graphiti.features.context.IDeleteContext; +import org.eclipse.graphiti.features.context.IDirectEditingContext; +import org.eclipse.graphiti.features.context.ILayoutContext; +import org.eclipse.graphiti.features.context.IMoveShapeContext; +import org.eclipse.graphiti.features.context.IUpdateContext; +import org.eclipse.graphiti.features.context.IPasteContext; +import org.eclipse.graphiti.features.context.IRemoveContext; +import org.eclipse.graphiti.features.context.IResizeShapeContext; +import org.eclipse.graphiti.features.custom.ICustomFeature; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultDeleteFeature; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultFeatureProvider; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultRemoveFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayFixedLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.containers.OwnerPropertyDeleteFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramAddAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramAddCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCopyFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramDirectEditAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramDirectEditCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramLayoutAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramLayoutCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramPasteFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramResizeAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramResizeCompositeComponentFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramUpdateAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramUpdateCompositeComponentFeature; + +@SuppressWarnings("unused") +public abstract class CompositediagramFeatureProviderBase extends DefaultFeatureProvider { + public CompositediagramFeatureProviderBase(final IDiagramTypeProvider dtp) { + super(dtp); + } + + /** + * {@inheritDoc} + */ + @Override + public IAddFeature getAddFeature(final IAddContext context) { + // is object for add request a EClass or EReference? + final EObject bo = (EObject) context.getNewObject(); + final String reference = (String) context.getProperty(PROPERTY_REFERENCE); + final String alias = (String) context.getProperty(PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + if (reference == null) { + return new CompositediagramAddCompositeComponentFeature(this); + } + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + if (reference == null) { + return new CompositediagramAddAssemblyContextFeature(this); + } + } + return super.getAddFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public ICopyFeature getCopyFeature(ICopyContext context) { + return new CompositediagramCopyFeature(this); + } + + /** + * {@inheritDoc} + */ + @Override + public ICreateFeature[] getCreateFeatures() { + return new ICreateFeature[]{new CompositediagramCreateCompositeComponentFeature(this), new CompositediagramCreateAssemblyContextFeature(this)}; + } + + /** + * {@inheritDoc} + */ + @Override + public ICreateConnectionFeature[] getCreateConnectionFeatures() { + return new ICreateConnectionFeature[]{}; + } + + /** + * {@inheritDoc} + */ + @Override + public IUpdateFeature getUpdateFeature(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + String alias; + if (pictogramElement instanceof Shape) { + Shape dslShape = SprayLayoutService.findDslShape(pictogramElement); + alias = peService.getPropertyValue(dslShape, PROPERTY_ALIAS); + } else { + alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + } + // if (pictogramElement instanceof ContainerShape) { + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { // 11 + return new CompositediagramUpdateCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { // 11 + return new CompositediagramUpdateAssemblyContextFeature(this); + } + // } + return super.getUpdateFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public ILayoutFeature getLayoutFeature(final ILayoutContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + final String alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + return new CompositediagramLayoutCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + return new CompositediagramLayoutAssemblyContextFeature(this); + } + return super.getLayoutFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public IRemoveFeature getRemoveFeature(final IRemoveContext context) { + // Spray specific DefaultRemoveFeature + final PictogramElement pictogramElement = context.getPictogramElement(); + return new DefaultRemoveFeature(this); + } + + public IDeleteFeature getDeleteFeature(final IDeleteContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + final String reference = peService.getPropertyValue(pictogramElement, PROPERTY_REFERENCE); + final String alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + if (reference == null) { + return new DefaultDeleteFeature(this); + } + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + if (reference == null) { + return new DefaultDeleteFeature(this); + } + } + + return new DefaultDeleteFeature(this); + } + + /** + * Ensure that any shape with property {@link ISprayConstants#CAN_MOVE} set to false will not have a move feature. + */ + /** + * {@inheritDoc} + */ + @Override + public IMoveShapeFeature getMoveShapeFeature(final IMoveShapeContext context) { + final Shape shape = context.getShape(); + final ContainerShape parent = shape.getContainer(); + EObject eObject = getBusinessObjectForPictogramElement(shape); + ContainerShape targetContainer = context.getTargetContainer(); + EObject target = getBusinessObjectForPictogramElement(targetContainer); + if (eObject instanceof CompositeComponent) { + return new edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramMoveCompositeComponentFeature(this); + } + + if (eObject instanceof AssemblyContext) { + return new edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramMoveAssemblyContextFeature(this); + } + + return super.getMoveShapeFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public IPasteFeature getPasteFeature(IPasteContext context) { + return new CompositediagramPasteFeature(this); + } + + /** + * {@inheritDoc} + */ + @Override + public IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + if (SprayLayoutService.isCompartment(pictogramElement)) { + return null; + } + String alias = null; + if (pictogramElement instanceof Shape) { + Shape dslShape = SprayLayoutService.findDslShape(pictogramElement); + alias = peService.getPropertyValue(dslShape, PROPERTY_ALIAS); + } else { + alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + } + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + return new CompositediagramDirectEditCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + return new CompositediagramDirectEditAssemblyContextFeature(this); + } + return super.getDirectEditingFeature(context); + } + + /** + * {@inheritDoc} + */ + @Override + public ICustomFeature[] getCustomFeatures(final ICustomContext context) { + final EObject bo = (EObject) getBusinessObjectForPictogramElement(context.getPictogramElements()[0]); + if (bo == null) { + return new ICustomFeature[0]; + } + final String alias = GraphitiProperties.get(context.getPictogramElements()[0], PROPERTY_ALIAS); + return new ICustomFeature[0]; + } + + /** + * {@inheritDoc} + */ + @Override + public IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final EObject bo = (EObject) getBusinessObjectForPictogramElement(pictogramElement); + if (bo == null) { + return null; + } + final String alias = peService.getPropertyValue(pictogramElement, PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + return new CompositediagramResizeCompositeComponentFeature(this); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + return new CompositediagramResizeAssemblyContextFeature(this); + } + return super.getResizeShapeFeature(context); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java new file mode 100644 index 00000000..bcdea840 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProvider.java @@ -0,0 +1,26 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ImageProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +public class CompositediagramImageProvider extends CompositediagramImageProviderBase { + // /** + // * The image identifier for ... + // */ + // public static final String COMPOSITEDIAGRAM__MYIMAGEID = PREFIX + "MYIMAGEID"; + // + // /** + // * {@inheritDoc} + // */ + // @Override + // protected void addAvailableImages() { + // super.addAvailableImages(); + // // register the path for each image identifier + // addImageFilePath(COMPOSITEDIAGRAM__MYIMAGEID, "icons/..."); + // } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java new file mode 100644 index 00000000..3e9f33a4 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramImageProviderBase.java @@ -0,0 +1,24 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ImageProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.ui.platform.AbstractImageProvider; + +public abstract class CompositediagramImageProviderBase extends AbstractImageProvider { + // The prefix for all identifiers of this image provider + public static final String PREFIX = "edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram."; + + /** + * {@inheritDoc} + */ + @Override + protected void addAvailableImages() { + // register the path for each image identifier + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java new file mode 100644 index 00000000..b5c015dd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramModelService.java @@ -0,0 +1,126 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ModelService.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import java.io.IOException; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.graphiti.dt.IDiagramTypeProvider; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory; + +/** + * This class gives access to the domain model root element for a diagram. + * On first access, a new resource will be created to which the model + * is added. + */ +public class CompositediagramModelService implements ISprayConstants { + public static final String FILE_EXTENSION = "repository"; + protected IPeService peService; + protected IDiagramTypeProvider dtp; + + static protected CompositediagramModelService modelService = null; + + /** + * return the model service, create one if it does not exist yet. + */ + static public CompositediagramModelService getModelService(IDiagramTypeProvider dtp) { + modelService = new CompositediagramModelService(dtp); + return modelService; + } + + /** + * return the model service. + * returns null if there is no model service. + */ + static public CompositediagramModelService getModelService() { + return modelService; + } + + protected CompositediagramModelService(IDiagramTypeProvider dtp) { + this.dtp = dtp; + this.peService = Graphiti.getPeService(); + } + + public Repository getModel() { + final Diagram diagram = dtp.getDiagram(); + Resource r = diagram.eResource(); + ResourceSet set = r.getResourceSet(); + EObject bo = (EObject) dtp.getFeatureProvider().getBusinessObjectForPictogramElement(diagram); + Repository model = null; + // If its a proxy, resolve it + if (bo != null && bo.eIsProxy()) { + if (bo instanceof InternalEObject) { + model = (Repository) set.getEObject(((InternalEObject) bo).eProxyURI(), true); + } + } + if (model == null) { + model = createModel(); + } + return model; + } + + public Object getBusinessObject(PictogramElement pe) { + return dtp.getFeatureProvider().getBusinessObjectForPictogramElement(dtp.getDiagram()); + } + + /** + * Creates the domain model element and store it in the file. Overwrite to set required properties on creation. + */ + protected Repository createModel() { + final Diagram diagram = dtp.getDiagram(); + try { + Repository model = RepositoryFactory.eINSTANCE.createRepository(); + createModelResourceAndAddModel(model); + peService.setPropertyValue(diagram, PROPERTY_URI, EcoreUtil.getURI(model).toString()); + // link the diagram with the model element + dtp.getFeatureProvider().link(diagram, model); + return model; + } catch (CoreException e) { + e.printStackTrace(); + return null; + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } + + protected void createModelResourceAndAddModel(final Repository model) throws CoreException, IOException { + final Diagram diagram = dtp.getDiagram(); + URI uri = diagram.eResource().getURI(); + uri = uri.trimFragment(); + uri = uri.trimFileExtension(); + uri = uri.appendFileExtension(FILE_EXTENSION); + ResourceSet rSet = diagram.eResource().getResourceSet(); + final IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); + IResource file = workspaceRoot.findMember(uri.toPlatformString(true)); + if (file == null || !file.exists()) { + Resource resource = rSet.createResource(uri); + resource.setTrackingModification(true); + resource.getContents().add(model); + } else { + final Resource resource = rSet.getResource(uri, true); + resource.getContents().add(model); + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java new file mode 100644 index 00000000..7e973671 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProvider.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ToolBehaviorProvider.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.IDiagramTypeProvider; + +public class CompositediagramToolBehaviorProvider extends CompositediagramToolBehaviorProviderBase { + public CompositediagramToolBehaviorProvider(final IDiagramTypeProvider dtp) { + super(dtp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java new file mode 100644 index 00000000..85d1206d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/diagram/CompositediagramToolBehaviorProviderBase.java @@ -0,0 +1,79 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ToolBehaviorProvider.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram; + +import org.eclipse.graphiti.dt.IDiagramTypeProvider; +import org.eclipse.graphiti.features.IFeature; +import org.eclipse.graphiti.palette.IPaletteCompartmentEntry; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.tb.AbstractSprayToolBehaviorProvider; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.emf.common.util.EList; +import org.eclipse.graphiti.services.Graphiti; + +import com.google.common.collect.Lists; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateAssemblyContextFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features.CompositediagramCreateCompositeComponentFeature; + +public abstract class CompositediagramToolBehaviorProviderBase extends AbstractSprayToolBehaviorProvider { + protected static final String COMPARTMENT_CONTEXT = "Context"; + protected static final String COMPARTMENT_COMPONENTS = "Components"; + + public CompositediagramToolBehaviorProviderBase(final IDiagramTypeProvider dtp) { + super(dtp); + } + + /** + * {@inheritDoc} + */ + @Override + public GraphicsAlgorithm getSelectionBorder(PictogramElement pe) { + boolean isFromDsl = SprayLayoutService.isShapeFromDsl(pe); + if (isFromDsl) { + ContainerShape container = (ContainerShape) pe; + if (!container.getChildren().isEmpty()) { + return container.getChildren().get(0).getGraphicsAlgorithm(); + } + } + return super.getSelectionBorder(pe); + } + + /** + * {@inheritDoc} + */ + @Override + protected void buildCreationTools() { + buildCreationTool(new CompositediagramCreateCompositeComponentFeature(this.getFeatureProvider())); + buildCreationTool(new CompositediagramCreateAssemblyContextFeature(this.getFeatureProvider())); + // Compartments + } + + /** + * {@inheritDoc} + */ + @Override + protected Iterable<IPaletteCompartmentEntry> buildPaletteCompartments() { + return Lists.newArrayList(getPaletteCompartment(COMPARTMENT_CONTEXT), getPaletteCompartment(COMPARTMENT_COMPONENTS), getPaletteCompartment(COMPARTMENT_DEFAULT)); + } + + /** + * {@inheritDoc} + */ + @Override + protected IPaletteCompartmentEntry getPaletteCompartmentForFeature(final IFeature feature) { + if (feature instanceof CompositediagramCreateCompositeComponentFeature) { + return getPaletteCompartment(COMPARTMENT_COMPONENTS); + } else if (feature instanceof CompositediagramCreateAssemblyContextFeature) { + return getPaletteCompartment(COMPARTMENT_CONTEXT); + } + return super.getPaletteCompartmentForFeature(feature); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java new file mode 100644 index 00000000..2a0dd287 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramAddAssemblyContextFeature extends CompositediagramAddAssemblyContextFeatureBase { + public CompositediagramAddAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java new file mode 100644 index 00000000..9a376a01 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddAssemblyContextFeatureBase.java @@ -0,0 +1,104 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractAddFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.ISprayShape; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles.CompositediagramDefaultStyle; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +@SuppressWarnings("unused") +public abstract class CompositediagramAddAssemblyContextFeatureBase extends AbstractAddFeature { + protected final static String typeOrAliasName = "AssemblyContext"; + protected Diagram targetDiagram = null; + + public CompositediagramAddAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canAdd(final IAddContext context) { + final EObject newObject = (EObject) context.getNewObject(); + if (newObject instanceof AssemblyContext) { + // check if user wants to add to a diagram + if (context.getTargetContainer() instanceof Diagram) { + return false; + } else if (context.getTargetContainer() instanceof ContainerShape) { + // OLD STUFF + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // NEW stuff + // cls CompositeComponent refers to this metaClassÈ + if (target instanceof edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) { + if (SprayLayoutService.isCompartment(context.getTargetContainer())) { + String id = GraphitiProperties.get(context.getTargetContainer(), TEXT_ID); + if ((id != null) && (id.equals("context"))) { + return true; + } + } + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public PictogramElement add(final IAddContext context) { + final AssemblyContext addedModelElement = (AssemblyContext) context.getNewObject(); + // NEW stuff + Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + final ContainerShape targetContainer = context.getTargetContainer(); + final ISprayStyle style = new CompositediagramDefaultStyle(); + final ISprayShape shape = new RectShape(getFeatureProvider()); + final ContainerShape conShape = shape.getShape(targetContainer, style); + final IGaService gaService = Graphiti.getGaService(); + gaService.setLocation(conShape.getGraphicsAlgorithm(), context.getX(), context.getY()); + link(conShape, addedModelElement); + linkShapes(conShape, addedModelElement); + + setDoneChanges(true); + updatePictogramElement(conShape); + layout(conShape); + + return conShape; + } + + protected void linkShapes(ContainerShape conShape, AssemblyContext addedModelElement) { + link(conShape, addedModelElement); + for (Shape childShape : conShape.getChildren()) { + if (childShape instanceof ContainerShape) { + linkShapes((ContainerShape) childShape, addedModelElement); + } else { + link(childShape, addedModelElement); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java new file mode 100644 index 00000000..8e2f72a4 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramAddCompositeComponentFeature extends CompositediagramAddCompositeComponentFeatureBase { + public CompositediagramAddCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java new file mode 100644 index 00000000..ab277020 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramAddCompositeComponentFeatureBase.java @@ -0,0 +1,94 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray AddShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractAddFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.ISprayShape; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles.CompositediagramDefaultStyle; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +@SuppressWarnings("unused") +public abstract class CompositediagramAddCompositeComponentFeatureBase extends AbstractAddFeature { + protected final static String typeOrAliasName = "CompositeComponent"; + protected Diagram targetDiagram = null; + + public CompositediagramAddCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canAdd(final IAddContext context) { + final EObject newObject = (EObject) context.getNewObject(); + if (newObject instanceof CompositeComponent) { + // check if user wants to add to a diagram + if (context.getTargetContainer() instanceof Diagram) { + return true; + } else if (context.getTargetContainer() instanceof ContainerShape) { + // OLD STUFF + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // NEW stuff + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public PictogramElement add(final IAddContext context) { + final CompositeComponent addedModelElement = (CompositeComponent) context.getNewObject(); + // NEW stuff + Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + final ContainerShape targetContainer = context.getTargetContainer(); + final ISprayStyle style = new CompositediagramDefaultStyle(); + final ISprayShape shape = new CompositeShape(getFeatureProvider()); + final ContainerShape conShape = shape.getShape(targetContainer, style); + final IGaService gaService = Graphiti.getGaService(); + gaService.setLocation(conShape.getGraphicsAlgorithm(), context.getX(), context.getY()); + link(conShape, addedModelElement); + linkShapes(conShape, addedModelElement); + + setDoneChanges(true); + updatePictogramElement(conShape); + layout(conShape); + + return conShape; + } + + protected void linkShapes(ContainerShape conShape, CompositeComponent addedModelElement) { + link(conShape, addedModelElement); + for (Shape childShape : conShape.getChildren()) { + if (childShape instanceof ContainerShape) { + linkShapes((ContainerShape) childShape, addedModelElement); + } else { + link(childShape, addedModelElement); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java new file mode 100644 index 00000000..4f8e7dbd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray CopyFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramCopyFeature extends CompositediagramCopyFeatureBase { + public CompositediagramCopyFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java new file mode 100644 index 00000000..a2f7cd84 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCopyFeatureBase.java @@ -0,0 +1,54 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray CopyFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ICopyContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipse.graphiti.ui.features.AbstractCopyFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; + +public abstract class CompositediagramCopyFeatureBase extends AbstractCopyFeature { + + public CompositediagramCopyFeatureBase(IFeatureProvider fp) { + super(fp); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canCopy(ICopyContext context) { + final PictogramElement[] pes = context.getPictogramElements(); + // nothing selected + if (pes == null || pes.length == 0) { + return false; + } + // return true, if all selected elements are a subtypes of Repository + for (PictogramElement pe : pes) { + final Object bo = getBusinessObjectForPictogramElement(pe); + if (!(bo instanceof Repository)) { + return false; + } + } + return true; + } + + /** + * {@inheritDoc} + */ + @Override + public void copy(ICopyContext context) { + // Copy PictogramElements instead of Objects because of the properties on Shapes. + PictogramElement[] pes = context.getPictogramElements(); + putToClipboard(pes); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java new file mode 100644 index 00000000..98592754 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramCreateAssemblyContextFeature extends CompositediagramCreateAssemblyContextFeatureBase { + public CompositediagramCreateAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java new file mode 100644 index 00000000..9b742a7f --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateAssemblyContextFeatureBase.java @@ -0,0 +1,106 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ICreateContext; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipselabs.spray.runtime.graphiti.containers.SampleUtil; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractCreateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import org.eclipse.graphiti.features.context.IAreaContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram.CompositediagramModelService; + +public abstract class CompositediagramCreateAssemblyContextFeatureBase extends AbstractCreateFeature { + protected static String TITLE = "Create "; + protected static String USER_QUESTION = "Enter new name"; + protected CompositediagramModelService modelService; + protected AssemblyContext newClass = null; + + public CompositediagramCreateAssemblyContextFeatureBase(final IFeatureProvider fp) { + // set name and description of the creation feature + super(fp, "AssemblyContext", "Create new AssemblyContext"); + modelService = CompositediagramModelService.getModelService(fp.getDiagramTypeProvider()); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canCreate(final ICreateContext context) { + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // TODO: Respect the cardinality of the containment reference + if (context.getTargetContainer() instanceof Diagram) { + return false; + } else if (context.getTargetContainer() instanceof ContainerShape) { + } + // And now the new stuff + // cls CompositeComponent refers to this metaClass + if (target instanceof edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) { + if (SprayLayoutService.isCompartment(context.getTargetContainer())) { + String id = GraphitiProperties.get(context.getTargetContainer(), TEXT_ID); + if ((id != null) && (id.equals("context"))) { + return true; + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public Object[] create(final ICreateContext context) { + newClass = createAssemblyContext(context); + + if (newClass == null) { + return EMPTY; + } + + // do the add + addGraphicalRepresentation(context, newClass); + + // activate direct editing after object creation + getFeatureProvider().getDirectEditingInfo().setActive(true); + + // return newly created business object(s) + return new Object[]{newClass}; + } + + // + + /** + * Creates a new {@link AssemblyContext} instance and adds it to the containing type. + */ + protected AssemblyContext createAssemblyContext(final ICreateContext context) { + // create AssemblyContext instance + final AssemblyContext newClass = RepositoryFactory.eINSTANCE.createAssemblyContext(); + boolean isContainment = false; + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // And now the NEW stuff + if (target instanceof edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) { + edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent domainObject = (edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent) target; + // containment + domainObject.getAssemblyContexts().add(newClass); + setDoneChanges(true); + return newClass; + } + setDoneChanges(true); + return newClass; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java new file mode 100644 index 00000000..c44a347b --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramCreateCompositeComponentFeature extends CompositediagramCreateCompositeComponentFeatureBase { + public CompositediagramCreateCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java new file mode 100644 index 00000000..7601322c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramCreateCompositeComponentFeatureBase.java @@ -0,0 +1,95 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray CreateShapeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ICreateContext; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipselabs.spray.runtime.graphiti.containers.SampleUtil; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractCreateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import org.eclipse.graphiti.features.context.IAreaContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram.CompositediagramModelService; + +public abstract class CompositediagramCreateCompositeComponentFeatureBase extends AbstractCreateFeature { + protected static String TITLE = "Create "; + protected static String USER_QUESTION = "Enter new name"; + protected CompositediagramModelService modelService; + protected CompositeComponent newClass = null; + + public CompositediagramCreateCompositeComponentFeatureBase(final IFeatureProvider fp) { + // set name and description of the creation feature + super(fp, "CompositeComponent", "Create new CompositeComponent"); + modelService = CompositediagramModelService.getModelService(fp.getDiagramTypeProvider()); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canCreate(final ICreateContext context) { + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + // TODO: Respect the cardinality of the containment reference + if (context.getTargetContainer() instanceof Diagram) { + return true; + } else if (context.getTargetContainer() instanceof ContainerShape) { + } + // And now the new stuff + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public Object[] create(final ICreateContext context) { + newClass = createCompositeComponent(context); + + if (newClass == null) { + return EMPTY; + } + + // do the add + addGraphicalRepresentation(context, newClass); + + // activate direct editing after object creation + getFeatureProvider().getDirectEditingInfo().setActive(true); + + // return newly created business object(s) + return new Object[]{newClass}; + } + + // org.eclipse.emf.ecore.impl.EReferenceImpl@69597c46 (name: components) (ordered: false, unique: true, lowerBound: 0, upperBound: -1) (changeable: true, volatile: false, transient: false, defaultValueLiteral: null, unsettable: false, derived: false) (containment: true, resolveProxies: true) + + /** + * Creates a new {@link CompositeComponent} instance and adds it to the containing type. + */ + protected CompositeComponent createCompositeComponent(final ICreateContext context) { + // create CompositeComponent instance + final CompositeComponent newClass = RepositoryFactory.eINSTANCE.createCompositeComponent(); + boolean isContainment = false; + final Object target = getBusinessObjectForPictogramElement(context.getTargetContainer()); + if (!isContainment) { + // add the element to containment reference + Repository model = modelService.getModel(); + model.getComponents().add(newClass); + } + // And now the NEW stuff + setDoneChanges(true); + return newClass; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java new file mode 100644 index 00000000..9793f3b5 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray DirectEditFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramDirectEditAssemblyContextFeature extends CompositediagramDirectEditAssemblyContextFeatureBase { + public CompositediagramDirectEditAssemblyContextFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java new file mode 100644 index 00000000..c15e6ed6 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditAssemblyContextFeatureBase.java @@ -0,0 +1,85 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray DirectEditFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IDirectEditingContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractDirectEditingFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; + +public abstract class CompositediagramDirectEditAssemblyContextFeatureBase extends AbstractDirectEditingFeature { + + protected IPeService peService = Graphiti.getPeService(); + + public CompositediagramDirectEditAssemblyContextFeatureBase(IFeatureProvider fp) { + super(fp); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canDirectEdit(IDirectEditingContext context) { + PictogramElement pe = context.getPictogramElement(); + Object bo = getBusinessObjectForPictogramElement(pe); + GraphicsAlgorithm ga = context.getGraphicsAlgorithm(); + // support direct editing, if it is a AssemblyContext, and the user clicked + // directly on the text and not somewhere else in the rectangle + if (bo instanceof AssemblyContext && ga instanceof Text) { + return true; + } + // direct editing not supported in all other cases + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getInitialValue(IDirectEditingContext context) { + // return the initial value of the clicked text on the AssemblyContext + PictogramElement pe = context.getPictogramElement(); + AssemblyContext eClass = (AssemblyContext) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("rectText")) { + return eClass.getName(); + } + return ""; + } + + /** + * {@inheritDoc} + */ + @Override + public int getEditingType() { + return TYPE_TEXT; + } + + /** + * {@inheritDoc} + */ + @Override + public void setValue(final String value, final IDirectEditingContext context) { + // set the new value on the AssemblyContext + final PictogramElement pe = context.getPictogramElement(); + AssemblyContext eClass = (AssemblyContext) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("rectText")) { + eClass.setName(value); + } + updatePictogramElement(pe); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java new file mode 100644 index 00000000..2b02a9d2 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DirectEditFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramDirectEditCompositeComponentFeature extends CompositediagramDirectEditCompositeComponentFeatureBase { + public CompositediagramDirectEditCompositeComponentFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java new file mode 100644 index 00000000..99356123 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramDirectEditCompositeComponentFeatureBase.java @@ -0,0 +1,85 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray DirectEditFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IDirectEditingContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IPeService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractDirectEditingFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public abstract class CompositediagramDirectEditCompositeComponentFeatureBase extends AbstractDirectEditingFeature { + + protected IPeService peService = Graphiti.getPeService(); + + public CompositediagramDirectEditCompositeComponentFeatureBase(IFeatureProvider fp) { + super(fp); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canDirectEdit(IDirectEditingContext context) { + PictogramElement pe = context.getPictogramElement(); + Object bo = getBusinessObjectForPictogramElement(pe); + GraphicsAlgorithm ga = context.getGraphicsAlgorithm(); + // support direct editing, if it is a CompositeComponent, and the user clicked + // directly on the text and not somewhere else in the rectangle + if (bo instanceof CompositeComponent && ga instanceof Text) { + return true; + } + // direct editing not supported in all other cases + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getInitialValue(IDirectEditingContext context) { + // return the initial value of the clicked text on the CompositeComponent + PictogramElement pe = context.getPictogramElement(); + CompositeComponent eClass = (CompositeComponent) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("classText")) { + return eClass.getName(); + } + return ""; + } + + /** + * {@inheritDoc} + */ + @Override + public int getEditingType() { + return TYPE_TEXT; + } + + /** + * {@inheritDoc} + */ + @Override + public void setValue(final String value, final IDirectEditingContext context) { + // set the new value on the CompositeComponent + final PictogramElement pe = context.getPictogramElement(); + CompositeComponent eClass = (CompositeComponent) getBusinessObjectForPictogramElement(pe); + Text gAlg = (Text) context.getGraphicsAlgorithm(); + String id = peService.getPropertyValue(gAlg, TEXT_ID); + if (id.equals("classText")) { + eClass.setName(value); + } + updatePictogramElement(pe); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java new file mode 100644 index 00000000..b023b18e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramLayoutAssemblyContextFeature extends CompositediagramLayoutAssemblyContextFeatureBase { + public CompositediagramLayoutAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java new file mode 100644 index 00000000..7a6b1bc4 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutAssemblyContextFeatureBase.java @@ -0,0 +1,52 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ILayoutContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractLayoutFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; + +public abstract class CompositediagramLayoutAssemblyContextFeatureBase extends AbstractLayoutFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramLayoutAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new RectShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canLayout(final ILayoutContext context) { + final PictogramElement pe = context.getPictogramElement(); + if (!(pe instanceof ContainerShape)) { + return false; + } + final EList<EObject> businessObjects = pe.getLink().getBusinessObjects(); + return (businessObjects.size() == 1) && (businessObjects.get(0) instanceof AssemblyContext); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean layout(final ILayoutContext context) { + return layoutManager.layout(context); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java new file mode 100644 index 00000000..04c0944c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramLayoutCompositeComponentFeature extends CompositediagramLayoutCompositeComponentFeatureBase { + public CompositediagramLayoutCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java new file mode 100644 index 00000000..4af72380 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramLayoutCompositeComponentFeatureBase.java @@ -0,0 +1,52 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray LayoutFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.ILayoutContext; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractLayoutFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public abstract class CompositediagramLayoutCompositeComponentFeatureBase extends AbstractLayoutFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramLayoutCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new CompositeShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canLayout(final ILayoutContext context) { + final PictogramElement pe = context.getPictogramElement(); + if (!(pe instanceof ContainerShape)) { + return false; + } + final EList<EObject> businessObjects = pe.getLink().getBusinessObjects(); + return (businessObjects.size() == 1) && (businessObjects.get(0) instanceof CompositeComponent); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean layout(final ILayoutContext context) { + return layoutManager.layout(context); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java new file mode 100644 index 00000000..c11653d8 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramMoveAssemblyContextFeature extends CompositediagramMoveAssemblyContextFeatureBase { + public CompositediagramMoveAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java new file mode 100644 index 00000000..fb8e97bd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveAssemblyContextFeatureBase.java @@ -0,0 +1,114 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IRemoveFeature; +import org.eclipse.graphiti.features.context.IMoveShapeContext; +import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.features.context.impl.RemoveContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayFixedLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayTopLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayDiagramLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public abstract class CompositediagramMoveAssemblyContextFeatureBase extends DefaultMoveShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramMoveAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new RectShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canMoveShape(IMoveShapeContext context) { + Shape sourceShape = (Shape) context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + // check whether it can move in the same container + if (sourceShape.eContainer() == targetContainer) { + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayFixedLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayTopLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayDiagramLayoutManager)) { + return true; + } + return false; + } + // Can move from containment to another containment compartment + if (target instanceof CompositeComponent) { + if (SprayLayoutService.isCompartment(context.getTargetContainer())) { + String id = GraphitiProperties.get(context.getTargetContainer(), ISprayConstants.TEXT_ID); + if ((id != null) && (id.equals("context"))) { + return true; + } + } + } + return super.canMoveShape(context); + } + + /** + * {@inheritDoc} + */ + @Override + public void moveShape(IMoveShapeContext context) { + PictogramElement sourceShape = context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + ContainerShape sourceContainer = context.getSourceContainer(); + Object sourceParent = getBusinessObjectForPictogramElement(sourceContainer); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + if (sourceShape.eContainer() == targetContainer) { + super.moveShape(context); + return; + } + if (target instanceof CompositeComponent) { + if (SprayLayoutService.isCompartment(targetContainer)) { + String id = GraphitiProperties.get(targetContainer, ISprayConstants.TEXT_ID); + if ((id != null) && (id.equals("context"))) { + + sourceContainer.getChildren().remove(source); + ContainerShape sourceTop = SprayLayoutService.findTopDslShape(sourceContainer); + if (sourceTop != null) { + SprayLayoutService.getLayoutManager(sourceTop).layout(); + } + // remove from source container and add to target container + + ((CompositeComponent) target).getAssemblyContexts().add((AssemblyContext) source); + targetContainer.getChildren().add((Shape) sourceShape); + ContainerShape targetTop = SprayLayoutService.findTopDslShape(targetContainer); + if (targetTop != null) { + SprayLayoutService.getLayoutManager(targetTop).layout(); + } + return; + } + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java new file mode 100644 index 00000000..9433794e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramMoveCompositeComponentFeature extends CompositediagramMoveCompositeComponentFeatureBase { + public CompositediagramMoveCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java new file mode 100644 index 00000000..44462f40 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramMoveCompositeComponentFeatureBase.java @@ -0,0 +1,80 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray MoveFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IRemoveFeature; +import org.eclipse.graphiti.features.context.IMoveShapeContext; +import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.features.context.impl.RemoveContext; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayFixedLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayTopLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayDiagramLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; + +public abstract class CompositediagramMoveCompositeComponentFeatureBase extends DefaultMoveShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramMoveCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new CompositeShape(fp).getShapeLayout(); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canMoveShape(IMoveShapeContext context) { + Shape sourceShape = (Shape) context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + // check whether it can move in the same container + if (sourceShape.eContainer() == targetContainer) { + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayFixedLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayTopLayoutManager)) { + return true; + } + if ((SprayLayoutService.getLayoutManager(sourceShape.getContainer()) instanceof SprayDiagramLayoutManager)) { + return true; + } + return false; + } + return super.canMoveShape(context); + } + + /** + * {@inheritDoc} + */ + @Override + public void moveShape(IMoveShapeContext context) { + PictogramElement sourceShape = context.getPictogramElement(); + ContainerShape targetContainer = context.getTargetContainer(); + ContainerShape sourceContainer = context.getSourceContainer(); + Object sourceParent = getBusinessObjectForPictogramElement(sourceContainer); + Object source = getBusinessObjectForPictogramElement(sourceShape); + Object target = getBusinessObjectForPictogramElement(targetContainer); + if (sourceShape.eContainer() == targetContainer) { + super.moveShape(context); + return; + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java new file mode 100644 index 00000000..5decf82e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeature.java @@ -0,0 +1,17 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray PasteFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramPasteFeature extends CompositediagramPasteFeatureBase { + public CompositediagramPasteFeature(IFeatureProvider fp) { + super(fp); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java new file mode 100644 index 00000000..6ddb64ab --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramPasteFeatureBase.java @@ -0,0 +1,98 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray PasteFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.context.IPasteContext; +import org.eclipse.graphiti.features.context.impl.AddContext; +import org.eclipse.graphiti.mm.Property; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractPasteFeature; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.diagram.CompositediagramModelService; + +public abstract class CompositediagramPasteFeatureBase extends AbstractPasteFeature { + + protected CompositediagramModelService modelService; + + public CompositediagramPasteFeatureBase(IFeatureProvider fp) { + super(fp); + modelService = CompositediagramModelService.getModelService(fp.getDiagramTypeProvider()); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canPaste(IPasteContext context) { + // TODO: only support pasting directly in the diagram + PictogramElement[] pes = context.getPictogramElements(); + if (pes.length != 1 || !(pes[0] instanceof Diagram)) { + return false; + } + // can paste, if all objects on the clipboard are PictogramElements with link on subclasses of Repository + Object[] fromClipboard = getFromClipboard(); + if (fromClipboard == null || fromClipboard.length == 0) { + return false; + } + for (Object object : fromClipboard) { + if (!(object instanceof PictogramElement)) { + return false; + } else if (!(getBusinessObjectForPictogramElement((PictogramElement) object) instanceof Repository)) { + return false; + } + } + return true; + } + + /** + * {@inheritDoc} + */ + @Override + public void paste(IPasteContext context) { + // already verified, that pasting is allowed just directly in the diagram + PictogramElement[] pes = context.getPictogramElements(); + Diagram diagram = (Diagram) pes[0]; + + // get the PictogramElements from the clipboard and the linked business object. + Object[] objects = getFromClipboard(); + for (Object object : objects) { + PictogramElement pictogramElement = (PictogramElement) object; + Repository boRef = (Repository) getBusinessObjectForPictogramElement(pictogramElement); + Repository bo = EcoreUtil.copy(boRef); + addBusinessObjectToContainer(bo, pictogramElement); + + // create a new AddContext for the creation of a new shape. + AddContext ac = new AddContext(new AddContext(), bo); + ac.setLocation(0, 0); // for simplicity paste at (0, 0) + ac.setTargetContainer(diagram); // paste on diagram + // copy all properties from the shape (e.g. ALIAS etc.) + for (Property prop : pictogramElement.getProperties()) { + ac.putProperty(prop.getKey(), prop.getValue()); + } + getFeatureProvider().addIfPossible(ac); + } + } + + protected void addBusinessObjectToContainer(Repository bo, PictogramElement pe) { + final Repository model = modelService.getModel(); + final String alias = Graphiti.getPeService().getPropertyValue(pe, PROPERTY_ALIAS); + if (bo.eClass() == RepositoryPackage.Literals.COMPOSITE_COMPONENT && alias == null) { + model.getComponents().add((CompositeComponent) bo); + } + if (bo.eClass() == RepositoryPackage.Literals.ASSEMBLY_CONTEXT && alias == null) { + throw new UnsupportedOperationException("No create behavior defined"); + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java new file mode 100644 index 00000000..bb36685d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramResizeAssemblyContextFeature extends CompositediagramResizeAssemblyContextFeatureBase { + public CompositediagramResizeAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java new file mode 100644 index 00000000..9a946b61 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeAssemblyContextFeatureBase.java @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IResizeConfiguration; +import org.eclipse.graphiti.features.context.IResizeShapeContext; +import org.eclipse.graphiti.features.DefaultResizeConfiguration; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultResizeShapeFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.RectShape; + +public abstract class CompositediagramResizeAssemblyContextFeatureBase extends DefaultResizeShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramResizeAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new RectShape(fp).getShapeLayout(); + } + + public class ResizeConfiguration_RectShape extends DefaultResizeConfiguration { + + public boolean isHorizontalResizeAllowed() { + return layoutManager.isStretchHorizontal(); + } + + public boolean isVerticalResizeAllowed() { + return layoutManager.isStretchVertical(); + } + + } + + /** + * {@inheritDoc} + */ + @Override + public IResizeConfiguration getResizeConfiguration(IResizeShapeContext context) { + return new ResizeConfiguration_RectShape(); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java new file mode 100644 index 00000000..6588b92b --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramResizeCompositeComponentFeature extends CompositediagramResizeCompositeComponentFeatureBase { + public CompositediagramResizeCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java new file mode 100644 index 00000000..b5d974e2 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramResizeCompositeComponentFeatureBase.java @@ -0,0 +1,47 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:48 CET 2013 by Spray ResizeFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IResizeConfiguration; +import org.eclipse.graphiti.features.context.IResizeShapeContext; +import org.eclipse.graphiti.features.DefaultResizeConfiguration; +import org.eclipselabs.spray.runtime.graphiti.features.DefaultResizeShapeFeature; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes.CompositeShape; + +public abstract class CompositediagramResizeCompositeComponentFeatureBase extends DefaultResizeShapeFeature { + + SprayLayoutManager layoutManager; + + public CompositediagramResizeCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + layoutManager = new CompositeShape(fp).getShapeLayout(); + } + + public class ResizeConfiguration_CompositeShape extends DefaultResizeConfiguration { + + public boolean isHorizontalResizeAllowed() { + return layoutManager.isStretchHorizontal(); + } + + public boolean isVerticalResizeAllowed() { + return layoutManager.isStretchVertical(); + } + + } + + /** + * {@inheritDoc} + */ + @Override + public IResizeConfiguration getResizeConfiguration(IResizeShapeContext context) { + return new ResizeConfiguration_CompositeShape(); + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java new file mode 100644 index 00000000..f8d728a4 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramUpdateAssemblyContextFeature extends CompositediagramUpdateAssemblyContextFeatureBase { + public CompositediagramUpdateAssemblyContextFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java new file mode 100644 index 00000000..7f0b4991 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateAssemblyContextFeatureBase.java @@ -0,0 +1,135 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IReason; +import org.eclipse.graphiti.features.context.IUpdateContext; +import org.eclipse.graphiti.features.impl.Reason; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractUpdateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator; + +public abstract class CompositediagramUpdateAssemblyContextFeatureBase extends AbstractUpdateFeature { + public CompositediagramUpdateAssemblyContextFeatureBase(final IFeatureProvider fp) { + super(fp); + gaService = Activator.get(IGaService.class); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canUpdate(final IUpdateContext context) { + // return true, if linked business object is a AssemblyContext + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + return (bo instanceof AssemblyContext) && (!(pictogramElement instanceof Diagram)); + } + + /** + * {@inheritDoc} + */ + @Override + public IReason updateNeeded(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + if (!(bo instanceof AssemblyContext)) { + return Reason.createFalseReason(); + } + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + AssemblyContext eClass = (AssemblyContext) bo; + if (checkUpdateNeededRecursively(shape, eClass)) { + return Reason.createTrueReason(); + } + if (shape instanceof ContainerShape) { + for (Shape childShape : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(childShape, eClass)) { + return Reason.createTrueReason(); + } + } + } + } + return Reason.createFalseReason(); + } + + protected boolean checkUpdateNeededRecursively(Shape shape, final AssemblyContext eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("rectText")) { + String eClassValue = eClass.getName(); + String gAlgorithmValue = text.getValue(); + if (eClassValue != null) { + if (!eClassValue.equals(gAlgorithmValue)) { + return true; + } + } + } + } + } + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(child, eClass)) { + return true; + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean update(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final AssemblyContext eClass = (AssemblyContext) getBusinessObjectForPictogramElement(pictogramElement); + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + updateChildsRecursively(shape, eClass); + Shape top = findTopShape(shape); + SprayLayoutService.getLayoutManager(top).layout(); + } + return true; + + } + + protected void updateChildsRecursively(Shape shape, final AssemblyContext eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("rectText")) { + text.setValue(eClass.getName()); + } + } + } + + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + updateChildsRecursively(child, eClass); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java new file mode 100644 index 00000000..1a95782c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeature.java @@ -0,0 +1,18 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositediagramUpdateCompositeComponentFeature extends CompositediagramUpdateCompositeComponentFeatureBase { + public CompositediagramUpdateCompositeComponentFeature(final IFeatureProvider fp) { + super(fp); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java new file mode 100644 index 00000000..4d7a98c0 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/features/CompositediagramUpdateCompositeComponentFeatureBase.java @@ -0,0 +1,135 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray UpdateShapeFromDslFeature.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.features; + +import org.eclipse.graphiti.features.IFeatureProvider; +import org.eclipse.graphiti.features.IReason; +import org.eclipse.graphiti.features.context.IUpdateContext; +import org.eclipse.graphiti.features.impl.Reason; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; +import org.eclipse.graphiti.mm.algorithms.Text; +import org.eclipse.graphiti.mm.pictograms.ContainerShape; +import org.eclipse.graphiti.mm.pictograms.Shape; +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.IGaService; +import org.eclipselabs.spray.runtime.graphiti.features.AbstractUpdateFeature; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator; + +public abstract class CompositediagramUpdateCompositeComponentFeatureBase extends AbstractUpdateFeature { + public CompositediagramUpdateCompositeComponentFeatureBase(final IFeatureProvider fp) { + super(fp); + gaService = Activator.get(IGaService.class); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean canUpdate(final IUpdateContext context) { + // return true, if linked business object is a CompositeComponent + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + return (bo instanceof CompositeComponent) && (!(pictogramElement instanceof Diagram)); + } + + /** + * {@inheritDoc} + */ + @Override + public IReason updateNeeded(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final Object bo = getBusinessObjectForPictogramElement(pictogramElement); + if (!(bo instanceof CompositeComponent)) { + return Reason.createFalseReason(); + } + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + CompositeComponent eClass = (CompositeComponent) bo; + if (checkUpdateNeededRecursively(shape, eClass)) { + return Reason.createTrueReason(); + } + if (shape instanceof ContainerShape) { + for (Shape childShape : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(childShape, eClass)) { + return Reason.createTrueReason(); + } + } + } + } + return Reason.createFalseReason(); + } + + protected boolean checkUpdateNeededRecursively(Shape shape, final CompositeComponent eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("classText")) { + String eClassValue = eClass.getName(); + String gAlgorithmValue = text.getValue(); + if (eClassValue != null) { + if (!eClassValue.equals(gAlgorithmValue)) { + return true; + } + } + } + } + } + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + if (checkUpdateNeededRecursively(child, eClass)) { + return true; + } + } + } + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean update(final IUpdateContext context) { + final PictogramElement pictogramElement = context.getPictogramElement(); + final CompositeComponent eClass = (CompositeComponent) getBusinessObjectForPictogramElement(pictogramElement); + if (pictogramElement instanceof Shape) { + Shape shape = (Shape) pictogramElement; + updateChildsRecursively(shape, eClass); + Shape top = findTopShape(shape); + SprayLayoutService.getLayoutManager(top).layout(); + } + return true; + + } + + protected void updateChildsRecursively(Shape shape, final CompositeComponent eClass) { + GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm(); + if (graphicsAlgorithm instanceof Text) { + Text text = (Text) graphicsAlgorithm; + String id = peService.getPropertyValue(graphicsAlgorithm, TEXT_ID); + if (id != null) { + if (id.equals("classText")) { + text.setValue(eClass.getName()); + } + } + } + + if (shape instanceof ContainerShape) { + for (Shape child : ((ContainerShape) shape).getChildren()) { + updateChildsRecursively(child, eClass); + } + } + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java new file mode 100644 index 00000000..b2053459 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/internal/ExecutableExtensionFactory.java @@ -0,0 +1,34 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray ExecutableExtensionFactory.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.internal; + +import com.google.inject.Injector; +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.Activator; + +public class ExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + /** + * {@inheritDoc} + */ + @Override + protected Bundle getBundle() { + return Activator.getDefault().getBundle(); + } + + /** + * {@inheritDoc} + */ + @Override + protected Injector getInjector() { + return Activator.getDefault().getInjector(); + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java new file mode 100644 index 00000000..ed939504 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilter.java @@ -0,0 +1,15 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class AssemblyContextFilter extends AssemblyContextFilterBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java new file mode 100644 index 00000000..03942120 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextFilterBase.java @@ -0,0 +1,31 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.AbstractPropertySectionFilter; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext; + +public class AssemblyContextFilterBase extends AbstractPropertySectionFilter { + + /** + * {@inheritDoc} + */ + @Override + protected boolean accept(final PictogramElement pe) { + final EObject eObject = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + if (eObject instanceof AssemblyContext) { + return true; + } + return false; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java new file mode 100644 index 00000000..d357e96e --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class AssemblyContextIdSection extends AssemblyContextIdSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java new file mode 100644 index 00000000..d9ade984 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextIdSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.identifier.Identifier; +import edu.kit.ipd.descartes.identifier.Identifier; + +public abstract class AssemblyContextIdSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected Identifier bc = null; + protected Text idWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + idWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + idWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Id"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(idWidget, -HSPACE); + data.top = new FormAttachment(idWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + idWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a Identifier + if (bo == null) + return; + bc = (Identifier) bo; + String value = ""; + value = bc.getId(); + idWidget.setText(value == null ? "" : value); + idWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = idWidget.getText(); + if (!newValue.equals(bc.getId())) { + bc.setId(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java new file mode 100644 index 00000000..67a8d93d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class AssemblyContextNameSection extends AssemblyContextNameSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java new file mode 100644 index 00000000..5b6146f5 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/AssemblyContextNameSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.core.NamedElement; +import edu.kit.ipd.descartes.core.NamedElement; + +public abstract class AssemblyContextNameSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected NamedElement bc = null; + protected Text nameWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + nameWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + nameWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Name"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(nameWidget, -HSPACE); + data.top = new FormAttachment(nameWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + nameWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a NamedElement + if (bo == null) + return; + bc = (NamedElement) bo; + String value = ""; + value = bc.getName(); + nameWidget.setText(value == null ? "" : value); + nameWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = nameWidget.getText(); + if (!newValue.equals(bc.getName())) { + bc.setName(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java new file mode 100644 index 00000000..7658ab73 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilter.java @@ -0,0 +1,15 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.graphiti.features.IFeatureProvider; + +public class CompositeComponentFilter extends CompositeComponentFilterBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java new file mode 100644 index 00000000..ce5e83fd --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentFilterBase.java @@ -0,0 +1,31 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray Filter.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.AbstractPropertySectionFilter; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent; + +public class CompositeComponentFilterBase extends AbstractPropertySectionFilter { + + /** + * {@inheritDoc} + */ + @Override + protected boolean accept(final PictogramElement pe) { + final EObject eObject = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + if (eObject instanceof CompositeComponent) { + return true; + } + return false; + } +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java new file mode 100644 index 00000000..5de8092c --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class CompositeComponentIdSection extends CompositeComponentIdSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java new file mode 100644 index 00000000..eff56a14 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentIdSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.identifier.Identifier; +import edu.kit.ipd.descartes.identifier.Identifier; + +public abstract class CompositeComponentIdSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected Identifier bc = null; + protected Text idWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + idWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + idWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Id"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(idWidget, -HSPACE); + data.top = new FormAttachment(idWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + idWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a Identifier + if (bo == null) + return; + bc = (Identifier) bo; + String value = ""; + value = bc.getId(); + idWidget.setText(value == null ? "" : value); + idWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = idWidget.getText(); + if (!newValue.equals(bc.getId())) { + bc.setId(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java new file mode 100644 index 00000000..0d39c01d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSection.java @@ -0,0 +1,13 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file is an extension point: copy to "src" folder to manually add code to this + * extension point. + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +public class CompositeComponentNameSection extends CompositeComponentNameSectionBase { + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java new file mode 100644 index 00000000..ab15b142 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/property/CompositeComponentNameSectionBase.java @@ -0,0 +1,111 @@ +/************************************************************************************* + * + * Generated on Thu Jan 03 18:22:47 CET 2013 by Spray PropertySection.xtend + * + * This file contains generated and should not be changed. + * Use the extension point class (the direct subclass of this class) to add manual code + * + *************************************************************************************/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.property; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +import org.eclipse.emf.transaction.TransactionalEditingDomain; +import org.eclipse.graphiti.mm.pictograms.PictogramElement; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.ui.platform.GFPropertySection; +import org.eclipse.graphiti.ui.internal.services.GraphitiUiInternal; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; +import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; +import java.util.List; +import edu.kit.ipd.descartes.core.NamedElement; +import edu.kit.ipd.descartes.core.NamedElement; + +public abstract class CompositeComponentNameSectionBase extends GFPropertySection implements ITabbedPropertyConstants { + + protected NamedElement bc = null; + protected Text nameWidget; + + /** + * {@inheritDoc} + */ + @Override + public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { + super.createControls(parent, tabbedPropertySheetPage); + + final TabbedPropertySheetWidgetFactory factory = getWidgetFactory(); + final Composite composite = factory.createFlatFormComposite(parent); + FormData data; + + nameWidget = factory.createText(composite, ""); + data = new FormData(); + data.left = new FormAttachment(0, STANDARD_LABEL_WIDTH); + data.right = new FormAttachment(100, 0); + data.top = new FormAttachment(0, VSPACE); + nameWidget.setLayoutData(data); + + CLabel valueLabel = factory.createCLabel(composite, "Name"); + data = new FormData(); + data.left = new FormAttachment(0, 0); + data.right = new FormAttachment(nameWidget, -HSPACE); + data.top = new FormAttachment(nameWidget, 0, SWT.CENTER); + valueLabel.setLayoutData(data); + } + + /** + * {@inheritDoc} + */ + @Override + public void refresh() { + nameWidget.removeModifyListener(nameListener); + + final PictogramElement pe = getSelectedPictogramElement(); + if (pe != null) { + final EObject bo = (EObject) Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); + // the filter assured, that it is a NamedElement + if (bo == null) + return; + bc = (NamedElement) bo; + String value = ""; + value = bc.getName(); + nameWidget.setText(value == null ? "" : value); + nameWidget.addModifyListener(nameListener); + } + } + + private ModifyListener nameListener = new ModifyListener() { + public void modifyText(ModifyEvent arg0) { + TransactionalEditingDomain editingDomain = getDiagramEditor().getEditingDomain(); + editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) { + @Override + protected void doExecute() { + changePropertyValue(); + } + }); + } + }; + + protected void changePropertyValue() { + String newValue = nameWidget.getText(); + if (!newValue.equals(bc.getName())) { + bc.setName(newValue); + } + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java new file mode 100644 index 00000000..1952a57d --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/CompositeShape.java @@ -0,0 +1,128 @@ +/** + * This is a generated Shape for Spray + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes; + +import java.util.List; +import java.util.ArrayList; +import org.eclipse.graphiti.mm.algorithms.styles.Point; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; + +import org.eclipse.graphiti.datatypes.IDimension; +import org.eclipse.graphiti.features.*; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipse.graphiti.services.IPeService; +import org.eclipse.graphiti.services.IPeCreateService; +import org.eclipse.graphiti.util.ColorConstant; +import org.eclipse.graphiti.util.IColorConstant; + +import org.eclipse.graphiti.mm.pictograms.*; +import org.eclipse.graphiti.mm.algorithms.*; +import org.eclipse.graphiti.mm.algorithms.styles.*; + +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayAbstractLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutType; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.shape.DefaultSprayShape; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +@SuppressWarnings("all") +public class CompositeShape extends DefaultSprayShape { + + public static enum TextIds { + context, + classText + } + + public CompositeShape(IFeatureProvider fp) { + super(fp); + } + + @Override + public ContainerShape getShape(ContainerShape targetContainer, ISprayStyle sprayStyle) { + // Create a ContainerShape for this Shape + Diagram diagram = peService.getDiagramForShape(targetContainer); + ContainerShape containerShape = peCreateService.createContainerShape(targetContainer, true); + SprayLayoutService.setId(containerShape, "CompositeShape.containerShape"); + + // define general layout for ContainerShape + sprayStyle.getStyle(diagram).setProportional(false); + sprayStyle.getStyle(diagram).setStretchH(false); + sprayStyle.getStyle(diagram).setStretchV(false); + + // layout data + SprayLayoutType containerLayout = SprayLayoutType.TOP; + SprayLayoutService.setLayoutManager(containerShape, containerLayout, 0, 0, true); + SprayLayoutService.getLayoutData(containerShape).setVisible(true); + + // creates the cascaded elements (figures) + IDirectEditingInfo directEditingInfo = getFeatureProvider().getDirectEditingInfo(); + directEditingInfo.setMainPictogramElement(containerShape); + directEditingInfo.setPictogramElement(containerShape); + + GraphicsAlgorithm element_0 = gaService.createInvisibleRectangle(containerShape); + element_0.setStyle(sprayStyle.getStyle(diagram)); + SprayLayoutService.setShapeFromDsl(containerShape, true); + gaService.setLocationAndSize(element_0, 0, 0, 100, 25); + + ContainerShape shape_1 = peCreateService.createContainerShape(containerShape, true); + SprayLayoutService.setId(shape_1, "CompositeShape.shape_1"); + SprayLayoutService.setCompartment(shape_1, true); + GraphitiProperties.set(shape_1, ISprayConstants.TEXT_ID, "context"); + SprayLayoutType layout_1 = SprayLayoutType.VERTICAL; + SprayLayoutService.setLayoutManager(shape_1, layout_1, 5, 5, true); + SprayLayoutService.setLayoutData(shape_1, 100, 25); + Rectangle element_1 = gaService.createPlainRectangle(shape_1); + ISprayStyle style_1 = sprayStyle; + element_1.setStyle(style_1.getStyle(diagram)); + gaService.setLocationAndSize(element_1, 0, 0, 100, 25); + SprayLayoutService.setLayoutData(shape_1, 100, 25, true); + // start RECURSIVEcREATION shape_1 + + Shape shape_2 = peCreateService.createShape(shape_1, false); + SprayLayoutService.setId(shape_2, "CompositeShape.shape_2"); + Text element_2 = gaService.createPlainText(shape_2); + ISprayStyle style_2 = style_1; + element_2.setStyle(style_2.getStyle(diagram)); + gaService.setLocationAndSize(element_2, 5, 0, 95, 25); + SprayLayoutService.setLayoutData(shape_2, 95, 25, true); + element_2.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT); + element_2.setVerticalAlignment(Orientation.ALIGNMENT_TOP); + peService.setPropertyValue(element_2, ISprayConstants.TEXT_ID, TextIds.classText.name()); + peService.setPropertyValue(shape_2, ISprayConstants.TEXT_ID, TextIds.classText.name()); + element_2.setValue(""); + getFeatureProvider().getDirectEditingInfo().setGraphicsAlgorithm(element_2); + // END createElement Text parent shape_1 + // end RECURSIVEcREATION shape_1 + + + // Set start values for height and width as properties on the element for Layout Feature + SprayLayoutManager.setSizePictogramProperties(containerShape); + + // creates the anchors + peCreateService.createChopboxAnchor(containerShape); + + // Fix the broken coordinate syaten for not active container shapes + SprayAbstractLayoutManager.fixOffset(containerShape); + return containerShape; + } + + public SprayLayoutManager getShapeLayout() { + SprayLayoutManager layoutManager = new SprayLayoutManager( ); + layoutManager.setMinSizeWidth(-1); + layoutManager.setMaxSizeWidth(-1); + layoutManager.setMinSizeHeight(-1); + layoutManager.setMaxSizeHeight(-1); + layoutManager.setStretchHorizontal(true); + layoutManager.setStretchVertical(true); + return layoutManager; + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java new file mode 100644 index 00000000..b1151fc3 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/shapes/RectShape.java @@ -0,0 +1,123 @@ +/** + * This is a generated Shape for Spray + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.shapes; + +import java.util.List; +import java.util.ArrayList; +import org.eclipse.graphiti.mm.algorithms.styles.Point; +import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm; + +import org.eclipse.graphiti.datatypes.IDimension; +import org.eclipse.graphiti.features.*; +import org.eclipse.graphiti.features.context.IAddContext; +import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipse.graphiti.services.IPeService; +import org.eclipse.graphiti.services.IPeCreateService; +import org.eclipse.graphiti.util.ColorConstant; +import org.eclipse.graphiti.util.IColorConstant; + +import org.eclipse.graphiti.mm.pictograms.*; +import org.eclipse.graphiti.mm.algorithms.*; +import org.eclipse.graphiti.mm.algorithms.styles.*; + +import org.eclipselabs.spray.runtime.graphiti.ISprayConstants; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayAbstractLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutService; +import org.eclipselabs.spray.runtime.graphiti.layout.SprayLayoutType; + +import org.eclipselabs.spray.runtime.graphiti.GraphitiProperties; +import org.eclipselabs.spray.runtime.graphiti.shape.DefaultSprayShape; +import org.eclipselabs.spray.runtime.graphiti.shape.SprayLayoutManager; +import org.eclipselabs.spray.runtime.graphiti.styles.ISprayStyle; + +@SuppressWarnings("all") +public class RectShape extends DefaultSprayShape { + + public static enum TextIds { + rectText + } + + public RectShape(IFeatureProvider fp) { + super(fp); + } + + @Override + public ContainerShape getShape(ContainerShape targetContainer, ISprayStyle sprayStyle) { + // Create a ContainerShape for this Shape + Diagram diagram = peService.getDiagramForShape(targetContainer); + ContainerShape containerShape = peCreateService.createContainerShape(targetContainer, true); + SprayLayoutService.setId(containerShape, "RectShape.containerShape"); + + // define general layout for ContainerShape + sprayStyle.getStyle(diagram).setProportional(false); + sprayStyle.getStyle(diagram).setStretchH(false); + sprayStyle.getStyle(diagram).setStretchV(false); + + // layout data + SprayLayoutType containerLayout = SprayLayoutType.TOP; + SprayLayoutService.setLayoutManager(containerShape, containerLayout, 0, 0, true); + SprayLayoutService.getLayoutData(containerShape).setVisible(true); + + // creates the cascaded elements (figures) + IDirectEditingInfo directEditingInfo = getFeatureProvider().getDirectEditingInfo(); + directEditingInfo.setMainPictogramElement(containerShape); + directEditingInfo.setPictogramElement(containerShape); + + GraphicsAlgorithm element_0 = gaService.createInvisibleRectangle(containerShape); + element_0.setStyle(sprayStyle.getStyle(diagram)); + SprayLayoutService.setShapeFromDsl(containerShape, true); + gaService.setLocationAndSize(element_0, 0, 0, 100, 25); + + ContainerShape shape_1 = peCreateService.createContainerShape(containerShape, false); + SprayLayoutService.setId(shape_1, "RectShape.shape_1"); + SprayLayoutService.setCompartment(shape_1, false); + Rectangle element_1 = gaService.createPlainRectangle(shape_1); + ISprayStyle style_1 = sprayStyle; + element_1.setStyle(style_1.getStyle(diagram)); + gaService.setLocationAndSize(element_1, 0, 0, 100, 25); + SprayLayoutService.setLayoutData(shape_1, 100, 25, true); + // start RECURSIVEcREATION shape_1 + + Shape shape_2 = peCreateService.createShape(shape_1, false); + SprayLayoutService.setId(shape_2, "RectShape.shape_2"); + Text element_2 = gaService.createPlainText(shape_2); + ISprayStyle style_2 = style_1; + element_2.setStyle(style_2.getStyle(diagram)); + gaService.setLocationAndSize(element_2, 5, 0, 95, 25); + SprayLayoutService.setLayoutData(shape_2, 95, 25, true); + element_2.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT); + element_2.setVerticalAlignment(Orientation.ALIGNMENT_TOP); + peService.setPropertyValue(element_2, ISprayConstants.TEXT_ID, TextIds.rectText.name()); + peService.setPropertyValue(shape_2, ISprayConstants.TEXT_ID, TextIds.rectText.name()); + element_2.setValue(""); + getFeatureProvider().getDirectEditingInfo().setGraphicsAlgorithm(element_2); + // END createElement Text parent shape_1 + // end RECURSIVEcREATION shape_1 + + + // Set start values for height and width as properties on the element for Layout Feature + SprayLayoutManager.setSizePictogramProperties(containerShape); + + // creates the anchors + peCreateService.createChopboxAnchor(containerShape); + + // Fix the broken coordinate syaten for not active container shapes + SprayAbstractLayoutManager.fixOffset(containerShape); + return containerShape; + } + + public SprayLayoutManager getShapeLayout() { + SprayLayoutManager layoutManager = new SprayLayoutManager( ); + layoutManager.setMinSizeWidth(-1); + layoutManager.setMaxSizeWidth(-1); + layoutManager.setMinSizeHeight(-1); + layoutManager.setMaxSizeHeight(-1); + layoutManager.setStretchHorizontal(true); + layoutManager.setStretchVertical(true); + return layoutManager; + } + +} diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java new file mode 100644 index 00000000..5e534eb8 --- /dev/null +++ b/edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/compositediagram/styles/CompositediagramDefaultStyle.java @@ -0,0 +1,76 @@ +/** + * This is a generated Style class for Spray. + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.compositediagram.styles; + +import org.eclipse.graphiti.mm.pictograms.Diagram; +import org.eclipse.graphiti.mm.algorithms.styles.Style; +import org.eclipse.graphiti.mm.algorithms.styles.Color; +import org.eclipse.graphiti.mm.algorithms.styles.LineStyle; +import org.eclipse.graphiti.services.Graphiti; +import org.eclipse.graphiti.services.IGaService; +import org.eclipse.graphiti.util.ColorConstant; +import org.eclipse.graphiti.util.IColorConstant; +import org.eclipse.graphiti.mm.algorithms.styles.AdaptedGradientColoredAreas; +import org.eclipse.graphiti.util.IGradientType; +import org.eclipse.graphiti.mm.algorithms.styles.StylesFactory; +import org.eclipse.graphiti.util.IPredefinedRenderingStyle; +import org.eclipselabs.spray.styles.generator.util.GradientUtilClass; + + + /** + * This is a generated Style class for Spray. + * Description: The default style of the compositediagram diagram type. + */ + @SuppressWarnings("all") + public class CompositediagramDefaultStyle extends org.eclipselabs.spray.runtime.graphiti.styles.DefaultSprayStyle { + + /** + * This method creates a Style and returns the defined style. + * Description: The default style of the compositediagram diagram type. + */ + @Override + public Style newStyle(Diagram diagram) { + IGaService gaService = Graphiti.getGaService(); + + // Creating Style with given id and description + Style style = super.newStyle(diagram); + style.setId("CompositediagramDefaultStyle"); + style.setDescription("The default style of the compositediagram diagram type."); + + // transparency value + + // background attributes + + // line attributes + + // font attributes + String fontName = style.getFont().getName(); + int fontSize = 12; + boolean fontItalic = style.getFont().isItalic(); + boolean fontBold = style.getFont().isBold(); + style.setFont(gaService.manageFont(diagram, fontName, fontSize, fontItalic, fontBold)); + + + return style; + } + + /** + * This method returns the font color for the style. + * The font color will be returned separated, because Graphiti allows just the foreground color. + * The foreground color will be used for lines and fonts at the same time. + */ + @Override + public Color getFontColor(Diagram diagram) { + return super.getFontColor(diagram); + } + + /** + * This method returns Color Schema of the Style + */ + public AdaptedGradientColoredAreas getColorSchema() { + return null; + } + + + } -- GitLab