From 46db403e53bbe6a4c6b85f924150ac92ce4373ad Mon Sep 17 00:00:00 2001 From: Kai Brassel <mail@khbrassel.de> Date: Thu, 27 May 2021 20:04:21 +0200 Subject: [PATCH] Make mounting table more informative with material and category columns --- .../plugin.properties | 5 +- .../provider/MaterialItemProvider.java | 6 +- .../viewmodels/Mounting.view | 11 ++ .../model/buildingphysics.aird | 118 +++++++++--------- .../model/buildingphysics.ecore | 4 +- .../model/buildingphysics.genmodel | 3 +- .../BuildingPhysicsPackage.java | 30 ++++- .../buildingphysics/Material.java | 25 ++++ .../buildingphysics/MaterialCategory.java | 4 +- .../impl/BuildingPhysicsPackageImpl.java | 20 ++- .../impl/MaterialCategoryImpl.java | 22 +++- .../buildingphysics/impl/MaterialImpl.java | 107 ++++++++++++++++ 12 files changed, 282 insertions(+), 73 deletions(-) diff --git a/de.hftstuttgart.buildingphysics.edit/plugin.properties b/de.hftstuttgart.buildingphysics.edit/plugin.properties index 93c2813..9a86aa4 100644 --- a/de.hftstuttgart.buildingphysics.edit/plugin.properties +++ b/de.hftstuttgart.buildingphysics.edit/plugin.properties @@ -38,9 +38,9 @@ _UI_Catalog_source_feature = Source _UI_WindowCatalog_windowTypes_feature = Window Types _UI_MaterialCatalog_materialCategories_feature = Material Categories _UI_MaterialCategory_material_feature = Material -_UI_MaterialCategory_name_feature = Name +_UI_MaterialCategory_name_feature = Category _UI_Material_id_feature = Id -_UI_Material_name_feature = Name +_UI_Material_name_feature = Material _UI_Material_density_feature = Density _UI_Material_heatCapacity_feature = Heat Capacity _UI_Material_conductivity_feature = Conductivity @@ -85,3 +85,4 @@ _UI_WindowType_windowTypeId_feature = Window Type Id _UI_Material_materialId_feature = Material Id _UI_Mounting_mountingId_feature = Mounting Id _UI_Layer__feature = Layer +_UI_Material_category_feature = Category diff --git a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java index a154fb6..11445a7 100644 --- a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java +++ b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java @@ -94,10 +94,8 @@ public class MaterialItemProvider extends ItemProviderAdapter implements IEditin itemPropertyDescriptors .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(), getString("_UI_Material_name_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Material_name_feature", - "_UI_Material_type"), - BuildingPhysicsPackage.Literals.MATERIAL__NAME, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); + getString("_UI_Material_name_description"), BuildingPhysicsPackage.Literals.MATERIAL__NAME, + true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); } /** diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Mounting.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Mounting.view index c96c959..c58181f 100644 --- a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Mounting.view +++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Mounting.view @@ -16,10 +16,21 @@ <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_QnRfELPZEeup29SeaUMpQQ"> <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Layer/thickness"/> </columnDomainModelReferences> + <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_123AEL4qEeuIHZm4y-I19A"> + <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/name"/> + <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//Layer/material"/> + </columnDomainModelReferences> + <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_6c1I0L4uEeuIHZm4y-I19A"> + <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//MaterialCategory/name"/> + <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//Layer/material"/> + <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//Material/category"/> + </columnDomainModelReferences> <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_MkYRYbPZEeup29SeaUMpQQ"> <domainModelEFeature xsi:type="ecore:EReference" href="http://www.hftstuttgart.de/buildingphysics#//Mounting/layers"/> </domainModelReference> </domainModelReference> + <columnConfigurations xsi:type="org.eclipse.emf.ecp.view.table.model:ReadOnlyColumnConfiguration" xmi:id="_rCf9QL44EeuIHZm4y-I19A" columnDomainReferences="_123AEL4qEeuIHZm4y-I19A _6c1I0L4uEeuIHZm4y-I19A"/> + <columnConfigurations xsi:type="org.eclipse.emf.ecp.view.table.model:WidthConfiguration" xmi:id="_d7H2QL8HEeuIHZm4y-I19A" columnDomainReference="_QnRfELPZEeup29SeaUMpQQ" weight="30" minWidth="65"/> </children> <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths> </org.eclipse.emf.ecp.view.model:View> diff --git a/de.hftstuttgart.buildingphysics/model/buildingphysics.aird b/de.hftstuttgart.buildingphysics/model/buildingphysics.aird index d3bdece..a967b96 100644 --- a/de.hftstuttgart.buildingphysics/model/buildingphysics.aird +++ b/de.hftstuttgart.buildingphysics/model/buildingphysics.aird @@ -8,7 +8,7 @@ <semanticResources>http://www.hftstuttgart.de/buildingphysics</semanticResources> <ownedViews xmi:type="viewpoint:DView" uid="_nfHygB3ZEeuNsK3dZmTkbQ"> <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> - <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_JKPtIZUqEeudooziRGqkJA" name="Buildingphysics Class Diagram" repPath="#_JKN38JUqEeudooziRGqkJA" changeId="9cce401e-c8d9-4ef3-80ab-ea9e537bc120"> + <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_JKPtIZUqEeudooziRGqkJA" name="Buildingphysics Class Diagram" repPath="#_JKN38JUqEeudooziRGqkJA" changeId="5910fc7c-ffb8-4a2a-9d44-0858cf3e2591"> <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> <target xmi:type="ecore:EPackage" href="buildingphysics.ecore#/"/> </ownedRepresentationDescriptors> @@ -33,9 +33,9 @@ <children xmi:type="notation:Node" xmi:id="_J2yDBJUqEeudooziRGqkJA" type="2003" element="_J2lOsJUqEeudooziRGqkJA"> <children xmi:type="notation:Node" xmi:id="_J2yDB5UqEeudooziRGqkJA" type="5007"/> <children xmi:type="notation:Node" xmi:id="_J2yqEJUqEeudooziRGqkJA" type="7004"> - <children xmi:type="notation:Node" xmi:id="_J2z4NpUqEeudooziRGqkJA" type="3010" element="_J2qHNpUqEeudooziRGqkJA"> - <styles xmi:type="notation:FontStyle" xmi:id="_J2z4N5UqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> - <layoutConstraint xmi:type="notation:Location" xmi:id="_J2z4OJUqEeudooziRGqkJA"/> + <children xmi:type="notation:Node" xmi:id="_eY1IAL4tEeuIHZm4y-I19A" type="3010" element="_eYcGcL4tEeuIHZm4y-I19A"> + <styles xmi:type="notation:FontStyle" xmi:id="_eY1IAb4tEeuIHZm4y-I19A" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_eY1IAr4tEeuIHZm4y-I19A"/> </children> <children xmi:type="notation:Node" xmi:id="_J2z4OZUqEeudooziRGqkJA" type="3010" element="_J2quQZUqEeudooziRGqkJA"> <styles xmi:type="notation:FontStyle" xmi:id="_J2z4OpUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> @@ -142,9 +142,9 @@ <children xmi:type="notation:Node" xmi:id="_J2zRK5UqEeudooziRGqkJA" type="2003" element="_J2nD45UqEeudooziRGqkJA"> <children xmi:type="notation:Node" xmi:id="_J2zRLpUqEeudooziRGqkJA" type="5007"/> <children xmi:type="notation:Node" xmi:id="_J2z4MJUqEeudooziRGqkJA" type="7004"> - <children xmi:type="notation:Node" xmi:id="_J21GVpUqEeudooziRGqkJA" type="3010" element="_J2sjcpUqEeudooziRGqkJA"> - <styles xmi:type="notation:FontStyle" xmi:id="_J21GV5UqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> - <layoutConstraint xmi:type="notation:Location" xmi:id="_J21GWJUqEeudooziRGqkJA"/> + <children xmi:type="notation:Node" xmi:id="_eY5ZcL4tEeuIHZm4y-I19A" type="3010" element="_eYhmAL4tEeuIHZm4y-I19A"> + <styles xmi:type="notation:FontStyle" xmi:id="_eY5Zcb4tEeuIHZm4y-I19A" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_eY5Zcr4tEeuIHZm4y-I19A"/> </children> <children xmi:type="notation:Node" xmi:id="_J21GWZUqEeudooziRGqkJA" type="3010" element="_J2tKgZUqEeudooziRGqkJA"> <styles xmi:type="notation:FontStyle" xmi:id="_J21GWpUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> @@ -221,9 +221,9 @@ <children xmi:type="notation:Node" xmi:id="_jARk1LCmEeup29SeaUMpQQ" type="2003" element="_i_7mkbCmEeup29SeaUMpQQ"> <children xmi:type="notation:Node" xmi:id="_jARk17CmEeup29SeaUMpQQ" type="5007"/> <children xmi:type="notation:Node" xmi:id="_jARk2LCmEeup29SeaUMpQQ" type="7004"> - <children xmi:type="notation:Node" xmi:id="_jASy8LCmEeup29SeaUMpQQ" type="3010" element="_jAHz0rCmEeup29SeaUMpQQ"> - <styles xmi:type="notation:FontStyle" xmi:id="_jASy8bCmEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> - <layoutConstraint xmi:type="notation:Location" xmi:id="_jASy8rCmEeup29SeaUMpQQ"/> + <children xmi:type="notation:Node" xmi:id="_eY6AgL4tEeuIHZm4y-I19A" type="3010" element="_eYlQYL4tEeuIHZm4y-I19A"> + <styles xmi:type="notation:FontStyle" xmi:id="_eY6Agb4tEeuIHZm4y-I19A" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_eY6Agr4tEeuIHZm4y-I19A"/> </children> <children xmi:type="notation:Node" xmi:id="_jASy87CmEeup29SeaUMpQQ" type="3010" element="_jAIa4bCmEeup29SeaUMpQQ"> <styles xmi:type="notation:FontStyle" xmi:id="_jASy9LCmEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> @@ -300,22 +300,6 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25X3JUqEeudooziRGqkJA" id="(0.5084745762711864,0.0)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25X3ZUqEeudooziRGqkJA" id="(0.5084745762711864,1.3424657534246576)"/> </edges> - <edges xmi:type="notation:Edge" xmi:id="_J25-0JUqEeudooziRGqkJA" type="4001" element="_J2vmw5UqEeudooziRGqkJA" source="_J2zRJJUqEeudooziRGqkJA" target="_J2zRK5UqEeudooziRGqkJA"> - <children xmi:type="notation:Node" xmi:id="_J25-1JUqEeudooziRGqkJA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-1ZUqEeudooziRGqkJA" x="33" y="9"/> - </children> - <children xmi:type="notation:Node" xmi:id="_J25-1pUqEeudooziRGqkJA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-15UqEeudooziRGqkJA" x="192"/> - </children> - <children xmi:type="notation:Node" xmi:id="_J25-2JUqEeudooziRGqkJA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-2ZUqEeudooziRGqkJA" x="6" y="2"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_J25-0ZUqEeudooziRGqkJA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_J25-0pUqEeudooziRGqkJA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25-05UqEeudooziRGqkJA" points="[3, -49, 22, 378]$[3, -324, 22, 103]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25-2pUqEeudooziRGqkJA" id="(0.5,0.6712328767123288)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25-25UqEeudooziRGqkJA" id="(0.5,0.5)"/> - </edges> <edges xmi:type="notation:Edge" xmi:id="_J25-3JUqEeudooziRGqkJA" type="4001" element="_J2vmypUqEeudooziRGqkJA" source="_J2yqGpUqEeudooziRGqkJA" target="_J2yqE5UqEeudooziRGqkJA"> <children xmi:type="notation:Node" xmi:id="_J25-4JUqEeudooziRGqkJA" type="6001"> <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-4ZUqEeudooziRGqkJA" y="-10"/> @@ -412,6 +396,22 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jAbV2rCmEeup29SeaUMpQQ" id="(0.5,0.6363636363636364)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jAbV27CmEeup29SeaUMpQQ" id="(0.5,0.15517241379310345)"/> </edges> + <edges xmi:type="notation:Edge" xmi:id="_NbjSEL4uEeuIHZm4y-I19A" type="4001" element="_NbeZlr4uEeuIHZm4y-I19A" source="_J2zRJJUqEeudooziRGqkJA" target="_J2zRK5UqEeudooziRGqkJA"> + <children xmi:type="notation:Node" xmi:id="_NbluUL4uEeuIHZm4y-I19A" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NbluUb4uEeuIHZm4y-I19A" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_NbmVYL4uEeuIHZm4y-I19A" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NbmVYb4uEeuIHZm4y-I19A" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_Nbm8cL4uEeuIHZm4y-I19A" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nbm8cb4uEeuIHZm4y-I19A" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_NbjSEb4uEeuIHZm4y-I19A" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_NbjSEr4uEeuIHZm4y-I19A" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NbjSE74uEeuIHZm4y-I19A" points="[0, 0, 71, 518]$[-35, 0, 36, 518]$[-35, -518, 36, 0]$[-70, -518, 1, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NbrN4L4uEeuIHZm4y-I19A" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NbrN4b4uEeuIHZm4y-I19A" id="(0.5,0.5)"/> + </edges> </data> </ownedAnnotationEntries> <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_JKdIgJUqEeudooziRGqkJA" source="DANNOTATION_CUSTOMIZATION_KEY"> @@ -451,6 +451,15 @@ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> </endLabelStyleDescription> </computedStyleDescriptions> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_bdzr4L4uEeuIHZm4y-I19A" sourceArrow="FillDiamond" routingStyle="manhattan"> + <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_bdzr4b4uEeuIHZm4y-I19A" showIcon="false" labelExpression="service:renderEOpposite"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </beginLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_bdzr4r4uEeuIHZm4y-I19A" showIcon="false" labelExpression="service:render"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </endLabelStyleDescription> + </computedStyleDescriptions> </data> </ownedAnnotationEntries> <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J2jZgJUqEeudooziRGqkJA" name="BuildingPhysicsCatalog" tooltipText="" outgoingEdges="_J2uYoJUqEeudooziRGqkJA _J2uYqpUqEeudooziRGqkJA" width="12" height="10"> @@ -482,10 +491,10 @@ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2qHNpUqEeudooziRGqkJA" name="id : EInt" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/id"/> - <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_J2quQJUqEeudooziRGqkJA" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_eYcGcL4tEeuIHZm4y-I19A" name="windowTypeId : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/windowTypeId"/> + <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/windowTypeId"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_eYctgL4tEeuIHZm4y-I19A" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> <labelFormat>bold</labelFormat> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> @@ -637,7 +646,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J2nD4JUqEeudooziRGqkJA" name="MaterialCategory" tooltipText="" outgoingEdges="_J2vmw5UqEeudooziRGqkJA" incomingEdges="_J2u_wJUqEeudooziRGqkJA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J2nD4JUqEeudooziRGqkJA" name="MaterialCategory" tooltipText="" outgoingEdges="_NbeZlr4uEeuIHZm4y-I19A" incomingEdges="_J2u_wJUqEeudooziRGqkJA" width="12" height="10"> <target xmi:type="ecore:EClass" href="buildingphysics.ecore#//MaterialCategory"/> <semanticElements xmi:type="ecore:EClass" href="buildingphysics.ecore#//MaterialCategory"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -656,20 +665,20 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J2nD45UqEeudooziRGqkJA" name="Material" tooltipText="" incomingEdges="_J2vmw5UqEeudooziRGqkJA _jALeNrCmEeup29SeaUMpQQ" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J2nD45UqEeudooziRGqkJA" name="Material" tooltipText="" incomingEdges="_jALeNrCmEeup29SeaUMpQQ _NbeZlr4uEeuIHZm4y-I19A" width="12" height="10"> <target xmi:type="ecore:EClass" href="buildingphysics.ecore#//Material"/> <semanticElements xmi:type="ecore:EClass" href="buildingphysics.ecore#//Material"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> <arrangeConstraints>KEEP_SIZE</arrangeConstraints> <arrangeConstraints>KEEP_RATIO</arrangeConstraints> - <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_J2nD5JUqEeudooziRGqkJA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_dL6MdL4uEeuIHZm4y-I19A" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2sjcpUqEeudooziRGqkJA" name="id : ELong" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/id"/> - <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_J2tKgJUqEeudooziRGqkJA" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_eYhmAL4tEeuIHZm4y-I19A" name="materialId : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/materialId"/> + <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/materialId"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_eYiNEL4tEeuIHZm4y-I19A" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> <labelFormat>bold</labelFormat> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> @@ -809,19 +818,6 @@ </ownedStyle> <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_J2vmw5UqEeudooziRGqkJA" name="[0..*] materials" sourceNode="_J2nD4JUqEeudooziRGqkJA" targetNode="_J2nD45UqEeudooziRGqkJA"> - <target xmi:type="ecore:EReference" href="buildingphysics.ecore#//MaterialCategory/materials"/> - <semanticElements xmi:type="ecore:EReference" href="buildingphysics.ecore#//MaterialCategory/materials"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_J2vmxJUqEeudooziRGqkJA" description="_J2u_t5UqEeudooziRGqkJA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_J2vmxpUqEeudooziRGqkJA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_J2vmxZUqEeudooziRGqkJA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> <ownedDiagramElements xmi:type="diagram:DEdge" uid="_J2vmypUqEeudooziRGqkJA" sourceNode="_J2mc0JUqEeudooziRGqkJA" targetNode="_J2l1wJUqEeudooziRGqkJA"> <target xmi:type="ecore:EClass" href="buildingphysics.ecore#//WindowCatalog"/> <semanticElements xmi:type="ecore:EClass" href="buildingphysics.ecore#//WindowCatalog"/> @@ -875,7 +871,7 @@ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_jAHz0LCmEeup29SeaUMpQQ" name="thickness : QuantityDouble = cm" tooltipText=""> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_jAHz0LCmEeup29SeaUMpQQ" name="thickness : QuantityDouble = m" tooltipText=""> <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Layer/thickness"/> <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Layer/thickness"/> <ownedStyle xmi:type="diagram:BundledImage" uid="_jAHz0bCmEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> @@ -894,10 +890,10 @@ <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_jAHz0rCmEeup29SeaUMpQQ" name="id : EInt" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Mounting/id"/> - <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Mounting/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_jAIa4LCmEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_eYlQYL4tEeuIHZm4y-I19A" name="mountingId : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Mounting/mountingId"/> + <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Mounting/mountingId"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_eYlQYb4tEeuIHZm4y-I19A" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA"> <labelFormat>bold</labelFormat> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> @@ -938,7 +934,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_jALeNrCmEeup29SeaUMpQQ" name="[1..1] material" sourceNode="_i_5xYrCmEeup29SeaUMpQQ" targetNode="_J2nD45UqEeudooziRGqkJA"> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_jALeNrCmEeup29SeaUMpQQ" name="[1..1] material" sourceNode="_i_5xYrCmEeup29SeaUMpQQ" targetNode="_J2nD45UqEeudooziRGqkJA" endLabel="materialId"> <target xmi:type="ecore:EReference" href="buildingphysics.ecore#//Layer/material"/> <semanticElements xmi:type="ecore:EReference" href="buildingphysics.ecore#//Layer/material"/> <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jALeOrCmEeup29SeaUMpQQ" description="_jALeN7CmEeup29SeaUMpQQ" routingStyle="manhattan" strokeColor="0,0,0"> @@ -966,6 +962,16 @@ </ownedStyle> <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_NbeZlr4uEeuIHZm4y-I19A" sourceNode="_J2nD4JUqEeudooziRGqkJA" targetNode="_J2nD45UqEeudooziRGqkJA" beginLabel="[1..1] category" endLabel="[0..*] materials"> + <target xmi:type="ecore:EReference" href="buildingphysics.ecore#//MaterialCategory/materials"/> + <semanticElements xmi:type="ecore:EReference" href="buildingphysics.ecore#//Material/category"/> + <semanticElements xmi:type="ecore:EReference" href="buildingphysics.ecore#//MaterialCategory/materials"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_bdzr474uEeuIHZm4y-I19A" description="_bdzr4L4uEeuIHZm4y-I19A" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_bdzr5L4uEeuIHZm4y-I19A" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_bdzr5b4uEeuIHZm4y-I19A" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_JKOfAJUqEeudooziRGqkJA"/> <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> diff --git a/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore b/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore index 7aa1183..0eff548 100644 --- a/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore +++ b/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore @@ -65,7 +65,7 @@ </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="MaterialCategory"> <eStructuralFeatures xsi:type="ecore:EReference" name="materials" upperBound="-1" - eType="#//Material" containment="true"/> + eType="#//Material" containment="true" eOpposite="#//Material/category"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Material"> @@ -97,6 +97,8 @@ defaultValueLiteral="kg"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="disposalDescription" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="category" ordered="false" + unique="false" lowerBound="1" eType="#//MaterialCategory" eOpposite="#//MaterialCategory/materials"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ConstructionCategory"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> diff --git a/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel b/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel index a358986..f0e7b89 100644 --- a/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel +++ b/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel @@ -48,7 +48,7 @@ </genClasses> <genClasses image="false" ecoreClass="buildingphysics.ecore#//Material"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/materialId"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/name"/> + <genFeatures createChild="false" propertyDescription="Bla Blub" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/name"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/density"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/heatCapacity"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/conductivity"/> @@ -58,6 +58,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/disposalEnergy"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/disposalCarbon"/> <genFeatures createChild="false" propertyMultiLine="true" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/disposalDescription"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference buildingphysics.ecore#//Material/category"/> </genClasses> <genClasses ecoreClass="buildingphysics.ecore#//ConstructionCategory"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//ConstructionCategory/name"/> diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java index 876950b..d592791 100644 --- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java +++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java @@ -594,6 +594,15 @@ public interface BuildingPhysicsPackage extends EPackage { */ int MATERIAL__DISPOSAL_DESCRIPTION = 10; + /** + * The feature id for the '<em><b>Category</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATERIAL__CATEGORY = 11; + /** * The number of structural features of the '<em>Material</em>' class. * <!-- begin-user-doc --> @@ -601,7 +610,7 @@ public interface BuildingPhysicsPackage extends EPackage { * @generated * @ordered */ - int MATERIAL_FEATURE_COUNT = 11; + int MATERIAL_FEATURE_COUNT = 12; /** * The number of operations of the '<em>Material</em>' class. @@ -1203,6 +1212,17 @@ public interface BuildingPhysicsPackage extends EPackage { */ EAttribute getMaterial_DisposalDescription(); + /** + * Returns the meta object for the container reference '{@link de.hftstuttgart.buildingphysics.Material#getCategory <em>Category</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Category</em>'. + * @see de.hftstuttgart.buildingphysics.Material#getCategory() + * @see #getMaterial() + * @generated + */ + EReference getMaterial_Category(); + /** * Returns the meta object for class '{@link de.hftstuttgart.buildingphysics.ConstructionCategory <em>Construction Category</em>}'. * <!-- begin-user-doc --> @@ -1675,6 +1695,14 @@ public interface BuildingPhysicsPackage extends EPackage { */ EAttribute MATERIAL__DISPOSAL_DESCRIPTION = eINSTANCE.getMaterial_DisposalDescription(); + /** + * The meta object literal for the '<em><b>Category</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATERIAL__CATEGORY = eINSTANCE.getMaterial_Category(); + /** * The meta object literal for the '{@link de.hftstuttgart.buildingphysics.impl.ConstructionCategoryImpl <em>Construction Category</em>}' class. * <!-- begin-user-doc --> diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java index 200452b..df7035d 100644 --- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java +++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java @@ -26,6 +26,7 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link de.hftstuttgart.buildingphysics.Material#getDisposalEnergy <em>Disposal Energy</em>}</li> * <li>{@link de.hftstuttgart.buildingphysics.Material#getDisposalCarbon <em>Disposal Carbon</em>}</li> * <li>{@link de.hftstuttgart.buildingphysics.Material#getDisposalDescription <em>Disposal Description</em>}</li> + * <li>{@link de.hftstuttgart.buildingphysics.Material#getCategory <em>Category</em>}</li> * </ul> * * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial() @@ -282,4 +283,28 @@ public interface Material extends EObject { */ void setDisposalDescription(String value); + /** + * Returns the value of the '<em><b>Category</b></em>' container reference. + * It is bidirectional and its opposite is '{@link de.hftstuttgart.buildingphysics.MaterialCategory#getMaterials <em>Materials</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Category</em>' container reference. + * @see #setCategory(MaterialCategory) + * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_Category() + * @see de.hftstuttgart.buildingphysics.MaterialCategory#getMaterials + * @model opposite="materials" required="true" transient="false" ordered="false" + * @generated + */ + MaterialCategory getCategory(); + + /** + * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getCategory <em>Category</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Category</em>' container reference. + * @see #getCategory() + * @generated + */ + void setCategory(MaterialCategory value); + } // Material diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/MaterialCategory.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/MaterialCategory.java index db727ea..266f3e6 100644 --- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/MaterialCategory.java +++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/MaterialCategory.java @@ -27,11 +27,13 @@ public interface MaterialCategory extends EObject { /** * Returns the value of the '<em><b>Materials</b></em>' containment reference list. * The list contents are of type {@link de.hftstuttgart.buildingphysics.Material}. + * It is bidirectional and its opposite is '{@link de.hftstuttgart.buildingphysics.Material#getCategory <em>Category</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the value of the '<em>Materials</em>' containment reference list. * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterialCategory_Materials() - * @model containment="true" + * @see de.hftstuttgart.buildingphysics.Material#getCategory + * @model opposite="category" containment="true" * @generated */ EList<Material> getMaterials(); diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java index d1f5e6b..6bfc5b7 100644 --- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java +++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java @@ -578,6 +578,16 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building return (EAttribute) materialEClass.getEStructuralFeatures().get(10); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getMaterial_Category() { + return (EReference) materialEClass.getEStructuralFeatures().get(11); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -755,6 +765,7 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building createEAttribute(materialEClass, MATERIAL__DISPOSAL_ENERGY); createEAttribute(materialEClass, MATERIAL__DISPOSAL_CARBON); createEAttribute(materialEClass, MATERIAL__DISPOSAL_DESCRIPTION); + createEReference(materialEClass, MATERIAL__CATEGORY); constructionCategoryEClass = createEClass(CONSTRUCTION_CATEGORY); createEAttribute(constructionCategoryEClass, CONSTRUCTION_CATEGORY__NAME); @@ -881,9 +892,9 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building initEClass(materialCategoryEClass, MaterialCategory.class, "MaterialCategory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getMaterialCategory_Materials(), this.getMaterial(), null, "materials", null, 0, -1, - MaterialCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMaterialCategory_Materials(), this.getMaterial(), this.getMaterial_Category(), "materials", + null, 0, -1, MaterialCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getMaterialCategory_Name(), ecorePackage.getEString(), "name", null, 1, 1, MaterialCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -921,6 +932,9 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building initEAttribute(getMaterial_DisposalDescription(), ecorePackage.getEString(), "disposalDescription", null, 1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMaterial_Category(), this.getMaterialCategory(), this.getMaterialCategory_Materials(), + "category", null, 1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); initEClass(constructionCategoryEClass, ConstructionCategory.class, "ConstructionCategory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialCategoryImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialCategoryImpl.java index e50f51a..a05543a 100644 --- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialCategoryImpl.java +++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialCategoryImpl.java @@ -18,8 +18,7 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -94,8 +93,8 @@ public class MaterialCategoryImpl extends MinimalEObjectImpl.Container implement @Override public EList<Material> getMaterials() { if (materials == null) { - materials = new EObjectContainmentEList<Material>(Material.class, this, - BuildingPhysicsPackage.MATERIAL_CATEGORY__MATERIALS); + materials = new EObjectContainmentWithInverseEList<Material>(Material.class, this, + BuildingPhysicsPackage.MATERIAL_CATEGORY__MATERIALS, BuildingPhysicsPackage.MATERIAL__CATEGORY); } return materials; } @@ -124,6 +123,21 @@ public class MaterialCategoryImpl extends MinimalEObjectImpl.Container implement oldName, name)); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case BuildingPhysicsPackage.MATERIAL_CATEGORY__MATERIALS: + return ((InternalEList<InternalEObject>) (InternalEList<?>) getMaterials()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java index 7e75a2a..f70ee25 100644 --- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java +++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java @@ -5,6 +5,7 @@ package de.hftstuttgart.buildingphysics.impl; import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage; import de.hftstuttgart.buildingphysics.Material; +import de.hftstuttgart.buildingphysics.MaterialCategory; import de.hftstuttgart.cityunits.model.NullableQuantity; import de.hftstuttgart.cityunits.model.quantities.QuantitiesFactory; @@ -12,10 +13,13 @@ import de.hftstuttgart.cityunits.model.quantities.QuantitiesPackage; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -36,6 +40,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDisposalEnergy <em>Disposal Energy</em>}</li> * <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDisposalCarbon <em>Disposal Carbon</em>}</li> * <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDisposalDescription <em>Disposal Description</em>}</li> + * <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getCategory <em>Category</em>}</li> * </ul> * * @generated @@ -552,6 +557,98 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi oldDisposalDescription, disposalDescription)); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public MaterialCategory getCategory() { + if (eContainerFeatureID() != BuildingPhysicsPackage.MATERIAL__CATEGORY) + return null; + return (MaterialCategory) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCategory(MaterialCategory newCategory, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject) newCategory, BuildingPhysicsPackage.MATERIAL__CATEGORY, msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCategory(MaterialCategory newCategory) { + if (newCategory != eInternalContainer() + || (eContainerFeatureID() != BuildingPhysicsPackage.MATERIAL__CATEGORY && newCategory != null)) { + if (EcoreUtil.isAncestor(this, newCategory)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newCategory != null) + msgs = ((InternalEObject) newCategory).eInverseAdd(this, + BuildingPhysicsPackage.MATERIAL_CATEGORY__MATERIALS, MaterialCategory.class, msgs); + msgs = basicSetCategory(newCategory, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.MATERIAL__CATEGORY, + newCategory, newCategory)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetCategory((MaterialCategory) otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + return basicSetCategory(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + return eInternalContainer().eInverseRemove(this, BuildingPhysicsPackage.MATERIAL_CATEGORY__MATERIALS, + MaterialCategory.class, msgs); + } + return super.eBasicRemoveFromContainerFeature(msgs); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -582,6 +679,8 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi return getDisposalCarbon(); case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION: return getDisposalDescription(); + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + return getCategory(); } return super.eGet(featureID, resolve, coreType); } @@ -627,6 +726,9 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION: setDisposalDescription((String) newValue); return; + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + setCategory((MaterialCategory) newValue); + return; } super.eSet(featureID, newValue); } @@ -672,6 +774,9 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION: setDisposalDescription(DISPOSAL_DESCRIPTION_EDEFAULT); return; + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + setCategory((MaterialCategory) null); + return; } super.eUnset(featureID); } @@ -712,6 +817,8 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION: return DISPOSAL_DESCRIPTION_EDEFAULT == null ? disposalDescription != null : !DISPOSAL_DESCRIPTION_EDEFAULT.equals(disposalDescription); + case BuildingPhysicsPackage.MATERIAL__CATEGORY: + return getCategory() != null; } return super.eIsSet(featureID); } -- GitLab