PageRenderTime 54ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/vendor/plugins/domgen/lib/domgen/imit/generator.rb

https://github.com/realityforge/gwt-contacts
Ruby | 209 lines | 189 code | 7 blank | 13 comment | 0 complexity | e3df8a9c55bf492403cfbbf2987addc0 MD5 | raw file
  1. #
  2. # Licensed under the Apache License, Version 2.0 (the "License");
  3. # you may not use this file except in compliance with the License.
  4. # You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software
  9. # distributed under the License is distributed on an "AS IS" BASIS,
  10. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. # See the License for the specific language governing permissions and
  12. # limitations under the License.
  13. #
  14. module Domgen
  15. module Generator
  16. module Imit
  17. TEMPLATE_DIRECTORY = "#{File.dirname(__FILE__)}/templates"
  18. HELPERS = [Domgen::Java::Helper]
  19. FACETS = [:imit]
  20. end
  21. end
  22. end
  23. Domgen.template_set(:imit_metadata) do |template_set|
  24. template_set.template(Domgen::Generator::Imit::FACETS,
  25. :repository,
  26. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/graph_enum.java.erb",
  27. 'main/java/#{repository.imit.qualified_graph_enum_name.gsub(".","/")}.java',
  28. Domgen::Generator::Imit::HELPERS)
  29. end
  30. Domgen.template_set(:imit_entity) do |template_set|
  31. template_set.template(Domgen::Generator::Imit::FACETS,
  32. :entity,
  33. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/entity.java.erb",
  34. 'main/java/#{entity.imit.qualified_name.gsub(".","/")}.java',
  35. Domgen::Generator::Imit::HELPERS)
  36. template_set.template(Domgen::Generator::Imit::FACETS,
  37. :data_module,
  38. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/mapper.java.erb",
  39. 'main/java/#{data_module.imit.qualified_mapper_name.gsub(".","/")}.java',
  40. Domgen::Generator::Imit::HELPERS)
  41. template_set.template(Domgen::Generator::Imit::FACETS,
  42. :repository,
  43. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/data_loader_service.java.erb",
  44. 'main/java/#{repository.imit.qualified_data_loader_service_name.gsub(".","/")}.java',
  45. Domgen::Generator::Imit::HELPERS)
  46. template_set.template(Domgen::Generator::Imit::FACETS,
  47. :repository,
  48. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/data_loader_service_interface.java.erb",
  49. 'main/java/#{repository.imit.qualified_data_loader_service_interface_name.gsub(".","/")}.java',
  50. Domgen::Generator::Imit::HELPERS)
  51. template_set.template(Domgen::Generator::Imit::FACETS,
  52. :repository,
  53. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/client_session_context.java.erb",
  54. 'main/java/#{repository.imit.qualified_client_session_context_name.gsub(".","/")}.java',
  55. Domgen::Generator::Imit::HELPERS)
  56. template_set.template(Domgen::Generator::Imit::FACETS,
  57. :repository,
  58. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/client_session_interface.java.erb",
  59. 'main/java/#{repository.imit.qualified_client_session_interface_name.gsub(".","/")}.java',
  60. Domgen::Generator::Imit::HELPERS)
  61. template_set.template(Domgen::Generator::Imit::FACETS,
  62. :repository,
  63. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/client_session.java.erb",
  64. 'main/java/#{repository.imit.qualified_client_session_name.gsub(".","/")}.java',
  65. Domgen::Generator::Imit::HELPERS)
  66. template_set.template(Domgen::Generator::Imit::FACETS,
  67. :repository,
  68. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/change_mapper.java.erb",
  69. 'main/java/#{repository.imit.qualified_change_mapper_name.gsub(".","/")}.java',
  70. Domgen::Generator::Imit::HELPERS)
  71. template_set.template(Domgen::Generator::Imit::FACETS,
  72. :repository,
  73. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/client_router_impl.java.erb",
  74. 'main/java/#{repository.imit.qualified_client_router_impl_name.gsub(".","/")}.java',
  75. Domgen::Generator::Imit::HELPERS + [Domgen::JPA::Helper, Domgen::Java::Helper])
  76. template_set.template(Domgen::Generator::Imit::FACETS,
  77. :repository,
  78. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/client_router_interface.java.erb",
  79. 'main/java/#{repository.imit.qualified_client_router_interface_name.gsub(".","/")}.java',
  80. Domgen::Generator::Imit::HELPERS)
  81. template_set.template(Domgen::Generator::Imit::FACETS,
  82. :repository,
  83. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/repository_debugger.java.erb",
  84. 'main/java/#{repository.imit.qualified_repository_debugger_name.gsub(".","/")}.java',
  85. Domgen::Generator::Imit::HELPERS)
  86. end
  87. Domgen.template_set(:imit_gwt_proxy) do |template_set|
  88. template_set.template(Domgen::Generator::Imit::FACETS,
  89. :service,
  90. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/service.java.erb",
  91. 'main/java/#{service.imit.qualified_name.gsub(".","/")}.java',
  92. Domgen::Generator::Imit::HELPERS)
  93. template_set.template(Domgen::Generator::Imit::FACETS + [:gwt_rpc],
  94. :service,
  95. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/proxy.java.erb",
  96. 'main/java/#{service.imit.qualified_proxy_name.gsub(".","/")}.java',
  97. Domgen::Generator::Imit::HELPERS)
  98. template_set.template(Domgen::Generator::Imit::FACETS + [:gwt_rpc],
  99. :repository,
  100. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/services_module.java.erb",
  101. 'main/java/#{repository.imit.qualified_services_module_name.gsub(".","/")}.java',
  102. [Domgen::Java::Helper])
  103. template_set.template(Domgen::Generator::Imit::FACETS,
  104. :exception,
  105. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/exception.java.erb",
  106. 'main/java/#{exception.imit.qualified_name.gsub(".","/")}.java',
  107. Domgen::Generator::Imit::HELPERS)
  108. end
  109. Domgen.template_set(:imit_test_module) do |template_set|
  110. template_set.template(Domgen::Generator::Imit::FACETS + [:gwt_rpc],
  111. :repository,
  112. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/mock_services_module.java.erb",
  113. 'test/java/#{repository.imit.qualified_mock_services_module_name.gsub(".","/")}.java',
  114. [Domgen::Java::Helper])
  115. end
  116. Domgen.template_set(:imit_module) do |template_set|
  117. template_set.template(Domgen::Generator::Imit::FACETS + [:gwt_rpc],
  118. :repository,
  119. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/mock_services_module.java.erb",
  120. 'main/java/#{repository.imit.qualified_mock_services_module_name.gsub(".","/")}.java',
  121. [Domgen::Java::Helper])
  122. end
  123. Domgen.template_set(:imit_jpa_listener) do |template_set|
  124. template_set.template(Domgen::Generator::Imit::FACETS + [:jpa],
  125. :repository,
  126. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/change_listener.java.erb",
  127. 'main/java/#{repository.imit.qualified_change_listener_name.gsub(".","/")}.java',
  128. [Domgen::Java::Helper])
  129. template_set.template(Domgen::Generator::Imit::FACETS + [:jpa],
  130. :repository,
  131. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/change_recorder.java.erb",
  132. 'main/java/#{repository.imit.qualified_change_recorder_name.gsub(".","/")}.java',
  133. [Domgen::Java::Helper])
  134. end
  135. Domgen.template_set(:imit_jpa) do |template_set|
  136. facets = Domgen::Generator::Imit::FACETS + [:jpa]
  137. helpers = Domgen::Generator::Imit::HELPERS + [Domgen::JPA::Helper, Domgen::Java::Helper]
  138. template_set.template(Domgen::Generator::Imit::FACETS + [:jpa],
  139. :repository,
  140. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/change_recorder_impl.java.erb",
  141. 'main/java/#{repository.imit.qualified_change_recorder_impl_name.gsub(".","/")}.java',
  142. [Domgen::Java::Helper])
  143. template_set.template(facets,
  144. :repository,
  145. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/jpa_encoder.java.erb",
  146. 'main/java/#{repository.imit.qualified_jpa_encoder_name.gsub(".","/")}.java',
  147. helpers)
  148. template_set.template(facets,
  149. :repository,
  150. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/graph_encoder.java.erb",
  151. 'main/java/#{repository.imit.qualified_graph_encoder_name.gsub(".","/")}.java',
  152. helpers)
  153. template_set.template(facets,
  154. :repository,
  155. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/graph_encoder_impl.java.erb",
  156. 'main/java/#{repository.imit.qualified_graph_encoder_impl_name.gsub(".","/")}.java',
  157. helpers)
  158. template_set.template(facets,
  159. :repository,
  160. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/server_session_context.java.erb",
  161. 'main/java/#{repository.imit.qualified_server_session_context_name.gsub(".","/")}.java',
  162. helpers)
  163. template_set.template(facets,
  164. :repository,
  165. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/replication_interceptor.java.erb",
  166. 'main/java/#{repository.imit.qualified_replication_interceptor_name.gsub(".","/")}.java',
  167. helpers)
  168. template_set.template(facets,
  169. :repository,
  170. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/session.java.erb",
  171. 'main/java/#{repository.imit.qualified_session_name.gsub(".","/")}.java',
  172. helpers)
  173. template_set.template(facets,
  174. :repository,
  175. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/session_manager.java.erb",
  176. 'main/java/#{repository.imit.qualified_session_manager_name.gsub(".","/")}.java',
  177. helpers)
  178. template_set.template(facets,
  179. :repository,
  180. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/router_interface.java.erb",
  181. 'main/java/#{repository.imit.qualified_router_interface_name.gsub(".","/")}.java',
  182. helpers)
  183. template_set.template(facets,
  184. :repository,
  185. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/router_impl.java.erb",
  186. 'main/java/#{repository.imit.qualified_router_impl_name.gsub(".","/")}.java',
  187. helpers)
  188. template_set.template(facets,
  189. :repository,
  190. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/message_generator.java.erb",
  191. 'main/java/#{repository.imit.qualified_message_generator_name.gsub(".","/")}.java',
  192. helpers)
  193. template_set.template(facets,
  194. :repository,
  195. "#{Domgen::Generator::Imit::TEMPLATE_DIRECTORY}/message_constants.java.erb",
  196. 'main/java/#{repository.imit.qualified_message_constants_name.gsub(".","/")}.java',
  197. helpers)
  198. end
  199. Domgen.template_set(:imit_shared => [:imit_metadata])
  200. Domgen.template_set(:imit_server => [:imit_jpa, :imit_jpa_listener])
  201. Domgen.template_set(:imit_client => [:imit_test_module, :imit_gwt_proxy, :imit_entity])
  202. Domgen.template_set(:imit => [:imit_client, :imit_server, :imit_shared])