From 0168cd3cf70ec8f9b846cf3808c418a878c8bbd0 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 15 Jun 2015 11:29:14 +0300 Subject: [PATCH] fix for console josn Marshall issue --- cmd/cgr-console/cgr-console.go | 2 +- console/account.go | 5 ++++- console/account_add.go | 5 ++++- console/accountactions_set.go | 5 ++++- console/action_execute.go | 5 ++++- console/balance_debit.go | 5 ++++- console/balance_set.go | 5 ++++- console/cache_age.go | 5 ++++- console/cache_reload.go | 5 ++++- console/cache_stats.go | 5 ++++- console/callcost.go | 5 ++++- console/cdrs_export.go | 5 ++++- console/cdrs_rem.go | 5 ++++- console/cdrstats_metrics.go | 5 ++++- console/cdrstats_queueids.go | 5 ++++- console/cdrstats_reload.go | 5 ++++- console/cdrstats_reset.go | 5 ++++- console/command.go | 2 +- console/command_executer.go | 8 ++++---- console/cost.go | 5 ++++- console/datacost.go | 5 ++++- console/destination.go | 5 ++++- console/lcr.go | 8 +++++++- console/load_tp_from_folder.go | 5 ++++- console/load_tp_from_stordb.go | 5 ++++- console/maxduration.go | 5 ++++- console/parse.go | 5 ++++- console/ratingprofile_set.go | 5 ++++- console/scheduler_reload.go | 5 ++++- console/sharedgroup.go | 5 ++++- console/status.go | 5 ++++- console/triggeredaction_add.go | 5 ++++- data/docker/devel/start.sh | 2 +- 33 files changed, 126 insertions(+), 36 deletions(-) diff --git a/cmd/cgr-console/cgr-console.go b/cmd/cgr-console/cgr-console.go index 1759e7d58..ab0c751da 100644 --- a/cmd/cgr-console/cgr-console.go +++ b/cmd/cgr-console/cgr-console.go @@ -77,7 +77,7 @@ func executeCommand(command string) { } if cmd.RpcMethod() != "" { res := cmd.RpcResult() - param := cmd.RpcParams() + param := cmd.RpcParams(true) //log.Print(reflect.TypeOf(param)) switch param.(type) { case *console.StringWrapper: diff --git a/console/account.go b/console/account.go index 421731927..78704a882 100644 --- a/console/account.go +++ b/console/account.go @@ -49,10 +49,13 @@ func (self *CmdGetAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAccount) RpcParams() interface{} { +func (self *CmdGetAccount) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrGetAccount{Direction: "*out"} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/account_add.go b/console/account_add.go index 8aa2cdc0f..5f209f978 100644 --- a/console/account_add.go +++ b/console/account_add.go @@ -45,10 +45,13 @@ func (self *CmdAddAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdAddAccount) RpcParams() interface{} { +func (self *CmdAddAccount) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrSetAccount{Direction: utils.OUT} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/accountactions_set.go b/console/accountactions_set.go index 72107b57f..263408370 100644 --- a/console/accountactions_set.go +++ b/console/accountactions_set.go @@ -45,10 +45,13 @@ func (self *CmdSetAccountActions) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetAccountActions) RpcParams() interface{} { +func (self *CmdSetAccountActions) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.TPAccountActions{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/action_execute.go b/console/action_execute.go index 434bb1209..78e1d3c2e 100644 --- a/console/action_execute.go +++ b/console/action_execute.go @@ -48,10 +48,13 @@ func (self *CmdExecuteAction) RpcMethod() string { return self.rpcMethod } -func (self *CmdExecuteAction) RpcParams() interface{} { +func (self *CmdExecuteAction) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrExecuteAction{Direction: utils.OUT} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/balance_debit.go b/console/balance_debit.go index cf6b62329..94b783c56 100644 --- a/console/balance_debit.go +++ b/console/balance_debit.go @@ -48,10 +48,13 @@ func (self *CmdDebitBalance) RpcMethod() string { return self.rpcMethod } -func (self *CmdDebitBalance) RpcParams() interface{} { +func (self *CmdDebitBalance) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &engine.CallDescriptor{Direction: "*out"} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/balance_set.go b/console/balance_set.go index 14237b5e7..7925915c1 100644 --- a/console/balance_set.go +++ b/console/balance_set.go @@ -48,10 +48,13 @@ func (self *CmdAddBalance) RpcMethod() string { return self.rpcMethod } -func (self *CmdAddBalance) RpcParams() interface{} { +func (self *CmdAddBalance) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &v1.AttrAddBalance{BalanceType: utils.MONETARY, Overwrite: false} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cache_age.go b/console/cache_age.go index b115aac5a..20943adbb 100644 --- a/console/cache_age.go +++ b/console/cache_age.go @@ -45,10 +45,13 @@ func (self *CmdGetCacheAge) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCacheAge) RpcParams() interface{} { +func (self *CmdGetCacheAge) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &StringWrapper{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cache_reload.go b/console/cache_reload.go index b5aefcde3..e4e35af80 100644 --- a/console/cache_reload.go +++ b/console/cache_reload.go @@ -46,10 +46,13 @@ func (self *CmdReloadCache) RpcMethod() string { return self.rpcMethod } -func (self *CmdReloadCache) RpcParams() interface{} { +func (self *CmdReloadCache) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.ApiReloadCache{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cache_stats.go b/console/cache_stats.go index 1720997f5..9ed351846 100644 --- a/console/cache_stats.go +++ b/console/cache_stats.go @@ -45,10 +45,13 @@ func (self *CmdGetCacheStats) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCacheStats) RpcParams() interface{} { +func (self *CmdGetCacheStats) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrCacheStats{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/callcost.go b/console/callcost.go index 966879ced..9a5023120 100644 --- a/console/callcost.go +++ b/console/callcost.go @@ -50,10 +50,13 @@ func (self *CmdGetCostDetails) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCostDetails) RpcParams() interface{} { +func (self *CmdGetCostDetails) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &v1.AttrGetCallCost{RunId: utils.DEFAULT_RUNID} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cdrs_export.go b/console/cdrs_export.go index dda3f8f26..fd88b43c4 100644 --- a/console/cdrs_export.go +++ b/console/cdrs_export.go @@ -45,10 +45,13 @@ func (self *CmdExportCdrs) RpcMethod() string { return self.rpcMethod } -func (self *CmdExportCdrs) RpcParams() interface{} { +func (self *CmdExportCdrs) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrExportCdrsToFile{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cdrs_rem.go b/console/cdrs_rem.go index b875060c1..633158680 100644 --- a/console/cdrs_rem.go +++ b/console/cdrs_rem.go @@ -45,10 +45,13 @@ func (self *CmdRemCdrs) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemCdrs) RpcParams() interface{} { +func (self *CmdRemCdrs) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrRemCdrs{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cdrstats_metrics.go b/console/cdrstats_metrics.go index e041f9c55..3e3b6f11d 100644 --- a/console/cdrstats_metrics.go +++ b/console/cdrstats_metrics.go @@ -45,10 +45,13 @@ func (self *CmdCdrStatsMetrics) RpcMethod() string { return self.rpcMethod } -func (self *CmdCdrStatsMetrics) RpcParams() interface{} { +func (self *CmdCdrStatsMetrics) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &v1.AttrGetMetrics{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cdrstats_queueids.go b/console/cdrstats_queueids.go index 3b45fc3ec..3addb2d2e 100644 --- a/console/cdrstats_queueids.go +++ b/console/cdrstats_queueids.go @@ -42,10 +42,13 @@ func (self *CmdCdrStatsQueueIds) RpcMethod() string { return self.rpcMethod } -func (self *CmdCdrStatsQueueIds) RpcParams() interface{} { +func (self *CmdCdrStatsQueueIds) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &StringWrapper{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cdrstats_reload.go b/console/cdrstats_reload.go index 53bb4ceea..6c76afdf5 100644 --- a/console/cdrstats_reload.go +++ b/console/cdrstats_reload.go @@ -47,10 +47,13 @@ func (self *CmdCdrReloadQueues) RpcMethod() string { return self.rpcMethod } -func (self *CmdCdrReloadQueues) RpcParams() interface{} { +func (self *CmdCdrReloadQueues) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrCDRStatsReloadQueues{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/cdrstats_reset.go b/console/cdrstats_reset.go index 5ec279caf..21ab805d5 100644 --- a/console/cdrstats_reset.go +++ b/console/cdrstats_reset.go @@ -45,10 +45,13 @@ func (self *CmdCdrResetQueues) RpcMethod() string { return self.rpcMethod } -func (self *CmdCdrResetQueues) RpcParams() interface{} { +func (self *CmdCdrResetQueues) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrCDRStatsReloadQueues{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/command.go b/console/command.go index dcad504e3..152b6d75f 100644 --- a/console/command.go +++ b/console/command.go @@ -33,7 +33,7 @@ type Commander interface { FromArgs(args string, verbose bool) error // Load data from os arguments or flag.Args() Usage() string // usage message RpcMethod() string // Method which should be called remotely - RpcParams() interface{} // Parameters to send out on rpc + RpcParams(bool) interface{} // Parameters to send out on rpc PostprocessRpcParams() error // Corrects rpc parameters when needed RpcResult() interface{} // Only requirement is to have a String method to print on console ClientArgs() []string // for autocompletion diff --git a/console/command_executer.go b/console/command_executer.go index dfd22f9fd..df9c22ce3 100644 --- a/console/command_executer.go +++ b/console/command_executer.go @@ -40,17 +40,17 @@ type CommandExecuter struct { } func (ce *CommandExecuter) Usage() string { - jsn, _ := json.Marshal(ce.command.RpcParams()) + jsn, _ := json.Marshal(ce.command.RpcParams(true)) return fmt.Sprintf("\n\tUsage: %s %s \n", ce.command.Name(), FromJSON(jsn, ce.command.ClientArgs())) } // Parses command line args and builds CmdBalance value func (ce *CommandExecuter) FromArgs(args string, verbose bool) error { - if err := json.Unmarshal(ToJSON(args), ce.command.RpcParams()); err != nil { + if err := json.Unmarshal(ToJSON(args), ce.command.RpcParams(true)); err != nil { return err } if verbose { - jsn, _ := json.Marshal(ce.command.RpcParams()) + jsn, _ := json.Marshal(ce.command.RpcParams(true)) fmt.Println(ce.command.Name(), FromJSON(jsn, ce.command.ClientArgs())) } return nil @@ -73,7 +73,7 @@ func (ce *CommandExecuter) clientArgs(iface interface{}) (args []string) { } func (ce *CommandExecuter) ClientArgs() (args []string) { - return ce.clientArgs(ce.command.RpcParams()) + return ce.clientArgs(ce.command.RpcParams(false)) } // To be overwritten by commands that do not need a rpc call diff --git a/console/cost.go b/console/cost.go index 15c6d4975..5bac5ed04 100644 --- a/console/cost.go +++ b/console/cost.go @@ -47,10 +47,13 @@ func (self *CmdGetCost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCost) RpcParams() interface{} { +func (self *CmdGetCost) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &engine.CallDescriptor{Direction: "*out"} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/datacost.go b/console/datacost.go index ef550e23a..884ed5756 100644 --- a/console/datacost.go +++ b/console/datacost.go @@ -51,10 +51,13 @@ func (self *CmdGetDataCost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDataCost) RpcParams() interface{} { +func (self *CmdGetDataCost) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &v1.AttrGetDataCost{Direction: utils.OUT} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/destination.go b/console/destination.go index 94785fc82..07c03fbc8 100644 --- a/console/destination.go +++ b/console/destination.go @@ -45,10 +45,13 @@ func (self *CmdGetDestination) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDestination) RpcParams() interface{} { +func (self *CmdGetDestination) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &StringWrapper{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/lcr.go b/console/lcr.go index 659a45991..51ff4fdc1 100644 --- a/console/lcr.go +++ b/console/lcr.go @@ -48,7 +48,13 @@ func (self *CmdGetLcr) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetLcr) RpcParams() interface{} { +func (self *CmdGetLcr) RpcParams(ptr bool) interface{} { + if self.rpcParams == nil { + self.rpcParams = &engine.LcrRequest{} + } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/load_tp_from_folder.go b/console/load_tp_from_folder.go index 68bf484e2..56e2893b9 100644 --- a/console/load_tp_from_folder.go +++ b/console/load_tp_from_folder.go @@ -46,10 +46,13 @@ func (self *LoadTpFromFolder) RpcMethod() string { return self.rpcMethod } -func (self *LoadTpFromFolder) RpcParams() interface{} { +func (self *LoadTpFromFolder) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.AttrLoadTpFromFolder{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/load_tp_from_stordb.go b/console/load_tp_from_stordb.go index 56ac50701..ebb2d0403 100644 --- a/console/load_tp_from_stordb.go +++ b/console/load_tp_from_stordb.go @@ -46,10 +46,13 @@ func (self *LoadTpFromStorDb) RpcMethod() string { return self.rpcMethod } -func (self *LoadTpFromStorDb) RpcParams() interface{} { +func (self *LoadTpFromStorDb) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &v1.AttrLoadTpFromStorDb{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/maxduration.go b/console/maxduration.go index 950088575..fc94642f1 100644 --- a/console/maxduration.go +++ b/console/maxduration.go @@ -47,10 +47,13 @@ func (self *CmdGetMaxDuration) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetMaxDuration) RpcParams() interface{} { +func (self *CmdGetMaxDuration) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &engine.CallDescriptor{Direction: "*out"} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/parse.go b/console/parse.go index 5037e4395..dcf2b7cbf 100644 --- a/console/parse.go +++ b/console/parse.go @@ -49,10 +49,13 @@ func (self *CmdParse) RpcMethod() string { return "" } -func (self *CmdParse) RpcParams() interface{} { +func (self *CmdParse) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &AttrParse{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/ratingprofile_set.go b/console/ratingprofile_set.go index f8a3e9f9a..d877a0ca1 100644 --- a/console/ratingprofile_set.go +++ b/console/ratingprofile_set.go @@ -46,10 +46,13 @@ func (self *CmdSetRatingProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetRatingProfile) RpcParams() interface{} { +func (self *CmdSetRatingProfile) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &utils.TPRatingProfile{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/scheduler_reload.go b/console/scheduler_reload.go index f929c08dc..ef3aafcbe 100644 --- a/console/scheduler_reload.go +++ b/console/scheduler_reload.go @@ -43,10 +43,13 @@ func (self *CmdReloadScheduler) RpcMethod() string { return self.rpcMethod } -func (self *CmdReloadScheduler) RpcParams() interface{} { +func (self *CmdReloadScheduler) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &StringWrapper{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/sharedgroup.go b/console/sharedgroup.go index 7f280a8de..58aef7882 100644 --- a/console/sharedgroup.go +++ b/console/sharedgroup.go @@ -45,10 +45,13 @@ func (self *CmdGetSharedGroup) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetSharedGroup) RpcParams() interface{} { +func (self *CmdGetSharedGroup) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &StringWrapper{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/status.go b/console/status.go index 0ffa0f8fb..5e738c57a 100644 --- a/console/status.go +++ b/console/status.go @@ -42,10 +42,13 @@ func (self *CmdStatus) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatus) RpcParams() interface{} { +func (self *CmdStatus) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &StringWrapper{} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/console/triggeredaction_add.go b/console/triggeredaction_add.go index 06cf33d05..a740862ea 100644 --- a/console/triggeredaction_add.go +++ b/console/triggeredaction_add.go @@ -45,10 +45,13 @@ func (self *CmdAddTriggeredAction) RpcMethod() string { return self.rpcMethod } -func (self *CmdAddTriggeredAction) RpcParams() interface{} { +func (self *CmdAddTriggeredAction) RpcParams(ptr bool) interface{} { if self.rpcParams == nil { self.rpcParams = &v1.AttrAddActionTrigger{BalanceDirection: "*out"} } + if ptr { + return self.rpcParams + } return *self.rpcParams } diff --git a/data/docker/devel/start.sh b/data/docker/devel/start.sh index 5f7b137f0..bc9947e12 100755 --- a/data/docker/devel/start.sh +++ b/data/docker/devel/start.sh @@ -31,5 +31,5 @@ cd /root/cgr echo "for cgradmin run: cgr-engine -config_dir data/conf/samples/cgradmin" echo 'export GOROOT=/root/go; export GOPATH=/root/code; export PATH=$GOROOT/bin:$GOPATH/bin:$PATH'>>/root/.zshrc -/bin/sh /root/.oh-my-zsh/tools/upgrade.sh +#/bin/sh /root/.oh-my-zsh/tools/upgrade.sh zsh