X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=internal%2Fgentools%2Fcommoncollector%2Fcommoncollector.go;fp=internal%2Fgentools%2Fcommoncollector%2Fcommoncollector.go;h=0000000000000000000000000000000000000000;hb=c9e08b2a2f647f9f870040570c5e71305f0fb5d2;hp=ab85e0adc9b89bd4c21a485c94536d1788a51705;hpb=8fcfa4ecde6d95ead33c34b0e7efc4933ad44444;p=nonrtric%2Fplt%2Fsme.git diff --git a/internal/gentools/commoncollector/commoncollector.go b/internal/gentools/commoncollector/commoncollector.go deleted file mode 100644 index ab85e0a..0000000 --- a/internal/gentools/commoncollector/commoncollector.go +++ /dev/null @@ -1,119 +0,0 @@ -// - -// ========================LICENSE_START================================= -// O-RAN-SC -// %% -// Copyright (C) 2022: Nordix Foundation -// %% -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ========================LICENSE_END=================================== -// - -package main - -import ( - "bufio" - "flag" - "io/ioutil" - "log" - "os" - "strings" - - "gopkg.in/yaml.v2" -) - -var apiDir *string -var common = map[interface{}]interface{}{ - "openapi": "3.0.0", - "info": map[interface{}]interface{}{ - "title": "Common", - "version": "1.0.0", - }, - "components": map[interface{}]interface{}{ - "schemas": map[interface{}]interface{}{}, - }, -} - -func main() { - apiDir = flag.String("apidir", "", "Directory containing API definitions to fix") - flag.Parse() - - file, err := os.Open("definitions.txt") - if err != nil { - log.Fatalf("Error opening file: %v", err) - } - defer func(file *os.File) { - _ = file.Close() - }(file) - - scanner := bufio.NewScanner(file) - components := common["components"] - cMap := components.(map[interface{}]interface{}) - schemas := cMap["schemas"].(map[interface{}]interface{}) - for scanner.Scan() { - name, data := getDependency(scanner.Text()) - if name == "EthFlowDescription" { - changeToLocalReference("fDir", "FlowDirection", data) - } - if name == "ReportingInformation" { - changeToLocalReference("notifMethod", "NotificationMethod", data) - } - if name == "RelativeCartesianLocation" { - properties := data["properties"].(map[interface{}]interface{}) - delete(properties, true) - data["required"] = remove(data["required"].([]interface{}), 1) - } - schemas[name] = data - } - - if err := scanner.Err(); err != nil { - log.Fatal(err) - } - - modCommon, err := yaml.Marshal(common) - if err != nil { - log.Fatalf("Marshal: #%v ", err) - } - err = ioutil.WriteFile(*apiDir+"/"+"CommonData.yaml", modCommon, 0644) - if err != nil { - log.Fatalf("Error writing yamlFile. #%v ", err) - } -} - -func changeToLocalReference(attrname, refName string, data map[interface{}]interface{}) { - properties := data["properties"].(map[interface{}]interface{}) - ref := properties[attrname].(map[interface{}]interface{}) - ref["$ref"] = "#/components/schemas/" + refName -} - -func getDependency(s string) (string, map[interface{}]interface{}) { - info := strings.Split(s, "#") - yamlFile, err := ioutil.ReadFile(*apiDir + "/" + info[0]) - if err != nil { - log.Fatalf("Error reading yamlFile. #%v ", err) - } - m := make(map[string]interface{}) - err = yaml.Unmarshal(yamlFile, m) - if err != nil { - log.Fatalf("Unmarshal: %v", err) - } - components := m["components"] - cMap := components.(map[interface{}]interface{}) - schemas := cMap["schemas"].(map[interface{}]interface{}) - component := strings.Split(info[1], "/") - dep := schemas[component[3]].(map[interface{}]interface{}) - return component[3], dep -} - -func remove(slice []interface{}, s int) []interface{} { - return append(slice[:s], slice[s+1:]...) -}