@asyncapi/generator 2.8.3 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +3 -0
  3. package/docs/api.md +1 -50
  4. package/docs/baked-in-templates.md +1 -1
  5. package/docs/jsdoc2md-handlebars/main-index/global-index/global-index-dl.hbs +13 -0
  6. package/docs/jsdoc2md-handlebars/member-index-grouped.hbs +6 -0
  7. package/docs/jsdoc2md-handlebars/member-index-list.hbs +6 -0
  8. package/docs/jsdoc2md-handlebars/members.hbs +1 -0
  9. package/docs/migration-nunjucks-react.md +2 -2
  10. package/jest.config.js +7 -5
  11. package/lib/__mocks__/templateConfigValidator.js +1 -1
  12. package/lib/generator.js +4 -59
  13. package/lib/templates/BakedInTemplatesList.json +7 -0
  14. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/.ageneratorrc +33 -0
  15. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/README.md +35 -0
  16. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js +30 -0
  17. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientConsumer.js.map +1 -0
  18. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js +46 -0
  19. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientEndpoint.js.map +1 -0
  20. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js +30 -0
  21. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ClientProducer.js.map +1 -0
  22. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js +26 -0
  23. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumeEvent.js.map +1 -0
  24. package/lib/templates/bakedInTemplates/{core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js → core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js} +7 -8
  25. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ConsumerFields.js.map +1 -0
  26. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js +44 -0
  27. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/EndpointFields.js.map +1 -0
  28. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js +46 -0
  29. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/MiddleService.js.map +1 -0
  30. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js +48 -0
  31. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProduceEvent.js.map +1 -0
  32. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js +26 -0
  33. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/ProducerFields.js.map +1 -0
  34. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js +40 -0
  35. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/SendEvent.js.map +1 -0
  36. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js +18 -0
  37. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ConsumerDependencies.js.map +1 -0
  38. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js +18 -0
  39. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/EndpointDependencies.js.map +1 -0
  40. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js +18 -0
  41. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/components/dependencies/ProducerDependencies.js.map +1 -0
  42. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/jest.config.js +13 -0
  43. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/jest.config.js.map +1 -0
  44. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +183 -0
  45. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -0
  46. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js +86 -0
  47. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/consumer.java.js.map +1 -0
  48. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +19 -0
  49. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -0
  50. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js +102 -0
  51. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/producer.java.js.map +1 -0
  52. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +73 -0
  53. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -0
  54. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientConsumer.js +20 -0
  55. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientEndpoint.js +32 -0
  56. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ClientProducer.js +21 -0
  57. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumeEvent.js +18 -0
  58. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ConsumerFields.js +9 -0
  59. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/EndpointFields.js +40 -0
  60. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/MiddleService.js +37 -0
  61. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProduceEvent.js +39 -0
  62. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/ProducerFields.js +16 -0
  63. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/SendEvent.js +33 -0
  64. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ConsumerDependencies.js +11 -0
  65. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/EndpointDependencies.js +11 -0
  66. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/components/dependencies/ProducerDependencies.js +11 -0
  67. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/jest.config.js +14 -0
  68. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/package.json +49 -0
  69. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.dockerignore +5 -0
  70. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/MavenWrapperDownloader.java +93 -0
  71. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/.mvn/wrapper/maven-wrapper.properties +20 -0
  72. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/README.md +59 -0
  73. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw +332 -0
  74. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/mvnw.cmd +206 -0
  75. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/pom.xml +123 -0
  76. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/Dockerfile.jvm +98 -0
  77. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/docker/docker-compose.yaml +28 -0
  78. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +27 -0
  79. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/consumer.java.js +22 -0
  80. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +6 -0
  81. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/java/com/asyncapi/producer.java.js +23 -0
  82. package/lib/templates/bakedInTemplates/core-template-client-kafka-java-quarkus/template/src/main/resources/AppProperties.js +75 -0
  83. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js +10 -5
  84. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/ClientClass.js.map +1 -1
  85. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/jest.config.js +13 -0
  86. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/jest.config.js.map +1 -0
  87. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js +10 -74
  88. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/template/client.dart.js.map +1 -1
  89. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/ClientClass.js +11 -7
  90. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/jest.config.js +14 -0
  91. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/package.json +1 -15
  92. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/README.md +88 -6
  93. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js +22 -5
  94. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientConnector.js.map +1 -1
  95. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js +19 -2
  96. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ClientFields.js.map +1 -1
  97. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js +8 -2
  98. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConnectorFields.js.map +1 -1
  99. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js +44 -0
  100. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/Constructor.js.map +1 -0
  101. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js +28 -0
  102. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/ConstructorSignature.js.map +1 -0
  103. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js +32 -0
  104. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/DefaultConstructorSignature.js.map +1 -0
  105. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js +20 -5
  106. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/EchoWebSocket.js.map +1 -1
  107. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js +1 -2
  108. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/HandleError.js.map +1 -1
  109. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js +23 -33
  110. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/InitConnector.js.map +1 -1
  111. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js +42 -9
  112. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnTextMessageHandler.js.map +1 -1
  113. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js +39 -0
  114. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/TimedConnection.js.map +1 -0
  115. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js +63 -0
  116. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/URIParams.js.map +1 -0
  117. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js +13 -17
  118. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ClientDependencies.js.map +1 -1
  119. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js +16 -15
  120. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/dependencies/ConnectorDependencies.js.map +1 -1
  121. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/jest.config.js +13 -0
  122. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/jest.config.js.map +1 -0
  123. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js +153 -57
  124. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/client.java.js.map +1 -1
  125. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js +152 -51
  126. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/connector.java.js.map +1 -1
  127. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js +2 -35
  128. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/java/com/asyncapi/models/model.js.map +1 -1
  129. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js +3 -1
  130. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/template/src/main/resources/AppProperties.js.map +1 -1
  131. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientConnector.js +12 -5
  132. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ClientFields.js +18 -2
  133. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConnectorFields.js +7 -2
  134. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/Constructor.js +30 -0
  135. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/ConstructorSignature.js +19 -0
  136. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/DefaultConstructorSignature.js +23 -0
  137. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/EchoWebSocket.js +17 -7
  138. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/HandleError.js +2 -2
  139. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/InitConnector.js +13 -30
  140. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnTextMessageHandler.js +55 -15
  141. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/TimedConnection.js +31 -0
  142. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/URIParams.js +60 -0
  143. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ClientDependencies.js +12 -18
  144. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/dependencies/ConnectorDependencies.js +16 -16
  145. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/jest.config.js +14 -0
  146. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/package.json +1 -15
  147. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/pom.xml +15 -1
  148. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/client.java.js +4 -3
  149. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/connector.java.js +7 -3
  150. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/java/com/asyncapi/models/model.js +2 -32
  151. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/template/src/main/resources/AppProperties.js +5 -2
  152. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/.ageneratorrc +8 -0
  153. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js +15 -7
  154. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/ClientClass.js.map +1 -1
  155. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/CompileOperationSchemas.js +48 -0
  156. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/CompileOperationSchemas.js.map +1 -0
  157. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js +7 -1
  158. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Constructor.js.map +1 -1
  159. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/jest.config.js +13 -0
  160. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/jest.config.js.map +1 -0
  161. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js +51 -116
  162. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/template/client.js.js.map +1 -1
  163. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/ClientClass.js +19 -11
  164. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/CompileOperationSchemas.js +40 -0
  165. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Constructor.js +7 -1
  166. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/jest.config.js +14 -0
  167. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/package.json +5 -18
  168. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/template/client.js.js +5 -1
  169. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/README.md +20 -5
  170. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js +15 -8
  171. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/ClientClass.js.map +1 -1
  172. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js +3 -2
  173. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Constructor.js.map +1 -1
  174. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/jest.config.js +13 -0
  175. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/jest.config.js.map +1 -0
  176. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js +41 -174
  177. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/template/client.py.js.map +1 -1
  178. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/ClientClass.js +20 -10
  179. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Constructor.js +5 -2
  180. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/jest.config.js +14 -0
  181. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/package.json +1 -15
  182. package/lib/templates/config/loader.js +64 -0
  183. package/lib/{templateConfigValidator.js → templates/config/validator.js} +2 -2
  184. package/package.json +3 -3
  185. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js +0 -60
  186. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/Connect.js.map +0 -1
  187. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js +0 -21
  188. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/HandleMessage.js.map +0 -1
  189. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js +0 -21
  190. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  191. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/Connect.js +0 -49
  192. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/HandleMessage.js +0 -14
  193. package/lib/templates/bakedInTemplates/core-template-client-websocket-dart/components/RegisterErrorHandler.js +0 -14
  194. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js +0 -23
  195. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnClose.js.map +0 -1
  196. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js +0 -25
  197. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/__transpiled/components/OnOpen.js.map +0 -1
  198. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnClose.js +0 -16
  199. package/lib/templates/bakedInTemplates/core-template-client-websocket-java-quarkus/components/OnOpen.js +0 -16
  200. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js +0 -63
  201. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/Connect.js.map +0 -1
  202. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/HandleMessage.js.map +0 -1
  203. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js +0 -25
  204. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  205. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js +0 -53
  206. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/__transpiled/components/SendOperation.js.map +0 -1
  207. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/Connect.js +0 -54
  208. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/HandleMessage.js +0 -14
  209. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/RegisterErrorHandler.js +0 -18
  210. package/lib/templates/bakedInTemplates/core-template-client-websocket-javascript/components/SendOperation.js +0 -44
  211. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js +0 -58
  212. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/Connect.js.map +0 -1
  213. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js +0 -24
  214. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/HandleMessage.js.map +0 -1
  215. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js +0 -36
  216. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/QueryParamsVariables.js.map +0 -1
  217. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js +0 -23
  218. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/RegisterErrorHandler.js.map +0 -1
  219. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js +0 -56
  220. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/__transpiled/components/SendOperation.js.map +0 -1
  221. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/Connect.js +0 -49
  222. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/HandleMessage.js +0 -17
  223. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/QueryParamsVariables.js +0 -27
  224. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/RegisterErrorHandler.js +0 -16
  225. package/lib/templates/bakedInTemplates/core-template-client-websocket-python/components/SendOperation.js +0 -50
@@ -1 +1 @@
1
- {"version":3,"file":"connector.java.js","sources":["../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/dependencies/ConnectorDependencies.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/InitConnector.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ConnectorFields.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ClientConnector.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/connector.java.js"],"sourcesContent":["import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ConnectorDependencies() {\n return (\n <Text>\n <Text>\n {`\npackage com.asyncapi;\n\nimport io.quarkus.websockets.next.WebSocketConnector;\nimport io.quarkus.websockets.next.WebSocketClientConnection;\nimport jakarta.inject.Inject;\nimport jakarta.inject.Singleton;\nimport jakarta.annotation.PostConstruct;\nimport io.quarkus.logging.Log;\nimport io.quarkus.runtime.Startup;`}\n </Text>\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function InitConnector() {\n return (\n <Text newLines={1}>\n {`\n @PostConstruct\n void openAndSendMessagesWithDelay() {\n new Thread(() -> {\n try {\n Log.info(\"Starting WebSocket connection attempt...\");\n WebSocketClientConnection connection = connector.connectAndAwait();\n\n // Wait 2 seconds before first message\n Thread.sleep(2000);\n\n // Send 5 messages\n for (int i = 1; i <= 5; i++) {\n String msg = \"Message #\" + i + \" from Quarkus\";\n connection.sendTextAndAwait(msg);\n Log.info(\"Sent: \" + msg);\n Thread.sleep(5000);\n }\n\n // Wait 10 seconds after final message\n Log.info(\"All messages sent. Waiting 10 seconds before closing...\");\n Thread.sleep(10000);\n\n connection.closeAndAwait();\n Log.info(\"Connection closed gracefully.\");\n\n } catch (Exception e) {\n Log.error(\"Error during WebSocket communication\", e);\n }\n }).start();\n }\n}\n`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ConnectorFields({ clientName }) {\n return (\n <Text indent={2} newLines={2}>\n {`@Inject\nWebSocketConnector<${clientName}> connector;\n`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport InitConnector from './InitConnector';\nimport { ConnectorFields } from './ConnectorFields';\n\nexport default function ClientConnector({ clientName }) {\n return (\n <Text newLines={2} indent={2}>\n <Text newLines={2}>\n {`@Startup\n@Singleton \npublic class ${clientName}Connector{`}\n </Text>\n <ConnectorFields clientName={clientName} />\n <InitConnector />\n </Text>\n );\n}","import { getClientName } from '@asyncapi/generator-helpers';\nimport { File } from '@asyncapi/generator-react-sdk';\nimport { ConnectorDependencies } from '../../../../../../components/dependencies/ConnectorDependencies.js';\nimport ClientConnector from '../../../../../../components/ClientConnector.js';\n\nexport default async function ({ asyncapi, params }) {\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const clientConnectorName = `${clientName}Connector.java`;\n \n return (\n <File name={clientConnectorName}>\n <ConnectorDependencies/>\n <ClientConnector clientName={clientName} />\n </File>\n );\n}"],"names":["ConnectorDependencies","_jsx","Text","children","InitConnector","newLines","ConnectorFields","clientName","indent","ClientConnector","_jsxs","asyncapi","params","getClientName","appendClientSuffix","customClientName","clientConnectorName","File","name"],"mappings":";;;;;;;AAEO,SAASA,qBAAqBA,GAAG;EACtC,oBACEC,cAAA,CAACC,sBAAI,EAAA;IAAAC,QAAA,eACHF,cAAA,CAACC,sBAAI,EAAA;AAAAC,MAAAA,QAAA,EACF,CAAA;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAA,CAAA;KACY,CAAA;AAAC,GACH,CAAC,CAAA;AAEX;;ACjBe,SAASC,aAAaA,GAAG;EACtC,oBACEH,cAAA,CAACC,sBAAI,EAAA;AAACG,IAAAA,QAAQ,EAAE,CAAE;AAAAF,IAAAA,QAAA,EACf,CAAA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAA;AAAC,GACS,CAAC,CAAA;AAEX;;ACtCO,SAASG,eAAeA,CAAC;AAAEC,EAAAA,UAAAA;AAAW,CAAC,EAAE;EAC9C,oBACEN,cAAA,CAACC,sBAAI,EAAA;AAACM,IAAAA,MAAM,EAAE,CAAE;AAACH,IAAAA,QAAQ,EAAE,CAAE;AAAAF,IAAAA,QAAA,EAC1B,CAAA;AACP,mBAAA,EAAqBI,UAAU,CAAA;AAC/B,CAAA;AAAC,GACS,CAAC,CAAA;AAEX;;ACNe,SAASE,eAAeA,CAAC;AAAEF,EAAAA,UAAAA;AAAW,CAAC,EAAE;EACtD,oBACEG,eAAA,CAACR,sBAAI,EAAA;AAACG,IAAAA,QAAQ,EAAE,CAAE;AAACG,IAAAA,MAAM,EAAE,CAAE;IAAAL,QAAA,EAAA,cAC3BF,cAAA,CAACC,sBAAI,EAAA;AAACG,MAAAA,QAAQ,EAAE,CAAE;AAAAF,MAAAA,QAAA,EACf,CAAA;AACT;AACA,aAAA,EAAeI,UAAU,CAAA,UAAA,CAAA;AAAY,KACzB,CAAC,eACPN,cAAA,CAACK,eAAe,EAAA;AAACC,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,eAC3CN,cAAA,CAACG,aAAa,IAAE,CAAC,CAAA;AAAA,GACb,CAAC,CAAA;AAEX;;ACXe,6BAAgB,EAAA;EAAEO,QAAQ;AAAEC,EAAAA,MAAAA;AAAO,CAAC,EAAE;AACnD,EAAA,MAAML,UAAU,GAAGM,8BAAa,CAACF,QAAQ,EAAEC,MAAM,CAACE,kBAAkB,EAAEF,MAAM,CAACG,gBAAgB,CAAC,CAAA;AAC9F,EAAA,MAAMC,mBAAmB,GAAG,CAAGT,EAAAA,UAAU,CAAgB,cAAA,CAAA,CAAA;EAEzD,oBACEG,eAAA,CAACO,sBAAI,EAAA;AAACC,IAAAA,IAAI,EAAEF,mBAAoB;IAAAb,QAAA,EAAA,cAC9BF,cAAA,CAACD,qBAAqB,IAAC,CAAC,eACxBC,cAAA,CAACQ,eAAe,EAAA;AAACF,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAE,CAAC,CAAA;AAAA,GACvC,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"connector.java.js","sources":["../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/dependencies/ConnectorDependencies.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/TimedConnection.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/URIParams.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/InitConnector.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ConnectorFields.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/components/ClientConnector.js","../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/connector.java.js"],"sourcesContent":["import { DependencyProvider } from '@asyncapi/generator-components';\n\nexport function ConnectorDependencies({ queryParams }) {\n const additionalDependencies = [];\n if (queryParams) {\n additionalDependencies.push('import org.eclipse.microprofile.config.inject.ConfigProperty;');\n additionalDependencies.push('import java.net.URI;');\n additionalDependencies.push('import java.net.URLEncoder;');\n additionalDependencies.push('import java.nio.charset.StandardCharsets;');\n }\n\n return (\n <DependencyProvider\n language=\"java\"\n framework=\"quarkus\"\n role=\"connector\"\n additionalDependencies={additionalDependencies}\n />\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport default function TimedConnection({ sendOperations }) {\n const initialDelayMs = 2000;\n const messageCount = 5; \n const messageIntervalMs = 5000; \n const finalDelayMs = 10000; \n const firstOperationId = sendOperations && sendOperations.length > 0 ? sendOperations[0].id() : null;\n return (\n <Text newLines={2}>\n {`\n WebSocketClientConnection connection = connector.connectAndAwait();\n\n // Wait 2 seconds before first message\n Thread.sleep(${initialDelayMs});\n\n // Send ${messageCount} messages\n for (int i = 1; i <= ${messageCount}; i++) {\n // Send a message to any available operation by including its operation ID (i.e. \"${firstOperationId}\")\n String msg = ${firstOperationId ? `\"Message #\" + i + \" from Quarkus for ${firstOperationId}\"` : '\"Message #\" + i + \" from Quarkus\"'};\n connection.sendTextAndAwait(msg);\n Log.info(\"Sent: \" + msg);\n Thread.sleep(${messageIntervalMs}); // Wait 5 seconds between messages\n }\n\n // Wait 10 seconds after final message\n Log.info(\"All messages sent. Waiting 10 seconds before closing...\");\n Thread.sleep(${finalDelayMs});`}\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\nimport { toCamelCase } from '@asyncapi/generator-helpers';\n\nexport default function URIParams({ queryParamsArray, pathName }) {\n if (!queryParamsArray || queryParamsArray.length === 0) {\n return null; // Return null if no query params\n }\n\n return (\n <>\n <Text newLines={1}>\n {`\n // URI parameters\n String query = \"\";\n `}\n </Text>\n {queryParamsArray.map((param, idx) => {\n const paramName = toCamelCase(param[0]);\n const variableDefinition = `String ${paramName} = System.getenv(\"${paramName.toUpperCase()}\");`;\n const errorCheck = `if(${paramName} == null || ${paramName}.isEmpty()){`;\n const errorMessage = `throw new IllegalArgumentException(\"Required environment variable ${paramName.toUpperCase()} is missing or empty\");`;\n const closingTag = '}';\n\n let additionalQuery = '';\n if (idx === 0) {\n additionalQuery = `query += \"${param[0]}=\" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\\n`;\n } else {\n additionalQuery = `query += \"&${param[0]}=\" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\\n`;\n }\n\n return (\n <>\n <Text indent={12}>\n {variableDefinition}\n </Text>\n <Text indent={12}>\n {errorCheck}\n </Text>\n <Text indent={14}>\n {errorMessage}\n </Text>\n <Text indent={12}>\n {closingTag}\n </Text>\n <Text indent={12}>\n {additionalQuery}\n </Text>\n </>\n );\n })}\n <Text>\n {`\n String queryUri = baseURI + \"${pathName}\" + \"?\" + query;\n WebSocketClientConnection connection = connector.baseUri(queryUri).connectAndAwait();\n Thread.sleep(120000); // Keep the connection open for 2 minutes\n `}\n </Text>\n </>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\nimport TimedConnection from './TimedConnection';\nimport URIParams from './URIParams';\nimport { CloseConnection } from '@asyncapi/generator-components';\n\nexport default function InitConnector({ queryParamsArray, pathName, sendOperations }) {\n return (\n <Text>\n {`\n @PostConstruct\n void openAndSendMessagesWithDelay() {\n new Thread(() -> {\n try {\n Log.info(\"Starting WebSocket connection attempt...\");`}\n {\n (!queryParamsArray || queryParamsArray.length === 0) && (\n <TimedConnection sendOperations={sendOperations} />\n )\n }\n <URIParams queryParamsArray={queryParamsArray} pathName={pathName} />\n <CloseConnection language=\"java\" framework=\"quarkus\" methodName=\"\" indent={0} />\n </Text>\n );\n}","import { Text } from '@asyncapi/generator-react-sdk';\n\nexport function ConnectorFields({ clientName, queryParamsArray }) {\n return (\n <Text indent={2} newLines={1}>\n {`@Inject\nWebSocketConnector<${clientName}> connector;\n\n${ queryParamsArray && queryParamsArray.length ? `\n@Inject\n@ConfigProperty(name = \"com.asyncapi.${clientName}.base-uri\")\nString baseURI;` : ''}\n`}\n </Text>\n );\n}\n","import { Text } from '@asyncapi/generator-react-sdk';\nimport InitConnector from './InitConnector';\nimport { ConnectorFields } from './ConnectorFields';\n\nexport default function ClientConnector({ clientName, query, pathName, operations }) {\n const queryParamsArray = query && Array.from(query.entries());\n const sendOperations = operations.filterBySend();\n if (!pathName) {\n pathName = '/';\n }\n \n return (\n <Text newLines={2}>\n <Text newLines={2}>\n {`\n@Startup\n@Singleton \npublic class ${clientName}Connector{`}\n </Text>\n <ConnectorFields clientName={clientName} queryParamsArray={queryParamsArray} />\n <InitConnector queryParamsArray={queryParamsArray} pathName={pathName} sendOperations={sendOperations} />\n </Text>\n );\n}","import { getClientName, getQueryParams, getServer } from '@asyncapi/generator-helpers';\nimport { File } from '@asyncapi/generator-react-sdk';\nimport { ConnectorDependencies } from '../../../../../../components/dependencies/ConnectorDependencies.js';\nimport ClientConnector from '../../../../../../components/ClientConnector.js';\n\nexport default async function ({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const queryParams = getQueryParams(asyncapi.channels());\n const clientConnectorName = `${clientName}Connector.java`;\n const pathName = server.pathname();\n const operations = asyncapi.operations();\n \n return (\n <File name={clientConnectorName}>\n <ConnectorDependencies queryParams={queryParams}/>\n <ClientConnector clientName={clientName} query={queryParams} pathName={pathName} operations={operations} />\n </File>\n );\n}"],"names":["ConnectorDependencies","queryParams","additionalDependencies","push","_jsx","DependencyProvider","language","framework","role","TimedConnection","sendOperations","initialDelayMs","messageCount","messageIntervalMs","finalDelayMs","firstOperationId","length","id","Text","newLines","children","URIParams","queryParamsArray","pathName","_jsxs","_Fragment","map","param","idx","paramName","toCamelCase","variableDefinition","toUpperCase","errorCheck","errorMessage","closingTag","additionalQuery","indent","InitConnector","CloseConnection","methodName","ConnectorFields","clientName","ClientConnector","query","operations","Array","from","entries","filterBySend","asyncapi","params","server","getServer","servers","getClientName","appendClientSuffix","customClientName","getQueryParams","channels","clientConnectorName","pathname","File","name"],"mappings":"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"}
@@ -1,50 +1,17 @@
1
1
  'use strict';
2
2
 
3
3
  require('source-map-support/register');
4
- var modelina = require('@asyncapi/modelina');
5
4
  var generatorComponents = require('@asyncapi/generator-components');
5
+ var generatorHelpers = require('@asyncapi/generator-helpers');
6
6
 
7
7
  async function model ({
8
8
  asyncapi
9
9
  }) {
10
- const websocketJavaPreset = {
11
- class: {
12
- self({
13
- content,
14
- dependencyManager
15
- }) {
16
- return `package com.asyncapi.models;\n\n${content}`;
17
- },
18
- property({
19
- content,
20
- property
21
- }) {
22
- if (property.property && property.property.type === 'Integer') {
23
- return `@Service\n${content}`;
24
- }
25
- return content;
26
- },
27
- additionalContent({
28
- content
29
- }) {
30
- return content;
31
- }
32
- }
33
- };
34
- const combinedPresets = [{
35
- preset: modelina.JAVA_COMMON_PRESET,
36
- options: {
37
- equal: true,
38
- hashCode: false,
39
- classToString: true,
40
- marshalling: false
41
- }
42
- }, websocketJavaPreset];
43
10
  return await generatorComponents.Models({
44
11
  asyncapi,
45
12
  language: 'java',
46
13
  format: 'toPascalCase',
47
- presets: combinedPresets
14
+ presets: generatorHelpers.JavaModelsPresets
48
15
  });
49
16
  }
50
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sources":["../../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/models/model.js"],"sourcesContent":["import { JAVA_COMMON_PRESET } from '@asyncapi/modelina';\nimport { Models } from '@asyncapi/generator-components';\n\nexport default async function({ asyncapi }) {\n const websocketJavaPreset = {\n class: {\n self({ content, dependencyManager }) {\n return `package com.asyncapi.models;\\n\\n${content}`;\n },\n property({ content, property }) {\n if (property.property && property.property.type === 'Integer') {\n return `@Service\\n${content}`;\n }\n return content;\n },\n additionalContent({ content }) {\n return content;\n }\n }\n };\n\n const combinedPresets = [\n {\n preset: JAVA_COMMON_PRESET,\n options: {\n equal: true,\n hashCode: false,\n classToString: true,\n marshalling: false\n }\n },\n websocketJavaPreset\n ];\n\n return await Models({ asyncapi, language: 'java', format: 'toPascalCase', presets: combinedPresets});\n}"],"names":["asyncapi","websocketJavaPreset","class","self","content","dependencyManager","property","type","additionalContent","combinedPresets","preset","JAVA_COMMON_PRESET","options","equal","hashCode","classToString","marshalling","Models","language","format","presets"],"mappings":";;;;;;AAGe,oBAAe,EAAA;AAAEA,EAAAA,QAAAA;AAAS,CAAC,EAAE;AAC1C,EAAA,MAAMC,mBAAmB,GAAG;AAC1BC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAIA,CAAC;QAAEC,OAAO;AAAEC,QAAAA,iBAAAA;AAAkB,OAAC,EAAE;QACnC,OAAO,CAAA,gCAAA,EAAmCD,OAAO,CAAE,CAAA,CAAA;OACpD;AACDE,MAAAA,QAAQA,CAAC;QAAEF,OAAO;AAAEE,QAAAA,QAAAA;AAAS,OAAC,EAAE;QAC9B,IAAIA,QAAQ,CAACA,QAAQ,IAAIA,QAAQ,CAACA,QAAQ,CAACC,IAAI,KAAK,SAAS,EAAE;UAC7D,OAAO,CAAA,UAAA,EAAaH,OAAO,CAAE,CAAA,CAAA;AAC/B,SAAA;AACA,QAAA,OAAOA,OAAO,CAAA;OACf;AACDI,MAAAA,iBAAiBA,CAAC;AAAEJ,QAAAA,OAAAA;AAAQ,OAAC,EAAE;AAC7B,QAAA,OAAOA,OAAO,CAAA;AAChB,OAAA;AACF,KAAA;GACD,CAAA;EAED,MAAMK,eAAe,GAAG,CACtB;AACEC,IAAAA,MAAM,EAAEC,2BAAkB;AAC1BC,IAAAA,OAAO,EAAE;AACPC,MAAAA,KAAK,EAAE,IAAI;AACXC,MAAAA,QAAQ,EAAE,KAAK;AACfC,MAAAA,aAAa,EAAE,IAAI;AACnBC,MAAAA,WAAW,EAAE,KAAA;AACf,KAAA;GACD,EACDf,mBAAmB,CACpB,CAAA;EAED,OAAO,MAAMgB,0BAAM,CAAC;IAAEjB,QAAQ;AAAEkB,IAAAA,QAAQ,EAAE,MAAM;AAAEC,IAAAA,MAAM,EAAE,cAAc;AAAEC,IAAAA,OAAO,EAAEX,eAAAA;AAAe,GAAC,CAAC,CAAA;AACtG;;;;"}
1
+ {"version":3,"file":"model.js","sources":["../../../../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/java/com/asyncapi/models/model.js"],"sourcesContent":["import { Models } from '@asyncapi/generator-components';\nimport { JavaModelsPresets } from '@asyncapi/generator-helpers';\n\nexport default async function({ asyncapi }) {\n return await Models({ asyncapi, language: 'java', format: 'toPascalCase', presets: JavaModelsPresets });\n}"],"names":["asyncapi","Models","language","format","presets","JavaModelsPresets"],"mappings":";;;;;;AAGe,oBAAe,EAAA;AAAEA,EAAAA,QAAAA;AAAS,CAAC,EAAE;EAC1C,OAAO,MAAMC,0BAAM,CAAC;IAAED,QAAQ;AAAEE,IAAAA,QAAQ,EAAE,MAAM;AAAEC,IAAAA,MAAM,EAAE,cAAc;AAAEC,IAAAA,OAAO,EAAEC,kCAAAA;AAAkB,GAAC,CAAC,CAAA;AACzG;;;;"}
@@ -12,13 +12,15 @@ function AppProperties({
12
12
  const server = generatorHelpers.getServer(asyncapi.servers(), params.server);
13
13
  const clientName = generatorHelpers.getClientName(asyncapi, params.appendClientSuffix, params.customClientName);
14
14
  const serverHost = generatorHelpers.getServerHost(server);
15
+ const serverProtocol = generatorHelpers.getServerProtocol(server);
16
+ const protocol = `${serverProtocol}://`;
15
17
  return /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.File, {
16
18
  name: "application.properties",
17
19
  children: /*#__PURE__*/jsxRuntime.jsx(generatorReactSdk.Text, {
18
20
  children: `# application.properties
19
21
 
20
22
  # Define a named base-uri for ${clientName}
21
- com.asyncapi.${clientName}.base-uri=wss://${serverHost}`
23
+ com.asyncapi.${clientName}.base-uri=${protocol}${serverHost}`
22
24
  })
23
25
  });
24
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AppProperties.js","sources":["../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/resources/AppProperties.js"],"sourcesContent":["import { getClientName, getServer, getServerHost} from '@asyncapi/generator-helpers';\nimport { Text, File } from '@asyncapi/generator-react-sdk';\n\nexport default function AppProperties({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const serverHost = getServerHost(server);\n\n return (\n <File name=\"application.properties\">\n <Text>\n {`# application.properties\n\n# Define a named base-uri for ${clientName}\ncom.asyncapi.${clientName}.base-uri=wss://${serverHost}`}\n </Text>\n </File>\n );\n}"],"names":["AppProperties","asyncapi","params","server","getServer","servers","clientName","getClientName","appendClientSuffix","customClientName","serverHost","getServerHost","_jsx","File","name","children","Text"],"mappings":";;;;;;;AAGe,SAASA,aAAaA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,MAAAA;AAAO,CAAC,EAAE;AAC1D,EAAA,MAAMC,MAAM,GAAGC,0BAAS,CAACH,QAAQ,CAACI,OAAO,EAAE,EAAEH,MAAM,CAACC,MAAM,CAAC,CAAA;AAC3D,EAAA,MAAMG,UAAU,GAAGC,8BAAa,CAACN,QAAQ,EAAEC,MAAM,CAACM,kBAAkB,EAAEN,MAAM,CAACO,gBAAgB,CAAC,CAAA;AAC9F,EAAA,MAAMC,UAAU,GAAGC,8BAAa,CAACR,MAAM,CAAC,CAAA;EAExC,oBACES,cAAA,CAACC,sBAAI,EAAA;AAACC,IAAAA,IAAI,EAAC,wBAAwB;IAAAC,QAAA,eACjCH,cAAA,CAACI,sBAAI,EAAA;AAAAD,MAAAA,QAAA,EACF,CAAA;AACT;AACA,8BAAA,EAAgCT,UAAU,CAAA;AAC1C,aAAeA,EAAAA,UAAU,mBAAmBI,UAAU,CAAA,CAAA;KAC1C,CAAA;AAAC,GACH,CAAC,CAAA;AAEX;;;;"}
1
+ {"version":3,"file":"AppProperties.js","sources":["../../../../../../../../../../../packages/templates/clients/websocket/java/quarkus/template/src/main/resources/AppProperties.js"],"sourcesContent":["import { getClientName, getServer, getServerHost, getServerProtocol } from '@asyncapi/generator-helpers';\nimport { Text, File } from '@asyncapi/generator-react-sdk';\n\nexport default function AppProperties({ asyncapi, params }) {\n const server = getServer(asyncapi.servers(), params.server);\n const clientName = getClientName(asyncapi, params.appendClientSuffix, params.customClientName);\n const serverHost = getServerHost(server);\n const serverProtocol = getServerProtocol(server);\n \n const protocol = `${serverProtocol}://`;\n\n return (\n <File name=\"application.properties\">\n <Text>\n {`# application.properties\n\n# Define a named base-uri for ${clientName}\ncom.asyncapi.${clientName}.base-uri=${protocol}${serverHost}`}\n </Text>\n </File>\n );\n}"],"names":["AppProperties","asyncapi","params","server","getServer","servers","clientName","getClientName","appendClientSuffix","customClientName","serverHost","getServerHost","serverProtocol","getServerProtocol","protocol","_jsx","File","name","children","Text"],"mappings":";;;;;;;AAGe,SAASA,aAAaA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,MAAAA;AAAO,CAAC,EAAE;AAC1D,EAAA,MAAMC,MAAM,GAAGC,0BAAS,CAACH,QAAQ,CAACI,OAAO,EAAE,EAAEH,MAAM,CAACC,MAAM,CAAC,CAAA;AAC3D,EAAA,MAAMG,UAAU,GAAGC,8BAAa,CAACN,QAAQ,EAAEC,MAAM,CAACM,kBAAkB,EAAEN,MAAM,CAACO,gBAAgB,CAAC,CAAA;AAC9F,EAAA,MAAMC,UAAU,GAAGC,8BAAa,CAACR,MAAM,CAAC,CAAA;AACxC,EAAA,MAAMS,cAAc,GAAGC,kCAAiB,CAACV,MAAM,CAAC,CAAA;AAEhD,EAAA,MAAMW,QAAQ,GAAG,CAAGF,EAAAA,cAAc,CAAK,GAAA,CAAA,CAAA;EAEvC,oBACEG,cAAA,CAACC,sBAAI,EAAA;AAACC,IAAAA,IAAI,EAAC,wBAAwB;IAAAC,QAAA,eACjCH,cAAA,CAACI,sBAAI,EAAA;AAAAD,MAAAA,QAAA,EACF,CAAA;AACT;AACA,8BAAA,EAAgCZ,UAAU,CAAA;AAC1C,aAAA,EAAeA,UAAU,CAAA,UAAA,EAAaQ,QAAQ,CAAA,EAAGJ,UAAU,CAAA,CAAA;KAC/C,CAAA;AAAC,GACH,CAAC,CAAA;AAEX;;;;"}
@@ -2,16 +2,23 @@ import { Text } from '@asyncapi/generator-react-sdk';
2
2
  import InitConnector from './InitConnector';
3
3
  import { ConnectorFields } from './ConnectorFields';
4
4
 
5
- export default function ClientConnector({ clientName }) {
5
+ export default function ClientConnector({ clientName, query, pathName, operations }) {
6
+ const queryParamsArray = query && Array.from(query.entries());
7
+ const sendOperations = operations.filterBySend();
8
+ if (!pathName) {
9
+ pathName = '/';
10
+ }
11
+
6
12
  return (
7
- <Text newLines={2} indent={2}>
13
+ <Text newLines={2}>
8
14
  <Text newLines={2}>
9
- {`@Startup
15
+ {`
16
+ @Startup
10
17
  @Singleton
11
18
  public class ${clientName}Connector{`}
12
19
  </Text>
13
- <ConnectorFields clientName={clientName} />
14
- <InitConnector />
20
+ <ConnectorFields clientName={clientName} queryParamsArray={queryParamsArray} />
21
+ <InitConnector queryParamsArray={queryParamsArray} pathName={pathName} sendOperations={sendOperations} />
15
22
  </Text>
16
23
  );
17
24
  }
@@ -1,10 +1,26 @@
1
+ import { toCamelCase } from '@asyncapi/generator-helpers';
1
2
  import { Text } from '@asyncapi/generator-react-sdk';
2
3
 
3
- export function ClientFields() {
4
+ export function ClientFields({ queryParams, clientName }) {
5
+ let queryParamsVariables = '';
6
+ const queryParamsArray = queryParams && Array.from(queryParams.entries());
7
+
8
+ if (queryParamsArray && queryParamsArray.length > 0) {
9
+ queryParamsVariables = '\nprivate HashMap<String, String> params;\n';
10
+ queryParamsVariables += queryParamsArray.map((param) => {
11
+ const paramName = toCamelCase(param[0]);
12
+ return `private String ${paramName};`;
13
+ }).join('\n');
14
+ }
15
+
4
16
  return (
5
17
  <Text indent={2} newLines={2}>
6
18
  {`@Inject
7
- WebSocketClientConnection connection;`}
19
+ public WebSocketClientConnection connection;
20
+
21
+ private static final Logger LOG = Logger.getLogger(${clientName}.class);
22
+
23
+ ${queryParamsVariables}`}
8
24
  </Text>
9
25
  );
10
26
  }
@@ -1,10 +1,15 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
2
 
3
- export function ConnectorFields({ clientName }) {
3
+ export function ConnectorFields({ clientName, queryParamsArray }) {
4
4
  return (
5
- <Text indent={2} newLines={2}>
5
+ <Text indent={2} newLines={1}>
6
6
  {`@Inject
7
7
  WebSocketConnector<${clientName}> connector;
8
+
9
+ ${ queryParamsArray && queryParamsArray.length ? `
10
+ @Inject
11
+ @ConfigProperty(name = "com.asyncapi.${clientName}.base-uri")
12
+ String baseURI;` : ''}
8
13
  `}
9
14
  </Text>
10
15
  );
@@ -0,0 +1,30 @@
1
+ import { Text } from '@asyncapi/generator-react-sdk';
2
+ import { ConstructorSignature } from './ConstructorSignature';
3
+ import { DefaultConstructorSignature } from './DefaultConstructorSignature';
4
+ import { QueryParamsVariables } from '@asyncapi/generator-components';
5
+
6
+ export function Constructor({ clientName, query }) {
7
+ const queryParamsArray = query && Array.from(query.entries());
8
+ if (!queryParamsArray || queryParamsArray.length === 0) {
9
+ return;
10
+ }
11
+
12
+ return (
13
+ <>
14
+ <DefaultConstructorSignature clientName={clientName} queryParams={queryParamsArray} />
15
+ <ConstructorSignature clientName={clientName} queryParams={queryParamsArray} />
16
+ <Text indent={6} >
17
+ {`${ queryParamsArray && queryParamsArray.length > 0 ? 'params = new HashMap<>(); ' : ''}`
18
+ }
19
+ </Text>
20
+ <QueryParamsVariables
21
+ language="java"
22
+ framework="quarkus"
23
+ queryParams={queryParamsArray}
24
+ />
25
+ <Text indent={2} newLines={2}>
26
+ {'}'}
27
+ </Text>
28
+ </>
29
+ );
30
+ }
@@ -0,0 +1,19 @@
1
+ import { toCamelCase } from '@asyncapi/generator-helpers';
2
+ import { Text } from '@asyncapi/generator-react-sdk';
3
+
4
+ export function ConstructorSignature({ clientName, queryParams }) {
5
+ if (!queryParams) {
6
+ return;
7
+ }
8
+
9
+ const queryParamsArguments = queryParams?.map((param) => {
10
+ const paramName = toCamelCase(param[0]);
11
+ return `String ${paramName}`; // assuming the default values of the parameters are strings
12
+ }).join(', ');
13
+
14
+ return (
15
+ <Text indent={2}>
16
+ {`public ${clientName}(${queryParamsArguments}){`}
17
+ </Text>
18
+ );
19
+ }
@@ -0,0 +1,23 @@
1
+ import { Text } from '@asyncapi/generator-react-sdk';
2
+
3
+ export function DefaultConstructorSignature({ clientName, queryParams }) {
4
+ if (!queryParams || !Array.isArray(queryParams)) {
5
+ return null;
6
+ }
7
+
8
+ const argDefaultValues = [];
9
+
10
+ queryParams.forEach((param) => {
11
+ const paramDefaultValue = param[1];
12
+ const defaultValue = paramDefaultValue ? `"${paramDefaultValue}"` : 'null';
13
+ argDefaultValues.push(defaultValue);
14
+ });
15
+
16
+ return (
17
+ <Text indent={2} newLines={2}>
18
+ {`public ${clientName}(){
19
+ this(${argDefaultValues.join(', ')});
20
+ }`}
21
+ </Text>
22
+ );
23
+ }
@@ -1,11 +1,11 @@
1
1
  import { ClientFields } from './ClientFields.js';
2
+ import { Constructor } from './Constructor.js';
2
3
  import HandleError from './HandleError.js';
3
- import OnClose from './OnClose.js';
4
- import OnOpen from './OnOpen.js';
4
+ import { OnClose, OnOpen } from '@asyncapi/generator-components';
5
5
  import OnTextMessageHandler from './OnTextMessageHandler.js';
6
6
  import { Text } from '@asyncapi/generator-react-sdk';
7
7
 
8
- export function EchoWebSocket({ clientName, pathName, title, operations }) {
8
+ export function EchoWebSocket({ clientName, pathName, title, queryParams, operations }) {
9
9
  const sendOperations = operations.filterBySend();
10
10
  if (!pathName) {
11
11
  pathName = '/';
@@ -14,14 +14,24 @@ export function EchoWebSocket({ clientName, pathName, title, operations }) {
14
14
  return (
15
15
  <Text>
16
16
  <Text newLines={2}>
17
- {`@WebSocketClient(path = "${pathName}")
17
+ {`
18
+ @WebSocketClient(path = "${pathName}")
18
19
  public class ${clientName}{`}
19
20
  </Text>
20
- <ClientFields />
21
- <OnOpen title={title}/>
21
+ <ClientFields queryParams={queryParams} clientName={clientName}/>
22
+ <Constructor clientName={clientName} query={queryParams} />
23
+ <OnOpen
24
+ language='java'
25
+ framework='quarkus'
26
+ title={title}
27
+ />
22
28
  <OnTextMessageHandler sendOperations={sendOperations}/>
23
29
  <HandleError/>
24
- <OnClose title={title} />
30
+ <OnClose
31
+ language='java'
32
+ framework='quarkus'
33
+ title={title}
34
+ />
25
35
  </Text>
26
36
  );
27
37
  }
@@ -2,10 +2,10 @@ import { Text } from '@asyncapi/generator-react-sdk';
2
2
 
3
3
  export default function HandleError() {
4
4
  return (
5
- <Text newLines={2} indent={2}>
5
+ <Text indent={2}>
6
6
  {`@OnError
7
7
  public void onError(Throwable throwable) {
8
- Log.error("Websocket connection error: " + throwable.getMessage());
8
+ LOG.error("Websocket connection error: " + throwable.getMessage());
9
9
  }
10
10
  `}
11
11
  </Text>
@@ -1,41 +1,24 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
+ import TimedConnection from './TimedConnection';
3
+ import URIParams from './URIParams';
4
+ import { CloseConnection } from '@asyncapi/generator-components';
2
5
 
3
- export default function InitConnector() {
6
+ export default function InitConnector({ queryParamsArray, pathName, sendOperations }) {
4
7
  return (
5
- <Text newLines={1}>
8
+ <Text>
6
9
  {`
7
10
  @PostConstruct
8
11
  void openAndSendMessagesWithDelay() {
9
12
  new Thread(() -> {
10
13
  try {
11
- Log.info("Starting WebSocket connection attempt...");
12
- WebSocketClientConnection connection = connector.connectAndAwait();
13
-
14
- // Wait 2 seconds before first message
15
- Thread.sleep(2000);
16
-
17
- // Send 5 messages
18
- for (int i = 1; i <= 5; i++) {
19
- String msg = "Message #" + i + " from Quarkus";
20
- connection.sendTextAndAwait(msg);
21
- Log.info("Sent: " + msg);
22
- Thread.sleep(5000);
23
- }
24
-
25
- // Wait 10 seconds after final message
26
- Log.info("All messages sent. Waiting 10 seconds before closing...");
27
- Thread.sleep(10000);
28
-
29
- connection.closeAndAwait();
30
- Log.info("Connection closed gracefully.");
31
-
32
- } catch (Exception e) {
33
- Log.error("Error during WebSocket communication", e);
34
- }
35
- }).start();
36
- }
37
- }
38
- `}
14
+ Log.info("Starting WebSocket connection attempt...");`}
15
+ {
16
+ (!queryParamsArray || queryParamsArray.length === 0) && (
17
+ <TimedConnection sendOperations={sendOperations} />
18
+ )
19
+ }
20
+ <URIParams queryParamsArray={queryParamsArray} pathName={pathName} />
21
+ <CloseConnection language="java" framework="quarkus" methodName="" indent={0} />
39
22
  </Text>
40
23
  );
41
24
  }
@@ -1,24 +1,64 @@
1
1
  import { Text } from '@asyncapi/generator-react-sdk';
2
+ import { toCamelCase } from '@asyncapi/generator-helpers';
2
3
 
3
- export default function OnTextMessage({sendOperations}) {
4
- if (!sendOperations || sendOperations.length === 0) {
5
- return null;
6
- }
7
-
4
+ export default function OnTextMessage({ sendOperations }) {
8
5
  return (
9
6
  <>
10
7
  {
11
- sendOperations.map((operation) => {
12
- const methodName = operation.id();
13
- return (
14
- <Text newLines={2} indent={2}>
15
- {`@OnTextMessage
16
- public void ${methodName}(String message, WebSocketClientConnection connection) {
17
- Log.info("Received text message: " + message);
8
+ // If there are operations, emit a single @OnTextMessage
9
+ (sendOperations && sendOperations.length !== 0) && (
10
+ <Text newLines={2} indent={2}>
11
+ {`@OnTextMessage
12
+ public void handleTextMessage(String message, WebSocketClientConnection connection) {
13
+ LOG.info("Handler received text message: " + message);
14
+ ${sendOperations.map((operation, idx) => {
15
+ const methodName = operation.id();
16
+ const javaMethodName = toCamelCase(methodName);
17
+ const condition = idx === 0 ? ` if (message != null && message.contains("${methodName}")) {` : ` else if (message != null && message.contains("${methodName}")) {`;
18
+ return `${condition}
19
+ ${javaMethodName}(message, connection);
20
+ }`;
21
+ }).join('\n')}
22
+ else {
23
+ LOG.warn("Handler received unrecognized message type. Falling back to default handler.");
24
+ // Note: By default, we route unrecognized messages to the first operation handler.
25
+ // Depending on your business logic, you may want to change this behavior.
26
+ ${toCamelCase(sendOperations[0].id())}(message, connection);
27
+ }
28
+ }`}
29
+ </Text>
30
+ )
31
+ }
32
+
33
+ {
34
+ // Generate handlers for each operation
35
+ (sendOperations && sendOperations.length !== 0) && (
36
+ sendOperations.map((operation) => {
37
+ const methodName = operation.id();
38
+ const javaMethodName = toCamelCase(methodName);
39
+ return (
40
+ <Text newLines={2} indent={2}>
41
+ {`public void ${javaMethodName}(String message, WebSocketClientConnection connection) {
42
+ LOG.info("Processing ${methodName} type message: " + message);
43
+ // TODO: implement processing logic for ${methodName}
18
44
  }`}
19
- </Text>
20
- );
21
- })
45
+ </Text>
46
+ );
47
+ })
48
+ )
49
+ }
50
+
51
+ {
52
+ // No operations provided need a default handler
53
+ (!sendOperations || sendOperations.length === 0) && (
54
+ <Text newLines={2} indent={2}>
55
+ {`@OnTextMessage
56
+ public void processTextMessage(String message, WebSocketClientConnection connection) {
57
+ LOG.info("Received text message: " + message);
58
+ }`}
59
+ </Text>
60
+
61
+ )
22
62
  }
23
63
  </>
24
64
  );
@@ -0,0 +1,31 @@
1
+ import { Text } from '@asyncapi/generator-react-sdk';
2
+
3
+ export default function TimedConnection({ sendOperations }) {
4
+ const initialDelayMs = 2000;
5
+ const messageCount = 5;
6
+ const messageIntervalMs = 5000;
7
+ const finalDelayMs = 10000;
8
+ const firstOperationId = sendOperations && sendOperations.length > 0 ? sendOperations[0].id() : null;
9
+ return (
10
+ <Text newLines={2}>
11
+ {`
12
+ WebSocketClientConnection connection = connector.connectAndAwait();
13
+
14
+ // Wait 2 seconds before first message
15
+ Thread.sleep(${initialDelayMs});
16
+
17
+ // Send ${messageCount} messages
18
+ for (int i = 1; i <= ${messageCount}; i++) {
19
+ // Send a message to any available operation by including its operation ID (i.e. "${firstOperationId}")
20
+ String msg = ${firstOperationId ? `"Message #" + i + " from Quarkus for ${firstOperationId}"` : '"Message #" + i + " from Quarkus"'};
21
+ connection.sendTextAndAwait(msg);
22
+ Log.info("Sent: " + msg);
23
+ Thread.sleep(${messageIntervalMs}); // Wait 5 seconds between messages
24
+ }
25
+
26
+ // Wait 10 seconds after final message
27
+ Log.info("All messages sent. Waiting 10 seconds before closing...");
28
+ Thread.sleep(${finalDelayMs});`}
29
+ </Text>
30
+ );
31
+ }
@@ -0,0 +1,60 @@
1
+ import { Text } from '@asyncapi/generator-react-sdk';
2
+ import { toCamelCase } from '@asyncapi/generator-helpers';
3
+
4
+ export default function URIParams({ queryParamsArray, pathName }) {
5
+ if (!queryParamsArray || queryParamsArray.length === 0) {
6
+ return null; // Return null if no query params
7
+ }
8
+
9
+ return (
10
+ <>
11
+ <Text newLines={1}>
12
+ {`
13
+ // URI parameters
14
+ String query = "";
15
+ `}
16
+ </Text>
17
+ {queryParamsArray.map((param, idx) => {
18
+ const paramName = toCamelCase(param[0]);
19
+ const variableDefinition = `String ${paramName} = System.getenv("${paramName.toUpperCase()}");`;
20
+ const errorCheck = `if(${paramName} == null || ${paramName}.isEmpty()){`;
21
+ const errorMessage = `throw new IllegalArgumentException("Required environment variable ${paramName.toUpperCase()} is missing or empty");`;
22
+ const closingTag = '}';
23
+
24
+ let additionalQuery = '';
25
+ if (idx === 0) {
26
+ additionalQuery = `query += "${param[0]}=" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\n`;
27
+ } else {
28
+ additionalQuery = `query += "&${param[0]}=" + URLEncoder.encode(${paramName}, StandardCharsets.UTF_8);\n`;
29
+ }
30
+
31
+ return (
32
+ <>
33
+ <Text indent={12}>
34
+ {variableDefinition}
35
+ </Text>
36
+ <Text indent={12}>
37
+ {errorCheck}
38
+ </Text>
39
+ <Text indent={14}>
40
+ {errorMessage}
41
+ </Text>
42
+ <Text indent={12}>
43
+ {closingTag}
44
+ </Text>
45
+ <Text indent={12}>
46
+ {additionalQuery}
47
+ </Text>
48
+ </>
49
+ );
50
+ })}
51
+ <Text>
52
+ {`
53
+ String queryUri = baseURI + "${pathName}" + "?" + query;
54
+ WebSocketClientConnection connection = connector.baseUri(queryUri).connectAndAwait();
55
+ Thread.sleep(120000); // Keep the connection open for 2 minutes
56
+ `}
57
+ </Text>
58
+ </>
59
+ );
60
+ }
@@ -1,23 +1,17 @@
1
- import { Text } from '@asyncapi/generator-react-sdk';
1
+ import { DependencyProvider } from '@asyncapi/generator-components';
2
2
 
3
- export function ClientDependencies() {
3
+ export function ClientDependencies({ queryParams }) {
4
+ const additionalDependencies = [];
5
+ if (queryParams) {
6
+ additionalDependencies.push('import java.util.HashMap;');
7
+ }
4
8
  return (
5
- <Text>
6
- <Text>
7
- {`
8
- package com.asyncapi;
9
-
10
- import io.quarkus.websockets.next.WebSocketClient;
11
- import io.quarkus.websockets.next.WebSocketClientConnection;
12
- import io.quarkus.websockets.next.OnOpen;
13
- import io.quarkus.websockets.next.OnClose;
14
- import io.quarkus.websockets.next.OnError;
15
- import io.quarkus.websockets.next.OnTextMessage;
16
- import io.quarkus.websockets.next.CloseReason;
17
- import jakarta.inject.Inject;
18
- import io.quarkus.logging.Log;`}
19
- </Text>
20
- </Text>
9
+ <DependencyProvider
10
+ language="java"
11
+ framework="quarkus"
12
+ role="client"
13
+ additionalDependencies={additionalDependencies}
14
+ />
21
15
  );
22
16
  }
23
17