@@ -30,38 +30,37 @@ public CreateCommand()
30
30
{
31
31
// required parameters have been supplied
32
32
33
- // initialize helper classes
33
+ // initialize file helper classes
34
34
FileWriter fileWriter = new FileWriter ( ) ;
35
35
FileNameGenerator fileNameGenerator = new FileNameGenerator ( ) ;
36
- TemplateCreator templateCreator = new TemplateCreator ( ) ;
37
- APIVersionSetTemplateCreator apiVersionSetTemplateCreator = new APIVersionSetTemplateCreator ( templateCreator ) ;
38
- LoggerTemplateCreator loggerTemplateCreator = new LoggerTemplateCreator ( templateCreator ) ;
39
- ProductTemplateCreator productTemplateCreator = new ProductTemplateCreator ( templateCreator ) ;
40
- BackendTemplateCreator backendTemplateCreator = new BackendTemplateCreator ( templateCreator ) ;
41
- AuthorizationServerTemplateCreator authorizationServerTemplateCreator = new AuthorizationServerTemplateCreator ( templateCreator ) ;
36
+ CreatorFileNames creatorFileNames = fileNameGenerator . GenerateCreatorLinkedFileNames ( creatorConfig ) ;
37
+
38
+ // initialize template creator classes
39
+ APIVersionSetTemplateCreator apiVersionSetTemplateCreator = new APIVersionSetTemplateCreator ( ) ;
40
+ LoggerTemplateCreator loggerTemplateCreator = new LoggerTemplateCreator ( ) ;
41
+ ProductTemplateCreator productTemplateCreator = new ProductTemplateCreator ( ) ;
42
+ BackendTemplateCreator backendTemplateCreator = new BackendTemplateCreator ( ) ;
43
+ AuthorizationServerTemplateCreator authorizationServerTemplateCreator = new AuthorizationServerTemplateCreator ( ) ;
42
44
ProductAPITemplateCreator productAPITemplateCreator = new ProductAPITemplateCreator ( ) ;
43
45
PolicyTemplateCreator policyTemplateCreator = new PolicyTemplateCreator ( fileReader ) ;
44
46
DiagnosticTemplateCreator diagnosticTemplateCreator = new DiagnosticTemplateCreator ( ) ;
45
- APITemplateCreator apiTemplateCreator = new APITemplateCreator ( fileReader , templateCreator , policyTemplateCreator , productAPITemplateCreator , diagnosticTemplateCreator ) ;
46
- MasterTemplateCreator masterTemplateCreator = new MasterTemplateCreator ( templateCreator ) ;
47
- CreatorFileNames creatorFileNames = fileNameGenerator . GenerateCreatorLinkedFileNames ( creatorConfig ) ;
47
+ APITemplateCreator apiTemplateCreator = new APITemplateCreator ( fileReader , policyTemplateCreator , productAPITemplateCreator , diagnosticTemplateCreator ) ;
48
+ MasterTemplateCreator masterTemplateCreator = new MasterTemplateCreator ( ) ;
48
49
49
50
// create templates from provided configuration
50
51
Template apiVersionSetsTemplate = creatorConfig . apiVersionSets != null ? apiVersionSetTemplateCreator . CreateAPIVersionSetTemplate ( creatorConfig ) : null ;
51
52
Template productsTemplate = creatorConfig . products != null ? productTemplateCreator . CreateProductTemplate ( creatorConfig ) : null ;
52
53
Template loggersTemplate = creatorConfig . loggers != null ? loggerTemplateCreator . CreateLoggerTemplate ( creatorConfig ) : null ;
53
54
Template backendsTemplate = creatorConfig . backends != null ? backendTemplateCreator . CreateBackendTemplate ( creatorConfig ) : null ;
54
55
Template authorizationServersTemplate = creatorConfig . authorizationServers != null ? authorizationServerTemplateCreator . CreateAuthorizationServerTemplate ( creatorConfig ) : null ;
56
+
55
57
// store name and whether the api will depend on the version set template each api necessary to build linked templates
56
58
List < LinkedMasterTemplateAPIInformation > apiInformation = new List < LinkedMasterTemplateAPIInformation > ( ) ;
57
- // create parameters file
58
- Template masterTemplateParameters = masterTemplateCreator . CreateMasterTemplateParameterValues ( creatorConfig ) ;
59
-
60
59
List < Template > apiTemplates = new List < Template > ( ) ;
61
60
foreach ( APIConfig api in creatorConfig . apis )
62
61
{
63
- // create api templates from provided api config. If the api config contains a supplied apiVersion, split the templates into 2 for metadata and swagger content, otherwise create a unified template
64
- List < Template > apiTemplateSet = await apiTemplateCreator . CreateAPITemplates ( creatorConfig , api ) ;
62
+ // create api templates from provided api config - if the api config contains a supplied apiVersion, split the templates into 2 for metadata and swagger content, otherwise create a unified template
63
+ List < Template > apiTemplateSet = await apiTemplateCreator . CreateAPITemplatesAsync ( creatorConfig , api ) ;
65
64
apiTemplates . AddRange ( apiTemplateSet ) ;
66
65
// create the relevant info that will be needed to properly link to the api template(s) from the master template
67
66
apiInformation . Add ( new LinkedMasterTemplateAPIInformation ( )
@@ -76,6 +75,9 @@ public CreateCommand()
76
75
} ) ;
77
76
}
78
77
78
+ // create parameters file
79
+ Template masterTemplateParameters = masterTemplateCreator . CreateMasterTemplateParameterValues ( creatorConfig ) ;
80
+
79
81
// write templates to outputLocation
80
82
if ( creatorConfig . linked == true )
81
83
{
@@ -111,6 +113,7 @@ public CreateCommand()
111
113
{
112
114
fileWriter . WriteJSONToFile ( authorizationServersTemplate , String . Concat ( creatorConfig . outputLocation , creatorFileNames . authorizationServers ) ) ;
113
115
}
116
+
114
117
// write parameters to outputLocation
115
118
fileWriter . WriteJSONToFile ( masterTemplateParameters , String . Concat ( creatorConfig . outputLocation , creatorConfig . linked == true ? creatorFileNames . linkedParameters : creatorFileNames . unlinkedParameters ) ) ;
116
119
ColoredConsole . WriteLine ( "Templates written to output location" ) ;
0 commit comments