Remove use of xtend This patch converts RuntimeCodeGenerator into pure Java, optimizing it in the process a bit. Since this is the last piece of Xtend code in controller, also remove any trace of xtend. Change-Id: I462968202d0e26c852aa683905b97bab8c5f99cf Signed-off-by: Robert Varga <rovarga@cisco.com>
Bug 1328: Improved argument checks in generated RPC Router Change-Id: I5e4bd55a4a31b4b671b44163286c6b3ebe7707bf Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Bug 629: Make BindingDataBroker to be visible. Inroduced support for injecting and retrieving new BindingDataBroker via config-subsystem, OSGI. Note: This patch does not provide access to BindingDataBroker is still not available via Consumer/Provider context. Change-Id: Iaa7e65aeeb873c38fded2fecb45e2f0dca1e7714 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
BUG-614: Remove YangtoolsMappingHelper in favor of BindingReflections As it turns out YangtoolsMappingHelper is an old duplicate of BindingReflections, with a single isNotification() method. That method is buggy, as it does not perform all the checks required. Remove it and use the unified method exposed from BindingReflections. Change-Id: Ifc2ef9746c2556feac05466439ed910208289413 Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-614: introduce AbstractRuntimeCodeGenerator Introduce AbstractRuntimeCodeGenerator, which is the base service class for interactions with the rest of the world. It implements the public contracts and as much of the logic as possible in pure Java and defines a clear interface subclasses need to provide. RuntimeCodeGenerator.xtend then adds an implementation of it. Change-Id: Ic04f3e840825ae1f59583c0a9a2f6fbfc7bb66f6 Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-614: migrate RuntimeGeneratedInvoker RuntimeGeneratedInvoker is another DTO, so let's migrate it to java-land. Change-Id: If8e654c38de1be5f8e263f81eb7550d745913906 Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-614: migrate RpcMetadata RpcMetadata is just another DTO. Just migrate it to Java. Change-Id: I9bff2616a1cd14fc7a5d73f7be2607d46b67b23e Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-868: use a single version of ClassLoaderUtils This removes the static import, which hid the fact we are using two different ClassLoaderUtils (both deprecated). Change-Id: If37786d591a4c9975d2d10539c70f888dd7d6c5c Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-614: split out RpcServiceMetadata RpcServiceMetadata is just another holder, no reason to define it in xtend. Change-Id: Ic069a9698e47a347e634289c7a96fac20c2a3d3f Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-614: migrate RuntimeGeneratedInvokerPrototype Splits off RuntimeGeneratedInvokerPrototype DTO into java. There is no reason it should be in xtend. Change-Id: I625d44d398cfe72be21ac33d29986c736412970e Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-893: do not store classPool This prevents storing a reference to the classPool. It is not necessary and it makes thinking about accesses much easier. Change-Id: Iebbdac46c3ca445bbe36ba6efd19d3150d728f7f Signed-off-by: Robert Varga <rovarga@cisco.com>
Extract dom-serializer-api|impl from binding-broker-impl Change-Id: I1b2844bfac5062fd15c1f011c3104b3dddb33b51 Signed-off-by: Tony Tkacik <ttkacik@cisco.com> Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Fixed bug in discovering JVM loaded case classes during code generation - Added debug logging - routing table updates - rpc router creation, non-routed service registration proxy instantiation. Change-Id: Iab0ad7451382ab8179cff2febf17c19e96daf464 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Fixed Bug 250 - bits serialization between Binding Broker and DOM broker - fixed serialization bug for YANG bits type when crossing brokers - Added regression test for bug, based on provided bug report - Decreased log level to debug and trace for some code generation functionality. Change-Id: I07982bb7ffefb4350ec4922c02207eb4dc368ab8 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Fixed bug in cross-broker RPC routing - Fixed cross-broker (Binding to DOM) and (DOM to Binding) rpc routing by adding explicit routing and invocation strategies - Lowered reporting level for fingAugmentableArgument to DEBUG so it does not polute logs - Extracted and converted RpcProviderRegistry implementation from BindingAwareBrokerImpl (Xtend) to RpcProviderRegistryImpl (java). Change-Id: I8339abdc864162c70a149cf59fdbdf97093ae8c0 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Fixed Group and Meter RPC model to use MD-SAL routing correctly - Changed RPCs in Group and Meter to use node-context-ref instead of node for routing information (same pattern as in flow-services). - Updated statistics manager to use updated code. Change-Id: I7e6b156665008fea5814f6cdb16ed8de2511759a Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Fixed two-phase commit bug when change originated in DOM Broker - DataServiceConnector is now tracking all opened transaction in order to prevent creating loop if transaction was already forwarded from other broker (DataServiceConnector is not publishing it back). - Added logging to TwoPhase Commit and Transaction forwarding - Fixed some warnings regarding wildcards in generics. Change-Id: I6e3169f20ac84222ed0837735c3ddd95115db38a Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Added configuration options to MD-SAL Added default configuration to distribution which wires MD-SAL components together. Support for configuring wiring of following services: - Binding Aware Broker - Binding Aware Notification Service - Binding Aware Data Broker Service - Mapping service - Binding Independent Broker - Data Store Default configuration wires BA Broker, BA Notification service BA Data Broker and BI Broker together. BA Broker requires now BI Broker to be loaded in order to provide datastore functionality right from the beginning. Updated integration tests, added new test cases for BA to BI integration Change-Id: I7776bb9b2ed75bd5589757633c17f2466b86a04c Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Fixed performance issues with implementation of BA-to-BI mapping Codecs are lazily created on first need when traversing boundatories between brokers Change-Id: I72967babd613ecbc3c9f8f7bd04a4b938f7c0086 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Unified Two Phase Commit implementation, fixed BA to BI connection - Unified implementation of Two Phase Commit, Data Reading by abstract sal-common-impl. - Updated implementation of BA to BI connector to do schema-aware serialization / deserialization. Change-Id: Ibcfa2c4d96e4fa72f1b2499483a2752f62db8b50 Signed-off-by: Tony Tkacik <ttkacik@cisco.com>