[MDSAL-666] Reserve class namespace for RPC definitions Created: 09/Jun/21  Updated: 04/Oct/22  Resolved: 10/Jun/21

Status: Resolved
Project: mdsal
Component/s: Binding codegen
Affects Version/s: None
Fix Version/s: 8.0.0

Type: Task Priority: Medium
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks MDSAL-773 Generate Rpc specializations Resolved

 Description   

Integration of RFC7950 action statement has shown that generating a @FunctionalInterface definition for the invocation is nicely composable with lambdas – i.e. much better than the RpcService interface we are generating these days.

As a first step towards a solution, reserve the SchemaTree identifier implied by rpc statement. This changes behaviour when we have:

 

grouping foo;

rpc foo;

Where we currently generate: 

  • a Foo, representing the grouping
  • FooInput and FooOutput for RPC's input and output

i.e. 'rpc foo' does not assert its entitlement to Foo as per being a schema tree statement – which means there is no conflict with the grouping. It does assert the corresponding package name (.foo.input), which is a potential secondary conflict.

With this change we will generate a Foo$G for the grouping and nothing will be generated for Foo, as that name now belongs to 'rpc foo' instead of 'grouping foo'.


Generated at Wed Feb 07 20:10:28 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.