blufin 0.1.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.
- checksums.yaml +7 -0
- data/bin/bf +5 -0
- data/bin/blufin +5 -0
- data/lib/blufin.rb +245 -0
- data/lib/core/code_scanners/common/scanner_common.rb +83 -0
- data/lib/core/code_scanners/common/scanner_java.rb +106 -0
- data/lib/core/code_scanners/scanner_java_embedded_objects.rb +386 -0
- data/lib/core/code_scanners/scanner_java_enums.rb +125 -0
- data/lib/core/code_scanners/scanner_java_source.rb +29 -0
- data/lib/core/code_scanners/scanner_java_tests.rb +157 -0
- data/lib/core/error_handling/schema_error.rb +9 -0
- data/lib/core/error_handling/sql_error.rb +21 -0
- data/lib/core/error_handling/sql_error_handler.rb +149 -0
- data/lib/core/error_handling/yml_error.rb +21 -0
- data/lib/core/error_handling/yml_error_handler.rb +437 -0
- data/lib/core/mysql.rb +347 -0
- data/lib/core/opt.rb +21 -0
- data/lib/core/site/site.rb +26 -0
- data/lib/core/site/site_auth.rb +88 -0
- data/lib/core/site/site_embedded.rb +27 -0
- data/lib/core/site/site_ports.rb +9 -0
- data/lib/core/site/site_resolver.rb +276 -0
- data/lib/core/site/site_services.rb +162 -0
- data/lib/core/site/site_ui.rb +16 -0
- data/lib/core/yml/config/yml_config_validator.rb +219 -0
- data/lib/core/yml/maven/yml_maven_validator.rb +1132 -0
- data/lib/core/yml/resource/yml_resource_validator.rb +154 -0
- data/lib/core/yml/schema/yml_schema_flags.rb +9 -0
- data/lib/core/yml/schema/yml_schema_validator.rb +1850 -0
- data/lib/core/yml/yml_cache_handler.rb +115 -0
- data/lib/core/yml/yml_common.rb +487 -0
- data/lib/core/yml/yml_meta_writer_base.rb +300 -0
- data/lib/core/yml/yml_outputter.rb +307 -0
- data/lib/core/yml/yml_validator_base.rb +630 -0
- data/lib/core/yml_writers/yml_configuration_writer.rb +40 -0
- data/lib/core/yml_writers/yml_java_api_resource_writer.rb +348 -0
- data/lib/core/yml_writers/yml_java_cron_type_writer.rb +113 -0
- data/lib/core/yml_writers/yml_java_css_dependency_writer.rb +59 -0
- data/lib/core/yml_writers/yml_java_dao_writer.rb +364 -0
- data/lib/core/yml_writers/yml_java_dto_writer.rb +251 -0
- data/lib/core/yml_writers/yml_java_embedded_object_writer.rb +968 -0
- data/lib/core/yml_writers/yml_java_enum_writer.rb +161 -0
- data/lib/core/yml_writers/yml_java_js_dependency_writer.rb +59 -0
- data/lib/core/yml_writers/yml_java_message_type_writer.rb +106 -0
- data/lib/core/yml_writers/yml_java_meta_writer.rb +173 -0
- data/lib/core/yml_writers/yml_java_model_writer.rb +510 -0
- data/lib/core/yml_writers/yml_java_pom_writer.rb +1050 -0
- data/lib/core/yml_writers/yml_java_resource_data_writer.rb +251 -0
- data/lib/core/yml_writers/yml_java_sdk_writer.rb +732 -0
- data/lib/core/yml_writers/yml_java_validator_writer.rb +280 -0
- data/lib/core/yml_writers/yml_java_worker_writer.rb +81 -0
- data/lib/core/yml_writers/yml_sql_structure_writer.rb +307 -0
- data/lib/core/yml_writers/yml_sql_template_writer.rb +243 -0
- data/lib/core/yml_writers/yml_vue_service_writer.rb +170 -0
- data/lib/core/yml_writers/yml_writer_base.rb +114 -0
- data/lib/routes/api_list.rb +35 -0
- data/lib/routes/api_meta.rb +59 -0
- data/lib/routes/build.rb +46 -0
- data/lib/routes/create/create_api.rb +35 -0
- data/lib/routes/create/create_ui.rb +84 -0
- data/lib/routes/export.rb +56 -0
- data/lib/routes/generate/generate_api.rb +225 -0
- data/lib/routes/generate/generate_img_favicon.rb +56 -0
- data/lib/routes/generate/generate_img_landing.rb +94 -0
- data/lib/routes/generate/generate_lambda.rb +43 -0
- data/lib/routes/lint.rb +35 -0
- data/lib/routes/mysql_reset.rb +43 -0
- data/lib/routes/release_blufin.rb +351 -0
- data/lib/routes/run.rb +35 -0
- data/lib/version.rb +1 -0
- data/opt/README.MD +2 -0
- data/opt/config/schema.yml +73 -0
- data/opt/config/template.yml +25 -0
- data/opt/sql/data/config/data-client.sql +7 -0
- data/opt/sql/data/config/data-db-configuration-property.sql +47 -0
- data/opt/sql/data/config/data-db-configuration.sql +9 -0
- data/opt/sql/data/config/data-db.sql +175 -0
- data/opt/sql/data/config/data-profile-api.sql +47 -0
- data/opt/sql/data/config/data-profile-cron.sql +0 -0
- data/opt/sql/data/config/data-profile-worker.sql +0 -0
- data/opt/sql/data/config/data-profile.sql +87 -0
- data/opt/sql/data/config/data-project.sql +95 -0
- data/opt/sql/structure/blufin-master-structure-fks.sql +65 -0
- data/opt/sql/structure/blufin-master-structure.sql +97 -0
- data/opt/sql/structure/blufin-mock-structure-fks.sql +38 -0
- data/opt/sql/structure/blufin-mock-structure.sql +98 -0
- data/opt/sql/templates/config/template-client.sql +7 -0
- data/opt/sql/templates/config/template-db-configuration-property.sql +11 -0
- data/opt/sql/templates/config/template-db-configuration.sql +9 -0
- data/opt/sql/templates/config/template-db.sql +21 -0
- data/opt/sql/templates/config/template-profile-api.sql +11 -0
- data/opt/sql/templates/config/template-profile-cron.sql +7 -0
- data/opt/sql/templates/config/template-profile-worker.sql +7 -0
- data/opt/sql/templates/config/template-profile.sql +21 -0
- data/opt/sql/templates/config/template-project.sql +23 -0
- data/opt/yml/api/schema/config/client.yml +14 -0
- data/opt/yml/api/schema/config/db.yml +45 -0
- data/opt/yml/api/schema/config/db_configuration.yml +22 -0
- data/opt/yml/api/schema/config/db_configuration_property.yml +22 -0
- data/opt/yml/api/schema/config/profile.yml +53 -0
- data/opt/yml/api/schema/config/profile_api.yml +22 -0
- data/opt/yml/api/schema/config/profile_cron.yml +14 -0
- data/opt/yml/api/schema/config/profile_worker.yml +14 -0
- data/opt/yml/api/schema/config/project.yml +48 -0
- data/opt/yml/api/schema/mock/mock.yml +99 -0
- data/opt/yml/api/schema/mock/mock_nested_if_enum.yml +16 -0
- data/opt/yml/api/schema/mock/mock_nested_if_enum_system.yml +16 -0
- data/opt/yml/api/schema/mock/mock_nested_linked.yml +43 -0
- data/opt/yml/api/schema/mock/mock_nested_multiple.yml +61 -0
- data/opt/yml/api/schema/mock/mock_nested_single.yml +67 -0
- data/opt/yml/api/schema/mock/mock_nested_single_super_deep.yml +32 -0
- data/opt/yml/api/schema/mock/mock_nested_single_super_super_deep.yml +17 -0
- 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
|
data/lib/routes/build.rb
ADDED
|
@@ -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
|