blufin 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +7 -0
  2. data/bin/bf +5 -0
  3. data/bin/blufin +5 -0
  4. data/lib/blufin.rb +245 -0
  5. data/lib/core/code_scanners/common/scanner_common.rb +83 -0
  6. data/lib/core/code_scanners/common/scanner_java.rb +106 -0
  7. data/lib/core/code_scanners/scanner_java_embedded_objects.rb +386 -0
  8. data/lib/core/code_scanners/scanner_java_enums.rb +125 -0
  9. data/lib/core/code_scanners/scanner_java_source.rb +29 -0
  10. data/lib/core/code_scanners/scanner_java_tests.rb +157 -0
  11. data/lib/core/error_handling/schema_error.rb +9 -0
  12. data/lib/core/error_handling/sql_error.rb +21 -0
  13. data/lib/core/error_handling/sql_error_handler.rb +149 -0
  14. data/lib/core/error_handling/yml_error.rb +21 -0
  15. data/lib/core/error_handling/yml_error_handler.rb +437 -0
  16. data/lib/core/mysql.rb +347 -0
  17. data/lib/core/opt.rb +21 -0
  18. data/lib/core/site/site.rb +26 -0
  19. data/lib/core/site/site_auth.rb +88 -0
  20. data/lib/core/site/site_embedded.rb +27 -0
  21. data/lib/core/site/site_ports.rb +9 -0
  22. data/lib/core/site/site_resolver.rb +276 -0
  23. data/lib/core/site/site_services.rb +162 -0
  24. data/lib/core/site/site_ui.rb +16 -0
  25. data/lib/core/yml/config/yml_config_validator.rb +219 -0
  26. data/lib/core/yml/maven/yml_maven_validator.rb +1132 -0
  27. data/lib/core/yml/resource/yml_resource_validator.rb +154 -0
  28. data/lib/core/yml/schema/yml_schema_flags.rb +9 -0
  29. data/lib/core/yml/schema/yml_schema_validator.rb +1850 -0
  30. data/lib/core/yml/yml_cache_handler.rb +115 -0
  31. data/lib/core/yml/yml_common.rb +487 -0
  32. data/lib/core/yml/yml_meta_writer_base.rb +300 -0
  33. data/lib/core/yml/yml_outputter.rb +307 -0
  34. data/lib/core/yml/yml_validator_base.rb +630 -0
  35. data/lib/core/yml_writers/yml_configuration_writer.rb +40 -0
  36. data/lib/core/yml_writers/yml_java_api_resource_writer.rb +348 -0
  37. data/lib/core/yml_writers/yml_java_cron_type_writer.rb +113 -0
  38. data/lib/core/yml_writers/yml_java_css_dependency_writer.rb +59 -0
  39. data/lib/core/yml_writers/yml_java_dao_writer.rb +364 -0
  40. data/lib/core/yml_writers/yml_java_dto_writer.rb +251 -0
  41. data/lib/core/yml_writers/yml_java_embedded_object_writer.rb +968 -0
  42. data/lib/core/yml_writers/yml_java_enum_writer.rb +161 -0
  43. data/lib/core/yml_writers/yml_java_js_dependency_writer.rb +59 -0
  44. data/lib/core/yml_writers/yml_java_message_type_writer.rb +106 -0
  45. data/lib/core/yml_writers/yml_java_meta_writer.rb +173 -0
  46. data/lib/core/yml_writers/yml_java_model_writer.rb +510 -0
  47. data/lib/core/yml_writers/yml_java_pom_writer.rb +1050 -0
  48. data/lib/core/yml_writers/yml_java_resource_data_writer.rb +251 -0
  49. data/lib/core/yml_writers/yml_java_sdk_writer.rb +732 -0
  50. data/lib/core/yml_writers/yml_java_validator_writer.rb +280 -0
  51. data/lib/core/yml_writers/yml_java_worker_writer.rb +81 -0
  52. data/lib/core/yml_writers/yml_sql_structure_writer.rb +307 -0
  53. data/lib/core/yml_writers/yml_sql_template_writer.rb +243 -0
  54. data/lib/core/yml_writers/yml_vue_service_writer.rb +170 -0
  55. data/lib/core/yml_writers/yml_writer_base.rb +114 -0
  56. data/lib/routes/api_list.rb +35 -0
  57. data/lib/routes/api_meta.rb +59 -0
  58. data/lib/routes/build.rb +46 -0
  59. data/lib/routes/create/create_api.rb +35 -0
  60. data/lib/routes/create/create_ui.rb +84 -0
  61. data/lib/routes/export.rb +56 -0
  62. data/lib/routes/generate/generate_api.rb +225 -0
  63. data/lib/routes/generate/generate_img_favicon.rb +56 -0
  64. data/lib/routes/generate/generate_img_landing.rb +94 -0
  65. data/lib/routes/generate/generate_lambda.rb +43 -0
  66. data/lib/routes/lint.rb +35 -0
  67. data/lib/routes/mysql_reset.rb +43 -0
  68. data/lib/routes/release_blufin.rb +351 -0
  69. data/lib/routes/run.rb +35 -0
  70. data/lib/version.rb +1 -0
  71. data/opt/README.MD +2 -0
  72. data/opt/config/schema.yml +73 -0
  73. data/opt/config/template.yml +25 -0
  74. data/opt/sql/data/config/data-client.sql +7 -0
  75. data/opt/sql/data/config/data-db-configuration-property.sql +47 -0
  76. data/opt/sql/data/config/data-db-configuration.sql +9 -0
  77. data/opt/sql/data/config/data-db.sql +175 -0
  78. data/opt/sql/data/config/data-profile-api.sql +47 -0
  79. data/opt/sql/data/config/data-profile-cron.sql +0 -0
  80. data/opt/sql/data/config/data-profile-worker.sql +0 -0
  81. data/opt/sql/data/config/data-profile.sql +87 -0
  82. data/opt/sql/data/config/data-project.sql +95 -0
  83. data/opt/sql/structure/blufin-master-structure-fks.sql +65 -0
  84. data/opt/sql/structure/blufin-master-structure.sql +97 -0
  85. data/opt/sql/structure/blufin-mock-structure-fks.sql +38 -0
  86. data/opt/sql/structure/blufin-mock-structure.sql +98 -0
  87. data/opt/sql/templates/config/template-client.sql +7 -0
  88. data/opt/sql/templates/config/template-db-configuration-property.sql +11 -0
  89. data/opt/sql/templates/config/template-db-configuration.sql +9 -0
  90. data/opt/sql/templates/config/template-db.sql +21 -0
  91. data/opt/sql/templates/config/template-profile-api.sql +11 -0
  92. data/opt/sql/templates/config/template-profile-cron.sql +7 -0
  93. data/opt/sql/templates/config/template-profile-worker.sql +7 -0
  94. data/opt/sql/templates/config/template-profile.sql +21 -0
  95. data/opt/sql/templates/config/template-project.sql +23 -0
  96. data/opt/yml/api/schema/config/client.yml +14 -0
  97. data/opt/yml/api/schema/config/db.yml +45 -0
  98. data/opt/yml/api/schema/config/db_configuration.yml +22 -0
  99. data/opt/yml/api/schema/config/db_configuration_property.yml +22 -0
  100. data/opt/yml/api/schema/config/profile.yml +53 -0
  101. data/opt/yml/api/schema/config/profile_api.yml +22 -0
  102. data/opt/yml/api/schema/config/profile_cron.yml +14 -0
  103. data/opt/yml/api/schema/config/profile_worker.yml +14 -0
  104. data/opt/yml/api/schema/config/project.yml +48 -0
  105. data/opt/yml/api/schema/mock/mock.yml +99 -0
  106. data/opt/yml/api/schema/mock/mock_nested_if_enum.yml +16 -0
  107. data/opt/yml/api/schema/mock/mock_nested_if_enum_system.yml +16 -0
  108. data/opt/yml/api/schema/mock/mock_nested_linked.yml +43 -0
  109. data/opt/yml/api/schema/mock/mock_nested_multiple.yml +61 -0
  110. data/opt/yml/api/schema/mock/mock_nested_single.yml +67 -0
  111. data/opt/yml/api/schema/mock/mock_nested_single_super_deep.yml +32 -0
  112. data/opt/yml/api/schema/mock/mock_nested_single_super_super_deep.yml +17 -0
  113. metadata +240 -0
@@ -0,0 +1,35 @@
1
+ module AppCommand
2
+
3
+ class APIList < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ opts_validate
13
+ opts_routing
14
+
15
+ rescue => e
16
+
17
+ Blufin::Terminal::print_exception(e)
18
+
19
+ end
20
+
21
+ end
22
+
23
+ def opts_validate
24
+
25
+ end
26
+
27
+ def opts_routing
28
+
29
+ Blufin::Terminal::info("Available #{Blufin::Terminal::format_highlight('APIs')} are:", Blufin::SiteResolver::get_available_apis, true)
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,59 @@
1
+ module AppCommand
2
+
3
+ class APIMeta < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ opts_validate
13
+
14
+ @site = Blufin::SiteResolver::validate_site(@args[0])
15
+ @error_handler = Blufin::YmlErrorHandler.new(@site)
16
+
17
+ Blufin::SiteEmbedded::init(Blufin::ScannerJavaEmbeddedObjects::new(@site, @error_handler).get_data)
18
+
19
+ @yml_config = Blufin::YmlConfigValidator.new(@site, @error_handler)
20
+
21
+ Blufin::SiteAuth::init(@yml_config.config_data[Blufin::YmlConfigValidator::GLOBAL][Blufin::YmlConfigValidator::GLOBAL_AUTHENTICATION])
22
+
23
+ @yml_schema = Blufin::YmlSchemaValidator.new(@site, @error_handler)
24
+
25
+ opts_routing
26
+
27
+ rescue => e
28
+
29
+ Blufin::Terminal::print_exception(e)
30
+
31
+ end
32
+
33
+ end
34
+
35
+ def opts_validate
36
+
37
+ # Show help if no flags.
38
+ if Blufin::Routes::flags_set(@opts) == 0
39
+
40
+ system("#{App::GEM_NAME} p am -h")
41
+ exit
42
+
43
+ end
44
+
45
+ end
46
+
47
+ def opts_routing
48
+
49
+ system('clear') unless @opts[:as_json]
50
+
51
+ @yml_schema.get_yml_schema_outputter.show_auto_increment if @opts[:show_auto_increment]
52
+ @yml_schema.get_yml_schema_outputter.show_enums if @opts[:show_enums]
53
+ @yml_schema.get_yml_schema_outputter.show_resources(@opts[:as_json]) if @opts[:show_resources]
54
+
55
+ end
56
+
57
+ end
58
+
59
+ end
@@ -0,0 +1,46 @@
1
+ module AppCommand
2
+
3
+ class Build < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ opts_validate
13
+ opts_routing
14
+
15
+ rescue => e
16
+
17
+ Blufin::Terminal::print_exception(e)
18
+
19
+ end
20
+
21
+ end
22
+
23
+ def opts_validate
24
+
25
+ Blufin::SiteServices::validate_site_service(@site, @service)
26
+
27
+ end
28
+
29
+ def opts_routing
30
+
31
+ # Tag a branch:
32
+ # $ git tag -a "v0.1.0-beta" -m "Version: v0.1.0-beta"
33
+
34
+ # Show all commits between 2 tags...
35
+ # $ git log v0.1.0-beta..v0.1.1-beta | grep "^commit [a-z0-9]\{40\}$" | awk '{print $2}'
36
+
37
+ # Get commit message for commit hash...
38
+ # $ git show d29f2870c59ffab4abb565c3e3c06430cd62515c | grep "^commit [a-z0-9]\{40\}$" -A4 | tail -n 1
39
+
40
+ raise RuntimeError, 'Not yet implemented!'
41
+
42
+ end
43
+
44
+ end
45
+
46
+ end
@@ -0,0 +1,35 @@
1
+ module AppCommand
2
+
3
+ class CreateApi < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ opts_validate
13
+ opts_routing
14
+
15
+ rescue => e
16
+
17
+ Blufin::Terminal::print_exception(e)
18
+
19
+ end
20
+
21
+ end
22
+
23
+ def opts_validate
24
+
25
+ end
26
+
27
+ def opts_routing
28
+
29
+ raise RuntimeError, 'Not yet implemented!'
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,84 @@
1
+ module AppCommand
2
+
3
+ class CreateUI < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ @archetypes = get_archetypes
13
+
14
+ opts_validate
15
+ opts_routing
16
+
17
+ rescue => e
18
+
19
+ Blufin::Terminal::print_exception(e)
20
+
21
+ end
22
+
23
+ end
24
+
25
+ def opts_validate
26
+
27
+ end
28
+
29
+ def opts_routing
30
+
31
+ Blufin::Terminal::info('Create new UI', "You're about to create a new UI from an archetype.")
32
+
33
+ # TODO - FINISH THIS...
34
+
35
+ Blufin::Terminal::prompt_select('Select Archetype', @archetypes)
36
+
37
+ raise RuntimeError, 'Not yet implemented!'
38
+
39
+ # TODO - These are the steps I currently run manually...
40
+
41
+ # $ cd /path/to/where/i/want/new/ui
42
+ # $ cp -R ~/Repos/blufin-archetypes/nuxt/v1/* .
43
+ # $ rm -rf .nuxt
44
+ # $ rm -rf dist
45
+ # $ rm -rf node_modules
46
+ # $ rm static/sw.js
47
+ # $ rm README.md
48
+ # $ rm yarn.lock
49
+ # $ yarn install
50
+ # $ yarn link blufin-ui
51
+ # $ yarn install
52
+ # In IDE, ran string replace 'blufin-nuxt-v1' -> 'org.blufin' (the only occurrence was in package.json)
53
+ # In IDE, ran string replace 'Blufin Nuxt (v1)' -> 'Blufin' (the only occurrence was in package.json)
54
+
55
+ end
56
+
57
+ private
58
+
59
+ # Gets an Array of available archetypes (with descriptions).
60
+ # @return Array (of Hashes)
61
+ def get_archetypes
62
+
63
+ # TODO - This will need to eventually come from the configuration YML file.
64
+ # TODO - This structure is only temporary.
65
+ [
66
+ {
67
+ :value => 1,
68
+ :text => 'Blufin Nuxt (v1)'
69
+ },
70
+ {
71
+ :value => 2,
72
+ :text => 'Blufin Electron (v1)'
73
+ },
74
+ {
75
+ :value => 3,
76
+ :text => 'Blufin Electron (v2)'
77
+ }
78
+ ]
79
+
80
+ end
81
+
82
+ end
83
+
84
+ end
@@ -0,0 +1,56 @@
1
+ module AppCommand
2
+
3
+ class Export < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ @site = Blufin::SiteResolver::validate_site(@args[0])
13
+ @error_handler = Blufin::YmlErrorHandler.new(@site)
14
+
15
+ opts_validate
16
+ opts_routing
17
+
18
+ rescue => e
19
+
20
+ Blufin::Terminal::print_exception(e)
21
+
22
+ end
23
+
24
+ end
25
+
26
+ def opts_validate
27
+
28
+ Blufin::Routes::at_least_one_flag(@opts)
29
+ Blufin::Routes::max_one_flag(@opts)
30
+
31
+ end
32
+
33
+ def opts_routing
34
+
35
+ puts maven_blufin.inspect if @opts[:maven_blufin]
36
+ puts maven_app.inspect if @opts[:maven_app]
37
+
38
+ end
39
+
40
+ def maven_blufin
41
+
42
+ yml_maven = Blufin::YmlMavenValidator.new(@site, @error_handler)
43
+ yml_maven.data_blufin
44
+
45
+ end
46
+
47
+ def maven_app
48
+
49
+ yml_maven = Blufin::YmlMavenValidator.new(@site, @error_handler)
50
+ yml_maven.data_app
51
+
52
+ end
53
+
54
+ end
55
+
56
+ end
@@ -0,0 +1,225 @@
1
+ module AppCommand
2
+
3
+ class GenerateApi < ::Convoy::ActionCommand::Base
4
+
5
+ def execute
6
+
7
+ begin
8
+
9
+ @opts = command_options
10
+ @args = arguments
11
+
12
+ @generate_java = false
13
+
14
+ opts_validate
15
+ opts_routing
16
+
17
+ Blufin::Terminal::custom(Blufin::SiteResolver::get_site_title(@site), 89, 'All files generated successfully.')
18
+
19
+ rescue => e
20
+
21
+ Blufin::Terminal::print_exception(e)
22
+
23
+ end
24
+
25
+ end
26
+
27
+ def opts_validate
28
+
29
+ @site = @args[0] ? Blufin::SiteResolver::validate_site(@args[0]) : Blufin::Site::DEFAULT_SITE
30
+
31
+ # TODO - Re-enable Yes/no Prompt.
32
+ # exit unless Blufin::Terminal::prompt_yes_no("Generate boiler-plate code for \xe2\x86\x92 #{Blufin::Terminal::format_action(Blufin::SiteResolver::get_site_title(@site))}", 'Continuing will overwrite all auto-generated code.', 'Continue?')
33
+
34
+ @error_handler = Blufin::YmlErrorHandler.new(@site)
35
+
36
+ # Must go first because it contains the most important configuration data.
37
+ Blufin::SiteEmbedded::init(Blufin::ScannerJavaEmbeddedObjects::new(@site, @error_handler).get_data)
38
+
39
+ config_file = "#{Blufin::SiteResolver::get_site_location(@site)}/#{Blufin::Site::PATH_TO_YML_CONFIG}/config.yml"
40
+
41
+ Blufin::Terminal::error("Config file doesn't exist", config_file, true) unless Blufin::Files::file_exists(config_file)
42
+
43
+ @yml_config = Blufin::YmlConfigValidator.new(@site, @error_handler)
44
+ @yml_maven = Blufin::YmlMavenValidator.new(@site, @error_handler)
45
+
46
+ # If there are YML at this point, display them & return.
47
+ @error_handler.display_errors_if_any(true)
48
+
49
+ Blufin::SiteAuth::init(@yml_config.config_data[Blufin::YmlConfigValidator::GLOBAL][Blufin::YmlConfigValidator::GLOBAL_AUTHENTICATION])
50
+
51
+ @java_scanner_source = Blufin::ScannerJavaSource::new(@site, @error_handler)
52
+ @java_scanner_tests = Blufin::ScannerJavaTests::new(@site, @error_handler)
53
+
54
+ @yml_schema = Blufin::YmlSchemaValidator.new(@site, @error_handler)
55
+ @yml_resources = Blufin::YmlResourceValidator.new(@site, @error_handler)
56
+
57
+ # If there are YML errors, display them & return.
58
+ @error_handler.display_errors_if_any(true)
59
+
60
+ if @yml_schema.get_errors_array.any?
61
+
62
+ # Schema Errors are handled the "legacy" way.
63
+ @yml_schema.get_errors_array.each do |hash|
64
+ hash.each do |title, array|
65
+ Blufin::Terminal::error(title, array, false)
66
+ end
67
+ end
68
+
69
+ exit
70
+
71
+ end
72
+
73
+ end
74
+
75
+ def opts_routing
76
+
77
+ cache_data_hashes
78
+
79
+ @threads = []
80
+
81
+ # Write the Java POMs.
82
+ @threads << Thread.new {
83
+ yml_java_pom_writer = Blufin::YmlJavaPomWriter.new(@yml_maven.data_blufin, @yml_maven.data_app, @site)
84
+ yml_java_pom_writer.write_poms_blufin
85
+ yml_java_pom_writer.write_poms_app
86
+ Blufin::Terminal::output('Java POMs...', Blufin::Terminal::MSG_PROCESSED)
87
+ }
88
+
89
+ # Write the Java Embedded Objects.
90
+ @threads << Thread.new {
91
+ yml_java_embedded_object_writer = Blufin::YmlJavaEmbeddedObjectWriter.new(@site, @yml_schema.get_schema_resources)
92
+ yml_java_embedded_object_writer.write
93
+ Blufin::Terminal::output('Embedded Objects...', Blufin::Terminal::MSG_PROCESSED)
94
+ }
95
+
96
+ # Write the Java (API) Resource Data.
97
+ @threads << Thread.new {
98
+ yml_java_resource_data_writer = Blufin::YmlJavaResourceDataWriter.new(@site, @yml_schema.get_schema_resources.dup)
99
+ yml_java_resource_data_writer.write
100
+ Blufin::Terminal::output('API Resource Data...', Blufin::Terminal::MSG_PROCESSED)
101
+ }
102
+
103
+ # Write the Java DTOs.
104
+ @threads << Thread.new {
105
+ yml_java_dto_writer = Blufin::YmlJavaDtoWriter.new(@site, @yml_schema.get_schema_data.dup, @yml_schema.get_schema_resources.dup)
106
+ yml_java_dto_writer.write
107
+ Blufin::Terminal::output('DTOs...', Blufin::Terminal::MSG_PROCESSED)
108
+ }
109
+
110
+ # Write the Java ENUMs.
111
+ @threads << Thread.new {
112
+ yml_java_enum_writer = Blufin::YmlJavaEnumWriter.new(@site, @yml_schema.get_schema_data.dup)
113
+ yml_java_enum_writer.write
114
+ Blufin::Terminal::output('Enums...', Blufin::Terminal::MSG_PROCESSED)
115
+ }
116
+
117
+ # Write the Java MetaData Classes.
118
+ @threads << Thread.new {
119
+ yml_java_meta_writer = Blufin::YmlJavaMetaWriter.new(@site, @yml_schema.get_schema_data.dup, @yml_schema.get_schema_resources.dup)
120
+ yml_java_meta_writer.write
121
+ Blufin::Terminal::output('MetaData classes...', Blufin::Terminal::MSG_PROCESSED)
122
+ }
123
+
124
+ # Write the Java DAOs.
125
+ @threads << Thread.new {
126
+ yml_java_dao_writer = Blufin::YmlJavaDaoWriter.new(@site, @yml_schema.get_schema_data.dup, @yml_schema.get_schema_resources.dup, @yml_schema.get_schema_fks)
127
+ yml_java_dao_writer.write
128
+ Blufin::Terminal::output('DAOs...', Blufin::Terminal::MSG_PROCESSED)
129
+ }
130
+
131
+ # Write the Java Model Classes.
132
+ @threads << Thread.new {
133
+ yml_java_model_writer = Blufin::YmlJavaModelWriter.new(@site, @yml_schema.get_schema_data.dup, @yml_schema.get_schema_resources.dup)
134
+ yml_java_model_writer.write
135
+ Blufin::Terminal::output('Models...', Blufin::Terminal::MSG_PROCESSED)
136
+ }
137
+
138
+ # Write the Java Validators.
139
+ @threads << Thread.new {
140
+ yml_java_validator_writer = Blufin::YmlJavaValidatorWriter.new(@site, @yml_schema.get_schema_data.dup, @yml_schema.get_schema_resources.dup)
141
+ yml_java_validator_writer.write
142
+ Blufin::Terminal::output('Validators...', Blufin::Terminal::MSG_PROCESSED)
143
+ }
144
+
145
+ # Write the Java MessageTypes (for Queue messages).
146
+ @threads << Thread.new {
147
+ yml_java_message_type_writer = Blufin::YmlJavaMessageTypeWriter.new(@site)
148
+ yml_java_message_type_writer.write
149
+ Blufin::Terminal::output('Message Queue classes...', Blufin::Terminal::MSG_PROCESSED)
150
+ }
151
+
152
+ # Write the Java CronTypes (for Cron Service).
153
+ @threads << Thread.new {
154
+ yml_java_cron_type_writer = Blufin::YmlJavaCronTypeWriter.new(@site)
155
+ yml_java_cron_type_writer.write
156
+ Blufin::Terminal::output('CronTypes...', Blufin::Terminal::MSG_PROCESSED)
157
+ }
158
+
159
+ # Write the Java API Resources.
160
+ @threads << Thread.new {
161
+ yml_java_api_resource_writer = Blufin::YmlJavaApiResourceWriter.new(@site, @yml_schema.get_schema_resources.dup)
162
+ yml_java_api_resource_writer.write
163
+ Blufin::Terminal::output('API Resources...', Blufin::Terminal::MSG_PROCESSED)
164
+ }
165
+
166
+ # Write the Java SDK Package.
167
+ @threads << Thread.new {
168
+ yml_sql_java_sdk_writer = Blufin::YmlJavaSdkWriter.new(@site, @yml_schema.get_schema_data.dup, @yml_schema.get_schema_resources.dup)
169
+ yml_sql_java_sdk_writer.write
170
+ Blufin::Terminal::output('SDK Package...', Blufin::Terminal::MSG_PROCESSED)
171
+ }
172
+
173
+ # Write the Java Worker Resources.
174
+ @threads << Thread.new {
175
+ yml_java_worker_writer = Blufin::YmlJavaWorkerWriter.new(@site)
176
+ yml_java_worker_writer.write
177
+ Blufin::Terminal::output('Worker Resources...', Blufin::Terminal::MSG_PROCESSED)
178
+ }
179
+
180
+ # TODO - Check that PATH_TO_RUBY exists (for the following 2)... Might be able to get rid of this if we manage to kill the config database.
181
+
182
+ # Write the SQL Structure.
183
+ @threads << Thread.new {
184
+ yml_sql_structure_writer = Blufin::YmlSqlStructureWriter.new(@site, @yml_schema.get_schema_data.dup)
185
+ yml_sql_structure_writer.write
186
+ Blufin::Terminal::output('SQL Structure...', Blufin::Terminal::MSG_PROCESSED)
187
+ }
188
+
189
+ # Write the SQL Templates.
190
+ @threads << Thread.new {
191
+ yml_sql_template_writer = Blufin::YmlSqlTemplateWriter.new(@site, @yml_schema.get_schema_data.dup)
192
+ yml_sql_template_writer.write
193
+ Blufin::Terminal::output('SQL Templates...', Blufin::Terminal::MSG_PROCESSED)
194
+ }
195
+
196
+ # # Write Vue Service files.
197
+ # yml_vue_service_writer = Blufin::YmlVueServiceWriter.new(@site, @yml_schema.get_schema_resources.dup)
198
+ # yml_vue_service_writer.write
199
+ # Blufin::Terminal::output('VueJs Services...', Blufin::Terminal::MSG_PROCESSED)
200
+
201
+ @threads.each { |thread| thread.join }
202
+
203
+ end
204
+
205
+ private
206
+
207
+ # Caches data-maps in the /tmp directory so other scripts can use it.
208
+ # @return void
209
+ def cache_data_hashes
210
+
211
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::CONFIG, @yml_config.config_data)
212
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_CONFIG, @yml_schema.get_schema_config)
213
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_DATA, @yml_schema.get_schema_data)
214
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_DESCRIPTIONS, @yml_schema.get_schema_descriptions)
215
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_FKS, @yml_schema.get_schema_fks)
216
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_FKS_DEPENDENCIES, @yml_schema.get_schema_fks_dependencies)
217
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_FKS_PLACEHOLDERS, @yml_schema.get_schema_fks_placeholders)
218
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_FKS_LINKS, @yml_schema.get_schema_fks_links)
219
+ Blufin::YmlCacheHandler.store(@site, Blufin::YmlCacheHandler::SCHEMA_RESOURCES, @yml_schema.get_schema_resources)
220
+
221
+ end
222
+
223
+ end
224
+
225
+ end