Skip to content

[DEV-3302] Updated to v1.0.0#134

Merged
charlta merged 2 commits intomainfrom
DEV-3302-cim-consistency-with-major-breaking-changes
Jul 10, 2025
Merged

[DEV-3302] Updated to v1.0.0#134
charlta merged 2 commits intomainfrom
DEV-3302-cim-consistency-with-major-breaking-changes

Conversation

@charlta
Copy link
Copy Markdown
Member

@charlta charlta commented Jul 10, 2025

Description

Updated packages to v1.0.0 with a refactor of incorrect packages and standardising of enums:

  • Base profile fixups
  • Refactored enum classes.
  • Renamed container selection enum values from EXCLUDE to NONE
  • Removed remaining C# instructions and package definitions.
  • Fix change log from missed earlier changes.
  • Updated profile manager processing to:
    • log progress.
    • handle lists of types in specs.
    • split class descriptions with <br/>.
    • use correct case for Descendants section.
    • report errors to help with detecting issues in specs.
    • support enum classes when all attributes have no types.
    • validate ancestor/descendant links in the EWB profile.

Associated tasks

Test Steps

Can only really test it by rolling it through everywhere locally and sending messages. Total test should involve standing up a new EWB server using these definitions, and interacting with it with both the JVM and Python SDK clients.

Checklist

If any of these are not applicable, strikethrough the line ~like this~. Do not delete it!. Let the reviewer decide if you should have done it.

Code

  • I have performed a self review of my own code (including checking issues raised when creating the PR).
  • I have added/updated unit tests for these changes, and if not I have explained why they are not necessary.
  • I have commented my code in any hard-to-understand or hacky areas.
  • I have handled all new warnings generated by the compiler or IDE.
  • I have rebased onto the target branch (usually main).

Documentation

  • I have updated the changelog.
  • I have updated any documentation required for these changes.

Breaking Changes

  • I have considered if this is a breaking change and will communicate it with other team members by posting it on the Slack breaking-changes channel.
  • Renamed the JVM package to:
    <dependency>
        <groupId>com.zepben</groupId>
        <artifactId>protobuf</artifactId>
    </dependency>
  • Relocated the following classes into the Zepben extensions area, marking them as [ZBEX]:
    • DistanceRelay: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • EvChargingUnit: cim.iec61970.infiec61970.wires.generation.production -> cim.extensions.iec61970.base.generation.production.
    • Loop: cim.iec61970.infiec61970.feeder -> cim.extensions.iec61970.base.feeder.
    • LvFeeder: cim.iec61970.infiec61970.feeder -> cim.extensions.iec61970.base.feeder.
    • PowerDirectionKind: cim.iec61970.infiec61970.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionKind: cim.iec61970.infiec61970.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionRelayFunction: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionRelayScheme: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • ProtectionRelaySystem: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • RelayInfo: cim.iec61968.infiec61968.infassetinfo -> cim.extensions.iec61968.assetinfo.
    • RelaySetting: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • Site: cim.iec61970.base.core -> cim.extensions.iec61970.base.core.
    • TransformerCoolingType: cim.iec61970.base.wires -> cim.extensions.iec61970.base.wires.
    • TransformerEndRatedS: cim.iec61970.base.wires -> cim.extensions.iec61970.base.wires.
    • VectorGroup: cim.iec61970.base.wires -> cim.extensions.iec61970.base.wires.
    • VoltageRelay: cim.iec61970.base.protection -> cim.extensions.iec61970.base.protection.
    • WindingConnection: cim.iec61970.base.wires.winding -> cim.iec61970.base.wires.
  • Updated the values of the following enums to conform to Protobuf standard naming:
    • BatteryControlMode
    • BatteryStateKind
    • CustomerKind
    • DiagramStyle
    • EndDeviceFunctionKind
    • FeederDirection
    • IncludedEnergizedContainers
    • IncludedEnergizingContainers
    • LogLevel
    • LogSource
    • NetworkState
    • OrientationKind
    • PhaseCode
    • PhaseShuntConnectionKind
    • PotentialTransformerKind
    • PowerDirectionKind
    • ProtectionKind
    • RegulatingControlModeKind
    • SinglePhaseKind
    • StreetlightLampKind
    • SVCControlMode
    • SwitchAction
    • SynchronousMachineKind
    • TransformerConstructionKind
    • TransformerCoolingType
    • TransformerFunctionKind
    • UnitSymbol
    • VectorGroup
    • WindingConnection
    • WireMaterialKind
  • Renamed the following enum values (in addition to the gRPC scoping changes):
    • IncludedEnergizingContainers.EXCLUDED -> IncludedEnergizingContainers.NONE
    • IncludedEnergizedContainers.EXCLUDED -> IncludedEnergizedContainers.NONE
  • Relocated the following classes that were in the wrong packages:
    • Pole: cim.iec61968.assets -> cim.iec61968.infiec61968.infassets.
    • StreetlightLampKind: cim.iec61968.assets -> cim.iec61968.infiec61968.infassets.
    • All classes in the incorrectly located cim.iec61970.base.wires.generation.production -> cim.iec61970.base.generation.production.
  • Renumbered the protobuf fields for:
    • AcLineSegment
    • Control
    • Diagram
    • TransformerEnd

charlta added 2 commits July 9, 2025 15:04
* Updated packages to v1.0.0
* Renamed container selection enum values from `EXCLUDE` to `NONE`
* Fixed more enums and added missing docstrings.
* Refactored remaining enum classes.
* Base profile fixups
* Fix change log from missed earlier changes.
* Updated profile manager processing to:
  * log progress.
  * handle lists of types in specs.
  * split class descriptions with `<br/>`.
  * use correct case for `Descendants` section.
  * report errors to help with detecting issues in specs.
  * support enum classes when all attributes have no types.
  * validate ancestor/descendant links in the EWB profile.

Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
Signed-off-by: Anthony Charlton <anthony.charlton@zepben.com>
@ryanjcoleman
Copy link
Copy Markdown
Member

Task linked: DEV-3302 Update evolve-grpc

@charlta charlta marked this pull request as ready for review July 10, 2025 08:41
@charlta charlta requested a review from a team July 10, 2025 08:41
@charlta charlta merged commit cbc0783 into main Jul 10, 2025
4 checks passed
@charlta charlta deleted the DEV-3302-cim-consistency-with-major-breaking-changes branch July 10, 2025 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants