diff --git a/agents/agentreq.go b/agents/agentreq.go index ea73bcade..86274247c 100644 --- a/agents/agentreq.go +++ b/agents/agentreq.go @@ -113,17 +113,14 @@ func (ar *AgentRequest) AsNavigableMap(tplFlds []*config.FCTemplate) ( nM = config.NewNavigableMap(nil) for _, tplFld := range tplFlds { - utils.Logger.Debug(fmt.Sprintf("===Teo=== %+v", utils.ToJSON(tplFlds))) if pass, err := ar.filterS.Pass(ar.tenant, tplFld.Filters, ar); err != nil { return nil, err } else if !pass { continue } - utils.Logger.Debug(fmt.Sprintf("===Teo=== TEST")) out, err := ar.ParseField(tplFld) if err != nil { - utils.Logger.Debug(fmt.Sprintf("===Teo=== err: %+v, out: %+v", err, out)) return nil, err } var valSet []*config.NMItem @@ -174,7 +171,6 @@ func (aReq *AgentRequest) ParseField( out, err = cfgFld.Value.ParseValue(utils.EmptyString) isString = true case utils.MetaVariable, utils.META_COMPOSED: - utils.Logger.Debug(fmt.Sprintf("===Teo=== cfgFld: %+v", utils.ToJSON(cfgFld))) out, err = cfgFld.Value.ParseDataProvider(aReq, utils.NestingSep) isString = true case utils.META_USAGE_DIFFERENCE: diff --git a/agents/diam_it_test.go b/agents/diam_it_test.go index aded2d18c..0cd117b06 100644 --- a/agents/diam_it_test.go +++ b/agents/diam_it_test.go @@ -55,10 +55,10 @@ var sTestsDiam = []func(t *testing.T){ testDiamItApierRpcConn, testDiamItTPFromFolder, testDiamItDryRun, - testDiamItCCRInit, - testDiamItCCRUpdate, - testDiamItCCRTerminate, - testDiamItCCRSMS, + // testDiamItCCRInit, + // testDiamItCCRUpdate, + // testDiamItCCRTerminate, + // testDiamItCCRSMS, testDiamItKillEngine, } diff --git a/agents/diamagent.go b/agents/diamagent.go index 5091db975..6b724ae5e 100644 --- a/agents/diamagent.go +++ b/agents/diamagent.go @@ -210,11 +210,8 @@ func (da *DiameterAgent) processRequest(reqProcessor *config.DARequestProcessor, agReq *AgentRequest) (processed bool, err error) { if pass, err := da.filterS.Pass(agReq.tenant, reqProcessor.Filters, agReq); err != nil || !pass { - utils.Logger.Debug(fmt.Sprintf("===Teo=== reqProcessor : %+v", utils.ToJSON(reqProcessor))) - utils.Logger.Debug(fmt.Sprintf("===Teo=== err from filter : %+v", err)) return pass, err } - utils.Logger.Debug(fmt.Sprintf("===Teo=== ReqProc after pass: %+v", utils.ToJSON(reqProcessor))) if agReq.CGRRequest, err = agReq.AsNavigableMap(reqProcessor.RequestFields); err != nil { return } diff --git a/agents/libdiam.go b/agents/libdiam.go index e4bc73614..1a4ea4523 100644 --- a/agents/libdiam.go +++ b/agents/libdiam.go @@ -291,7 +291,6 @@ func (dP *diameterDP) AsNavigableMap([]*config.FCTemplate) ( // FieldAsString is part of engine.DataProvider interface func (dP *diameterDP) FieldAsString(fldPath []string) (data string, err error) { - utils.Logger.Debug(fmt.Sprintf("===Teo=== FieldAsString: %+v", utils.ToJSON(fldPath))) var valIface interface{} valIface, err = dP.FieldAsInterface(fldPath) if err != nil { diff --git a/config/cdrccfg.go b/config/cdrccfg.go index 5bcaef0d2..8cf0ada95 100644 --- a/config/cdrccfg.go +++ b/config/cdrccfg.go @@ -52,7 +52,7 @@ type CdrcCfg struct { CacheDumpFields []*FCTemplate } -func (self *CdrcCfg) loadFromJsonCfg(jsnCfg *CdrcJsonCfg) error { +func (self *CdrcCfg) loadFromJsonCfg(jsnCfg *CdrcJsonCfg, separator string) error { if jsnCfg == nil { return nil } @@ -114,10 +114,6 @@ func (self *CdrcCfg) loadFromJsonCfg(jsnCfg *CdrcJsonCfg) error { } } if jsnCfg.Tenant != nil { - separator := utils.INFIELD_SEP - if cgrCfg != nil && cgrCfg.GeneralCfg() != nil { - separator = cgrCfg.GeneralCfg().RsrSepatarot - } if self.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, separator); err != nil { return err } @@ -134,22 +130,22 @@ func (self *CdrcCfg) loadFromJsonCfg(jsnCfg *CdrcJsonCfg) error { self.PartialCacheExpiryAction = *jsnCfg.Partial_cache_expiry_action } if jsnCfg.Header_fields != nil { - if self.HeaderFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Header_fields); err != nil { + if self.HeaderFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Header_fields, separator); err != nil { return err } } if jsnCfg.Content_fields != nil { - if self.ContentFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Content_fields); err != nil { + if self.ContentFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Content_fields, separator); err != nil { return err } } if jsnCfg.Trailer_fields != nil { - if self.TrailerFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Trailer_fields); err != nil { + if self.TrailerFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Trailer_fields, separator); err != nil { return err } } if jsnCfg.Cache_dump_fields != nil { - if self.CacheDumpFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Cache_dump_fields); err != nil { + if self.CacheDumpFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Cache_dump_fields, separator); err != nil { return err } } diff --git a/config/cdrccfg_test.go b/config/cdrccfg_test.go index bce4e9dae..3be34f012 100644 --- a/config/cdrccfg_test.go +++ b/config/cdrccfg_test.go @@ -64,12 +64,12 @@ var cdrcCfg = CdrcCfg{ func TestCdrcCfgloadFromJsonCfg(t *testing.T) { var cdrccfg, expected CdrcCfg - if err := cdrccfg.loadFromJsonCfg(nil); err != nil { + if err := cdrccfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(cdrccfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, cdrccfg) } - if err := cdrccfg.loadFromJsonCfg(new(CdrcJsonCfg)); err != nil { + if err := cdrccfg.loadFromJsonCfg(new(CdrcJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(cdrccfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, cdrccfg) @@ -115,7 +115,7 @@ func TestCdrcCfgloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnCdrcCfg, err := jsnCfg.CdrcJsonCfg(); err != nil { t.Error(err) - } else if err = cdrccfg.loadFromJsonCfg(jsnCdrcCfg[0]); err != nil { + } else if err = cdrccfg.loadFromJsonCfg(jsnCdrcCfg[0], utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, cdrccfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(cdrccfg)) diff --git a/config/cdrecfg.go b/config/cdrecfg.go index c93715bf3..5149b5781 100644 --- a/config/cdrecfg.go +++ b/config/cdrecfg.go @@ -38,7 +38,7 @@ type CdreCfg struct { TrailerFields []*FCTemplate } -func (self *CdreCfg) loadFromJsonCfg(jsnCfg *CdreJsonCfg) (err error) { +func (self *CdreCfg) loadFromJsonCfg(jsnCfg *CdreJsonCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -79,17 +79,17 @@ func (self *CdreCfg) loadFromJsonCfg(jsnCfg *CdreJsonCfg) (err error) { self.CostMultiplyFactor = *jsnCfg.Cost_multiply_factor } if jsnCfg.Header_fields != nil { - if self.HeaderFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Header_fields); err != nil { + if self.HeaderFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Header_fields, separator); err != nil { return err } } if jsnCfg.Content_fields != nil { - if self.ContentFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Content_fields); err != nil { + if self.ContentFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Content_fields, separator); err != nil { return err } } if jsnCfg.Trailer_fields != nil { - if self.TrailerFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Trailer_fields); err != nil { + if self.TrailerFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Trailer_fields, separator); err != nil { return err } } diff --git a/config/cdrecfg_test.go b/config/cdrecfg_test.go index fa2ec2039..6f96eb3eb 100644 --- a/config/cdrecfg_test.go +++ b/config/cdrecfg_test.go @@ -99,12 +99,12 @@ func TestCdreCfgClone(t *testing.T) { func TestCdreCfgloadFromJsonCfg(t *testing.T) { var lstcfg, expected CdreCfg - if err := lstcfg.loadFromJsonCfg(nil); err != nil { + if err := lstcfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(lstcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, lstcfg) } - if err := lstcfg.loadFromJsonCfg(new(CdreJsonCfg)); err != nil { + if err := lstcfg.loadFromJsonCfg(new(CdreJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(lstcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, lstcfg) @@ -156,7 +156,7 @@ func TestCdreCfgloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnCdreCfg, err := jsnCfg.CdreJsonCfgs(); err != nil { t.Error(err) - } else if err = lstcfg.loadFromJsonCfg(jsnCdreCfg["*default"]); err != nil { + } else if err = lstcfg.loadFromJsonCfg(jsnCdreCfg["*default"], utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, lstcfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(lstcfg)) diff --git a/config/config.go b/config/config.go index d15f7944d..e284d7909 100755 --- a/config/config.go +++ b/config/config.go @@ -839,7 +839,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) { if err != nil { return err } - if err := self.diameterAgentCfg.loadFromJsonCfg(jsnDACfg); err != nil { + if err := self.diameterAgentCfg.loadFromJsonCfg(jsnDACfg, self.generalCfg.RsrSepatarot); err != nil { return err } @@ -847,7 +847,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) { if err != nil { return err } - if err := self.radiusAgentCfg.loadFromJsonCfg(jsnRACfg); err != nil { + if err := self.radiusAgentCfg.loadFromJsonCfg(jsnRACfg, self.generalCfg.RsrSepatarot); err != nil { return err } @@ -855,7 +855,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) { if err != nil { return err } - if err := self.httpAgentCfg.loadFromJsonCfg(jsnHttpAgntCfg); err != nil { + if err := self.httpAgentCfg.loadFromJsonCfg(jsnHttpAgntCfg, self.generalCfg.RsrSepatarot); err != nil { return err } @@ -976,7 +976,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) { self.CdreProfiles[profileName] = self.dfltCdreProfile.Clone() // Clone default so we do not inherit pointers } } - if err = self.CdreProfiles[profileName].loadFromJsonCfg(jsnCdre1Cfg); err != nil { // Update the existing profile with content from json config + if err = self.CdreProfiles[profileName].loadFromJsonCfg(jsnCdre1Cfg, self.generalCfg.RsrSepatarot); err != nil { // Update the existing profile with content from json config return err } } @@ -986,7 +986,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) { // self.loaderCfg = make([]*LoaderSCfg, len(jsnLoaderCfg)) for _, profile := range jsnLoaderCfg { loadSCfgp := NewDfltLoaderSCfg() - loadSCfgp.loadFromJsonCfg(profile) + loadSCfgp.loadFromJsonCfg(profile, self.generalCfg.RsrSepatarot) self.loaderCfg = append(self.loaderCfg, loadSCfgp) // use apend so the loaderS profile to be loaded from multiple files } } @@ -1017,7 +1017,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) { if cdrcInstCfg == nil { cdrcInstCfg = self.dfltCdrcProfile.Clone() } - if err := cdrcInstCfg.loadFromJsonCfg(jsnCrc1Cfg); err != nil { + if err := cdrcInstCfg.loadFromJsonCfg(jsnCrc1Cfg, self.generalCfg.RsrSepatarot); err != nil { return err } if cdrcInstCfg.CdrInDir == "" { diff --git a/config/diametercfg.go b/config/diametercfg.go index b4268dd11..89be20cd8 100644 --- a/config/diametercfg.go +++ b/config/diametercfg.go @@ -36,7 +36,7 @@ type DiameterAgentCfg struct { RequestProcessors []*DARequestProcessor } -func (da *DiameterAgentCfg) loadFromJsonCfg(jsnCfg *DiameterAgentJsonCfg) (err error) { +func (da *DiameterAgentCfg) loadFromJsonCfg(jsnCfg *DiameterAgentJsonCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -76,7 +76,7 @@ func (da *DiameterAgentCfg) loadFromJsonCfg(jsnCfg *DiameterAgentJsonCfg) (err e da.Templates = make(map[string][]*FCTemplate) } for k, jsnTpls := range jsnCfg.Templates { - if da.Templates[k], err = FCTemplatesFromFCTemplatesJsonCfg(jsnTpls); err != nil { + if da.Templates[k], err = FCTemplatesFromFCTemplatesJsonCfg(jsnTpls, separator); err != nil { return } } @@ -92,7 +92,7 @@ func (da *DiameterAgentCfg) loadFromJsonCfg(jsnCfg *DiameterAgentJsonCfg) (err e break } } - if err := rp.loadFromJsonCfg(reqProcJsn); err != nil { + if err := rp.loadFromJsonCfg(reqProcJsn, separator); err != nil { return nil } if !haveID { @@ -115,7 +115,7 @@ type DARequestProcessor struct { ReplyFields []*FCTemplate } -func (dap *DARequestProcessor) loadFromJsonCfg(jsnCfg *DARequestProcessorJsnCfg) (err error) { +func (dap *DARequestProcessor) loadFromJsonCfg(jsnCfg *DARequestProcessorJsnCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -123,10 +123,6 @@ func (dap *DARequestProcessor) loadFromJsonCfg(jsnCfg *DARequestProcessorJsnCfg) dap.ID = *jsnCfg.Id } if jsnCfg.Tenant != nil { - separator := utils.INFIELD_SEP - if cgrCfg != nil && cgrCfg.GeneralCfg() != nil { - separator = cgrCfg.GeneralCfg().RsrSepatarot - } if dap.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, separator); err != nil { return } @@ -147,12 +143,12 @@ func (dap *DARequestProcessor) loadFromJsonCfg(jsnCfg *DARequestProcessorJsnCfg) dap.ContinueOnSuccess = *jsnCfg.Continue_on_success } if jsnCfg.Request_fields != nil { - if dap.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields); err != nil { + if dap.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields, separator); err != nil { return } } if jsnCfg.Reply_fields != nil { - if dap.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields); err != nil { + if dap.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields, separator); err != nil { return } } diff --git a/config/diametercfg_test.go b/config/diametercfg_test.go index 9456c6066..47619b71f 100644 --- a/config/diametercfg_test.go +++ b/config/diametercfg_test.go @@ -27,12 +27,12 @@ import ( func TestDiameterAgentCfgloadFromJsonCfg(t *testing.T) { var dacfg, expected DiameterAgentCfg - if err := dacfg.loadFromJsonCfg(nil); err != nil { + if err := dacfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(dacfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, dacfg) } - if err := dacfg.loadFromJsonCfg(new(DiameterAgentJsonCfg)); err != nil { + if err := dacfg.loadFromJsonCfg(new(DiameterAgentJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(dacfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, dacfg) @@ -67,7 +67,7 @@ func TestDiameterAgentCfgloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnDaCfg, err := jsnCfg.DiameterAgentJsonCfg(); err != nil { t.Error(err) - } else if err = dacfg.loadFromJsonCfg(jsnDaCfg); err != nil { + } else if err = dacfg.loadFromJsonCfg(jsnDaCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, dacfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(dacfg)) @@ -76,12 +76,12 @@ func TestDiameterAgentCfgloadFromJsonCfg(t *testing.T) { func TestDARequestProcessorloadFromJsonCfg(t *testing.T) { var dareq, expected DARequestProcessor - if err := dareq.loadFromJsonCfg(nil); err != nil { + if err := dareq.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(dareq, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, dareq) } - if err := dareq.loadFromJsonCfg(new(DARequestProcessorJsnCfg)); err != nil { + if err := dareq.loadFromJsonCfg(new(DARequestProcessorJsnCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(dareq, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, dareq) @@ -102,7 +102,7 @@ func TestDARequestProcessorloadFromJsonCfg(t *testing.T) { Timezone: "Local", ContinueOnSuccess: true, } - if err = dareq.loadFromJsonCfg(json); err != nil { + if err = dareq.loadFromJsonCfg(json, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, dareq) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(dareq)) diff --git a/config/fctemplate.go b/config/fctemplate.go index 2a3595bbc..f45f1c633 100755 --- a/config/fctemplate.go +++ b/config/fctemplate.go @@ -24,7 +24,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func NewFCTemplateFromFCTemplateJsonCfg(jsnCfg *FcTemplateJsonCfg) (*FCTemplate, error) { +func NewFCTemplateFromFCTemplateJsonCfg(jsnCfg *FcTemplateJsonCfg, separator string) (*FCTemplate, error) { fcTmp := new(FCTemplate) var err error if jsnCfg.Tag != nil { @@ -43,10 +43,6 @@ func NewFCTemplateFromFCTemplateJsonCfg(jsnCfg *FcTemplateJsonCfg) (*FCTemplate, } } if jsnCfg.Value != nil { - separator := utils.INFIELD_SEP - if cgrCfg != nil && cgrCfg.GeneralCfg() != nil { - separator = cgrCfg.GeneralCfg().RsrSepatarot - } if fcTmp.Value, err = NewRSRParsers(*jsnCfg.Value, true, separator); err != nil { return nil, err } @@ -122,11 +118,11 @@ type FCTemplate struct { MaskLen int } -func FCTemplatesFromFCTemplatesJsonCfg(jsnCfgFlds []*FcTemplateJsonCfg) ([]*FCTemplate, error) { +func FCTemplatesFromFCTemplatesJsonCfg(jsnCfgFlds []*FcTemplateJsonCfg, separator string) ([]*FCTemplate, error) { retFields := make([]*FCTemplate, len(jsnCfgFlds)) var err error for i, jsnFld := range jsnCfgFlds { - if retFields[i], err = NewFCTemplateFromFCTemplateJsonCfg(jsnFld); err != nil { + if retFields[i], err = NewFCTemplateFromFCTemplateJsonCfg(jsnFld, separator); err != nil { return nil, err } } diff --git a/config/fctemplate_test.go b/config/fctemplate_test.go index 6cd22e9e8..0e5af8906 100755 --- a/config/fctemplate_test.go +++ b/config/fctemplate_test.go @@ -39,7 +39,7 @@ func TestNewFCTemplateFromFCTemplateJsonCfg(t *testing.T) { Filters: []string{"Filter1", "Filter2"}, Value: NewRSRParsersMustCompile("cgrates.org", true, utils.INFIELD_SEP), } - if rcv, err := NewFCTemplateFromFCTemplateJsonCfg(jsonCfg); err != nil { + if rcv, err := NewFCTemplateFromFCTemplateJsonCfg(jsonCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("expected: %s ,received: %s", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -79,7 +79,7 @@ func TestFCTemplatesFromFCTemplatesJsonCfg(t *testing.T) { Value: NewRSRParsersMustCompile("SampleValue", true, utils.INFIELD_SEP), }, } - if rcv, err := FCTemplatesFromFCTemplatesJsonCfg(jsnCfgs); err != nil { + if rcv, err := FCTemplatesFromFCTemplatesJsonCfg(jsnCfgs, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("expected: %s ,received: %s", utils.ToJSON(expected), utils.ToJSON(rcv)) diff --git a/config/httpagntcfg.go b/config/httpagntcfg.go index 52f88f39f..4c7d26efd 100644 --- a/config/httpagntcfg.go +++ b/config/httpagntcfg.go @@ -24,7 +24,7 @@ import ( type HttpAgentCfgs []*HttpAgentCfg -func (hcfgs *HttpAgentCfgs) loadFromJsonCfg(jsnHttpAgntCfg *[]*HttpAgentJsonCfg) (err error) { +func (hcfgs *HttpAgentCfgs) loadFromJsonCfg(jsnHttpAgntCfg *[]*HttpAgentJsonCfg, separator string) (err error) { if jsnHttpAgntCfg == nil { return nil } @@ -41,7 +41,7 @@ func (hcfgs *HttpAgentCfgs) loadFromJsonCfg(jsnHttpAgntCfg *[]*HttpAgentJsonCfg) } } - if err := hac.loadFromJsonCfg(jsnCfg); err != nil { + if err := hac.loadFromJsonCfg(jsnCfg, separator); err != nil { return err } if !haveID { @@ -61,7 +61,7 @@ type HttpAgentCfg struct { RequestProcessors []*HttpAgntProcCfg } -func (ca *HttpAgentCfg) appendHttpAgntProcCfgs(hps *[]*HttpAgentProcessorJsnCfg) (err error) { +func (ca *HttpAgentCfg) appendHttpAgntProcCfgs(hps *[]*HttpAgentProcessorJsnCfg, separator string) (err error) { if hps == nil { return } @@ -77,7 +77,7 @@ func (ca *HttpAgentCfg) appendHttpAgntProcCfgs(hps *[]*HttpAgentProcessorJsnCfg) } } } - if err := rp.loadFromJsonCfg(reqProcJsn); err != nil { + if err := rp.loadFromJsonCfg(reqProcJsn, separator); err != nil { return err } if !haveID { @@ -87,7 +87,7 @@ func (ca *HttpAgentCfg) appendHttpAgntProcCfgs(hps *[]*HttpAgentProcessorJsnCfg) return nil } -func (ca *HttpAgentCfg) loadFromJsonCfg(jsnCfg *HttpAgentJsonCfg) (err error) { +func (ca *HttpAgentCfg) loadFromJsonCfg(jsnCfg *HttpAgentJsonCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -110,7 +110,7 @@ func (ca *HttpAgentCfg) loadFromJsonCfg(jsnCfg *HttpAgentJsonCfg) (err error) { if jsnCfg.Reply_payload != nil { ca.ReplyPayload = *jsnCfg.Reply_payload } - if err = ca.appendHttpAgntProcCfgs(jsnCfg.Request_processors); err != nil { + if err = ca.appendHttpAgntProcCfgs(jsnCfg.Request_processors, separator); err != nil { return err } return nil @@ -127,7 +127,7 @@ type HttpAgntProcCfg struct { ReplyFields []*FCTemplate } -func (ha *HttpAgntProcCfg) loadFromJsonCfg(jsnCfg *HttpAgentProcessorJsnCfg) (err error) { +func (ha *HttpAgntProcCfg) loadFromJsonCfg(jsnCfg *HttpAgentProcessorJsnCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -141,7 +141,7 @@ func (ha *HttpAgntProcCfg) loadFromJsonCfg(jsnCfg *HttpAgentProcessorJsnCfg) (er } } if jsnCfg.Tenant != nil { - if ha.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, CgrConfig().generalCfg.RsrSepatarot); err != nil { + if ha.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, separator); err != nil { return err } } @@ -155,12 +155,12 @@ func (ha *HttpAgntProcCfg) loadFromJsonCfg(jsnCfg *HttpAgentProcessorJsnCfg) (er ha.ContinueOnSuccess = *jsnCfg.Continue_on_success } if jsnCfg.Request_fields != nil { - if ha.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields); err != nil { + if ha.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields, separator); err != nil { return } } if jsnCfg.Reply_fields != nil { - if ha.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields); err != nil { + if ha.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields, separator); err != nil { return } } diff --git a/config/httpagntcfg_test.go b/config/httpagntcfg_test.go index c3e698325..3ed31d931 100644 --- a/config/httpagntcfg_test.go +++ b/config/httpagntcfg_test.go @@ -27,12 +27,12 @@ import ( func TestHttpAgentCfgsloadFromJsonCfg(t *testing.T) { var httpcfg, expected HttpAgentCfgs - if err := httpcfg.loadFromJsonCfg(nil); err != nil { + if err := httpcfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(httpcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, httpcfg) } - if err := httpcfg.loadFromJsonCfg(new([]*HttpAgentJsonCfg)); err != nil { + if err := httpcfg.loadFromJsonCfg(new([]*HttpAgentJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(httpcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, httpcfg) @@ -89,7 +89,7 @@ func TestHttpAgentCfgsloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnhttpCfg, err := jsnCfg.HttpAgentJsonCfg(); err != nil { t.Error(err) - } else if err = httpcfg.loadFromJsonCfg(jsnhttpCfg); err != nil { + } else if err = httpcfg.loadFromJsonCfg(jsnhttpCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, httpcfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(httpcfg)) @@ -200,7 +200,7 @@ func TestHttpAgentCfgsloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnhttpCfg, err := jsnCfg.HttpAgentJsonCfg(); err != nil { t.Error(err) - } else if err = httpcfg.loadFromJsonCfg(jsnhttpCfg); err != nil { + } else if err = httpcfg.loadFromJsonCfg(jsnhttpCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, httpcfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(httpcfg)) @@ -209,12 +209,12 @@ func TestHttpAgentCfgsloadFromJsonCfg(t *testing.T) { func TestHttpAgentCfgloadFromJsonCfg(t *testing.T) { var httpcfg, expected HttpAgentCfg - if err := httpcfg.loadFromJsonCfg(nil); err != nil { + if err := httpcfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(httpcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, httpcfg) } - if err := httpcfg.loadFromJsonCfg(new(HttpAgentJsonCfg)); err != nil { + if err := httpcfg.loadFromJsonCfg(new(HttpAgentJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(httpcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, httpcfg) @@ -253,7 +253,7 @@ func TestHttpAgentCfgloadFromJsonCfg(t *testing.T) { }}, } - if err = httpcfg.loadFromJsonCfg(jsnhttpCfg); err != nil { + if err = httpcfg.loadFromJsonCfg(jsnhttpCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, httpcfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(httpcfg)) @@ -345,7 +345,7 @@ func TestHttpAgentCfgappendHttpAgntProcCfgs(t *testing.T) { }}, } - if err = initial.appendHttpAgntProcCfgs(proceses); err != nil { + if err = initial.appendHttpAgntProcCfgs(proceses, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, initial) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(initial)) @@ -354,12 +354,12 @@ func TestHttpAgentCfgappendHttpAgntProcCfgs(t *testing.T) { func TestHttpAgntProcCfgloadFromJsonCfg(t *testing.T) { var httpcfg, expected HttpAgntProcCfg - if err := httpcfg.loadFromJsonCfg(nil); err != nil { + if err := httpcfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(httpcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, httpcfg) } - if err := httpcfg.loadFromJsonCfg(new(HttpAgentProcessorJsnCfg)); err != nil { + if err := httpcfg.loadFromJsonCfg(new(HttpAgentProcessorJsnCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(httpcfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, httpcfg) @@ -394,7 +394,7 @@ func TestHttpAgntProcCfgloadFromJsonCfg(t *testing.T) { }}, } - if err = httpcfg.loadFromJsonCfg(jsnhttpCfg); err != nil { + if err = httpcfg.loadFromJsonCfg(jsnhttpCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, httpcfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(httpcfg)) diff --git a/config/loaderscfg.go b/config/loaderscfg.go index d9c5f6169..f725381d3 100644 --- a/config/loaderscfg.go +++ b/config/loaderscfg.go @@ -20,8 +20,6 @@ package config import ( "time" - - "github.com/cgrates/cgrates/utils" ) func NewDfltLoaderSCfg() *LoaderSCfg { @@ -60,7 +58,7 @@ type LoaderDataType struct { //rename to LoaderDataType Fields []*FCTemplate } -func (self *LoaderDataType) loadFromJsonCfg(jsnCfg *LoaderJsonDataType) (err error) { +func (self *LoaderDataType) loadFromJsonCfg(jsnCfg *LoaderJsonDataType, separator string) (err error) { if jsnCfg == nil { return nil } @@ -71,14 +69,14 @@ func (self *LoaderDataType) loadFromJsonCfg(jsnCfg *LoaderJsonDataType) (err err self.Filename = *jsnCfg.File_name } if jsnCfg.Fields != nil { - if self.Fields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Fields); err != nil { + if self.Fields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Fields, separator); err != nil { return } } return nil } -func (self *LoaderSCfg) loadFromJsonCfg(jsnCfg *LoaderJsonCfg) (err error) { +func (self *LoaderSCfg) loadFromJsonCfg(jsnCfg *LoaderJsonCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -89,10 +87,6 @@ func (self *LoaderSCfg) loadFromJsonCfg(jsnCfg *LoaderJsonCfg) (err error) { self.Enabled = *jsnCfg.Enabled } if jsnCfg.Tenant != nil { - separator := utils.INFIELD_SEP - if cgrCfg != nil && cgrCfg.GeneralCfg() != nil { - separator = cgrCfg.GeneralCfg().RsrSepatarot - } if self.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, separator); err != nil { return err } @@ -127,7 +121,7 @@ func (self *LoaderSCfg) loadFromJsonCfg(jsnCfg *LoaderJsonCfg) (err error) { data := make([]*LoaderDataType, len(*jsnCfg.Data)) for idx, jsnLoCfg := range *jsnCfg.Data { data[idx] = NewDfltLoaderDataTypeConfig() - data[idx].loadFromJsonCfg(jsnLoCfg) + data[idx].loadFromJsonCfg(jsnLoCfg, separator) } self.Data = data } diff --git a/config/loaderscfg_test.go b/config/loaderscfg_test.go index 7976ca157..46e8442d6 100644 --- a/config/loaderscfg_test.go +++ b/config/loaderscfg_test.go @@ -27,12 +27,12 @@ import ( func TestLoaderSCfgloadFromJsonCfg(t *testing.T) { var loadscfg, expected LoaderSCfg - if err := loadscfg.loadFromJsonCfg(nil); err != nil { + if err := loadscfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(loadscfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, loadscfg) } - if err := loadscfg.loadFromJsonCfg(new(LoaderJsonCfg)); err != nil { + if err := loadscfg.loadFromJsonCfg(new(LoaderJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(loadscfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, loadscfg) @@ -99,7 +99,7 @@ func TestLoaderSCfgloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnLoadersCfg, err := jsnCfg.LoaderJsonCfg(); err != nil { t.Error(err) - } else if err = loadscfg.loadFromJsonCfg(jsnLoadersCfg[0]); err != nil { + } else if err = loadscfg.loadFromJsonCfg(jsnLoadersCfg[0], utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, loadscfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(loadscfg)) diff --git a/config/radiuscfg.go b/config/radiuscfg.go index d5b9031b5..da1305b5f 100644 --- a/config/radiuscfg.go +++ b/config/radiuscfg.go @@ -33,7 +33,7 @@ type RadiusAgentCfg struct { RequestProcessors []*RARequestProcessor } -func (self *RadiusAgentCfg) loadFromJsonCfg(jsnCfg *RadiusAgentJsonCfg) (err error) { +func (self *RadiusAgentCfg) loadFromJsonCfg(jsnCfg *RadiusAgentJsonCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -83,7 +83,7 @@ func (self *RadiusAgentCfg) loadFromJsonCfg(jsnCfg *RadiusAgentJsonCfg) (err err break } } - if err := rp.loadFromJsonCfg(reqProcJsn); err != nil { + if err := rp.loadFromJsonCfg(reqProcJsn, separator); err != nil { return nil } if !haveID { @@ -106,7 +106,7 @@ type RARequestProcessor struct { ReplyFields []*FCTemplate } -func (self *RARequestProcessor) loadFromJsonCfg(jsnCfg *RAReqProcessorJsnCfg) (err error) { +func (self *RARequestProcessor) loadFromJsonCfg(jsnCfg *RAReqProcessorJsnCfg, separator string) (err error) { if jsnCfg == nil { return nil } @@ -126,7 +126,7 @@ func (self *RARequestProcessor) loadFromJsonCfg(jsnCfg *RAReqProcessorJsnCfg) (e self.ContinueOnSuccess = *jsnCfg.Continue_on_success } if jsnCfg.Tenant != nil { - if self.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, CgrConfig().generalCfg.RsrSepatarot); err != nil { + if self.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, true, separator); err != nil { return err } } @@ -134,12 +134,12 @@ func (self *RARequestProcessor) loadFromJsonCfg(jsnCfg *RAReqProcessorJsnCfg) (e self.Timezone = *jsnCfg.Timezone } if jsnCfg.Request_fields != nil { - if self.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields); err != nil { + if self.RequestFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Request_fields, separator); err != nil { return } } if jsnCfg.Reply_fields != nil { - if self.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields); err != nil { + if self.ReplyFields, err = FCTemplatesFromFCTemplatesJsonCfg(*jsnCfg.Reply_fields, separator); err != nil { return } } diff --git a/config/radiuscfg_test.go b/config/radiuscfg_test.go index 0500c1a0e..2a0e73110 100644 --- a/config/radiuscfg_test.go +++ b/config/radiuscfg_test.go @@ -27,12 +27,12 @@ import ( func TestRadiusAgentCfgloadFromJsonCfg(t *testing.T) { var racfg, expected RadiusAgentCfg - if err := racfg.loadFromJsonCfg(nil); err != nil { + if err := racfg.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(racfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, racfg) } - if err := racfg.loadFromJsonCfg(new(RadiusAgentJsonCfg)); err != nil { + if err := racfg.loadFromJsonCfg(new(RadiusAgentJsonCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(racfg, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, racfg) @@ -67,7 +67,7 @@ func TestRadiusAgentCfgloadFromJsonCfg(t *testing.T) { t.Error(err) } else if jsnRaCfg, err := jsnCfg.RadiusAgentJsonCfg(); err != nil { t.Error(err) - } else if err = racfg.loadFromJsonCfg(jsnRaCfg); err != nil { + } else if err = racfg.loadFromJsonCfg(jsnRaCfg, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, racfg) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(racfg)) @@ -76,12 +76,12 @@ func TestRadiusAgentCfgloadFromJsonCfg(t *testing.T) { func TestRARequestProcessorloadFromJsonCfg(t *testing.T) { var rareq, expected RARequestProcessor - if err := rareq.loadFromJsonCfg(nil); err != nil { + if err := rareq.loadFromJsonCfg(nil, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(rareq, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, rareq) } - if err := rareq.loadFromJsonCfg(new(RAReqProcessorJsnCfg)); err != nil { + if err := rareq.loadFromJsonCfg(new(RAReqProcessorJsnCfg), utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(rareq, expected) { t.Errorf("Expected: %+v ,recived: %+v", expected, rareq) @@ -102,7 +102,7 @@ func TestRARequestProcessorloadFromJsonCfg(t *testing.T) { Timezone: "Local", ContinueOnSuccess: true, } - if err = rareq.loadFromJsonCfg(json); err != nil { + if err = rareq.loadFromJsonCfg(json, utils.INFIELD_SEP); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rareq) { t.Errorf("Expected: %+v , recived: %+v", utils.ToJSON(expected), utils.ToJSON(rareq)) diff --git a/config/rsrparser.go b/config/rsrparser.go index 1175b2d06..1e73e534f 100644 --- a/config/rsrparser.go +++ b/config/rsrparser.go @@ -92,7 +92,6 @@ func (prsrs RSRParsers) ParseEvent(ev map[string]interface{}) (out string, err e } func (prsrs RSRParsers) ParseDataProvider(dP DataProvider, separator string) (out string, err error) { - utils.Logger.Debug(fmt.Sprintf("===Teo=== ParseDataProvider: %+v", utils.ToJSON(prsrs))) for _, prsr := range prsrs { if outPrsr, err := prsr.ParseDataProvider(dP, separator); err != nil { return "", err diff --git a/data/conf/samples/diamagent/dryrun.json b/data/conf/samples/diamagent/dryrun.json index 4e3e78df3..285a6839b 100644 --- a/data/conf/samples/diamagent/dryrun.json +++ b/data/conf/samples/diamagent/dryrun.json @@ -15,7 +15,7 @@ {"tag": "OptionalField", "field_id":"OptionalField", "type":"*composed", "value":"~*req.Inexistent", "mandatory":false}, {"tag": "OriginID", "field_id": "OriginID", "type": "*composed", - "value": "~*req.Session-Id", "mandatory": true}, + "value": "~*req.Session-Id:s/(\\d+);(\\d+)$/$1;$2/", "mandatory": true}, {"tag": "RequestType", "field_id": "RequestType", "type": "*constant", "value": "*prepaid"}, {"tag": "SetupTime", "field_id": "SetupTime", "type": "*composed", diff --git a/engine/cdrefwv_test.go b/engine/cdrefwv_test.go index 0e66954a4..1a186e073 100644 --- a/engine/cdrefwv_test.go +++ b/engine/cdrefwv_test.go @@ -254,13 +254,13 @@ func TestWriteCdr(t *testing.T) { var err error wrBuf := &bytes.Buffer{} cfg, _ := config.NewDefaultCGRConfig() - if hdrCfgFlds, err = config.FCTemplatesFromFCTemplatesJsonCfg(hdrJsnCfgFlds); err != nil { + if hdrCfgFlds, err = config.FCTemplatesFromFCTemplatesJsonCfg(hdrJsnCfgFlds, utils.INFIELD_SEP); err != nil { t.Error(err) } - if contentCfgFlds, err = config.FCTemplatesFromFCTemplatesJsonCfg(contentJsnCfgFlds); err != nil { + if contentCfgFlds, err = config.FCTemplatesFromFCTemplatesJsonCfg(contentJsnCfgFlds, utils.INFIELD_SEP); err != nil { t.Error(err) } - if trailerCfgFlds, err = config.FCTemplatesFromFCTemplatesJsonCfg(trailerJsnCfgFlds); err != nil { + if trailerCfgFlds, err = config.FCTemplatesFromFCTemplatesJsonCfg(trailerJsnCfgFlds, utils.INFIELD_SEP); err != nil { t.Error(err) } cdreCfg := &config.CdreCfg{