5
5
"encoding/xml"
6
6
"errors"
7
7
"fmt"
8
+ ggr "github.com/aerokube/ggr/config"
8
9
"github.com/spf13/cobra"
9
10
"io/ioutil"
10
11
"os"
@@ -53,8 +54,8 @@ func init() {
53
54
generateCmd .PersistentFlags ().BoolVar (& dryRun , "dryRun" , false , "whether to send output to stdout instead of writing files" )
54
55
}
55
56
56
- func convert (input JsonInput ) map [string ]XmlBrowsers {
57
- ret := make (map [string ]XmlBrowsers )
57
+ func convert (input Input ) map [string ]ggr. Browsers {
58
+ ret := make (map [string ]ggr. Browsers )
58
59
hostsMap := input .Hosts
59
60
quotaMap := input .Quota
60
61
aliasesMap := input .Aliases
@@ -74,14 +75,14 @@ func convert(input JsonInput) map[string]XmlBrowsers {
74
75
return ret
75
76
}
76
77
77
- func createQuota (quotaName string , hostsMap JsonHosts , quota JsonQuota ) XmlBrowsers {
78
- browsers := [] XmlBrowser {}
78
+ func createQuota (quotaName string , hostsMap Hosts , quota Quota ) ggr. Browsers {
79
+ var browsers []ggr. Browser
79
80
for browserName , browser := range quota {
80
- xmlVersions := [] XmlVersion {}
81
+ var xmlVersions []ggr. Version
81
82
for versionName , hostsRef := range browser .Versions {
82
83
regions := hostsMap [hostsRef ]
83
84
if regions != nil {
84
- xmlVersion := XmlVersion {
85
+ xmlVersion := ggr. Version {
85
86
Number : versionName ,
86
87
Regions : jsonRegionsToXmlRegions (regions ),
87
88
}
@@ -91,27 +92,26 @@ func createQuota(quotaName string, hostsMap JsonHosts, quota JsonQuota) XmlBrows
91
92
os .Exit (1 )
92
93
}
93
94
}
94
- xmlBrowser := XmlBrowser {
95
+ xmlBrowser := ggr. Browser {
95
96
Name : browserName ,
96
97
DefaultVersion : browser .DefaultVersion ,
97
98
Versions : xmlVersions ,
98
99
}
99
100
browsers = append (browsers , xmlBrowser )
100
101
}
101
- return XmlBrowsers {
102
+ return ggr. Browsers {
102
103
Browsers : browsers ,
103
- XmlNS : "urn:config.gridrouter.qatools.ru" ,
104
104
}
105
105
}
106
106
107
- func jsonRegionsToXmlRegions (regions JsonRegions ) []XmlRegion {
108
- xmlRegions := [] XmlRegion {}
107
+ func jsonRegionsToXmlRegions (regions Regions ) []ggr. Region {
108
+ var xmlRegions []ggr. Region
109
109
for regionName , region := range regions {
110
- xmlHosts := XmlHosts {}
110
+ xmlHosts := ggr. Hosts {}
111
111
for hostPattern , host := range region {
112
112
hostNames := parseHostPattern (hostPattern )
113
113
for _ , hostName := range hostNames {
114
- xmlHosts = append (xmlHosts , XmlHost {
114
+ xmlHosts = append (xmlHosts , ggr. Host {
115
115
Name : hostName ,
116
116
Port : host .Port ,
117
117
Count : host .Count ,
@@ -120,31 +120,31 @@ func jsonRegionsToXmlRegions(regions JsonRegions) []XmlRegion {
120
120
})
121
121
}
122
122
}
123
- xmlRegions = append (xmlRegions , XmlRegion {
123
+ xmlRegions = append (xmlRegions , ggr. Region {
124
124
Name : regionName ,
125
125
Hosts : xmlHosts ,
126
126
})
127
127
}
128
128
return xmlRegions
129
129
}
130
130
131
- func parseInputFile (filePath string ) (* JsonInput , error ) {
131
+ func parseInputFile (filePath string ) (* Input , error ) {
132
132
bytes , err := ioutil .ReadFile (filePath )
133
133
if err != nil {
134
134
return nil , errors .New (fmt .Sprintf ("error reading input file [%s]: %v" , filePath , err ))
135
135
}
136
- input := new (JsonInput )
136
+ input := new (Input )
137
137
if err := json .Unmarshal (bytes , input ); err != nil {
138
138
return nil , errors .New (fmt .Sprintf ("error parsing input file [%s]: %v" , filePath , err ))
139
139
}
140
140
return input , nil
141
141
}
142
142
143
- func marshalBrowsers (browsers XmlBrowsers ) ([]byte , error ) {
143
+ func marshalBrowsers (browsers ggr. Browsers ) ([]byte , error ) {
144
144
return xml .MarshalIndent (browsers , "" , " " )
145
145
}
146
146
147
- func output (quotaName string , browsers XmlBrowsers , outputDirectory string ) error {
147
+ func output (quotaName string , browsers ggr. Browsers , outputDirectory string ) error {
148
148
filePath := path .Join (outputDirectory , quotaName + ".xml" )
149
149
if dryRun {
150
150
return printOutputFile (filePath , browsers )
@@ -153,7 +153,7 @@ func output(quotaName string, browsers XmlBrowsers, outputDirectory string) erro
153
153
}
154
154
}
155
155
156
- func printOutputFile (filePath string , browsers XmlBrowsers ) error {
156
+ func printOutputFile (filePath string , browsers ggr. Browsers ) error {
157
157
bytes , err := marshalBrowsers (browsers )
158
158
if err != nil {
159
159
return err
@@ -165,7 +165,7 @@ func printOutputFile(filePath string, browsers XmlBrowsers) error {
165
165
return nil
166
166
}
167
167
168
- func saveOutputFile (filePath string , browsers XmlBrowsers ) error {
168
+ func saveOutputFile (filePath string , browsers ggr. Browsers ) error {
169
169
bytes , err := marshalBrowsers (browsers )
170
170
if err != nil {
171
171
return err
@@ -195,4 +195,4 @@ func parseHostPattern(pattern string) []string {
195
195
}
196
196
}
197
197
return []string {pattern }
198
- }
198
+ }
0 commit comments