He-Pin opened a new pull request, #3378: URL: https://github.com/apache/pekko/pull/3378
### Motivation Java users see `scala.Tuple2` in their IDE when using `FSMTransitionHandlerBuilder`, which violates the principle of avoiding Scala data structures in Java APIs (#2086). ### Modification - Replace `scala.Tuple2` with `pekko.japi.Pair` in `FSMTransitionHandlerBuilder` - Update `AbstractFSM` and `PersistentFSMBase` to use a proper adapter instead of an unsafe `.asInstanceOf[TransitionHandler]` cast - Add MiMa filters for the binary incompatibility ### Result Java FSM API no longer exposes `scala.Tuple2`; uses the established `pekko.japi.Pair` type instead. The adapter is also type-safe (no more unchecked cast). ### Tests - `sbt "actor-tests / Test / testOnly org.apache.pekko.actor.AbstractFSMActorTest"` PASSED - `sbt "docs / Test / testOnly jdocs.actor.fsm.*"` PASSED - `sbt "persistence / Test / testOnly org.apache.pekko.persistence.fsm.InmemPersistentFSMSpec"` PASSED - `sbt "actor / mimaReportBinaryIssues"` PASSED ### References Refs #2086 -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
