From e66c9f11fd8eab5fbcc484a2aba9f3919f3c28a7 Mon Sep 17 00:00:00 2001 From: PratikDhanave Date: Sat, 28 Jul 2018 19:49:54 +0530 Subject: [PATCH] WIP --- .../clouddataflow/clouddataflow.go | 81 +++++++++++++++++++ streamdataprocessing/clouddataflow/models.go | 10 +-- 2 files changed, 85 insertions(+), 6 deletions(-) diff --git a/streamdataprocessing/clouddataflow/clouddataflow.go b/streamdataprocessing/clouddataflow/clouddataflow.go index 26e0c85..563f660 100644 --- a/streamdataprocessing/clouddataflow/clouddataflow.go +++ b/streamdataprocessing/clouddataflow/clouddataflow.go @@ -334,4 +334,85 @@ func createstreamdictnoaryconvert(option Createstream, createstreamjsonmap map[s createstreamjsonmap["location"] = option.Location } + prepareStageStates(option, createstreamjsonmap) + prepareEnvironment(option, createstreamjsonmap) +} + +type UserAgent struct { + Name string `json:"name"` + support Support `json:"support"` + BuildDate string `json:"build.date"` + Version string `json:"version"` +} + +type Support struct { + Status string `json:"status"` + URL string `json:"url"` +} + +func prepareEnvironment(option Createstream, createstreamjsonmap map[string]interface{}) { + + environmentv := make(map[string]interface{}) + + versionv := make(map[string]interface{}) + + if option.environment.version.Major != "" { + versionv["major"] = option.environment.version.Major + } + + if option.environment.version.JobType != "" { + versionv["job_type"] = option.environment.version.JobType + } + + environmentv["version"] = versionv + + userAgentv := make(map[string]interface{}) + + if option.environment.userAgent.Name != "" { + userAgentv["name"] = option.environment.userAgent.Name + } + + if option.environment.userAgent.BuildDate != "" { + userAgentv["build.date"] = option.environment.userAgent.BuildDate + } + + if option.environment.userAgent.Version != "" { + userAgentv["version"] = option.environment.userAgent.Version + } + + supportv := make(map[string]interface{}) + + if option.environment.userAgent.support.Status != "" { + supportv["status"] = option.environment.userAgent.support.Status + } + + if option.environment.userAgent.support.URL != "" { + supportv["url"] = option.environment.userAgent.support.URL + } + + userAgentv["support"] = supportv + + environmentv["userAgent"] = userAgentv + +} + +func prepareStageStates(option Createstream, createstreamjsonmap map[string]interface{}) { + + if len(option.stageStates) > 0 { + + stageStatesarray := make([]map[string]interface{}) + + for i := 0; i < len(option.stageStates); i++ { + + stageState := make(map[string]interface{}) + stageState["currentStateTime"] = option.stageStates[i].CurrentStateTime + stageState["executionStageName"] = option.stageStates[i].ExecutionStageName + stageState["executionStageName"] = option.stageStates[i].ExecutionStageName + + stageStatesarray = append(stageStatesarray, stageState) + + } + + createstreamjsonmap["stageStates"] = stageStatesarray + } } diff --git a/streamdataprocessing/clouddataflow/models.go b/streamdataprocessing/clouddataflow/models.go index 375c99b..67f777f 100644 --- a/streamdataprocessing/clouddataflow/models.go +++ b/streamdataprocessing/clouddataflow/models.go @@ -120,12 +120,10 @@ type Environment struct { } type UserAgent struct { - Name string `json:"name"` - - support Support `json:"support"` - - BuildDate string `json:"build.date"` - Version string `json:"version"` + Name string `json:"name"` + support Support `json:"support"` + BuildDate string `json:"build.date"` + Version string `json:"version"` } type Version struct {