aglinxinyuan opened a new issue, #4955: URL: https://github.com/apache/texera/issues/4955
`amber/src/main/scala/org/apache/texera/workflow/LogicalLink.scala` is the case class describing an edge in the user-facing logical workflow graph. It has two construction paths and ships across the wire / persisted in saved workflows, but it has no unit test today: | Surface | Need to pin | | --- | --- | | Primary constructor | `(OperatorIdentity, PortIdentity, OperatorIdentity, PortIdentity)` round-trips into the four fields. | | Secondary `@JsonCreator` constructor | `(String, PortIdentity, String, PortIdentity)` wraps each string in `OperatorIdentity(...)` — this is the Jackson deserialization path, used to read user-saved workflow JSON. | | Case-class `equals` / `hashCode` | Structural equality across the four fields. | | Jackson round-trip | A `LogicalLink` written by `objectMapper.writeValueAsString` and read back via the `@JsonProperty(\"fromOpId\") / @JsonProperty(\"toOpId\")` mappings yields an equal value. | | `@JsonProperty` field naming | The on-the-wire key for `fromOpId` is `\"fromOpId\"` (and same for `toOpId`) — pin so a renamed Scala field doesn't silently break saved workflows. | ### Priority P3 - Low ### Task Type - [x] Testing / QA -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
