Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfekorb.btc2017-11-13 13:48:06 -0500
committerfekorb.btc2017-11-13 13:48:06 -0500
commit5636819a5222762921dd26ce2f909e94de3a72dd (patch)
treec222d52a5facc314ab40d10d1ec4b0f25d95d278
parent340bf0715a0ca7e31b823e974284ec77b789b2b8 (diff)
downloadorg.eclipse.openk-platform.openk-repo-5636819a5222762921dd26ce2f909e94de3a72dd.tar.gz
org.eclipse.openk-platform.openk-repo-5636819a5222762921dd26ce2f909e94de3a72dd.tar.xz
org.eclipse.openk-platform.openk-repo-5636819a5222762921dd26ce2f909e94de3a72dd.zip
CIM-Cache version 1 milestone 5
-rw-r--r--cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/dataexchange/MediaType.java74
-rw-r--r--cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/model/UnspecifiedModelDefinition.java81
-rw-r--r--cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/system/MissingTypeAnnotationException.java126
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/Abstract_StaticTopology2_OpenKonsequenz_Mapper.java387
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper.java86
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResources_StaticTopology2_Cim17v07_Mapper.java212
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/ConnectionState.java30
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/FetchType.java25
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_QueryParameters.java42
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_View.java101
-rw-r--r--cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/Selector.java32
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/deserializer/StaticTopology_1_Xml_Cim17v07_Deserializer.java62
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/ITopologyIdParameterOwner.java34
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/StaticTopologyCimRequestParameters.java38
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Rdf_Serializer.java63
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Xml_Serializer.java63
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/deserializer/TopologyId_1_Xml_Deserializer.java100
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AbstractStaticTopologyElementImporter.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AcLineSegments_3_Xml_Importer.java70
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BaseVoltages_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Breakers_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BusbarSections_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Disconnectors_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EarthFaultCompensators_1_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergyConsumers_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergySources_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GeographicalRegions_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GroundingImpedances_1_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Grounds_1_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Junctions_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Lines_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/LoadBreakSwitches_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PetersenCoils_1_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PowerTransformers_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/SubstationTypes_3_Xml_Importer.java70
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Substations_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Topology_2_Java_Importer.java323
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/VoltageLevels_3_Xml_Importer.java69
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Abstract_StaticTopology2_Cim17v07_Mapper.java415
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/AcLineSegments_StaticTopology2_Cim17v07_Mapper.java136
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BaseVoltages_StaticTopology2_Cim17v07_Mapper.java94
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Bays_StaticTopology2_Cim17v07_Mapper.java113
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Breakers_StaticTopology2_Cim17v07_Mapper.java91
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BusbarSections_StaticTopology2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Disconnectors_StaticTopology2_Cim17v07_Mapper.java91
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper.java96
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergyConsumers_StaticTopology2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergySources_StaticTopology2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GeographicalRegions_StaticTopology2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GroundingImpedances_StaticTopology2_Cim17v07_Mapper.java100
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Grounds_StaticTopology2_Cim17v07_Mapper.java91
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Junctions_StaticTopology2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LineTypes_StaticTopology2_Cim17v07_Mapper.java88
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Lines_StaticTopology2_Cim17v07_Mapper.java134
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper.java91
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PetersenCoils_StaticTopology2_Cim17v07_Mapper.java132
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Plants_StaticTopology2_Cim17v07_Mapper.java89
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PowerTransformers_StaticTopology2_Cim17v07_Mapper.java236
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper.java149
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubstationTypes_StaticTopology2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Substation_StaticTopology2_Cim17v07_Mapper.java212
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Switches_StaticTopology2_Cim17v07_Mapper.java94
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/VoltageLevels_StaticTopology2_Cim17v07_Mapper.java121
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Abstract_Cim17v07_StaticTopology2_Mapper.java339
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/AcLineSegments_Cim17v07_StaticTopology2_Mapper.java138
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BaseVoltages_Cim17v07_StaticTopology2_Mapper.java95
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Bays_Cim17v07_StaticTopology2_Mapper.java118
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Breakers_Cim17v07_StaticTopology2_Mapper.java95
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BusbarSections_Cim17v07_StaticTopology2_Mapper.java94
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Disconnectors_Cim17v07_StaticTopology2_Mapper.java95
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper.java98
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergyConsumers_Cim17v07_StaticTopology2_Mapper.java94
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergySources_Cim17v07_StaticTopology2_Mapper.java94
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GeographicalRegions_Cim17v07_StaticTopology2_Mapper.java121
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GroundingImpedances_Cim17v07_StaticTopology2_Mapper.java100
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Grounds_Cim17v07_StaticTopology2_Mapper.java95
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Junctions_Cim17v07_StaticTopology2_Mapper.java93
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LineTypes_Cim17v07_StaticTopology2_Mapper.java91
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Lines_Cim17v07_StaticTopology2_Mapper.java140
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper.java94
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PetersenCoils_Cim17v07_StaticTopology2_Mapper.java103
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Plants_Cim17v07_StaticTopology2_Mapper.java92
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PowerTransformers_Cim17v07_StaticTopology2_Mapper.java280
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper.java133
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubstationTypes_Cim17v07_StaticTopology2_Mapper.java93
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Substation_Cim17v07_StaticTopology2_Mapper.java138
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Switches_Cim17v07_StaticTopology2_Mapper.java97
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/VoltageLevels_Cim17v07_StaticTopology2_Mapper.java147
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Abstract_Cim_Xml_Rest_DataProvider.java66
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/AcLineSegments_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BaseVoltages_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Bays_2_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Breakers_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BusbarSections_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Disconnectors_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EarthFaultCompensators_1_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergyConsumers_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergySources_3_Xml_Rest_DataProvider.java60
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GeographicalRegions_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GroundingImpedances_1_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Grounds_1_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Junctions_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LineTypes_2_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Lines_3_Xml_Rest_DataProvider.java62
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LoadBreakSwitches_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PetersenCoils_1_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Plants_2_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PowerTransformers_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubGeographicalRegions_2_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubstationTypes_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Substations_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Switches_2_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/TopologyId_1_Xml_Rest_DataProvider.java58
-rw-r--r--cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/VoltageLevels_3_Xml_Rest_DataProvider.java59
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/deserializer/TopologyState_1_Xml_Cim17v07_Deserializer.java62
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/serializer/TopologyState_1_Cim17v07_Xml_Serializer.java63
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/mapper/cim17v07/MeasurementPoints_TopologyState2_Cim17v07_Mapper.java90
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/responder/SwitchStates_3_Xml_RequestParameters.java105
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/responder/SwitchStates_3_Xml_Responder.java74
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/infrastructure/src/main/java/org/eclipse/openk/domain/topologystate/infrastructure/dataexchange/dataprovider/MeasurementPoints_1_Xml_Rest_DataProvider.java81
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/infrastructure/src/main/java/org/eclipse/openk/domain/topologystate/infrastructure/dataexchange/dataprovider/Measurements_2_Xml_Rest_DataProvider.java89
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/infrastructure/src/main/java/org/eclipse/openk/domain/topologystate/infrastructure/dataexchange/dataprovider/SwitchStates_3_Xml_Rest_DataProvider.java80
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/infrastructure/src/main/java/org/eclipse/openk/domain/topologystate/infrastructure/dataexchange/rest/SwitchStates_Rest_EndPoint.java73
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/logic/src/main/java/org/eclipse/openk/domain/topologystate/logic/dataexchange/view/SwitchStatesByMeasurementPointIds_1_QueryParameters.java47
-rw-r--r--cim-cache/org.eclipse.openk.domain.topology-state/logic/src/main/java/org/eclipse/openk/domain/topologystate/logic/dataexchange/view/SwitchStatesByMeasurementPointIds_1_View.java84
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/cim/deserializer/AbstractCimXmlDeserializer.java86
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/cim/responder/StrictCimRequestParameters.java93
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/cim/responder/TolerantCimRequestParameters.java93
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/cim/serializer/AbstractCimRdfSerializer.java87
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/cim/serializer/AbstractCimXmlSerializer.java88
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/deserializer/DeserializerInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/exporter/ExporterInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/importer/ImporterInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/mapper/MapperInformation.java98
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/publisher/PublisherInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/receiver/ReceiverInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/responder/ResponderInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/main/java/org/eclipse/openk/service/adapter/dataexchange/serializer/SerializerInformation.java94
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/test/java/org/eclipse/openk/service/adapter/AbstractRespondersTestClass.java160
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/test/java/org/eclipse/openk/service/adapter/dataexchange/cim/deserializer/AbstractCimXmlDeserializerTest.java174
-rw-r--r--cim-cache/org.eclipse.openk.service/adapter/src/test/java/org/eclipse/openk/service/adapter/dataexchange/cim/serializer/AbstractCimXmlSerializerTest.java123
-rw-r--r--cim-cache/org.eclipse.openk.service/core/src/main/java/org/eclipse/openk/service/core/AbstractServiceComponentFactory.java263
-rw-r--r--cim-cache/org.eclipse.openk.service/core/src/main/java/org/eclipse/openk/service/core/IServiceComponentFactory.java77
-rw-r--r--cim-cache/org.eclipse.openk.service/core/src/main/java/org/eclipse/openk/service/core/ServiceInformation.java49
-rw-r--r--cim-cache/org.eclipse.openk.service/core/src/main/java/org/eclipse/openk/service/core/dataexchange/dataprovider/DataProviderInformation.java100
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/main/java/org/eclipse/openk/service/infrastructure/dataexchange/dataprovider/AbstractCimRestDataProvider.java91
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/main/java/org/eclipse/openk/service/infrastructure/dataexchange/dataprovider/AbstractFileDataProvider.java68
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/main/java/org/eclipse/openk/service/infrastructure/dataexchange/dataprovider/AbstractRestDataProvider.java205
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/main/java/org/eclipse/openk/service/infrastructure/dataexchange/dataprovider/FileDataProviderConfiguration.java43
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/main/java/org/eclipse/openk/service/infrastructure/dataexchange/dataprovider/RestDataProviderConfiguration.java84
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/main/java/org/eclipse/openk/service/infrastructure/date/IsoDateTime_1_TextPlain_Rest_DataProvider.java58
-rw-r--r--cim-cache/org.eclipse.openk.service/infrastructure/src/test/java/org/eclipse/openk/service/infrastructure/dataexchange/rest/AbstractRestEndPointsTestClass.java138
-rw-r--r--cim-cache/org.eclipse.openk.service/logic/src/main/java/org/eclipse/openk/service/logic/dataexchange/modifier/ModifierInformation.java86
-rw-r--r--cim-cache/org.eclipse.openk.service/logic/src/main/java/org/eclipse/openk/service/logic/dataexchange/view/ViewInformation.java86
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/AcLineSegments_2_Xml_Responder.java73
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/AcLineSegments_3_Xml_Responder.java67
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/BaseVoltages_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/BaseVoltages_3_Xml_Responder.java67
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Bays_2_Xml_Responder.java66
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Breakers_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Breakers_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/BusbarSections_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/BusbarSections_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Disconnectors_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Disconnectors_3_Xml_Responder.java69
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/EarthFaultCompensators_1_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/EnergyConsumers_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/EnergyConsumers_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/EnergySources_2_Xml_Responder.java73
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/EnergySources_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/GeographicalRegions_3_Xml_Responder.java67
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/GroundingImpedances_1_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Grounds_1_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Junctions_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Junctions_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/LineTypes_2_Xml_Responder.java67
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Lines_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Lines_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/LoadBreakSwitches_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/LoadBreakSwitches_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/PetersenCoils_1_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Plants_2_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/PowerTransformers_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/PowerTransformers_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/SubGeographicalRegions_2_Xml_Responder.java67
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/SubstationTypes_3_Xml_Responder.java67
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Substations_2_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Substations_3_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Switches_1_Xml_Responder.java72
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Switches_2_Xml_Responder.java68
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/TopologyId_1_Xml_Responder.java78
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/Topology_2_Rdf_Responder.java70
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/VoltageLevels_2_Xml_Responder.java70
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/responder/VoltageLevels_3_Xml_Responder.java66
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/adapter/src/main/java/org/eclipse/openk/sourcesystem/mockupstatictopology/adapter/dataexchange/serializer/MockUpStaticTopology_1_Cim17v07_Xml_Serializer.java64
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/infrastructure/src/test/java/org/eclipse/openk/sourcesystem/mockupstatictopology/infrastructure/dataexchange/rest/MockUpStaticTopologyRestEndpointTest.java166
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/infrastructure/src/test/resources/MockUpStaticTopologyRestEndPointTestRegister.yaml231
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/ac-line-segments_3.xml137
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/base-voltages_3.xml39
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/bays_2.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/breakers_3.xml52
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/busbar-sections_3.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/disconnectors_3.xml52
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/earth-fault-compensators_1.xml47
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/energy-consumers_3.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/energy-sources_3.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/geographical_regions_3.xml31
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/grounding-impedances_1.xml52
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/grounds_1.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/junctions_3.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/line-types_2.xml25
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/lines_3.xml42
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/load-break-switches_3.xml52
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/peterson-coils_1.xml73
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/plants_2.xml31
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/power-transformers_3.xml109
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/sub-geographical-regions_2.xml36
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/substation-types_3.xml25
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/substations_3.xml59
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/switches_2.xml19
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/topology-id_1.xml22
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/topology_2.xml704
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-static-topology/service/src/test/resources/voltage-levels_3.xml49
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-topology-state/service/src/test/resources/measurement-points_1.xml45
-rw-r--r--cim-cache/org.eclipse.openk.source-system.mock-up-topology-state/service/src/test/resources/measurements_2.xml69
225 files changed, 20113 insertions, 0 deletions
diff --git a/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/dataexchange/MediaType.java b/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/dataexchange/MediaType.java
new file mode 100644
index 00000000..7141efd7
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/dataexchange/MediaType.java
@@ -0,0 +1,74 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.common.dataexchange;
+
+/**
+ * Defines all supported <i>Media Types (MIME)</i>.
+ *
+ * @author 2017-10-28 Felix Korb
+ *
+ * @see "http://www.iana.org/assignments/media-types/media-types.xhtml"
+ */
+public enum MediaType {
+
+ // Constants
+ ApplicationCsv("application", "csv"), // "csv"
+ ApplicationJava("application", "java"), // "model"
+ ApplicationRdf("application", "rdf"), // "RDF 1.1"
+ ApplicationXml("application", "xml"), // "XML 1.0"
+ ModelDatabase("model", "database"),
+ TextPlain("text", "plain"); // "text/plain"
+
+ // Attributes
+ private String media;
+ private String subType;
+
+ // Constructors
+ /**
+ * @param media
+ * the media ; not <code>null</code> and not <code>""</code>
+ * @param subType
+ * the sub type; not <code>null</code> and not <code>""</code>
+ */
+ MediaType(String media, String subType) {
+
+ this.media = media;
+ this.subType = subType;
+ }
+
+ // Properties
+ /**
+ * @return the media ; not <code>null</code> and not <code>""</code>
+ */
+ public String getMedia() {
+
+ return media;
+ }
+
+ /**
+ * @return the media type in the format {{media}}/{{subType}} => 'text/plain'; not <code>null</code> and not <code>""</code>
+ */
+ public String getMediaType() {
+
+ return media + "/" + subType;
+ }
+
+ /**
+ * @return the sub type; not <code>null</code> and not <code>""</code>
+ */
+ public String getSubType() {
+
+ return subType;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/model/UnspecifiedModelDefinition.java b/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/model/UnspecifiedModelDefinition.java
new file mode 100644
index 00000000..9d1f47b6
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/model/UnspecifiedModelDefinition.java
@@ -0,0 +1,81 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.common.model;
+
+import org.eclipse.openk.common.IVersion;
+
+/**
+ * The this is a marker class for unspecified model definitions.
+ *
+ * @author 2017-10-17 Felix Korb
+ */
+public final class UnspecifiedModelDefinition implements IModelDefinition {
+
+ // Constructors
+ @SuppressWarnings("checkstyle:javadocmethod")
+ private UnspecifiedModelDefinition() {
+ /* suppresses the instantiation! */
+ }
+
+ // Methods
+ @Override
+ @SuppressWarnings({ "checkstyle:noclone", "checkstyle:superclone" })
+ public Object clone() throws CloneNotSupportedException {
+
+ return this;
+ }
+
+ @Override
+ public int compareTo(IModelDefinition value) {
+
+ return -1;
+ }
+
+ @Override
+ public String encode() {
+
+ return UnspecifiedModelDefinition.class.getSimpleName();
+ }
+
+ @Override
+ public boolean hasKey() {
+
+ return true;
+ }
+
+ @Override
+ public String toString() {
+
+ return encode();
+ }
+
+ // Properties
+ @Override
+ public Package getPackage() {
+
+ return getClass().getPackage();
+ }
+
+ @Override
+ public String getKey() {
+
+ return UnspecifiedModelDefinition.class.getName();
+ }
+
+ @Override
+ public IVersion getVersion() {
+
+ return IVersion.UNSPECIFIED_VERSION;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/system/MissingTypeAnnotationException.java b/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/system/MissingTypeAnnotationException.java
new file mode 100644
index 00000000..722ef22b
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.common/src/main/java/org/eclipse/openk/common/system/MissingTypeAnnotationException.java
@@ -0,0 +1,126 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.common.system;
+
+import java.lang.annotation.Annotation;
+
+import org.eclipse.openk.common.messaging.AbstractRuntimeException;
+
+/**
+ * An exception for documenting a special error-situation.
+ * Since it implements the interface <code>INotification</code> it
+ * is possible to use the exception within the <strong>openK</strong>
+ * message- and logging-system.
+ *
+ * <p>
+ * Check the constructor for detailed information about the exception type.
+ * </p>
+ *
+ * @author 2017-10-29 Felix Korb
+ */
+public final class MissingTypeAnnotationException extends AbstractRuntimeException {
+
+ // Constants
+ private static final long serialVersionUID = 1L;
+
+ // Attributes
+ private final Class<? extends Annotation> annotationType;
+ private final Class<?> type;
+
+ // Constructors
+ /**
+ * @param annotationType
+ * the type of the missing {@link Annotation}
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>annotationType</code> is <code>null</code></li>
+ * </ul>
+ */
+ public MissingTypeAnnotationException(Class<? extends Annotation> annotationType) throws IllegalArgumentException {
+
+ this(annotationType, null);
+ }
+
+ /**
+ * @param annotationType
+ * the type of the missing {@link Annotation}
+ * @param type
+ * the type that should be annotated; can be <code>null</code>
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>annotationType</code> is <code>null</code></li>
+ * </ul>
+ */
+ public MissingTypeAnnotationException(Class<? extends Annotation> annotationType, Class<?> type) throws IllegalArgumentException {
+
+ super(createText(annotationType, type), null);
+
+ addParameter("annotationType", annotationType.getName());
+ addParameter("type", (type == null) ? null : type.getName());
+
+ this.annotationType = annotationType;
+ this.type = type;
+ }
+
+ // Methods
+ /**
+ * Creates the message-text.
+ *
+ * @param annotationType
+ * the type of the missing {@link Annotation}
+ * @param type
+ * the type that should be annotated; can be <code>null</code>
+ * @return the text; not <code>null</code> and not <code>""</code>
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>annotationType</code> is <code>null</code></li>
+ * </ul>
+ */
+ @SuppressWarnings("checkstyle:multistringliterals")
+ private static String createText(Class<? extends Annotation> annotationType, Class<?> type) throws IllegalArgumentException {
+
+ if(annotationType == null)
+ throw new IllegalArgumentException("annotationType", new NullPointerException());
+ else {
+ String result;
+
+ if(type == null)
+ result = "The annotation '" + annotationType.getName() + "' is missing!";
+ else
+ result = "The annotation '" + annotationType.getName() + "' is missing for '" + type.getName() + "'!";
+
+ return result;
+ }
+ }
+
+ // Properties
+ /**
+ * @return the type of the missing {@link Annotation}; not <code>null</code>
+ */
+ public Class<? extends Annotation> getAnnotationType() {
+
+ return annotationType;
+ }
+
+ /**
+ * @return the type that should be annotated; can be <code>null</code>
+ */
+ public Class<?> getType() {
+
+ return type;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/Abstract_StaticTopology2_OpenKonsequenz_Mapper.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/Abstract_StaticTopology2_OpenKonsequenz_Mapper.java
new file mode 100644
index 00000000..198f89cd
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/Abstract_StaticTopology2_OpenKonsequenz_Mapper.java
@@ -0,0 +1,387 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.adapter.dataexchange.mapper;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Name;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameTypeAuthority;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.key.sourcesystem.OriginalKey;
+import org.eclipse.openk.common.key.sourcesystem.OriginalKeyType;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.MissingValueException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.model.ConductingEquipment;
+import org.eclipse.openk.domain.statictopology.model.EquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.IEquipment;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.core.Terminal;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformerEnd;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.AbstractMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperConfiguration;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The base of all static topology {@link IMapper}.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <S>
+ * the source model type
+ * @param <D>
+ * the destination model type
+ */
+public abstract class Abstract_StaticTopology2_OpenKonsequenz_Mapper<S, D> extends AbstractMapper<MapperConfiguration, S, D, NoParameters> {
+
+ // Constants
+ private static final String NAME = ".name";
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ protected Abstract_StaticTopology2_OpenKonsequenz_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param <T>
+ * the type of conducting equipment
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ protected <T extends ConductingEquipment> org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage extractBaseVoltage(T sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getKey().getId() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ result.setMRID(sourceItem.getBaseVoltage().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param sourceItem
+ * not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ *
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage extractBaseVoltage(PowerTransformerEnd sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getKey() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ result.setMRID(sourceItem.getBaseVoltage().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage extractBaseVoltage(VoltageLevel sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getKey().getId() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ result.setMRID(sourceItem.getBaseVoltage().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract connectivity node.
+ *
+ * @param source
+ * the source
+ * @return the connectivity node
+ */
+ private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode extractConnectivityNode(Terminal source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode result = null;
+
+ if(source != null) {
+ if(source.getConnectivityNode() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode();
+ result.setMRID(source.getConnectivityNode().getKey().getId().toString());
+ result.setName(source.getConnectivityNode().getName());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment}s.
+ *
+ * @param equipments
+ * the specified map of @l{@link Key} - {@link IEquipment} pairs; can be <code>null</code> or empty
+ * @return the list of {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment}s; can be <code>null</code> or empty
+ */
+ protected List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment> extractEquipments(Map<Key, IEquipment> equipments) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment> result = null;
+
+ if((equipments != null) && !equipments.isEmpty()) {
+ for(IEquipment equipment : equipments.values()) {
+
+ if(result == null)
+ result = new ArrayList<>();
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment conductingEquipment = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment();
+ conductingEquipment.setMRID(equipment.getKey().getId().toString());
+
+ result.add(conductingEquipment);
+ }
+ }
+
+ return result;
+ }
+
+ // REMIND 2017-10-31 Frank: noch umbenennen in extractNames
+ /**
+ * Extracts the original keys from the specified <i>CIM 17v07</i> {@link Name}s.
+ *
+ * @param names
+ * the <i>CIM 17v07</i> {@link Name}s; can be <code>null</code> or empty
+ * @return the original keys of the source-system; can be <code>null</code> or empty
+ */
+ protected final List<Name> extractOriginalKeys(Map<OriginalKeyType, OriginalKey> names) {
+
+ List<Name> result = new ArrayList<>();
+
+ if((names != null) && !names.isEmpty()) {
+
+ names.forEach((key, value) -> {
+
+ if((key == null) || (value == null)) {
+ if(key == null)
+ getLogger().warn(new MissingValueException("key"));
+ if(value == null)
+ getLogger().warn(new MissingValueException("value"));
+ }
+ else {
+ Name name = new Name();
+ name.setName(value.toString());
+ NameType nameType = new NameType();
+ nameType.setName(key.getName());
+ name.setNameType(nameType);
+ result.add(name);
+ }
+ });
+ }
+
+ if(result.isEmpty())
+ return null;
+
+ return result;
+ }
+
+ /**
+ * Extract {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion}.
+ *
+ * @param sourceItem
+ * the {@link EquipmentContainer}; not <code>null</code>
+ * @return the geographical region; can be <code>null</code>
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion extractGeographicalRegion(EquipmentContainer sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion result = null;
+
+ if(sourceItem.getSuperEquipmentContainer() != null) {
+ if(sourceItem.getSuperEquipmentContainer().getKey() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion();
+ result.setMRID(sourceItem.getSuperEquipmentContainer().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion}.
+ *
+ * @param sourceItem
+ * the {@link EquipmentContainer}; not <code>null</code>
+ * @return the sub geographical region; can be <code>null</code>
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion extractSubgeographicalRegion(EquipmentContainer sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion result = null;
+
+ if(sourceItem.getSuperEquipmentContainer() != null) {
+ if(sourceItem.getSuperEquipmentContainer().getKey() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion();
+ result.setMRID(sourceItem.getSuperEquipmentContainer().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the original key from the specified <i>CIM 17v07</i> {@link Name}s.
+ *
+ * @param sourceTerminal
+ * the <i>CIM 17v07</i> {@link Name}s; can be <code>null</code> or empty
+ * @return the original keys of the source-system; can be <code>null</code> or empty
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal extractTerminal(Terminal sourceTerminal) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal destinationTerminal;
+ if(sourceTerminal != null) {
+
+ Key key = new Key(Terminal.class, sourceTerminal.getKey().getId());
+
+ destinationTerminal = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal();
+ destinationTerminal.setMRID(key.getId().toString());
+ }
+ else {
+ destinationTerminal = null;
+ }
+
+ return destinationTerminal;
+ }
+
+ /**
+ * Extracts the specified {@link Terminal}s.
+ *
+ * @param terminals
+ * the specified {@link Terminal}s; can be <code>null</code> or empty
+ * @return the destination {@link Terminal}s; can be <code>null</code> or empty
+ */
+ protected List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> extractTerminals(Map<Key, Terminal> terminals) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> result = new ArrayList<>();
+
+ if((terminals != null) && !terminals.isEmpty()) {
+
+ for(Terminal terminal : terminals.values()) {
+
+ if(result == null)
+ result = new ArrayList<>();
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal destinationTerminal = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal();
+ destinationTerminal.setMRID(terminal.getKey().getId().toString());
+ destinationTerminal.setName(terminal.getName());
+ destinationTerminal.setConnectivityNode(extractConnectivityNode(terminal));
+
+ result.add(destinationTerminal);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Converts the specified {@link Name} to an {@link OriginalKey}.
+ *
+ * @param name
+ * the {@link Name}; can be <code>null</code>
+ * @return the original key of the source-system; can be <code>null</code>
+ */
+ protected final OriginalKey toOriginalKey(Name name) {
+
+ OriginalKey result = null;
+
+ if((name != null) && StringUtilities.hasContent(name.getName())) {
+ OriginalKeyType originalKeyType;
+
+ originalKeyType = toOriginalKeyType(name.getNameType());
+
+ if(originalKeyType == null)
+ getLogger().warn(new MissingValueException("originalKeyType"));
+ else
+ result = new OriginalKey(originalKeyType, name.getName());
+ }
+
+ return result;
+ }
+
+ /**
+ * Converts the specified {@link NameType} to an {@link OriginalKeyType}.
+ *
+ * @param nameType
+ * the {@link NameType}; can be <code>null</code>
+ * @return the original key type of the source-system; can be <code>null</code>
+ */
+ protected final OriginalKeyType toOriginalKeyType(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType nameType) {
+
+ OriginalKeyType result;
+
+ if(nameType == null)
+ result = null;
+ else {
+ String authority;
+ String name;
+
+ /* authority */
+ if(nameType.getNameTypeAuthority() != null)
+ authority = nameType.getNameTypeAuthority().getName();
+ else
+ authority = null;
+
+ /* name */
+ name = nameType.getName();
+
+ if(!StringUtilities.hasContent(authority) || !StringUtilities.hasContent(name)) {
+ if(!StringUtilities.hasContent(authority))
+ getLogger().warn(new MissingValueException(NameTypeAuthority.class.getSimpleName() + NAME));
+ else
+ getLogger().warn(new MissingValueException(NameType.class.getSimpleName() + NAME));
+
+ result = null;
+ }
+ else
+ result = new OriginalKeyType(authority, name);
+ }
+
+ return result;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..21635acc
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,86 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.adapter.dataexchange.mapper;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType;
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.dynamictopology.core.DynamicTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.IEntity;
+
+/**
+ * The {@link IMapper} for mapping from {@link IEntity}-{@link StaticTopology2}-model-definition to {@link PSRType}-{@link Cim17v07}-model-definition.
+ *
+ * @author 2017-11-09 Christian Brunzendorf
+ * @author 2017-10-26 Michael Korta
+ */
+@MapperInformation(scope = DynamicTopologyDefaults.SCOPE_POWER_SYSTEM_RESOURCE_TYPES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = OpenKonsequenz.class)
+public final class PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_OpenKonsequenz_Mapper<List<String>, List<PSRType>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PowerSystemResourceTypes_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<PSRType> map(List<String> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<PSRType> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(String entityType : source) {
+ PSRType psrType = new PSRType();
+ psrType.setName(entityType);
+
+ result.add(psrType);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResources_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResources_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..a032b4d8
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/adapter/src/main/java/org/eclipse/openk/domain/dynamictopology/adapter/dataexchange/mapper/PowerSystemResources_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,212 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.adapter.dataexchange.mapper;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.model.IModelDefinition;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.dynamictopology.core.DynamicTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.consumption.EnergyConsumer;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.generation.EnergySource;
+import org.eclipse.openk.domain.statictopology.model.generation.Plant;
+import org.eclipse.openk.domain.statictopology.model.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.line.Junction;
+import org.eclipse.openk.domain.statictopology.model.line.Line;
+import org.eclipse.openk.domain.statictopology.model.line.LineType;
+import org.eclipse.openk.domain.statictopology.model.region.GeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.substation.BusbarSection;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Breaker;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Disconnector;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Switch;
+import org.eclipse.openk.service.adapter.IServiceAdapterController;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.IEntity;
+
+/**
+ * The {@link IMapper} for mapping from {@link IEntity}-{@link StaticTopology2}-model-definition to {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-11-07 Christian Brunzendorf
+ * @author 2017-10-27 Felix Korb
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-27 Renko Ortgies
+ */
+@MapperInformation(scope = DynamicTopologyDefaults.SCOPE_POWER_SYSTEM_RESOURCES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class PowerSystemResources_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_OpenKonsequenz_Mapper<List<? extends IEntity>, List<? extends ICimEntity>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PowerSystemResources_StaticTopology2_Cim17v07_Mapper.class);
+
+ private static final Map<Class<? extends IEntity>, MapperInfo> MAPPER_INFOS;
+
+ static {
+ Map<Class<? extends IEntity>, MapperInfo> result = new HashMap<>();
+
+ result.put(AcLineSegment.class, new MapperInfo(StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(BaseVoltage.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Breaker.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BREAKERS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(BusbarSection.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Bay.class, new MapperInfo(StaticTopologyDefaults.SCOPE_BAYS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Disconnector.class, new MapperInfo(StaticTopologyDefaults.SCOPE_DISCONNECTORS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(EarthFaultCompensator.class, new MapperInfo(StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(EnergyConsumer.class, new MapperInfo(StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(EnergySource.class, new MapperInfo(StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(GeographicalRegion.class, new MapperInfo(StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(GroundingImpedance.class, new MapperInfo(StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Junction.class, new MapperInfo(StaticTopologyDefaults.SCOPE_JUNCTIONS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(LineType.class, new MapperInfo(StaticTopologyDefaults.SCOPE_LINE_TYPES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Line.class, new MapperInfo(StaticTopologyDefaults.SCOPE_LINES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(LoadBreakSwitch.class, new MapperInfo(StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(PetersenCoil.class, new MapperInfo(StaticTopologyDefaults.SCOPE_PETERSEN_COILS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Plant.class, new MapperInfo(StaticTopologyDefaults.SCOPE_PLANTS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(PowerTransformer.class, new MapperInfo(StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(SubGeographicalRegion.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(SubstationType.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Substation.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SUBSTATIONS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(Switch.class, new MapperInfo(StaticTopologyDefaults.SCOPE_SWITCHES, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+ result.put(VoltageLevel.class, new MapperInfo(StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, StaticTopology2.INSTANCE, Cim17v07.INSTANCE));
+
+ MAPPER_INFOS = result;
+ }
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PowerSystemResources_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<? extends ICimEntity> map(List<? extends IEntity> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<ICimEntity> result = null;
+
+ if((source == null) || source.isEmpty())
+ result = null;
+ else {
+ List<ICimEntity> cimEntities;
+ IMapper<?, List<IEntity>, List<ICimEntity>, NoParameters> mapper;
+ MapperInfo mapperInfo;
+
+ result = new ArrayList<>(source.size());
+
+ for(IEntity entity : source) {
+ mapperInfo = MAPPER_INFOS.get(entity.getClass());
+
+ if(mapperInfo != null) {
+ mapper = ((IServiceAdapterController<?>) getContext()).getMapperFactory().create(mapperInfo.scope, mapperInfo.sourceModelDefinition, mapperInfo.destinationModelDefinition);
+
+ if(mapper != null) {
+ cimEntities = mapper.map(Collections.singletonList(entity), mappingParameters);
+
+ result.addAll(cimEntities);
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+
+ // inner Classes
+ /**
+ * The mapper info.
+ */
+ private static final class MapperInfo {
+
+ // Attributes
+ private IModelDefinition destinationModelDefinition;
+ private IModelDefinition sourceModelDefinition;
+ private String scope;
+
+ // Constructors
+ /**
+ * Instantiates a new mapper info.
+ *
+ * @param scope
+ * the scope - specifies the application area<br/>
+ * for example: 'BaseVoltages'
+ * @param sourceModelDefinition
+ * the source {@link IModelDefinition}
+ * @param destinationModelDefinition
+ * the destination {@link IModelDefinition}
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>scope</code> is <code>null</code> or <code>""</code></li>
+ * <li><code>sourceModelDefinition</code> is <code>null</code></li>
+ * <li><code>destinationModelDefinition</code> is <code>null</code></li>
+ * </ul>
+ */
+
+ private MapperInfo(String scope, IModelDefinition sourceModelDefinition, IModelDefinition destinationModelDefinition) throws IllegalArgumentException {
+
+ if(!StringUtilities.hasContent(scope) || (sourceModelDefinition == null) || (destinationModelDefinition == null)) {
+ if(sourceModelDefinition == null)
+ throw new IllegalArgumentException("sourceModelDefinition", new NullPointerException());
+ else if(destinationModelDefinition == null)
+ throw new IllegalArgumentException("destinationModelDefinition", new NullPointerException());
+ else
+ throw new IllegalArgumentException("scope", new NullPointerException());
+ }
+ else {
+ this.sourceModelDefinition = sourceModelDefinition;
+ this.destinationModelDefinition = destinationModelDefinition;
+ this.scope = scope;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/ConnectionState.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/ConnectionState.java
new file mode 100644
index 00000000..056540c2
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/ConnectionState.java
@@ -0,0 +1,30 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.logic.dataexchange.view;
+
+/**
+ * Defines all connection states.
+ *
+ * @author 2017-10-26 Christian Brunzendorf
+ * @author 2017-01-01 Felix Korb
+ * @author 2017-03-01 Inge Seidel
+ * @author 2017-01-01 Michael Korta
+ */
+public enum ConnectionState {
+
+ Active,
+ Ignore,
+ Normal,
+ NormalWithSwitchState
+}
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/FetchType.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/FetchType.java
new file mode 100644
index 00000000..accf9441
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/FetchType.java
@@ -0,0 +1,25 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.logic.dataexchange.view;
+
+/**
+ * Defines all fetch types.
+ *
+ * @author 2017-10-26 Christian Brunzendorf
+ */
+public enum FetchType {
+
+ Eager,
+ Lazy
+}
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_QueryParameters.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_QueryParameters.java
new file mode 100644
index 00000000..a617d15f
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_QueryParameters.java
@@ -0,0 +1,42 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.logic.dataexchange.view;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.value.parameter.annotations.Parameter;
+
+/**
+ * The {@link MeasurementPointsByStationId_1_View}s query parameters.
+ *
+ * @author 2017-10-26 Christian Brunzendorf
+ */
+public final class MeasurementPointsByStationId_1_QueryParameters {
+
+ // Constants
+ public static final String PARAMETER_STATION_ID = "station-id";
+
+ // Attributes
+ @Parameter(name = PARAMETER_STATION_ID, optional = false)
+ private UUID stationId;
+
+ // Properties
+ /**
+ * @return the station id; not <code>null</code> or <code>""</code>
+ */
+ public UUID getStationId() {
+
+ return stationId;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_View.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_View.java
new file mode 100644
index 00000000..c981a910
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/MeasurementPointsByStationId_1_View.java
@@ -0,0 +1,101 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.logic.dataexchange.view;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.dynamictopology.core.DynamicTopologyDefaults;
+import org.eclipse.openk.domain.topologystate.core.TopologyStateDefaults;
+import org.eclipse.openk.domain.topologystate.model.measurement.MeasurementPoint;
+import org.eclipse.openk.domain.topologystate.model.measurement.MeasurementType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.logic.IServiceLogicController;
+import org.eclipse.openk.service.logic.dataexchange.view.AbstractView;
+import org.eclipse.openk.service.logic.dataexchange.view.ViewConfiguration;
+import org.eclipse.openk.service.logic.dataexchange.view.ViewInformation;
+import org.eclipse.openk.service.model.new_repository.IRepository;
+
+/**
+ * The view for {@link MeasurementPoint}s filtered by {@link MeasurementType}s .
+ *
+ * @author 2017-10-17 Felix Korb
+ * @author 2017-10-17 Michael Korta
+ */
+@ViewInformation(scope = DynamicTopologyDefaults.SCOPE_MEASUREMENT_POINTS_BY_STATION_ID, parametersType = MeasurementPointsByStationId_1_QueryParameters.class)
+public final class MeasurementPointsByStationId_1_View extends AbstractView<ViewConfiguration, List<MeasurementPoint>, MeasurementPointsByStationId_1_QueryParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(MeasurementPointsByStationId_1_View.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public MeasurementPointsByStationId_1_View(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ @SuppressWarnings("unchecked")
+ public List<MeasurementPoint> executeQuery(MeasurementPointsByStationId_1_QueryParameters parameters) throws IllegalArgumentException, IOException {
+
+ IRepository<MeasurementPoint> repository;
+ List<MeasurementPoint> result = null;
+
+ repository = (IRepository<MeasurementPoint>) ((IServiceLogicController<?>) getContext().getServiceController()).getNewRepository(TopologyStateDefaults.REPOSITORY_KEY_TOPOLOGY_STATE);
+
+ if(repository != null) {
+ List<MeasurementPoint> measurementPoints = (List<MeasurementPoint>) repository.find(MeasurementPoint.class);
+ if(parameters != null) {
+
+ // REMIND 2017-11-13 Christian Brunzendorf: station id speichern, auswerten und danach filtern
+ repository.select(parameters.getStationId());
+ }
+ else {
+ throw new IllegalArgumentException("parameters", new NullPointerException());
+ }
+
+ if((measurementPoints != null) && !measurementPoints.isEmpty())
+ if(parameters != null) {
+ result = new ArrayList<>();
+ for(MeasurementPoint measurementPoint : measurementPoints) {
+
+ result.add(measurementPoint);
+ }
+ }
+ }
+
+ return result;
+
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/Selector.java b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/Selector.java
new file mode 100644
index 00000000..e051e63c
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.dynamic-topology/logic/src/main/java/org/eclipse/openk/domain/dynamictopology/logic/dataexchange/view/Selector.java
@@ -0,0 +1,32 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.dynamictopology.logic.dataexchange.view;
+
+/**
+ * Defines all selectors.
+ *
+ * @author 2017-10-26 Christian Brunzendorf
+ * @author 2017-01-01 Felix Korb
+ * @author 2017-03-01 Inge Seidel
+ * @author 2017-01-01 Michael Korta
+ */
+public enum Selector {
+
+ Above,
+ All,
+ Behind,
+ Containing,
+ ContainingAndAbove,
+ ContainingAndBehind
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/deserializer/StaticTopology_1_Xml_Cim17v07_Deserializer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/deserializer/StaticTopology_1_Xml_Cim17v07_Deserializer.java
new file mode 100644
index 00000000..d3fa066b
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/deserializer/StaticTopology_1_Xml_Cim17v07_Deserializer.java
@@ -0,0 +1,62 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.cim.deserializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.cim.deserializer.AbstractCimXmlDeserializer;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.IDeserializer;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The <i>XML</i> {@link IDeserializer} for {@link Cim17v07} models.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <E>
+ * the {@link ICimEntity} type
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+public final class StaticTopology_1_Xml_Cim17v07_Deserializer<E extends ICimEntity> extends AbstractCimXmlDeserializer<E> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(StaticTopology_1_Xml_Cim17v07_Deserializer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public StaticTopology_1_Xml_Cim17v07_Deserializer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/ITopologyIdParameterOwner.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/ITopologyIdParameterOwner.java
new file mode 100644
index 00000000..8718eefa
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/ITopologyIdParameterOwner.java
@@ -0,0 +1,34 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.cim.responder;
+
+import java.util.UUID;
+
+/**
+ * Defines commonalities of all topology-id owners.
+ *
+ * @author 2017-09-27 Renko Ortgies
+ */
+public interface ITopologyIdParameterOwner {
+
+ // Constants
+ String PARAMETER_TOPOLOGY_ID = "topology-id";
+
+ // Properties
+ /**
+ * @return the topology-id
+ * unique for the current topology, can be <code>null</code>
+ */
+ UUID getTopologyId();
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/StaticTopologyCimRequestParameters.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/StaticTopologyCimRequestParameters.java
new file mode 100644
index 00000000..6d3f0d45
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/responder/StaticTopologyCimRequestParameters.java
@@ -0,0 +1,38 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.cim.responder;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.value.parameter.annotations.Parameter;
+import org.eclipse.openk.service.adapter.dataexchange.cim.responder.TolerantCimRequestParameters;
+
+/**
+ * The static topology <i>CIM</i> request parameters.
+ *
+ * @author 2017-10-31 Felix Korb
+ */
+public class StaticTopologyCimRequestParameters extends TolerantCimRequestParameters implements ITopologyIdParameterOwner {
+
+ // Attributes
+ @Parameter(name = PARAMETER_TOPOLOGY_ID, optional = true)
+ private UUID topologyId;
+
+ // Properties
+ @Override
+ public final UUID getTopologyId() {
+
+ return topologyId;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Rdf_Serializer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Rdf_Serializer.java
new file mode 100644
index 00000000..6ac89436
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Rdf_Serializer.java
@@ -0,0 +1,63 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.cim.serializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.cim.serializer.AbstractCimRdfSerializer;
+import org.eclipse.openk.service.adapter.dataexchange.serializer.ISerializer;
+import org.eclipse.openk.service.adapter.dataexchange.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The <i>RDF</i> {@link ISerializer} for {@link Cim17v07} models.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <E>
+ * the {@link ICimEntity} type
+ */
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationRdf, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+public final class StaticTopology_1_Cim17v07_Rdf_Serializer<E> extends AbstractCimRdfSerializer<E> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(StaticTopology_1_Cim17v07_Rdf_Serializer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public StaticTopology_1_Cim17v07_Rdf_Serializer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Xml_Serializer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Xml_Serializer.java
new file mode 100644
index 00000000..ad17a018
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/cim/serializer/StaticTopology_1_Cim17v07_Xml_Serializer.java
@@ -0,0 +1,63 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.cim.serializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.cim.serializer.AbstractCimXmlSerializer;
+import org.eclipse.openk.service.adapter.dataexchange.serializer.ISerializer;
+import org.eclipse.openk.service.adapter.dataexchange.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The <i>RDF</i> {@link ISerializer} for {@link Cim17v07} models.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <E>
+ * the {@link ICimEntity} type
+ */
+@SerializerInformation(scope = StaticTopologyDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+public final class StaticTopology_1_Cim17v07_Xml_Serializer<E> extends AbstractCimXmlSerializer<E> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(StaticTopology_1_Cim17v07_Xml_Serializer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public StaticTopology_1_Cim17v07_Xml_Serializer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/deserializer/TopologyId_1_Xml_Deserializer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/deserializer/TopologyId_1_Xml_Deserializer.java
new file mode 100644
index 00000000..bceab2de
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/deserializer/TopologyId_1_Xml_Deserializer.java
@@ -0,0 +1,100 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.deserializer;
+
+import java.io.IOException;
+import java.io.Reader;
+
+import org.eclipse.openk.cim.profile.openkonsequenz.OpenKonsequenz;
+import org.eclipse.openk.cim.profile.openkonsequenz.api.statictopology.TopologyId;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.XmlPayloadReader;
+import org.eclipse.openk.common.dataexchange.converter.ValueDecoder;
+import org.eclipse.openk.common.dataexchange.xml.XmlNamespaceMapping;
+import org.eclipse.openk.common.dataexchange.xml.XmlNamespaceSolver;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.AbstractDeserializer;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerConfiguration;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.IDeserializer;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * The <i>XML</i> {@link IDeserializer} for {@link TopologyId}s.
+ *
+ * @author 2017-10-22 Christian Brunzendorf
+ * @author 2017-10-31 Felix Korb
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = OpenKonsequenz.class)
+public final class TopologyId_1_Xml_Deserializer extends AbstractDeserializer<DeserializerConfiguration, TopologyId, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_1_Xml_Deserializer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public TopologyId_1_Xml_Deserializer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public TopologyId deserialize(Reader reader, NoParameters parameters) throws IOException {
+
+ TopologyId result = null;
+
+ if(reader != null) {
+ XmlPayloadReader<ICimEntity> contentHandler = new XmlPayloadReader<>(ICimEntity.class, TypeInformationProvider.DEFAULT_INSTANCE, new XmlNamespaceSolver(new XmlNamespaceMapping(getOutputModelDefinition().getPackage())), ValueDecoder.DEFAULT_INSTANCE);
+
+ try {
+ InputSource tempInputSource = new InputSource(reader);
+ XMLReader tempXmlReader = XMLReaderFactory.createXMLReader();
+
+ tempXmlReader.setContentHandler(contentHandler);
+ tempXmlReader.parse(tempInputSource);
+ result = (TopologyId) contentHandler.getPayload();
+ }
+ catch(SAXException exception) {
+ throw new IOException(exception);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AbstractStaticTopologyElementImporter.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AbstractStaticTopologyElementImporter.java
new file mode 100644
index 00000000..5cb006f0
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AbstractStaticTopologyElementImporter.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.io.IOException;
+import java.util.UUID;
+
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.importer.AbstractImporter;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterConfiguration;
+import org.eclipse.openk.service.adapter.dataexchange.importer.InvalidImportParameterException;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.ImportFailedException;
+
+/**
+ * The base of all static-topology element importers.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <I>
+ * the import data object type (internal model)
+ * @param <T>
+ * the transfer data object type (interface model)
+ */
+public abstract class AbstractStaticTopologyElementImporter<I, T> extends AbstractImporter<ImporterConfiguration, I, T, UUID> {
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ protected AbstractStaticTopologyElementImporter(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ protected final void handleImportException(IOException exception, UUID importParameters) throws IllegalArgumentException, InvalidImportParameterException, IOException {
+
+ if(importParameters == null)
+ throw new IllegalArgumentException("importParameters");
+ else {
+ if(exception != null) {
+ if(exception instanceof ImportFailedException)
+ if(Integer.toString(StaticTopologyDefaults.TOPOLOGY_IS_OUT_OF_DATE_ERROR_CODE).equals(((ImportFailedException) exception).getErrorCode()))
+ throw new InvalidImportParameterException(Topology_2_Xml_ImportParameters.PARAMETER_TOPOLOGY_ID, importParameters.toString(), exception);
+
+ throw exception;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AcLineSegments_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AcLineSegments_3_Xml_Importer.java
new file mode 100644
index 00000000..2df17825
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/AcLineSegments_3_Xml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.AcLineSegment;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link AcLineSegment}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class AcLineSegments_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<AcLineSegment>, List<ACLineSegment>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public AcLineSegments_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BaseVoltages_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BaseVoltages_3_Xml_Importer.java
new file mode 100644
index 00000000..19c91965
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BaseVoltages_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link BaseVoltage}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class BaseVoltages_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<BaseVoltage>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BaseVoltages_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Breakers_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Breakers_3_Xml_Importer.java
new file mode 100644
index 00000000..223b4d37
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Breakers_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {Breaker}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Breakers_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<Breaker>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Breakers_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BusbarSections_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BusbarSections_3_Xml_Importer.java
new file mode 100644
index 00000000..09408c82
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/BusbarSections_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link BusbarSection}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class BusbarSections_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<BusbarSection>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BusbarSections_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Disconnectors_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Disconnectors_3_Xml_Importer.java
new file mode 100644
index 00000000..0f035c76
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Disconnectors_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Disconnector;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link Disconnector}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Disconnectors_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<Disconnector>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Disconnectors_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EarthFaultCompensators_1_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EarthFaultCompensators_1_Xml_Importer.java
new file mode 100644
index 00000000..34fde0fe
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EarthFaultCompensators_1_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link EarthFaultCompensator}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class EarthFaultCompensators_1_Xml_Importer extends AbstractStaticTopologyElementImporter<List<EarthFaultCompensator>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_1_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EarthFaultCompensators_1_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergyConsumers_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergyConsumers_3_Xml_Importer.java
new file mode 100644
index 00000000..c251e265
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergyConsumers_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.consumption.EnergyConsumer;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link EnergyConsumer}s importer.
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class EnergyConsumers_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<EnergyConsumer>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergyConsumers_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergySources_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergySources_3_Xml_Importer.java
new file mode 100644
index 00000000..f697afc9
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/EnergySources_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.generation.EnergySource;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link EnergySource}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class EnergySources_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<EnergySource>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergySources_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GeographicalRegions_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GeographicalRegions_3_Xml_Importer.java
new file mode 100644
index 00000000..e6ab143d
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GeographicalRegions_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.region.GeographicalRegion;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link GeographicalRegion}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class GeographicalRegions_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<GeographicalRegion>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GeographicalRegions_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GroundingImpedances_1_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GroundingImpedances_1_Xml_Importer.java
new file mode 100644
index 00000000..eb29d51f
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/GroundingImpedances_1_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link GroundingImpedance}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class GroundingImpedances_1_Xml_Importer extends AbstractStaticTopologyElementImporter<List<GroundingImpedance>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_1_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GroundingImpedances_1_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Grounds_1_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Grounds_1_Xml_Importer.java
new file mode 100644
index 00000000..74c0429a
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Grounds_1_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.Ground;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link Ground}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDS, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Grounds_1_Xml_Importer extends AbstractStaticTopologyElementImporter<List<Ground>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Grounds_1_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Grounds_1_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Junctions_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Junctions_3_Xml_Importer.java
new file mode 100644
index 00000000..f7560fd5
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Junctions_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Junction;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link Junction}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Junctions_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<Junction>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Junctions_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Lines_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Lines_3_Xml_Importer.java
new file mode 100644
index 00000000..d2802a29
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Lines_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link Line}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_LINES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Lines_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<org.eclipse.openk.domain.statictopology.model.line.Line>, List<Line>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Lines_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/LoadBreakSwitches_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/LoadBreakSwitches_3_Xml_Importer.java
new file mode 100644
index 00000000..deb0d2a6
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/LoadBreakSwitches_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link LoadBreakSwitch}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class LoadBreakSwitches_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<LoadBreakSwitch>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LoadBreakSwitches_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PetersenCoils_1_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PetersenCoils_1_Xml_Importer.java
new file mode 100644
index 00000000..0d005ac2
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PetersenCoils_1_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoil;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link PetersenCoil}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, version = 1, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class PetersenCoils_1_Xml_Importer extends AbstractStaticTopologyElementImporter<List<PetersenCoil>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_1_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PetersenCoils_1_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PowerTransformers_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PowerTransformers_3_Xml_Importer.java
new file mode 100644
index 00000000..32df6dae
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/PowerTransformers_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link PowerTransformer}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class PowerTransformers_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<PowerTransformer>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PowerTransformers_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/SubstationTypes_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/SubstationTypes_3_Xml_Importer.java
new file mode 100644
index 00000000..ea39b8d8
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/SubstationTypes_3_Xml_Importer.java
@@ -0,0 +1,70 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link SubstationType}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class SubstationTypes_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<SubstationType>, List<PSRType>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubstationTypes_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Substations_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Substations_3_Xml_Importer.java
new file mode 100644
index 00000000..18efa74c
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Substations_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link Substation}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Substations_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<Substation>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Substations_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Substations_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Topology_2_Java_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Topology_2_Java_Importer.java
new file mode 100644
index 00000000..43ee9008
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/Topology_2_Java_Importer.java
@@ -0,0 +1,323 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.IVersion;
+import org.eclipse.openk.common.Version;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer.Topology_2_Java_Importer.TopologyData;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.logic.StaticTopologyUtilities;
+import org.eclipse.openk.domain.statictopology.model.IConductingEquipment;
+import org.eclipse.openk.domain.statictopology.model.IEquipment;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.IServiceAdapterController;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.AbstractImporter;
+import org.eclipse.openk.service.adapter.dataexchange.importer.IImporter;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterConfiguration;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.InvalidImportParameterException;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.IEntity;
+
+/**
+ * The {@link IEntity}s importer.
+ *
+ * @author 2017-10-19 Christian Brunzendorf
+ */
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY, version = 2, importFormat = MediaType.ApplicationJava, importModelDefinitionType = StaticTopology2.class, parametersType = Topology_2_Xml_ImportParameters.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Topology_2_Java_Importer extends AbstractImporter<ImporterConfiguration, List<IEntity>, TopologyData, Topology_2_Xml_ImportParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Topology_2_Java_Importer.class);
+ private static final List<ImporterInformation> IMPORTER_INFORMATIONS;
+
+ static {
+ List<ImporterInformation> importerInformations = new ArrayList<>();
+ final int value1 = 1;
+ final int value2 = 2;
+ final int value3 = 3;
+
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_BREAKERS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_BAYS, Version.valueOf(value2), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_DISCONNECTORS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, Version.valueOf(value1), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, Version.valueOf(value1), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_GROUNDS, Version.valueOf(value1), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_JUNCTIONS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_LINE_TYPES, Version.valueOf(value2), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_LINES, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_PETERSEN_COILS, Version.valueOf(value1), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_PLANTS, Version.valueOf(value2), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, Version.valueOf(value2), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_SUBSTATIONS, Version.valueOf(value3), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_SWITCHES, Version.valueOf(value2), MediaType.ApplicationXml));
+ importerInformations.add(new ImporterInformation(StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, Version.valueOf(value3), MediaType.ApplicationXml));
+
+ IMPORTER_INFORMATIONS = importerInformations;
+ }
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Topology_2_Java_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ protected TopologyData fetchTransferData(Topology_2_Xml_ImportParameters importParameters) throws IllegalArgumentException, IOException {
+
+ if(importParameters == null)
+ throw new IllegalArgumentException("importParameters", new NullPointerException());
+ else {
+ UUID importedTopologyId = null;
+ IImporter<ImporterConfiguration, UUID, NoParameters> topologyIdImporter;
+ List<? extends IEntity> importedTransferData;
+ TopologyData result = null;
+
+ /* import topology-id */
+ {
+ topologyIdImporter = ((IServiceAdapterController<?>) getContext().getServiceController()).getImporterFactory().create(StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, Version.valueOf(1), MediaType.ApplicationXml);
+
+ if(topologyIdImporter == null) {
+ String importerKey = IImporter.createKey(getScope(), getVersion(), MediaType.ApplicationXml);
+
+ throw new UnsupportedOperationException("There is no suitable importer '" + importerKey + "' available!"); // FIXME 2017-04-23 Felix: geeignete Ausnahme schmeißen
+ }
+ else
+ importedTopologyId = topologyIdImporter.doImport(null);
+ }
+
+ /* import topology if necessary */
+ {
+ /* check topology-id */
+ if((importedTopologyId != null) && (importedTopologyId != importParameters.getTopologyId())) {
+
+ /* get all importer */
+ if(IMPORTER_INFORMATIONS != null) {
+ boolean retryImport = false;
+ Map<String, List<? extends IEntity>> scopeWithImportedEntities = null;
+
+ do
+ try {
+ /* check retry state */
+ if(retryImport) {
+ /* topology-id changed during import */
+ importedTopologyId = topologyIdImporter.doImport(null);
+
+ /* avoid retry */
+ retryImport = false;
+ }
+
+ /* import transfer data */
+ {
+ scopeWithImportedEntities = new HashMap<>(IMPORTER_INFORMATIONS.size());
+
+ for(ImporterInformation importerInformation : IMPORTER_INFORMATIONS) {
+
+ /* get specified importer */
+ IImporter<ImporterConfiguration, List<? extends IEntity>, UUID> importer = ((IServiceAdapterController<?>) getContext().getServiceController()).getImporterFactory().create(importerInformation.scope, importerInformation.version, importerInformation.importFormat);
+
+ /* do import */
+ importedTransferData = importer.doImport(importedTopologyId);
+
+ /* add result */
+ if(importedTransferData != null)
+ scopeWithImportedEntities.put(importerInformation.scope, importedTransferData);
+ }
+ }
+ }
+ catch(InvalidImportParameterException exception) {
+ if(Topology_2_Xml_ImportParameters.PARAMETER_TOPOLOGY_ID.equals(exception.getParameterName()))
+ retryImport = true;
+ else
+ throw exception;
+ }
+ while(retryImport);
+
+ /* create & set result */
+ result = new TopologyData(importedTopologyId, ((scopeWithImportedEntities == null) || (scopeWithImportedEntities.isEmpty()) ? null : scopeWithImportedEntities));
+ }
+ }
+ }
+
+ return result;
+ }
+ }
+
+ @Override
+ protected List<IEntity> mapToImportData(TopologyData transferData, Topology_2_Xml_ImportParameters importParameters) throws IOException {
+
+ List<IEntity> result = null;
+ Map<UUID, IEntity> connectivityNodes = new HashMap<>();
+ Map<UUID, IEquipmentContainer> equipmentContainers = new HashMap<>();
+ Map<UUID, IEquipment> conductingEquipments = new HashMap<>();
+ Map<UUID, IEntity> propertyEntities = new HashMap<>();
+
+ if((transferData != null) && (!transferData.entities.isEmpty())) {
+ result = new ArrayList<>();
+
+ for(Entry<String, List<? extends IEntity>> entry : transferData.entities.entrySet()) {
+ for(IEntity entity : entry.getValue()) {
+ LOGGER.debug("adding " + entity.getName());
+ if(entity instanceof IEquipmentContainer) {
+ /* equipment container */
+ StaticTopologyUtilities.add(equipmentContainers, (IEquipmentContainer) entity);
+ }
+ else if(entity instanceof IEquipment) {
+ if(entity instanceof IConductingEquipment) {
+ /* equipment like breakers */
+ StaticTopologyUtilities.add(connectivityNodes, (IConductingEquipment) entity);
+ StaticTopologyUtilities.add(conductingEquipments, (IEquipment) entity);
+ }
+ else
+ StaticTopologyUtilities.add(conductingEquipments, (IEquipment) entity);
+ }
+ else
+ propertyEntities.put(entity.getKey().getId(), entity);
+
+ result.add(entity);
+ }
+ }
+
+ /* post processing */
+ StaticTopologyUtilities.connectEquipmentsAndContainers(equipmentContainers, conductingEquipments);
+ StaticTopologyUtilities.setBaseVoltageOrLineTypeOrSubstationType(propertyEntities, result);
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+
+ // inner Classes
+ /**
+ * Auxiliary class to provide the information to identify an {@link IImporter}.
+ *
+ * @author 2017-10-31 Felix Korb
+ */
+ private static final class ImporterInformation {
+
+ // Attributes
+ private MediaType importFormat;
+ private String scope;
+ private IVersion version;
+
+ // Constructors
+ /**
+ * @param scope
+ * the scope - specifies the application area<br/>
+ * for example: 'BaseVoltages'
+ * @param version
+ * the version
+ * @param importFormat
+ * the format of the import
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>scope</code> is <code>null</code> or <code>""</code></li>
+ * <li><code>version</code> is <code>null</code></li>
+ * <li><code>importFormat</code> is <code>null</code></li>
+ * </ul>
+ */
+ private ImporterInformation(String scope, IVersion version, MediaType importFormat) throws IllegalArgumentException {
+
+ if(!StringUtilities.hasContent(scope) || (version == null) || (importFormat == null))
+ if(!StringUtilities.hasContent(scope))
+ throw new IllegalArgumentException("scope", new NullPointerException());
+ else if(version == null)
+ throw new IllegalArgumentException("version", new NullPointerException());
+ else
+ throw new IllegalArgumentException("importFormat", new NullPointerException());
+ else {
+ this.importFormat = importFormat;
+ this.scope = scope;
+ this.version = version;
+ }
+ }
+ }
+
+ /**
+ * The topology data.
+ */
+ public static final class TopologyData {
+
+ // Attributes
+ private UUID id;
+ private Map<String, List<? extends IEntity>> entities;
+
+ // Constructors
+ /**
+ * @param id
+ * the topology-id
+ * @param entities
+ * the entities; can be <code>null</code> or <code>empty</code>
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>id</code> is <code>null</code></li>
+ * </ul>
+ */
+ private TopologyData(UUID id, Map<String, List<? extends IEntity>> entities) throws IllegalArgumentException {
+
+ if(id == null)
+ throw new IllegalArgumentException("id", new NullPointerException());
+ else {
+ this.entities = entities;
+ this.id = id;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/VoltageLevels_3_Xml_Importer.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/VoltageLevels_3_Xml_Importer.java
new file mode 100644
index 00000000..fd815952
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/importer/VoltageLevels_3_Xml_Importer.java
@@ -0,0 +1,69 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.importer;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.importer.ImporterInformation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+
+/**
+ * The {@link VoltageLevel}s importer .
+ *
+ * @author 2017-11-08 Frank Jäger
+ * @author 2017-11-08 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST)
+@DeserializerInformation(scope = StaticTopologyDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+@ImporterInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, importModelDefinitionType = StaticTopology2.class, parametersType = UUID.class)
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class VoltageLevels_3_Xml_Importer extends AbstractStaticTopologyElementImporter<List<org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel>, List<VoltageLevel>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_3_Xml_Importer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public VoltageLevels_3_Xml_Importer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Abstract_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Abstract_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..317a78a8
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Abstract_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,415 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Name;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameTypeAuthority;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PowerSystemResource;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.key.sourcesystem.OriginalKey;
+import org.eclipse.openk.common.key.sourcesystem.OriginalKeyType;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.MissingValueException;
+import org.eclipse.openk.domain.statictopology.model.ConductingEquipment;
+import org.eclipse.openk.domain.statictopology.model.EquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.IEquipment;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.consumption.EnergyConsumer;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.core.Terminal;
+import org.eclipse.openk.domain.statictopology.model.generation.EnergySource;
+import org.eclipse.openk.domain.statictopology.model.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.line.Junction;
+import org.eclipse.openk.domain.statictopology.model.substation.BusbarSection;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.Ground;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformerEnd;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Breaker;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Disconnector;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Switch;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.AbstractMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperConfiguration;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The base of all static topology {@link IMapper}.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ *
+ * @param <S>
+ * the source model type
+ * @param <D>
+ * the destination model type
+ * @param <P>
+ * the parameter type
+ */
+public abstract class Abstract_StaticTopology2_Cim17v07_Mapper<S, D, P> extends AbstractMapper<MapperConfiguration, S, D, P> {
+
+ // Constants
+ private static final Map<Class<? extends IEquipment>, PowerSystemResource> EQUIPMENT_CIM17V07_INSTANCES;
+ static {
+ Map<Class<? extends IEquipment>, PowerSystemResource> result = new HashMap<>();
+
+ result.put(AcLineSegment.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment());
+ result.put(Breaker.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker());
+ result.put(BusbarSection.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection());
+ result.put(Disconnector.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector());
+ result.put(EarthFaultCompensator.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator());
+ result.put(EnergyConsumer.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer());
+ result.put(EnergySource.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource());
+ result.put(GroundingImpedance.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance());
+ result.put(Ground.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground());
+ result.put(Junction.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction());
+ result.put(LoadBreakSwitch.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch());
+ result.put(PetersenCoil.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil());
+ result.put(PowerTransformer.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer());
+ result.put(Switch.class, new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch());
+
+ EQUIPMENT_CIM17V07_INSTANCES = result;
+ }
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ protected Abstract_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param <T>
+ * the type of conducting equipment
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ protected <T extends ConductingEquipment> org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage extractBaseVoltage(T sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getKey().getId() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ result.setMRID(sourceItem.getBaseVoltage().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param sourceItem
+ * not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ *
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage extractBaseVoltage(PowerTransformerEnd sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getKey() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ result.setMRID(sourceItem.getBaseVoltage().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage extractBaseVoltage(VoltageLevel sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getKey().getId() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ result.setMRID(sourceItem.getBaseVoltage().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract connectivity node.
+ *
+ * @param source
+ * the source
+ * @return the connectivity node
+ */
+ private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode extractConnectivityNode(Terminal source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode result = null;
+
+ if(source != null) {
+ if(source.getConnectivityNode() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConnectivityNode();
+ result.setMRID(source.getConnectivityNode().getKey().getId().toString());
+ result.setName(source.getConnectivityNode().getName());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the specified {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment}s.
+ *
+ * @param equipments
+ * the specified map of {@link Key} - {@link IEquipment} pairs; can be <code>null</code> or empty
+ * @return the list of {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment}s; can be <code>null</code> or empty
+ */
+ protected List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment> extractEquipments(Map<Key, IEquipment> equipments) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment> result = null;
+
+ if((equipments != null) && !equipments.isEmpty()) {
+ PowerSystemResource powerSystemResource;
+ for(IEquipment equipment : equipments.values()) {
+ if(result == null)
+ result = new ArrayList<>();
+ powerSystemResource = EQUIPMENT_CIM17V07_INSTANCES.get(equipment.getClass());
+
+ if(powerSystemResource != null) {
+ powerSystemResource.setMRID(equipment.getKey().getId().toString());
+ result.add((Equipment) powerSystemResource);
+ }
+ else
+ getLogger().debug("Can not map equipment " + equipment.getClass().getSimpleName());
+
+ }
+ }
+
+ return result;
+ }
+
+ // REMIND 2017-10-31 Frank: noch umbenennen in extractNames
+ /**
+ * Extracts the original keys from the specified <i>CIM 17v07</i> {@link Name}s.
+ *
+ * @param names
+ * the <i>CIM 17v07</i> {@link Name}s; can be <code>null</code> or empty
+ * @return the original keys of the source-system; can be <code>null</code> or empty
+ */
+ protected final List<Name> extractOriginalKeys(Map<OriginalKeyType, OriginalKey> names) {
+
+ List<Name> result = new ArrayList<>();
+
+ if((names != null) && !names.isEmpty()) {
+
+ names.forEach((key, value) -> {
+
+ if((key == null) || (value == null)) {
+ if(key == null)
+ getLogger().warn(new MissingValueException("key"));
+ if(value == null)
+ getLogger().warn(new MissingValueException("value"));
+ }
+ else {
+ Name name = new Name();
+ name.setName(value.toString());
+ NameType nameType = new NameType();
+ nameType.setName(key.getName());
+ name.setNameType(nameType);
+ result.add(name);
+ }
+ });
+ }
+
+ if(result.isEmpty())
+ return null;
+
+ return result;
+ }
+
+ /**
+ * Extract {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion}.
+ *
+ * @param sourceItems
+ * the {@link EquipmentContainer}'s; can be <code>null</code> or empty
+ * @return the sub geographical region; can be <code>null</code>
+ */
+ protected List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion> extractSubGeographicalRegions(List<IEquipmentContainer> sourceItems) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion> result = null;
+
+ if((sourceItems != null) && !sourceItems.isEmpty()) {
+ result = new ArrayList<>(sourceItems.size());
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion region = null;
+ for(IEquipmentContainer equipmentContainer : sourceItems) {
+ region = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion();
+ region.setMRID(equipmentContainer.getKey().getId().toString());
+ result.add(region);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the original key from the specified <i>CIM 17v07</i> {@link Name}s.
+ *
+ * @param sourceTerminal
+ * the <i>CIM 17v07</i> {@link Name}s; can be <code>null</code> or empty
+ * @return the original keys of the source-system; can be <code>null</code> or empty
+ */
+ protected org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal extractTerminal(Terminal sourceTerminal) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal destinationTerminal;
+ if(sourceTerminal != null) {
+
+ Key key = new Key(Terminal.class, sourceTerminal.getKey().getId());
+
+ destinationTerminal = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal();
+ destinationTerminal.setMRID(key.getId().toString());
+ }
+ else {
+ destinationTerminal = null;
+ }
+
+ return destinationTerminal;
+ }
+
+ /**
+ * Extracts the specified {@link Terminal}s.
+ *
+ * @param terminals
+ * the specified {@link Terminal}s; can be <code>null</code> or empty
+ * @return the destination {@link Terminal}s; can be <code>null</code> or empty
+ */
+ protected List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> extractTerminals(LinkedHashMap<Key, Terminal> terminals) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> result = new ArrayList<>();
+
+ if((terminals != null) && !terminals.isEmpty()) {
+
+ for(Terminal terminal : terminals.values()) {
+
+ if(result == null)
+ result = new ArrayList<>();
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal destinationTerminal = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal();
+ destinationTerminal.setMRID(terminal.getKey().getId().toString());
+ destinationTerminal.setName(terminal.getName());
+ destinationTerminal.setConnectivityNode(extractConnectivityNode(terminal));
+
+ result.add(destinationTerminal);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Converts the specified {@link Name} to an {@link OriginalKey}.
+ *
+ * @param name
+ * the {@link Name}; can be <code>null</code>
+ * @return the original key of the source-system; can be <code>null</code>
+ */
+ protected final OriginalKey toOriginalKey(Name name) {
+
+ OriginalKey result = null;
+
+ if((name != null) && StringUtilities.hasContent(name.getName())) {
+ OriginalKeyType originalKeyType;
+
+ originalKeyType = toOriginalKeyType(name.getNameType());
+
+ if(originalKeyType == null)
+ getLogger().warn(new MissingValueException("originalKeyType"));
+ else
+ result = new OriginalKey(originalKeyType, name.getName());
+ }
+
+ return result;
+ }
+
+ /**
+ * Converts the specified {@link NameType} to an {@link OriginalKeyType}.
+ *
+ * @param nameType
+ * the {@link NameType}; can be <code>null</code>
+ * @return the original key type of the source-system; can be <code>null</code>
+ */
+ protected final OriginalKeyType toOriginalKeyType(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType nameType) {
+
+ OriginalKeyType result;
+
+ if(nameType == null)
+ result = null;
+ else {
+ String authority;
+ String name;
+
+ /* authority */
+ if(nameType.getNameTypeAuthority() != null)
+ authority = nameType.getNameTypeAuthority().getName();
+ else
+ authority = null;
+
+ /* name */
+ name = nameType.getName();
+
+ if(!StringUtilities.hasContent(authority) || !StringUtilities.hasContent(name)) {
+ String nameSuffix = ".name";
+ if(!StringUtilities.hasContent(authority))
+ getLogger().warn(new MissingValueException(NameTypeAuthority.class.getSimpleName() + nameSuffix));
+ else
+ getLogger().warn(new MissingValueException(NameType.class.getSimpleName() + nameSuffix));
+
+ result = null;
+ }
+ else
+ result = new OriginalKeyType(authority, name);
+ }
+
+ return result;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/AcLineSegments_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/AcLineSegments_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..2d158d70
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/AcLineSegments_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,136 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.CurrentFlow;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Length;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.ReactancePerLength;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.ResistancePerLength;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PerLengthSequenceImpedance;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.InvalidValueException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.line.WireInfo;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link AcLineSegment}-{@link StaticTopology2}-model-definition to {@link ACLineSegment}-{@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class AcLineSegments_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<AcLineSegment>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public AcLineSegments_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment> map(List<AcLineSegment> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(AcLineSegment sourceItem : source) {
+
+ try {
+ ACLineSegment destinationItem = new ACLineSegment();
+
+ destinationItem.setKey(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setLength(UnitUtilities.toCimDatatype(Length.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, AcLineSegment.PROPERTY_LENGTH));
+ destinationItem.setPerLengthImpedance(extractPerLengthSequenceImpedance(sourceItem.getWireInfo()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ catch(NullPointerException exception) {
+ LOGGER.warn(new InvalidValueException(sourceItem.getKey().getId().toString()));
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract per {@link PerLengthSequenceImpedance}.
+ *
+ * @param wireInfo
+ * the {@link WireInfo}
+ * @return the per length sequence impedance
+ */
+ private PerLengthSequenceImpedance extractPerLengthSequenceImpedance(WireInfo wireInfo) {
+
+ PerLengthSequenceImpedance result = new PerLengthSequenceImpedance();
+
+ if((wireInfo != null)) {
+
+ result.setR(UnitUtilities.toCimDatatype(ResistancePerLength.class, UnitMultiplier.class, UnitSymbol.class, wireInfo, WireInfo.PROPERTY_R));
+ result.setX(UnitUtilities.toCimDatatype(ReactancePerLength.class, UnitMultiplier.class, UnitSymbol.class, wireInfo, WireInfo.PROPERTY_X));
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo cimWireInfo = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo();
+ cimWireInfo.setRatedCurrent(UnitUtilities.toCimDatatype(CurrentFlow.class, UnitMultiplier.class, UnitSymbol.class, wireInfo, WireInfo.PROPERTY_RATED_CURRENT));
+
+ result.setWireInfos(Collections.singletonList(cimWireInfo));
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BaseVoltages_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BaseVoltages_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..99548935
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BaseVoltages_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Voltage;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link BaseVoltage}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage}-{@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class BaseVoltages_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<BaseVoltage>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BaseVoltages_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage> map(List<BaseVoltage> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(BaseVoltage sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setNominalVoltage(UnitUtilities.toCimDatatype(Voltage.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, BaseVoltage.PROPERTY_NOMINAL_VOLTAGE));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Bays_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Bays_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..7b71573e
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Bays_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,113 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Bay}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public class Bays_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Bay>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Bays_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link VoltageLevel}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the voltage level; can be <code>null</code>
+ */
+ private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel extractVoltageLevels(Bay sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel result = null;
+
+ if(sourceItem.getSuperEquipmentContainer() != null) {
+ if(sourceItem.getSuperEquipmentContainer().getKey() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel();
+ result.setMRID(sourceItem.getSuperEquipmentContainer().getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> map(List<Bay> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Bay sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setEquipments(extractEquipments(sourceItem.getEquipments()));
+ destinationItem.setVoltageLevel(extractVoltageLevels(sourceItem));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Breakers_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Breakers_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..c6c20f27
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Breakers_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,91 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Breaker;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Breaker}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Breakers_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Breaker>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Breakers_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker> map(List<Breaker> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Breaker sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker(); //
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setNormalOpen(sourceItem.isNormalOpen());
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BusbarSections_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BusbarSections_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..d560957e
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/BusbarSections_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.BusbarSection;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link BusbarSection}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class BusbarSections_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<BusbarSection>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BusbarSections_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection> map(List<BusbarSection> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(BusbarSection sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Disconnectors_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Disconnectors_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..db668197
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Disconnectors_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,91 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Disconnector;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Disconnector}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Disconnectors_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Disconnector>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Disconnectors_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector> map(List<Disconnector> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Disconnector sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setNormalOpen(sourceItem.isNormalOpen());
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..f296b791
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,96 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Resistance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link EarthFaultCompensator}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<EarthFaultCompensator>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EarthFaultCompensators_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator> map(List<EarthFaultCompensator> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(EarthFaultCompensator sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator(); //
+ destinationItem.setR(UnitUtilities.toCimDatatype(Resistance.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, EarthFaultCompensator.PROPERTY_R));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergyConsumers_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergyConsumers_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..f28153b9
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergyConsumers_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.consumption.EnergyConsumer;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link EnergyConsumer}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class EnergyConsumers_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<EnergyConsumer>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergyConsumers_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer> map(List<EnergyConsumer> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(EnergyConsumer sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergySources_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergySources_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..ed7eb7c1
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/EnergySources_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.generation.EnergySource;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link EnergySource}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class EnergySources_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<EnergySource>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergySources_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource> map(List<EnergySource> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(EnergySource sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GeographicalRegions_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GeographicalRegions_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..f8bc833a
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GeographicalRegions_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.region.GeographicalRegion;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link GeographicalRegion}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class GeographicalRegions_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<GeographicalRegion>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GeographicalRegions_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion> map(List<GeographicalRegion> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(GeographicalRegion sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setRegions(extractSubGeographicalRegions(sourceItem.getSubEquipmentContainers()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GroundingImpedances_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GroundingImpedances_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..1e352e76
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/GroundingImpedances_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,100 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Reactance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Resistance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link GroundingImpedance}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class GroundingImpedances_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<GroundingImpedance>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GroundingImpedances_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance> map(List<GroundingImpedance> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(GroundingImpedance sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance();
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setX(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, GroundingImpedance.PROPERTY_X));
+ destinationItem.setR(UnitUtilities.toCimDatatype(Resistance.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, EarthFaultCompensator.PROPERTY_R));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Grounds_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Grounds_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..888577da
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Grounds_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,91 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.Ground;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Ground}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Grounds_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Ground>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Grounds_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Grounds_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground> map(List<Ground> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Ground sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Junctions_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Junctions_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..9d2c396e
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Junctions_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Junction;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Junction}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Junctions_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Junction>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Junctions_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction> map(List<Junction> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Junction sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LineTypes_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LineTypes_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..0365cfdd
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LineTypes_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,88 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.LineType;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link LineType}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class LineTypes_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<LineType>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LineTypes_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType> map(List<LineType> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(LineType sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Lines_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Lines_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..effc4639
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Lines_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,134 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Line;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Line}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Lines_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Line>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Lines_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract line type.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the line type; can be <code>null</code>
+ */
+ private PSRType extractLineType(Line sourceItem) {
+
+ PSRType result = null;
+
+ if(sourceItem != null) {
+ if(sourceItem.getLineType() != null) {
+ result = new PSRType();
+ result.setMRID(sourceItem.getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract sub geographical region.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the sub geographical region; can be <code>null</code>
+ */
+ private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion extractSubGeographicalRegion(Line sourceItem) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion result = null;
+
+ if(sourceItem != null) {
+ if(sourceItem.getSuperEquipmentContainer() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion();
+ result.setMRID(sourceItem.getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line> map(List<Line> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Line sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setPSRType(extractLineType(sourceItem));
+ destinationItem.setEquipments(extractEquipments(sourceItem.getEquipments()));
+ destinationItem.setRegion(extractSubGeographicalRegion(sourceItem));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..e0897a94
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,91 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link LoadBreakSwitch}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<LoadBreakSwitch>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LoadBreakSwitches_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch> map(List<LoadBreakSwitch> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(LoadBreakSwitch sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setNormalOpen(sourceItem.isNormalOpen());
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PetersenCoils_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PetersenCoils_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..2bf1b63f
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PetersenCoils_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,132 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.CurrentFlow;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Reactance;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoilModeKind;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link PetersenCoil}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class PetersenCoils_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<PetersenCoil>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PetersenCoils_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil> map(List<PetersenCoil> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(PetersenCoil sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setMode(mapPetersenCoilModeKind(sourceItem.getMode()));
+
+ destinationItem.setOffsetCurrent(UnitUtilities.toCimDatatype(CurrentFlow.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, PetersenCoil.PROPERTY_OFFSET_CURRENT));
+ destinationItem.setPositionCurrent(UnitUtilities.toCimDatatype(CurrentFlow.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, PetersenCoil.PROPERTY_POSITION_CURRENT));
+ destinationItem.setXGroundMax(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, PetersenCoil.PROPERTY_X_GROUND_MAX));
+ destinationItem.setXGroundMin(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, PetersenCoil.PROPERTY_X_GROUND_MIN));
+ destinationItem.setXGroundNominal(UnitUtilities.toCimDatatype(Reactance.class, UnitMultiplier.class, UnitSymbol.class, sourceItem, PetersenCoil.PROPERTY_X_GROUND_NOMINAL));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Map {@link PetersenCoilModeKind}.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the cim17v07 PetersenCoilModeKind; can be <code>null</code>
+ */
+ private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind mapPetersenCoilModeKind(PetersenCoilModeKind source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind result;
+
+ switch(source) {
+ case fixed:
+ result = org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind.fixed;
+ break;
+ case manual:
+ result = org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind.manual;
+ break;
+ case automaticPositioning:
+ result = org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoilModeKind.automaticPositioning;
+ break;
+ default:
+ result = null;
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Plants_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Plants_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..b5b492b1
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Plants_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,89 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.generation.Plant;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link Plant}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-26 Frank Jäger
+ * @author 2017-10-26 Michael Korta
+ * @author 2017-10-26 Tomke Meyer
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Plants_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Plant>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Plants_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant> map(List<Plant> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Plant sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant();
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setEquipments(extractEquipments(sourceItem.getEquipments()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PowerTransformers_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PowerTransformers_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..848ba726
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/PowerTransformers_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,236 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.ApparentPower;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.PerCent;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitMultiplier;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.UnitSymbol;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Domain.Voltage;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformerEnd;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.RatioTapChanger;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link PowerTransformer}-{@link StaticTopology2}-model-definition to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-25 Frank Jäger
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class PowerTransformers_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<PowerTransformer>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PowerTransformers_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract high step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the integer; can be <code>null</code>
+ */
+ private Integer extractHighStep(PowerTransformerEnd source) {
+
+ Integer result = null;
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getHighStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract low step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the integer; can be <code>null</code>
+ */
+ private Integer extractLowStep(PowerTransformerEnd source) {
+
+ Integer result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getLowStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract normal step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the integer; can be <code>null</code>
+ */
+ private Integer extractNormalStep(PowerTransformerEnd source) {
+
+ Integer result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getNormalStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract ratio tap changer.
+ *
+ * @param source
+ * the source
+ * @return the ratio tap changer
+ */
+ private org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger extractRatioTapChanger(PowerTransformerEnd source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.RatioTapChanger();
+
+ result.setLowStep(extractLowStep(source));
+ result.setNormalStep(extractNormalStep(source));
+ result.setHighStep(extractHighStep(source));
+ result.setStep(extractStep(source));
+ result.setStepVoltageIncrement(UnitUtilities.toCimDatatype(PerCent.class, UnitMultiplier.class, UnitSymbol.class, source.getRatioTapChanger(), RatioTapChanger.PROPERTY_STEP_VOLTAGE_INCREMENT));
+
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the double; can be <code>null</code>
+ */
+ private Double extractStep(PowerTransformerEnd source) {
+
+ Double result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the specified {@link PowerTransformerEnd}s.
+ *
+ * @param powerTransformerEnds
+ * the specified {@link PowerTransformerEnd}s; can be <code>null</code> or empty
+ * @return the destination {@link PowerTransformerEnd}s; can be <code>null</code> or empty
+ */
+ private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd> extractTransformerEnds(List<PowerTransformerEnd> powerTransformerEnds) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd> result = null;
+
+ if((powerTransformerEnds != null) && !powerTransformerEnds.isEmpty()) {
+ for(PowerTransformerEnd powerTransformerEnd : powerTransformerEnds) {
+
+ if(result == null)
+ result = new ArrayList<>();
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd destinationPowerTransformerEnd = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd();
+
+ destinationPowerTransformerEnd.setRatedU(UnitUtilities.toCimDatatype(Voltage.class, UnitMultiplier.class, UnitSymbol.class, powerTransformerEnd, PowerTransformerEnd.PROPERTY_RATED_U));
+ destinationPowerTransformerEnd.setRatedS(UnitUtilities.toCimDatatype(ApparentPower.class, UnitMultiplier.class, UnitSymbol.class, powerTransformerEnd, PowerTransformerEnd.PROPERTY_RATED_S));
+ destinationPowerTransformerEnd.setTerminal(extractTerminal(powerTransformerEnd.getTerminal()));
+ destinationPowerTransformerEnd.setRatioTapChanger(extractRatioTapChanger(powerTransformerEnd));
+ destinationPowerTransformerEnd.setBaseVoltage(extractBaseVoltage(powerTransformerEnd));
+
+ result.add(destinationPowerTransformerEnd);
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer> map(List<PowerTransformer> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(PowerTransformer sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer();
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setVectorGroup(sourceItem.getVectorGroup());
+ destinationItem.setPowerTransformerEnd(extractTransformerEnds(sourceItem.getPowerTransformerEnds()));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..2e0cdd61
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,149 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.EquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Line;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link SubGeographicalRegion}-{@link StaticTopology2}-model-definition.
+ * to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion} {@link Cim17v07}-model-definition
+ *
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<SubGeographicalRegion>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubGeographicalRegions_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion}.
+ *
+ * @param sourceItems
+ * the {@link EquipmentContainer}'s; can be <code>null</code> or empty
+ * @return the sub geographical region; can be <code>null</code>
+ */
+ private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line> extractLines(List<IEquipmentContainer> sourceItems) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line> result = null;
+
+ if((sourceItems != null) && !sourceItems.isEmpty()) {
+ result = new ArrayList<>(sourceItems.size());
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line line = null;
+ for(IEquipmentContainer equipmentContainer : sourceItems) {
+ if(equipmentContainer.getClass().isAssignableFrom(Line.class)) {
+ line = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line();
+ line.setMRID(equipmentContainer.getKey().getId().toString());
+ result.add(line);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion}.
+ *
+ * @param sourceItems
+ * the {@link EquipmentContainer}'s; can be <code>null</code> or empty
+ * @return the sub geographical region; can be <code>null</code>
+ */
+ private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation> extractSubstations(List<IEquipmentContainer> sourceItems) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation> result = null;
+
+ if((sourceItems != null) && !sourceItems.isEmpty()) {
+ result = new ArrayList<>(sourceItems.size());
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation substation = null;
+ for(IEquipmentContainer equipmentContainer : sourceItems) {
+ if(equipmentContainer.getClass().isAssignableFrom(Substation.class)) {
+ substation = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation();
+ substation.setMRID(equipmentContainer.getKey().getId().toString());
+ result.add(substation);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion> map(List<SubGeographicalRegion> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(SubGeographicalRegion sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion();
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setSubstations(extractSubstations(sourceItem.getSubEquipmentContainers()));
+ destinationItem.setLines(extractLines(sourceItem.getSubEquipmentContainers()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubstationTypes_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubstationTypes_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..36d6887e
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/SubstationTypes_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link SubstationType}-{@link StaticTopology2}-model-definition.
+ * to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType} {@link Cim17v07}-model-definition
+ *
+ * @author 2017-10-25 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class SubstationTypes_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<SubstationType>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubstationTypes_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType> map(List<SubstationType> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(SubstationType sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType(); //
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Substation_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Substation_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..dbf37c81
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Substation_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,212 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link Substation}-{@link StaticTopology2}-model-definition.
+ * to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation} {@link Cim17v07}-model-definition
+ *
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-25 Frank Jäger
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Substation_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Substation>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Substation_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Substation_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract line type.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the line type; can be <code>null</code>
+ */
+ private PSRType extractSubstationType(Substation sourceItem) {
+
+ PSRType result = null;
+
+ if(sourceItem != null) {
+ if(sourceItem.getSubstationType() != null) {
+ result = new PSRType();
+ result.setMRID(sourceItem.getKey().getId().toString());
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation> map(List<Substation> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Substation sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation();
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setEquipments(extractEquipments(sourceItem.getEquipments()));
+ destinationItem.setVoltageLevels(createVoltageLevels(sourceItem.getSubEquipmentContainers()));
+ destinationItem.setBays(createBays(sourceItem.getSubEquipmentContainers()));
+ destinationItem.setPSRType(extractSubstationType(sourceItem));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Creates a list of {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel}.
+ *
+ * @param equipmentContainers
+ * the {@link IEquipmentContainer}; can be <code>null</code> or empty
+ * @return the list of <i>cim 17.v7</i> voltage levels; can be <code>null</code> or empty
+ */
+ private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel> createVoltageLevels(List<IEquipmentContainer> equipmentContainers) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel> result = null;
+
+ if(equipmentContainers != null && !equipmentContainers.isEmpty()) {
+ for(IEquipmentContainer equipmentContainer : equipmentContainers) {
+ if(VoltageLevel.class.isAssignableFrom(equipmentContainer.getClass())) {
+ if(result == null)
+ result = new ArrayList<>(equipmentContainers.size());
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel destinationVoltageLevel = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel();
+ destinationVoltageLevel.setMRID(equipmentContainer.getKey().getId().toString());
+
+ result.add(destinationVoltageLevel);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Creates list of {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay} .
+ *
+ * @param equipmentContainers
+ * the {@link IEquipmentContainer}; can be <code>null</code> or empty
+ * @return the list of <i>cim 17.v7</i> bays; can be <code>null</code> or empty
+ */
+ private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> createBays(List<IEquipmentContainer> equipmentContainers) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> result = null;
+
+ if(equipmentContainers != null && !equipmentContainers.isEmpty()) {
+ for(IEquipmentContainer equipmentContainer : equipmentContainers) {
+
+ if(Bay.class.isAssignableFrom(equipmentContainer.getClass())) {
+ if(result == null)
+ result = new ArrayList<>(equipmentContainers.size());
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay destinationBay = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay();
+ destinationBay.setMRID(equipmentContainer.getKey().getId().toString());
+
+ result.add(destinationBay);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ // /**
+ // * Creates the conducting equipment.
+ // *
+ // * @param type
+ // * the generic type
+ // * @param equipmentContainers
+ // * the equipment containers
+ // * @return the list
+ // */
+ // private <T extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment> List<T> createConductingEquipments(List<IEquipmentContainer> equipmentContainers, Class<?> type) {
+ //
+ // List<T> result = null;
+ //
+ // if(equipmentContainers != null && !equipmentContainers.isEmpty()) {
+ // for(IEquipmentContainer equipmentContainer : equipmentContainers) {
+ // if(result == null)
+ // result = new ArrayList<>(equipmentContainers.size());
+ //
+ // if(type.getClass().isAssignableFrom(equipmentContainer.getClass())) {
+ // T destination = null;
+ // try {
+ // destination = (T) (Object) type.getClass().newInstance();
+ // destination.setMRID(equipmentContainer.getKey().getId().toString());
+ // }
+ // catch(InstantiationException | IllegalAccessException e) {
+ // throw new IllegalArgumentException("the class " + type.getClass() + "could not be instantiated.");
+ // }
+ // result.add(destination);
+ // }
+ // }
+ // }
+ //
+ // return result;
+ // }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Switches_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Switches_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..c5f7db62
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/Switches_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Switch;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link Switch}-{@link StaticTopology2}-model-definition.
+ * to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch} {@link Cim17v07}-model-definition
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class Switches_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<Switch>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Switches_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch> map(List<Switch> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(Switch sourceItem : source) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch();
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setNormalOpen(sourceItem.isNormalOpen());
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setTerminals(extractTerminals(sourceItem.getTerminals()));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/VoltageLevels_StaticTopology2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/VoltageLevels_StaticTopology2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..5b3ffb21
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/exporter/VoltageLevels_StaticTopology2_Cim17v07_Mapper.java
@@ -0,0 +1,121 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.exporter;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link VoltageLevel} {@link StaticTopology2}-model-definition.
+ * to {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel} {@link Cim17v07}-model-definition.
+ *
+ * @author 2017-10-18 Michael Korta
+ * @author 2017-10-25 Frank Jäger
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, sourceModelDefinitionType = StaticTopology2.class, destinationModelDefinitionType = Cim17v07.class)
+public class VoltageLevels_StaticTopology2_Cim17v07_Mapper extends Abstract_StaticTopology2_Cim17v07_Mapper<List<VoltageLevel>, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_StaticTopology2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public VoltageLevels_StaticTopology2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel> map(List<VoltageLevel> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(VoltageLevel sourceItem : source) {
+
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel destinationItem = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel();
+
+ destinationItem.setMRID(sourceItem.getKey().getId().toString());
+ destinationItem.setName(sourceItem.getName());
+ destinationItem.setDescription(sourceItem.getDescription());
+ destinationItem.setNames(extractOriginalKeys(sourceItem.getOriginalKeys()));
+ destinationItem.setEquipments(extractEquipments(sourceItem.getEquipments()));
+ destinationItem.setBaseVoltage(extractBaseVoltage(sourceItem));
+ destinationItem.setBays(extractBays(sourceItem));
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the sub station; can be <code>null</code>
+ */
+ private List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> extractBays(VoltageLevel sourceItem) {
+
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> result = null;
+
+ List<IEquipmentContainer> equipmentContainers = sourceItem.getSubEquipmentContainers();
+
+ if((equipmentContainers != null) && !equipmentContainers.isEmpty()) {
+ result = new ArrayList<>(equipmentContainers.size());
+
+ for(IEquipmentContainer equipmentContainer : equipmentContainers) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay bay = new org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay();
+ bay.setMRID(equipmentContainer.getKey().getId().toString());
+ result.add(bay);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Abstract_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Abstract_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..f26336ad
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Abstract_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,339 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Name;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameType;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.NameTypeAuthority;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PerLengthSequenceImpedance;
+import org.eclipse.openk.common.collection.AlreadyExistingItemException;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.key.sourcesystem.OriginalKey;
+import org.eclipse.openk.common.key.sourcesystem.OriginalKeyType;
+import org.eclipse.openk.common.string.StringUtilities;
+import org.eclipse.openk.common.value.MissingValueException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.model.ConductingEquipment;
+import org.eclipse.openk.domain.statictopology.model.ConductingEquipment.ConductingEquipmentBuilder;
+import org.eclipse.openk.domain.statictopology.model.IEquipment;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.core.ConnectivityNode;
+import org.eclipse.openk.domain.statictopology.model.core.ConnectivityNode.ConnectivityNodeBuilder;
+import org.eclipse.openk.domain.statictopology.model.core.Terminal;
+import org.eclipse.openk.domain.statictopology.model.core.Terminal.TerminalBuilder;
+import org.eclipse.openk.domain.statictopology.model.line.WireInfo;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.AbstractMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperConfiguration;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The base of all static topology {@link IMapper}.
+ *
+ * @author 2017-10-17 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ *
+ * @param <S>
+ * the source model type
+ * @param <D>
+ * the destination model type
+ */
+public abstract class Abstract_Cim17v07_StaticTopology2_Mapper<S, D> extends AbstractMapper<MapperConfiguration, S, D, NoParameters> {
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ protected Abstract_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param <T>
+ * the type of conducting equipment
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ protected <T extends org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.ConductingEquipment> BaseVoltage extractBaseVoltage(T sourceItem) {
+
+ BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getMRID() != null) {
+ result = new BaseVoltage.BaseVoltageBuilder() //
+ .withKey(new Key(BaseVoltage.class, UUID.fromString(sourceItem.getBaseVoltage().getMRID()))) //
+ .build();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ protected BaseVoltage extractBaseVoltage(VoltageLevel sourceItem) {
+
+ BaseVoltage result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getMRID() != null) {
+ result = new BaseVoltage.BaseVoltageBuilder() //
+ .withKey(new Key(BaseVoltage.class, UUID.fromString(sourceItem.getBaseVoltage().getMRID()))) //
+ .build();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract connectivity node.
+ *
+ * @param source
+ * the source
+ * @return the connectivity node
+ */
+ private ConnectivityNode extractConnectivityNode(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal source) {
+
+ ConnectivityNode result = null;
+
+ if(source != null) {
+ if(source.getConnectivityNode() != null) {
+ result = new ConnectivityNodeBuilder() //
+ .withKey(new Key(ConnectivityNode.class, UUID.fromString(source.getConnectivityNode().getMRID()))) //
+ .withName(source.getConnectivityNode().getName()) //
+ .build();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the specified {@link WireInfo}s.
+ *
+ * @param equipments
+ * the specified {@link PerLengthSequenceImpedance}s; can be <code>null</code> or empty
+ * @return the {@link WireInfo}; can be <code>null</code> or empty
+ */
+ protected Map<Key, IEquipment> extractEquipments(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment> equipments) {
+
+ Map<Key, IEquipment> result = null;
+
+ if((equipments != null) && !equipments.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Equipment equipment : equipments) {
+
+ if(result == null)
+ result = new HashMap<>();
+
+ Key key = new Key(ConductingEquipment.class, UUID.fromString(equipment.getMRID()));
+
+ result.put(key, new ConductingEquipmentBuilder<>() //
+ .withKey(key) //
+ .build());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the original keys from the specified <i>CIM 17v07</i> {@link Name}s.
+ *
+ * @param names
+ * the <i>CIM 17v07</i> {@link Name}s; can be <code>null</code> or empty
+ * @return the original keys of the source-system; can be <code>null</code> or empty
+ */
+ protected final Map<OriginalKeyType, OriginalKey> extractOriginalKeys(List<Name> names) {
+
+ Map<OriginalKeyType, OriginalKey> result = null;
+
+ if((names != null) && !names.isEmpty()) {
+ OriginalKey originalKey;
+
+ for(Name name : names) {
+ originalKey = toOriginalKey(name);
+
+ if(originalKey == null)
+ getLogger().warn(new MissingValueException("originalKey"));
+ else {
+ if(result == null)
+ result = new HashMap<>();
+
+ if(result.containsKey(originalKey.getType()))
+ getLogger().warn(new AlreadyExistingItemException(originalKey.getType().toString()));
+ else
+ result.put(originalKey.getType(), originalKey);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the original key from the specified <i>CIM 17v07</i> {@link Name}s.
+ *
+ * @param sourceTerminal
+ * the <i>CIM 17v07</i> {@link Name}s; can be <code>null</code> or empty
+ * @return the original keys of the source-system; can be <code>null</code> or empty
+ */
+ protected Terminal extractTerminal(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal sourceTerminal) {
+
+ Terminal destinationTerminal;
+ if(sourceTerminal != null) {
+
+ Key key = new Key(Terminal.class, UUID.fromString(sourceTerminal.getMRID()));
+
+ destinationTerminal = new TerminalBuilder() //
+ .withKey(key) //
+ .withName(sourceTerminal.getName()).withConnectivityNode(extractConnectivityNode(sourceTerminal)) //
+ .build();
+ }
+ else {
+ destinationTerminal = null;
+ }
+
+ return destinationTerminal;
+ }
+
+ /**
+ * Extracts the specified {@link Terminal}s.
+ *
+ * @param terminals
+ * the specified {@link Terminal}s; can be <code>null</code> or empty
+ * @return the destination {@link Terminal}s; can be <code>null</code> or empty
+ */
+ protected LinkedHashMap<Key, Terminal> extractTerminals(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal> terminals) {
+
+ LinkedHashMap<Key, Terminal> result = null;
+
+ if((terminals != null) && !terminals.isEmpty()) {
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Terminal sourceTerminal : terminals) {
+
+ Key key = new Key(Terminal.class, UUID.fromString(sourceTerminal.getMRID()));
+
+ if(result == null)
+ result = new LinkedHashMap<>();
+
+ if(result.containsKey(key))
+ getLogger().warn(new AlreadyExistingItemException(key.toString()));
+ else {
+ Terminal destinationTerminal = new TerminalBuilder() //
+ .withKey(key) //
+ .withName(sourceTerminal.getName()) //
+ .withConnectivityNode(new ConnectivityNodeBuilder() //
+ .withKey(new Key(ConnectivityNode.class, UUID.fromString(sourceTerminal.getConnectivityNode().getMRID()))) //
+ .withName(sourceTerminal.getConnectivityNode().getName()) //
+ .build()) //
+ .build();
+ result.put(key, destinationTerminal);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Converts the specified {@link Name} to an {@link OriginalKey}.
+ *
+ * @param name
+ * the {@link Name}; can be <code>null</code>
+ * @return the original key of the source-system; can be <code>null</code>
+ */
+ protected final OriginalKey toOriginalKey(Name name) {
+
+ OriginalKey result = null;
+
+ if((name != null) && StringUtilities.hasContent(name.getName())) {
+ OriginalKeyType originalKeyType;
+
+ originalKeyType = toOriginalKeyType(name.getNameType());
+
+ if(originalKeyType == null)
+ getLogger().warn(new MissingValueException("originalKeyType"));
+ else
+ result = new OriginalKey(originalKeyType, name.getName());
+ }
+
+ return result;
+ }
+
+ /**
+ * Converts the specified {@link NameType} to an {@link OriginalKeyType}.
+ *
+ * @param nameType
+ * the {@link NameType}; can be <code>null</code>
+ * @return the original key type of the source-system; can be <code>null</code>
+ */
+ protected final OriginalKeyType toOriginalKeyType(NameType nameType) {
+
+ OriginalKeyType result;
+
+ if(nameType == null)
+ result = null;
+ else {
+ String authority;
+ String name;
+
+ /* authority */
+ if(nameType.getNameTypeAuthority() != null)
+ authority = nameType.getNameTypeAuthority().getName();
+ else
+ authority = null;
+
+ /* name */
+ name = nameType.getName();
+
+ if(!StringUtilities.hasContent(authority) || !StringUtilities.hasContent(name)) {
+ String nameSuffix = ".name";
+ if(!StringUtilities.hasContent(authority))
+ getLogger().warn(new MissingValueException(NameTypeAuthority.class.getSimpleName() + nameSuffix));
+ else
+ getLogger().warn(new MissingValueException(NameType.class.getSimpleName() + nameSuffix));
+
+ result = null;
+ }
+ else
+ result = new OriginalKeyType(authority, name);
+ }
+
+ return result;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/AcLineSegments_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/AcLineSegments_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..839111fd
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/AcLineSegments_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,138 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PerLengthSequenceImpedance;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.InvalidValueException;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.AcLineSegment;
+import org.eclipse.openk.domain.statictopology.model.line.AcLineSegment.AcLineSegmentBuilder;
+import org.eclipse.openk.domain.statictopology.model.line.WireInfo;
+import org.eclipse.openk.domain.statictopology.model.line.WireInfo.WireInfoBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link ACLineSegment}-{@link Cim17v07}-model-definition to {@link AcLineSegment}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class AcLineSegments_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment>, List<AcLineSegment>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public AcLineSegments_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extracts the specified {@link WireInfo}s.
+ *
+ * @param perLengthSequenceImpedance
+ * the specified {@link PerLengthSequenceImpedance}s; can be <code>null</code> or empty
+ * @return the {@link WireInfo}; can be <code>null</code> or empty
+ */
+ private WireInfo extractWireInfo(PerLengthSequenceImpedance perLengthSequenceImpedance) {
+
+ WireInfo result = null;
+
+ if((perLengthSequenceImpedance != null)) {
+ List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo> wireInfos = perLengthSequenceImpedance.getWireInfos();
+
+ if((wireInfos != null) && (wireInfos.size() == 1)) {
+ org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61968.AssetInfo.WireInfo wireInfo = wireInfos.get(0);
+
+ result = new WireInfoBuilder() //
+ .withR(UnitUtilities.normalizeValue(perLengthSequenceImpedance.getR(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, WireInfo.class, WireInfo.PROPERTY_R))) //
+ .withX(UnitUtilities.normalizeValue(perLengthSequenceImpedance.getX(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, WireInfo.class, WireInfo.PROPERTY_X))) //
+ .withRatedCurrent(wireInfo.getRatedCurrent().getValue()) //
+ .build();
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<AcLineSegment> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<AcLineSegment> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(ACLineSegment sourceItem : source) {
+
+ try {
+ AcLineSegment destinationItem = new AcLineSegmentBuilder() //
+ .withKey(new Key(AcLineSegment.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withLength(Long.valueOf(UnitUtilities.normalizeValue(sourceItem.getLength(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, AcLineSegment.class, AcLineSegment.PROPERTY_LENGTH)).longValue())) //
+ .withWireInfo(extractWireInfo((PerLengthSequenceImpedance) sourceItem.getPerLengthImpedance())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ catch(NullPointerException exception) {
+ LOGGER.warn(new InvalidValueException(sourceItem.getMRID()));
+ }
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BaseVoltages_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BaseVoltages_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..923edad4
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BaseVoltages_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,95 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage.BaseVoltageBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage}-{@link Cim17v07}-model-definition to {@link BaseVoltage}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class BaseVoltages_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage>, List<BaseVoltage>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BaseVoltages_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<BaseVoltage> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<BaseVoltage> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage sourceItem : source) {
+
+ BaseVoltage destinationItem = new BaseVoltageBuilder() //
+ .withKey(new Key(BaseVoltage.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withNominalVoltage(Integer.valueOf(UnitUtilities.normalizeValue(sourceItem.getNominalVoltage(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, BaseVoltage.class, BaseVoltage.PROPERTY_NOMINAL_VOLTAGE)).intValue())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Bays_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Bays_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..ec4a911b
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Bays_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,118 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay.BayBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay} {@link Cim17v07}-model-definition to {@link Bay}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public class Bays_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay>, List<Bay>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Bays_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link VoltageLevel}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the voltage level; can be <code>null</code>
+ */
+ private VoltageLevel extractVoltageLevels(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay sourceItem) {
+
+ VoltageLevel result = null;
+
+ if(sourceItem.getVoltageLevel() != null) {
+ if(sourceItem.getVoltageLevel().getMRID() != null) {
+ result = new VoltageLevel.VoltageLevelBuilder() //
+ .withKey(new Key(BaseVoltage.class, UUID.fromString(sourceItem.getVoltageLevel().getMRID()))) //
+ .build();
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<Bay> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Bay> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay sourceItem : source) {
+
+ Bay destinationItem = new BayBuilder() //
+ .withKey(new Key(Bay.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withEquipments(extractEquipments(sourceItem.getEquipments())).withKey(new Key(Bay.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withSuperEquipmentContainer(extractVoltageLevels(sourceItem)) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Breakers_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Breakers_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..95c0e698
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Breakers_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,95 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Breaker;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Breaker.BreakerBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker} {@link Cim17v07}-model-definition to {@link Breaker}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Breakers_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker>, List<Breaker>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Breakers_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<Breaker> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Breaker> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker sourceItem : source) {
+ Breaker destinationItem = new BreakerBuilder() //
+ .withKey(new Key(Breaker.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withNormalOpen(sourceItem.isNormalOpen()) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BusbarSections_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BusbarSections_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..e2801dbc
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/BusbarSections_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.BusbarSection;
+import org.eclipse.openk.domain.statictopology.model.substation.BusbarSection.BusbarSectionBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection} {@link Cim17v07}-model-definition to {@link BusbarSection}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class BusbarSections_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection>, List<BusbarSection>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BusbarSections_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<BusbarSection> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<BusbarSection> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection sourceItem : source) {
+ BusbarSection destinationItem = new BusbarSectionBuilder() //
+ .withKey(new Key(BusbarSection.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Disconnectors_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Disconnectors_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..e5a10605
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Disconnectors_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,95 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Disconnector;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Disconnector.DisconnectorBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector} {@link Cim17v07}-model-definition to {@link Disconnector}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Disconnectors_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector>, List<Disconnector>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Disconnectors_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<Disconnector> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Disconnector> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector sourceItem : source) {
+ Disconnector destinationItem = new DisconnectorBuilder() //
+ .withKey(new Key(Disconnector.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withNormalOpen(sourceItem.isNormalOpen()) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..d19e33db
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,98 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator.EarthFaultCompensatorBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator} {@link Cim17v07}-model-definition to {@link EarthFaultCompensator}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator>, List<EarthFaultCompensator>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EarthFaultCompensators_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<EarthFaultCompensator> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<EarthFaultCompensator> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator sourceItem : source) {
+
+ EarthFaultCompensator destinationItem = new EarthFaultCompensatorBuilder<>() //
+ .withR(UnitUtilities.normalizeValue(sourceItem.getR(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, EarthFaultCompensator.class, EarthFaultCompensator.PROPERTY_R))) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .withKey(new Key(EarthFaultCompensator.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .build(); //
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergyConsumers_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergyConsumers_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..775236ab
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergyConsumers_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.consumption.EnergyConsumer;
+import org.eclipse.openk.domain.statictopology.model.consumption.EnergyConsumer.EnergyConsumerBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer} {@link Cim17v07}-model-definition to {@link EnergyConsumer}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class EnergyConsumers_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer>, List<EnergyConsumer>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergyConsumers_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<EnergyConsumer> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<EnergyConsumer> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer sourceItem : source) {
+ EnergyConsumer destinationItem = new EnergyConsumerBuilder<>() //
+ .withKey(new Key(EnergyConsumer.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergySources_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergySources_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..1e7914b6
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/EnergySources_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.generation.EnergySource;
+import org.eclipse.openk.domain.statictopology.model.generation.EnergySource.EnergySourceBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource} {@link Cim17v07}-model-definition to {@link EnergySource}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class EnergySources_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource>, List<EnergySource>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergySources_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<EnergySource> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<EnergySource> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource sourceItem : source) {
+ EnergySource destinationItem = new EnergySourceBuilder<>() //
+ .withKey(new Key(EnergySource.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GeographicalRegions_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GeographicalRegions_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..5753ebbb
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GeographicalRegions_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,121 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.region.GeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.region.GeographicalRegion.GeographicalRegionBuilder;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion.SubGeographicalRegionBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion} {@link Cim17v07}-model-definition to {@link GeographicalRegion}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class GeographicalRegions_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion>, List<GeographicalRegion>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GeographicalRegions_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Creates the sub equipment containers.
+ *
+ * @param regions
+ * the regions; can be <code>null</code> or empty
+ * @return the list; can be <code>null</code> or empty
+ */
+ private List<IEquipmentContainer> createSubEquipmentContainers(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion> regions) {
+
+ List<IEquipmentContainer> result = null;
+
+ if(regions != null && !regions.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion subGeographicalRegion : regions) {
+ if(result == null)
+ result = new ArrayList<>(regions.size());
+
+ result.add(new SubGeographicalRegionBuilder() //
+ .withKey(new Key(SubGeographicalRegion.class, UUID.fromString(subGeographicalRegion.getMRID()))) //
+ .build());
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public List<GeographicalRegion> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<GeographicalRegion> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion sourceItem : source) {
+
+ GeographicalRegion destinationItem = new GeographicalRegionBuilder() //
+ .withKey(new Key(GeographicalRegion.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withSubEquipmentContainers(createSubEquipmentContainers(sourceItem.getRegions())) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GroundingImpedances_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GroundingImpedances_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..aacc12b9
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/GroundingImpedances_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,100 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.EarthFaultCompensator;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.GroundingImpedance;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.GroundingImpedance.GroundingImpedanceBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance} {@link Cim17v07}-model-definition to {@link GroundingImpedance}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class GroundingImpedances_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance>, List<GroundingImpedance>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GroundingImpedances_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<GroundingImpedance> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<GroundingImpedance> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance sourceItem : source) {
+
+ GroundingImpedance destinationItem = new GroundingImpedanceBuilder() //
+ .withKey(new Key(GroundingImpedance.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withX(UnitUtilities.normalizeValue(sourceItem.getX(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, GroundingImpedance.class, GroundingImpedance.PROPERTY_X))) //
+ .withR(UnitUtilities.normalizeValue(sourceItem.getR(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, GroundingImpedance.class, EarthFaultCompensator.PROPERTY_R))) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build(); //
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Grounds_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Grounds_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..837acaed
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Grounds_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,95 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.Ground;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.Ground.GroundBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground} {@link Cim17v07}-model-definition to {@link Ground}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Grounds_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground>, List<Ground>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Grounds_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Grounds_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<Ground> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Ground> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground sourceItem : source) {
+
+ Ground destinationItem = new GroundBuilder() //
+ .withKey(new Key(Ground.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build(); //
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Junctions_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Junctions_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..467ff3c9
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Junctions_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,93 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Junction;
+import org.eclipse.openk.domain.statictopology.model.line.Junction.JunctionBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction} {@link Cim17v07}-model-definition to {@link Junction}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Junctions_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction>, List<Junction>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Junctions_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<Junction> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Junction> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction sourceItem : source) {
+ Junction destinationItem = new JunctionBuilder() //
+ .withKey(new Key(Junction.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LineTypes_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LineTypes_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..b8321634
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LineTypes_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,91 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.LineType;
+import org.eclipse.openk.domain.statictopology.model.line.LineType.LineTypeBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType} {@link Cim17v07}-model-definition to {@link LineType}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class LineTypes_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType>, List<LineType>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LineTypes_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<LineType> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<LineType> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType sourceItem : source) {
+ LineType destinationItem = new LineTypeBuilder() //
+ .withKey(new Key(LineType.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Lines_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Lines_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..9597db52
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Lines_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,140 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Line;
+import org.eclipse.openk.domain.statictopology.model.line.Line.LineBuilder;
+import org.eclipse.openk.domain.statictopology.model.line.LineType;
+import org.eclipse.openk.domain.statictopology.model.line.LineType.LineTypeBuilder;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion.SubGeographicalRegionBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line} {@link Cim17v07}-model-definition to {@link Line}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LINES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Lines_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line>, List<Line>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Lines_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract line type.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the line type; can be <code>null</code>
+ */
+ private LineType extractLineType(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line sourceItem) {
+
+ LineType result = null;
+
+ if(sourceItem != null) {
+ if(sourceItem.getPSRType() != null) {
+ result = new LineTypeBuilder()//
+ .withKey(new Key(LineType.class, UUID.fromString(sourceItem.getPSRType().getMRID()))).build();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract sub geographical region.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the sub geographical region; can be <code>null</code>
+ */
+ private SubGeographicalRegion extractSubGeographicalRegion(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line sourceItem) {
+
+ SubGeographicalRegion result = null;
+
+ if(sourceItem != null) {
+ if(sourceItem.getRegion() != null) {
+ result = new SubGeographicalRegionBuilder()//
+ .withKey(new Key(SubGeographicalRegion.class, UUID.fromString(sourceItem.getRegion().getMRID()))).build();
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<Line> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Line> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line sourceItem : source) {
+ Line destinationItem = new LineBuilder() //
+ .withKey(new Key(Line.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withLineType(extractLineType(sourceItem)) //
+ .withEquipments(extractEquipments(sourceItem.getEquipments())) //
+ .withSuperEquipmentContainer(extractSubGeographicalRegion(sourceItem)) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..b895d94a
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,94 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.LoadBreakSwitch;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.LoadBreakSwitch.LoadBreakSwitchBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch} {@link Cim17v07}-model-definition to {@link LoadBreakSwitch}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch>, List<LoadBreakSwitch>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LoadBreakSwitches_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<LoadBreakSwitch> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<LoadBreakSwitch> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch sourceItem : source) {
+ LoadBreakSwitch destinationItem = new LoadBreakSwitchBuilder() //
+ .withKey(new Key(LoadBreakSwitch.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withNormalOpen(sourceItem.isNormalOpen()) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PetersenCoils_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PetersenCoils_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..8881bc61
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PetersenCoils_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,103 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoil;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoil.PetersenCoilBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.grounding.PetersenCoilModeKind;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil} {@link Cim17v07}-model-definition to {@link PetersenCoil}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class PetersenCoils_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil>, List<PetersenCoil>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PetersenCoils_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<PetersenCoil> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<PetersenCoil> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil sourceItem : source) {
+
+ PetersenCoil destinationItem = new PetersenCoilBuilder() //
+ .withKey(new Key(PetersenCoil.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withMode(PetersenCoilModeKind.valueOf(sourceItem.getMode().name())) //
+ .withOffsetCurrent(UnitUtilities.normalizeValue(sourceItem.getOffsetCurrent(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PetersenCoil.class, PetersenCoil.PROPERTY_OFFSET_CURRENT))) //
+ .withPositionCurrent(UnitUtilities.normalizeValue(sourceItem.getPositionCurrent(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PetersenCoil.class, PetersenCoil.PROPERTY_POSITION_CURRENT))) //
+ .withXGroundMax(UnitUtilities.normalizeValue(sourceItem.getXGroundMax(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PetersenCoil.class, PetersenCoil.PROPERTY_X_GROUND_MAX))) //
+ .withXGroundMin(UnitUtilities.normalizeValue(sourceItem.getXGroundMin(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PetersenCoil.class, PetersenCoil.PROPERTY_X_GROUND_MIN))) //
+ .withXGroundNominal(UnitUtilities.normalizeValue(sourceItem.getXGroundNominal(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PetersenCoil.class, PetersenCoil.PROPERTY_X_GROUND_NOMINAL))) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build(); //
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Plants_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Plants_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..d93ba7b3
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Plants_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,92 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.generation.Plant;
+import org.eclipse.openk.domain.statictopology.model.generation.Plant.PlantBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant} {@link Cim17v07}-model-definition to {@link Plant}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Plants_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant>, List<Plant>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Plants_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<Plant> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Plant> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant sourceItem : source) {
+ Plant destinationItem = new PlantBuilder() //
+ .withKey(new Key(Plant.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withEquipments(extractEquipments(sourceItem.getEquipments())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PowerTransformers_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PowerTransformers_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..a3608071
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/PowerTransformers_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,280 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.system.type.TypeInformationProvider;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.core.BaseVoltage;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformer;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformer.PowerTransformerBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformerEnd;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.PowerTransformerEnd.PowerTransformerEndBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.RatioTapChanger;
+import org.eclipse.openk.domain.statictopology.model.substation.powertransformer.RatioTapChanger.RatioTapChangerBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.model.new_repository.model.unit.UnitUtilities;
+
+/**
+ * The {@link IMapper} for mapping from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer} {@link Cim17v07}-model-definition to {@link PowerTransformer}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class PowerTransformers_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer>, List<PowerTransformer>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PowerTransformers_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Extract {@link BaseVoltage}.
+ *
+ * @param powerTransformerEnd
+ * can be <code>null</code>
+ * @return the base voltage; can be <code>null</code>
+ */
+ private BaseVoltage extractBaseVoltage(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd powerTransformerEnd) {
+
+ BaseVoltage result = null;
+
+ if(powerTransformerEnd != null) {
+ if(powerTransformerEnd.getBaseVoltage() != null) {
+ if(powerTransformerEnd.getBaseVoltage().getMRID() != null) {
+ result = new BaseVoltage.BaseVoltageBuilder() //
+ .withKey(new Key(BaseVoltage.class, UUID.fromString(powerTransformerEnd.getBaseVoltage().getMRID()))) //
+ .build();
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract high step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the integer; can be <code>null</code>
+ */
+ private Integer extractHighStep(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd source) {
+
+ Integer result = null;
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getHighStep();
+ }
+
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract low step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the integer; can be <code>null</code>
+ */
+ private Integer extractLowStep(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd source) {
+
+ Integer result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getLowStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract normal step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the integer; can be <code>null</code>
+ */
+ private Integer extractNormalStep(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd source) {
+
+ Integer result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getNormalStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract ratio tap changer.
+ *
+ * @param source
+ * the source
+ * @return the ratio tap changer
+ */
+ private RatioTapChanger extractRatioTapChanger(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd source) {
+
+ RatioTapChanger result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null)
+ result = new RatioTapChangerBuilder() //
+ .withLowStep(extractLowStep(source)) //
+ .withNormalStep(extractNormalStep(source)) //
+ .withHighStep(extractHighStep(source)) //
+ .withStep(extractStep(source)) //
+ .withStepVoltageIncrement(extractStepVoltageIncrement(source)) //
+ .build();
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract step.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the double; can be <code>null</code>
+ */
+ private Double extractStep(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd source) {
+
+ Double result = null;
+
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ result = source.getRatioTapChanger().getStep();
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract step voltage increment.
+ *
+ * @param source
+ * the source; not <code>null</code>
+ * @return the double; can be <code>null</code>
+ */
+ private Double extractStepVoltageIncrement(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd source) {
+
+ Double result = null;
+ if(source != null) {
+ if(source.getRatioTapChanger() != null) {
+ if(source.getRatioTapChanger().getStepVoltageIncrement() != null) {
+ result = UnitUtilities.normalizeValue(source.getRatioTapChanger().getStepVoltageIncrement(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, RatioTapChanger.class, RatioTapChanger.PROPERTY_STEP_VOLTAGE_INCREMENT));
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extracts the specified {@link PowerTransformerEnd}s.
+ *
+ * @param powerTransformerEnds
+ * the specified {@link PowerTransformerEnd}s; can be <code>null</code> or empty
+ * @return the destination {@link PowerTransformerEnd}s; can be <code>null</code> or empty
+ */
+ private List<PowerTransformerEnd> extractTransformerEnds(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd> powerTransformerEnds) {
+
+ List<PowerTransformerEnd> result = null;
+
+ if((powerTransformerEnds != null) && !powerTransformerEnds.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformerEnd powerTransformerEnd : powerTransformerEnds) {
+
+ if(result == null)
+ result = new ArrayList<>();
+
+ result.add(new PowerTransformerEndBuilder() //
+ .withRatedU(UnitUtilities.normalizeValue(powerTransformerEnd.getRatedU(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PowerTransformerEnd.class, PowerTransformerEnd.PROPERTY_RATED_U))) //
+ .withRatedS(UnitUtilities.normalizeValue(powerTransformerEnd.getRatedS(), UnitUtilities.getUnitInformation(TypeInformationProvider.DEFAULT_INSTANCE, PowerTransformerEnd.class, PowerTransformerEnd.PROPERTY_RATED_S))) //
+ .withRatioTapChanger(extractRatioTapChanger(powerTransformerEnd)) //
+ .withBaseVoltage(extractBaseVoltage(powerTransformerEnd)).withTerminal(extractTerminal(powerTransformerEnd.getTerminal())).build());
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<PowerTransformer> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<PowerTransformer> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer sourceItem : source) {
+ PowerTransformer destinationItem = new PowerTransformerBuilder() //
+ .withKey(new Key(PowerTransformer.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withVectorGroup(sourceItem.getVectorGroup()) //
+ .withPowerTransformerEnds(extractTransformerEnds(sourceItem.getPowerTransformerEnd())) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..f3541e3e
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,133 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.line.Line;
+import org.eclipse.openk.domain.statictopology.model.line.Line.LineBuilder;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion;
+import org.eclipse.openk.domain.statictopology.model.region.SubGeographicalRegion.SubGeographicalRegionBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation.SubstationBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion} {@link Cim17v07}-model-definition
+ * to {@link SubGeographicalRegion}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion>, List<SubGeographicalRegion>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubGeographicalRegions_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ /**
+ * Creates the sub equipment containers.
+ *
+ * @param substations
+ * the voltage levels; can be <code>null</code> or empty
+ * @param lines
+ * the bays; can be <code>null</code> or empty
+ * @return the list; can be <code>null</code> or empty
+ */
+ private List<IEquipmentContainer> createSubEquipmentContainers(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation> substations, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line> lines) {
+
+ List<IEquipmentContainer> result = null;
+
+ if(substations != null && !substations.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer equipmentContainer : substations) {
+ if(result == null)
+ result = new ArrayList<>(substations.size());
+
+ result.add(new SubstationBuilder().withKey(new Key(Substation.class, UUID.fromString(equipmentContainer.getMRID()))).build());
+ }
+ }
+ if(lines != null && !lines.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line equipmentContainer : lines) {
+ if(result == null)
+ result = new ArrayList<>(lines.size());
+
+ result.add(new LineBuilder().withKey(new Key(Line.class, UUID.fromString(equipmentContainer.getMRID()))).build());
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<SubGeographicalRegion> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<SubGeographicalRegion> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion sourceItem : source) {
+
+ SubGeographicalRegion destinationItem = new SubGeographicalRegionBuilder() //
+ .withKey(new Key(SubGeographicalRegion.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withSubEquipmentContainers(createSubEquipmentContainers(sourceItem.getSubstations(), sourceItem.getLines())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubstationTypes_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubstationTypes_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..741bfd41
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/SubstationTypes_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,93 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType.SubstationTypeBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType} {@link Cim17v07}-model-definition
+ * to {@link SubstationType}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class SubstationTypes_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType>, List<SubstationType>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubstationTypes_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<SubstationType> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<SubstationType> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.PSRType sourceItem : source) {
+ SubstationType destinationItem = new SubstationTypeBuilder() //
+ .withKey(new Key(SubstationType.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Substation_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Substation_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..39f49cd9
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Substation_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,138 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay.BayBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation.SubstationBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType.SubstationTypeBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel.VoltageLevelBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation} {@link Cim17v07}-model-definition
+ * to {@link Substation}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-20 Michael Korta
+ * @author 2017-10-17 Renko Ortgies
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Substation_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation>, List<Substation>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Substation_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Substation_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+
+ @Override
+ public List<Substation> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Substation> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation sourceItem : source) {
+
+ Substation destinationItem = new SubstationBuilder() //
+ .withKey(new Key(Substation.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withSubstationType(new SubstationTypeBuilder().withKey(new Key(SubstationType.class, UUID.fromString(sourceItem.getPSRType().getMRID()))).build()) //
+ .withEquipments(extractEquipments(sourceItem.getEquipments()))//
+ .withSubEquipmentContainers(createSubEquipmentContainers(sourceItem.getVoltageLevels(), sourceItem.getBays())) //
+ .build(); //
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Creates the sub equipment containers.
+ *
+ * @param voltageLevels
+ * the voltage levels; can be <code>null</code> or empty
+ * @param bays
+ * the bays; can be <code>null</code> or empty
+ * @return the list; can be <code>null</code> or empty
+ */
+ private List<IEquipmentContainer> createSubEquipmentContainers(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel> voltageLevels, List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay> bays) {
+
+ List<IEquipmentContainer> result = null;
+
+ if(voltageLevels != null && !voltageLevels.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer equipmentContainer : voltageLevels) {
+ if(result == null)
+ result = new ArrayList<>(voltageLevels.size());
+
+ result.add(new VoltageLevelBuilder().withKey(new Key(VoltageLevel.class, UUID.fromString(equipmentContainer.getMRID()))).build());
+ }
+ }
+ else if(bays != null && !bays.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer equipmentContainer : bays) {
+ if(result == null)
+ result = new ArrayList<>(bays.size());
+
+ result.add(new BayBuilder().withKey(new Key(Bay.class, UUID.fromString(equipmentContainer.getMRID()))).build());
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Switches_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Switches_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..3ccbf80d
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/Switches_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,97 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Switch;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Switch.SwitchBuilder;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch} {@link Cim17v07}-model-definition
+ * to {@link Switch}-{@link StaticTopology2}-model-definition.
+ *
+ * @author 2017-10-18 Christian Brunzendorf
+ * @author 2017-10-17 Frank Jäger
+ * @author 2017-10-20 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public final class Switches_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch>, List<Switch>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Switches_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<Switch> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<Switch> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch sourceItem : source) {
+ Switch destinationItem = new SwitchBuilder<>() //
+ .withKey(new Key(Switch.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withNormalOpen(sourceItem.isNormalOpen()) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withTerminals(extractTerminals(sourceItem.getTerminals())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/VoltageLevels_Cim17v07_StaticTopology2_Mapper.java b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/VoltageLevels_Cim17v07_StaticTopology2_Mapper.java
new file mode 100644
index 00000000..b248b448
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/adapter/src/main/java/org/eclipse/openk/domain/statictopology/adapter/dataexchange/mapper/importer/VoltageLevels_Cim17v07_StaticTopology2_Mapper.java
@@ -0,0 +1,147 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.adapter.dataexchange.mapper.importer;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay;
+import org.eclipse.openk.common.key.Key;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.IEquipmentContainer;
+import org.eclipse.openk.domain.statictopology.model.StaticTopology2;
+import org.eclipse.openk.domain.statictopology.model.substation.Bay.BayBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation;
+import org.eclipse.openk.domain.statictopology.model.substation.Substation.SubstationBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel;
+import org.eclipse.openk.domain.statictopology.model.substation.VoltageLevel.VoltageLevelBuilder;
+import org.eclipse.openk.domain.statictopology.model.substation.switches.Switch;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.IMapper;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The {@link IMapper} for mapping
+ * from {@link org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel} {@link Cim17v07}-model-definition
+ * to {@link Switch}-{@link VoltageLevel}-model-definition.
+ *
+ * @author 2017-10-18 Michael Korta
+ */
+@MapperInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, sourceModelDefinitionType = Cim17v07.class, destinationModelDefinitionType = StaticTopology2.class)
+public class VoltageLevels_Cim17v07_StaticTopology2_Mapper extends Abstract_Cim17v07_StaticTopology2_Mapper<List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel>, List<VoltageLevel>> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_Cim17v07_StaticTopology2_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public VoltageLevels_Cim17v07_StaticTopology2_Mapper(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<VoltageLevel> map(List<org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel> source, NoParameters mappingParameters) throws IllegalArgumentException, IOException {
+
+ List<VoltageLevel> result = null;
+
+ if((source != null) && !source.isEmpty()) {
+ result = new ArrayList<>(source.size());
+
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel sourceItem : source) {
+
+ VoltageLevel destinationItem = new VoltageLevelBuilder() //
+ .withKey(new Key(VoltageLevel.class, UUID.fromString(sourceItem.getMRID()))) //
+ .withName(sourceItem.getName()) //
+ .withDescription(sourceItem.getDescription()) //
+ .withOriginalKeys(extractOriginalKeys(sourceItem.getNames())) //
+ .withEquipments(extractEquipments(sourceItem.getEquipments())) //
+ .withBaseVoltage(extractBaseVoltage(sourceItem)) //
+ .withSubEquipmentContainers(createSubEquipmentContainers(sourceItem.getBays())) //
+ .build();
+
+ result.add(destinationItem);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Creates the sub equipment containers.
+ *
+ * @param bays
+ * the bays; can be <code>null</code> or empty
+ * @return the list; can be <code>null</code> or empty
+ */
+ private List<IEquipmentContainer> createSubEquipmentContainers(List<Bay> bays) {
+
+ List<IEquipmentContainer> result = null;
+
+ if(bays != null && !bays.isEmpty()) {
+ for(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.EquipmentContainer equipmentContainer : bays) {
+ if(result == null)
+ result = new ArrayList<>(bays.size());
+
+ result.add(new BayBuilder().withKey(new Key(Bay.class, UUID.fromString(equipmentContainer.getMRID()))).build());
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Extract {@link Substation}.
+ *
+ * @param sourceItem
+ * the source item; not <code>null</code>
+ * @return the sub station; can be <code>null</code>
+ */
+ private Substation extractSubstation(org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel sourceItem) {
+
+ Substation result = null;
+
+ if(sourceItem.getBaseVoltage() != null) {
+ if(sourceItem.getBaseVoltage().getMRID() != null) {
+ result = new SubstationBuilder() //
+ .withKey(new Key(Substation.class, UUID.fromString(sourceItem.getMRID()))) //
+ .build();
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Abstract_Cim_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Abstract_Cim_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..495335e7
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Abstract_Cim_Xml_Rest_DataProvider.java
@@ -0,0 +1,66 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import java.util.UUID;
+
+import org.eclipse.openk.common.net.UrlQueryString;
+import org.eclipse.openk.domain.statictopology.adapter.dataexchange.cim.responder.ITopologyIdParameterOwner;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The base of all <i>CIM</i> <i>REST</i> {@link IDataProvider}s.
+ *
+ * @author 2017-10-05 Christian Brunzendorf
+ * @author 2017-10-05 Felix Korb
+ * @author 2017-10-05 Frank Jäger
+ * @author 2017-10-05 Tomke Meyer
+ */
+public abstract class Abstract_Cim_Xml_Rest_DataProvider extends org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.AbstractCimRestDataProvider<RestDataProviderConfiguration, UUID> {
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ protected Abstract_Cim_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Methods
+ @Override
+ protected UrlQueryString createUrlQueryString(UUID importParameters) throws IllegalArgumentException {
+
+ UrlQueryString result = super.createUrlQueryString(importParameters);
+
+ if(importParameters != null) {
+
+ if(result == null)
+ result = new UrlQueryString();
+
+ /* add topology-id parameter */
+ result.addParameter(ITopologyIdParameterOwner.PARAMETER_TOPOLOGY_ID, importParameters.toString());
+ }
+
+ return result;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/AcLineSegments_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/AcLineSegments_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..40b50020
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/AcLineSegments_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.ACLineSegment;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link ACLineSegment}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_AC_LINE_SEGMENTS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class AcLineSegments_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(AcLineSegments_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public AcLineSegments_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BaseVoltages_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BaseVoltages_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..ae91a721
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BaseVoltages_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.BaseVoltage;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link BaseVoltage}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BASE_VOLTAGES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class BaseVoltages_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BaseVoltages_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BaseVoltages_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Bays_2_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Bays_2_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..303911ef
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Bays_2_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Bay;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Bay}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BAYS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Bays_2_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Bays_2_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Bays_2_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Breakers_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Breakers_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..573ab935
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Breakers_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Breaker;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Breaker}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BREAKERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Breakers_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Breakers_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Breakers_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BusbarSections_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BusbarSections_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..14556b51
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/BusbarSections_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.BusbarSection;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link BusbarSection}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_BUSBAR_SECTIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class BusbarSections_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(BusbarSections_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public BusbarSections_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Disconnectors_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Disconnectors_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..471880de
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Disconnectors_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Disconnector;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Disconnector}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_DISCONNECTORS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Disconnectors_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Disconnectors_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Disconnectors_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EarthFaultCompensators_1_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EarthFaultCompensators_1_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..7be36d08
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EarthFaultCompensators_1_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EarthFaultCompensator;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link EarthFaultCompensator}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_EARTH_FAULT_COMPENSATORS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class EarthFaultCompensators_1_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EarthFaultCompensators_1_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EarthFaultCompensators_1_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergyConsumers_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergyConsumers_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..92295b1b
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergyConsumers_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergyConsumer;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link EnergyConsumer}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_CONSUMERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class EnergyConsumers_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergyConsumers_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergyConsumers_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergySources_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergySources_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..6217d738
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/EnergySources_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,60 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.EnergySource;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link EnergySource}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_ENERGY_SOURCES, version = 3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+@SuppressWarnings("checkstyle:magicnumber")
+public final class EnergySources_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(EnergySources_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public EnergySources_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GeographicalRegions_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GeographicalRegions_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..a5449097
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GeographicalRegions_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.GeographicalRegion;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link GeographicalRegion}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_GEOGRAPHICAL_REGIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class GeographicalRegions_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GeographicalRegions_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GeographicalRegions_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GroundingImpedances_1_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GroundingImpedances_1_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..23b534dd
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/GroundingImpedances_1_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.GroundingImpedance;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link GroundingImpedance}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDING_IMPEDANCES, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class GroundingImpedances_1_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(GroundingImpedances_1_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public GroundingImpedances_1_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Grounds_1_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Grounds_1_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..7c8f6bd0
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Grounds_1_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Ground;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Ground}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_GROUNDS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Grounds_1_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Grounds_1_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Grounds_1_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Junctions_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Junctions_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..04c71ebb
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Junctions_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Junction;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Junction}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_JUNCTIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Junctions_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Junctions_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Junctions_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LineTypes_2_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LineTypes_2_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..f5702173
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LineTypes_2_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.line.LineType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link LineType} <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINE_TYPES, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class LineTypes_2_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LineTypes_2_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LineTypes_2_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Lines_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Lines_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..8d22ca64
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Lines_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,62 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Line;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Line}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-05 Christian Brunzendorf
+ * @author 2017-10-05 Felix Korb
+ * @author 2017-10-05 Frank Jäger
+ * @author 2017-10-05 Tomke Meyer
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_LINES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Lines_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Lines_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Lines_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LoadBreakSwitches_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LoadBreakSwitches_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..ce1f22c1
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/LoadBreakSwitches_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.LoadBreakSwitch;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link LoadBreakSwitch}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_LOAD_BREAK_SWITCHES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class LoadBreakSwitches_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(LoadBreakSwitches_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public LoadBreakSwitches_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PetersenCoils_1_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PetersenCoils_1_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..3069a948
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PetersenCoils_1_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PetersenCoil;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link PetersenCoil}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_PETERSEN_COILS, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class PetersenCoils_1_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PetersenCoils_1_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PetersenCoils_1_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Plants_2_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Plants_2_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..c5f8902b
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Plants_2_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Plant;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Plant}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_PLANTS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Plants_2_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Plants_2_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Plants_2_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PowerTransformers_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PowerTransformers_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..b43fc765
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/PowerTransformers_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.PowerTransformer;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link PowerTransformer}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_POWER_TRANSFORMERS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class PowerTransformers_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(PowerTransformers_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public PowerTransformers_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubGeographicalRegions_2_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubGeographicalRegions_2_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..34d3a525
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubGeographicalRegions_2_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.SubGeographicalRegion;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link SubGeographicalRegion}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUB_GEOGRAPHICAL_REGIONS, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class SubGeographicalRegions_2_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubGeographicalRegions_2_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubGeographicalRegions_2_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubstationTypes_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubstationTypes_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..ba8cef73
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/SubstationTypes_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.domain.statictopology.model.substation.SubstationType;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link SubstationType}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATION_TYPES, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class SubstationTypes_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(SubstationTypes_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public SubstationTypes_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Substations_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Substations_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..a8988092
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Substations_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.Substation;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Substation}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_SUBSTATIONS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Substations_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Substations_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Substations_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Switches_2_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Switches_2_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..e9c15da6
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/Switches_2_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Wires.Switch;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link Switch}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_SWITCHES, version = 2, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class Switches_2_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(Switches_2_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public Switches_2_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/TopologyId_1_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/TopologyId_1_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..1b216fd3
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/TopologyId_1_Xml_Rest_DataProvider.java
@@ -0,0 +1,58 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The topology id <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_TOPOLOGY_ID, version = 1, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class TopologyId_1_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyId_1_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public TopologyId_1_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/VoltageLevels_3_Xml_Rest_DataProvider.java b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/VoltageLevels_3_Xml_Rest_DataProvider.java
new file mode 100644
index 00000000..b284fcc4
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.static-topology/infrastructure/src/main/java/org/eclipse/openk/domain/statictopology/infrastructure/dataexchange/dataprovider/VoltageLevels_3_Xml_Rest_DataProvider.java
@@ -0,0 +1,59 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.statictopology.infrastructure.dataexchange.dataprovider;
+
+import org.eclipse.openk.cim.cim17v07.TC57CIM.IEC61970.Base.Core.VoltageLevel;
+import org.eclipse.openk.common.dataexchange.CommunicationTechnology;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.statictopology.core.StaticTopologyDefaults;
+import org.eclipse.openk.service.core.IServiceContext;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.DataProviderInformation;
+import org.eclipse.openk.service.core.dataexchange.dataprovider.IDataProvider;
+import org.eclipse.openk.service.infrastructure.dataexchange.dataprovider.RestDataProviderConfiguration;
+
+/**
+ * The {@link VoltageLevel}s <i>REST</i> {@link IDataProvider}.
+ *
+ * @author 2017-10-09 Frank Jäger
+ */
+@DataProviderInformation(scope = StaticTopologyDefaults.SCOPE_VOLTAGE_LEVELS, version = StaticTopologyDefaults.VERSION_3, importFormat = MediaType.ApplicationXml, communicationTechnology = CommunicationTechnology.REST, configurationType = RestDataProviderConfiguration.class)
+public final class VoltageLevels_3_Xml_Rest_DataProvider extends Abstract_Cim_Xml_Rest_DataProvider {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(VoltageLevels_3_Xml_Rest_DataProvider.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public VoltageLevels_3_Xml_Rest_DataProvider(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/deserializer/TopologyState_1_Xml_Cim17v07_Deserializer.java b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/deserializer/TopologyState_1_Xml_Cim17v07_Deserializer.java
new file mode 100644
index 00000000..b83ade74
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/deserializer/TopologyState_1_Xml_Cim17v07_Deserializer.java
@@ -0,0 +1,62 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.topologystate.adapter.dataexchange.cim.deserializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.topologystate.core.TopologyStateDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.cim.deserializer.AbstractCimXmlDeserializer;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.DeserializerInformation;
+import org.eclipse.openk.service.adapter.dataexchange.deserializer.IDeserializer;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The <i>XML</i> {@link IDeserializer} for {@link Cim17v07} models.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <E>
+ * the {@link ICimEntity} type
+ */
+@DeserializerInformation(scope = TopologyStateDefaults.DOMAIN, inputFormat = MediaType.ApplicationXml, outputModelDefinitionType = Cim17v07.class)
+public final class TopologyState_1_Xml_Cim17v07_Deserializer<E extends ICimEntity> extends AbstractCimXmlDeserializer<E> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyState_1_Xml_Cim17v07_Deserializer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public TopologyState_1_Xml_Cim17v07_Deserializer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/serializer/TopologyState_1_Cim17v07_Xml_Serializer.java b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/serializer/TopologyState_1_Cim17v07_Xml_Serializer.java
new file mode 100644
index 00000000..d6fbf25a
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/cim/serializer/TopologyState_1_Cim17v07_Xml_Serializer.java
@@ -0,0 +1,63 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.topologystate.adapter.dataexchange.cim.serializer;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.MediaType;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.domain.topologystate.core.TopologyStateDefaults;
+import org.eclipse.openk.service.adapter.dataexchange.cim.serializer.AbstractCimXmlSerializer;
+import org.eclipse.openk.service.adapter.dataexchange.serializer.ISerializer;
+import org.eclipse.openk.service.adapter.dataexchange.serializer.SerializerInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * The <i>RDF</i> {@link ISerializer} for {@link Cim17v07} models.
+ *
+ * @author 2017-10-31 Felix Korb
+ *
+ * @param <E>
+ * the {@link ICimEntity} type
+ */
+@SerializerInformation(scope = TopologyStateDefaults.DOMAIN, outputFormat = MediaType.ApplicationXml, inputModelDefinitionType = Cim17v07.class, parametersType = ICimHeaderParameters.class)
+public final class TopologyState_1_Cim17v07_Xml_Serializer<E> extends AbstractCimXmlSerializer<E> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(TopologyState_1_Cim17v07_Xml_Serializer.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * </ul>
+ */
+ public TopologyState_1_Cim17v07_Xml_Serializer(IServiceContext context) throws IllegalArgumentException {
+
+ super(context);
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+} \ No newline at end of file
diff --git a/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/mapper/cim17v07/MeasurementPoints_TopologyState2_Cim17v07_Mapper.java b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/mapper/cim17v07/MeasurementPoints_TopologyState2_Cim17v07_Mapper.java
new file mode 100644
index 00000000..23bbae95
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/mapper/cim17v07/MeasurementPoints_TopologyState2_Cim17v07_Mapper.java
@@ -0,0 +1,90 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.topologystate.adapter.dataexchange.mapper.cim17v07;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.openk.cim.cim17v07.Cim17v07;
+import org.eclipse.openk.common.dataexchange.cim.ICimEntity;
+import org.eclipse.openk.common.messaging.ILogger;
+import org.eclipse.openk.common.messaging.LoggerFactory;
+import org.eclipse.openk.common.value.parameter.NoParameters;
+import org.eclipse.openk.domain.topologystate.core.TopologyStateDefaults;
+import org.eclipse.openk.domain.topologystate.model.measurement.MeasurementPoint;
+import org.eclipse.openk.domain.topologystate.model.measurement.TopologyState2;
+import org.eclipse.openk.service.adapter.dataexchange.mapper.MapperInformation;
+import org.eclipse.openk.service.core.IServiceContext;
+
+/**
+ * Maps {@link MeasurementPoint}s.
+ *
+ * @author 2017-10-25 Christian Brunzendorf
+ * @author 2017-10-24 Frank Jäger
+ * @author 2017-10-25 Tomke Meyer
+ * @author 2017-10-24 Renko Ortgies
+ */
+@MapperInformation(scope = TopologyStateDefaults.SCOPE_MEASUREMENT_POINTS, sourceModelDefinitionType = TopologyState2.class, destinationModelDefinitionType = Cim17v07.class)
+public final class MeasurementPoints_TopologyState2_Cim17v07_Mapper extends Abstract_TopologyState2_Cim17v07_Mapper<List<MeasurementPoint>, List<ICimEntity>, NoParameters> {
+
+ // Constants
+ private static final ILogger LOGGER = LoggerFactory.createLogger(MeasurementPoints_TopologyState2_Cim17v07_Mapper.class);
+
+ // Constructors
+ /**
+ * @param context
+ * the context
+ * @throws IllegalArgumentException
+ * Is thrown in the following cases:
+ * <ul>
+ * <li><code>context</code> is <code>null</code></li>
+ * <li><code>scope</code> is <code>null</code> or <code>""</code></li>
+ * <li><code>sourceModelDefinition</code> is <code>null</code></li>
+ * <li><code>destinationModelDefinition</code> is <code>null</code></li>
+ * </ul>
+ */
+ public MeasurementPoints_TopologyState2_Cim17v07_Mapper(IServiceContext context) throws IllegalArgumentException {
+ super(context);
+ }
+
+ // Methods
+ @Override
+ public List<ICimEntity> map(List<MeasurementPoint> sourceModel) throws IOException {
+
+ return map(sourceModel, NoParameters.INSTANCE);
+ }
+
+ @Override
+ public List<ICimEntity> map(List<MeasurementPoint> source, NoParameters noParameters) throws IllegalArgumentException, IOException {
+
+ List<ICimEntity> result = null;
+
+ if((source != null) && (!source.isEmpty())) {
+ result = new ArrayList<>(source.size());
+ for(MeasurementPoint measurementPoint : source) {
+ result.add(extract(measurementPoint));
+ }
+ }
+
+ return result;
+ }
+
+ // Properties
+ @Override
+ public ILogger getLogger() {
+
+ return LOGGER;
+ }
+}
diff --git a/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/responder/SwitchStates_3_Xml_RequestParameters.java b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/responder/SwitchStates_3_Xml_RequestParameters.java
new file mode 100644
index 00000000..7e78f08b
--- /dev/null
+++ b/cim-cache/org.eclipse.openk.domain.topology-state/adapter/src/main/java/org/eclipse/openk/domain/topologystate/adapter/dataexchange/responder/SwitchStates_3_Xml_RequestParameters.java
@@ -0,0 +1,105 @@
+/*
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright © 2015-2017 BTC AG - http://www.btc-ag.com
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * -----------------------------------------------------------------------------
+ */
+package org.eclipse.openk.domain.topologystate.adapter.dataexchange.responder;
+
+import java.time.LocalDateTime;
+import java.util.UUID;
+
+import org.eclipse.openk.common.dataexchange.cim.message.CimMessageDefaults;
+import org.eclipse.openk.common.dataexchange.cim.message.ICimHeaderParameters;
+import org.eclipse.openk.common.date.DateDefaults;
+import org.eclipse.openk.common.value.parameter.annotations.IntegerValidator;
+import org.eclipse.openk.common.value.parameter.annotations.LocalDateTimeValidator;
+import org.eclipse.openk.common.value.parameter.annotations.Parameter;
+import org.eclipse.openk.common.value.parameter.annotations.StringValidator;
+
+/**
+ * The switch-states request parameters.
+ *
+ * @author 2017-09-26 Christian Brunzendorf
+ */
+public fina