mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Default EventReader in CGRConfig
This commit is contained in:
@@ -169,7 +169,7 @@ func NewDefaultCGRConfig() (*CGRConfig, error) {
|
||||
cfg.loaderCfg = make([]*LoaderSCfg, 0)
|
||||
cfg.SmOsipsConfig = new(SmOsipsConfig)
|
||||
cfg.apier = new(ApierCfg)
|
||||
cfg.erCfg = new(ERsCfg)
|
||||
cfg.ersCfg = new(ERsCfg)
|
||||
|
||||
cfg.ConfigReloads = make(map[string]chan struct{})
|
||||
cfg.ConfigReloads[utils.CDRC] = make(chan struct{}, 1)
|
||||
@@ -193,6 +193,13 @@ func NewDefaultCGRConfig() (*CGRConfig, error) {
|
||||
|
||||
cfg.dfltCdreProfile = cfg.CdreProfiles[utils.META_DEFAULT].Clone() // So default will stay unique, will have nil pointer in case of no defaults loaded which is an extra check
|
||||
cfg.dfltCdrcProfile = cfg.CdrcProfiles["/var/spool/cgrates/cdrc/in"][0].Clone()
|
||||
// populate default ERs reader
|
||||
for _, ersRdr := range cfg.ersCfg.Readers {
|
||||
if ersRdr.ID == utils.MetaDefault {
|
||||
cfg.dfltEvRdr = ersRdr.Clone()
|
||||
break
|
||||
}
|
||||
}
|
||||
dfltFsConnConfig = cfg.fsAgentCfg.EventSocketConns[0] // We leave it crashing here on purpose if no Connection defaults defined
|
||||
dfltKamConnConfig = cfg.kamAgentCfg.EvapiConns[0]
|
||||
dfltAstConnCfg = cfg.asteriskAgentCfg.AsteriskConns[0]
|
||||
@@ -310,8 +317,9 @@ type CGRConfig struct {
|
||||
ConfigPath string // Path towards config
|
||||
|
||||
// Cache defaults loaded from json and needing clones
|
||||
dfltCdreProfile *CdreCfg // Default cdreConfig profile
|
||||
dfltCdrcProfile *CdrcCfg // Default cdrcConfig profile
|
||||
dfltCdreProfile *CdreCfg // Default cdreConfig profile
|
||||
dfltCdrcProfile *CdrcCfg // Default cdrcConfig profile
|
||||
dfltEvRdr *EventReaderCfg // default event reader
|
||||
|
||||
CdreProfiles map[string]*CdreCfg // Cdre config profiles
|
||||
CdrcProfiles map[string][]*CdrcCfg // Number of CDRC instances running imports, format map[dirPath][]{Configs}
|
||||
@@ -352,7 +360,7 @@ type CGRConfig struct {
|
||||
analyzerSCfg *AnalyzerSCfg // AnalyzerS config
|
||||
SmOsipsConfig *SmOsipsConfig // SMOpenSIPS Configuration
|
||||
apier *ApierCfg
|
||||
erCfg *ERsCfg
|
||||
ersCfg *ERsCfg
|
||||
}
|
||||
|
||||
var posibleLoaderTypes = utils.NewStringSet([]string{utils.MetaAttributes,
|
||||
@@ -1015,7 +1023,7 @@ func (self *CGRConfig) loadFromJsonCfg(jsnCfg *CgrJsonCfg) (err error) {
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if err := self.erCfg.loadFromJsonCfg(jsnERsCfg, self.generalCfg.RsrSepatarot); err != nil {
|
||||
if err := self.ersCfg.loadFromJsonCfg(jsnERsCfg, self.generalCfg.RsrSepatarot); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1228,7 +1236,7 @@ func (cfg *CGRConfig) ApierCfg() *ApierCfg {
|
||||
}
|
||||
|
||||
func (cfg *CGRConfig) ERsCfg() *ERsCfg {
|
||||
return cfg.erCfg
|
||||
return cfg.ersCfg
|
||||
}
|
||||
|
||||
// Call implements rpcclient.RpcClientConnection interface for internal RPC
|
||||
|
||||
@@ -308,8 +308,8 @@ const CGRATES_CFG_JSON = `
|
||||
"concurrent_requests": 1024, // maximum simultaneous requests/files to process, 0 for unlimited
|
||||
"source_path": "/var/spool/cgrates/cdrc/in", // read data from this path
|
||||
"processed_path": "/var/spool/cgrates/cdrc/out", // move processed data here
|
||||
"Xml_root_path": "", // path towards one event in case of XML CDRs
|
||||
"Source_id": "ers_csv", // free form field, tag identifying the source of the CDRs within CDRS database
|
||||
"xml_root_path": "", // path towards one event in case of XML CDRs
|
||||
"source_id": "ers_csv", // free form field, tag identifying the source of the CDRs within CDRS database
|
||||
"tenant": "", // tenant used by import
|
||||
"timezone": "", // timezone for timestamps where not specified <""|UTC|Local|$IANA_TZ_DB>
|
||||
"filters": [], // limit parsing based on the filters
|
||||
|
||||
@@ -1855,7 +1855,7 @@ func TestCgrCdfEventReader(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}
|
||||
if !reflect.DeepEqual(cgrCfg.erCfg, eCfg) {
|
||||
t.Errorf("received: %+v,\n expecting: %+v", utils.ToJSON(cgrCfg.erCfg), utils.ToJSON(eCfg))
|
||||
if !reflect.DeepEqual(cgrCfg.ersCfg, eCfg) {
|
||||
t.Errorf("received: %+v,\n expecting: %+v", utils.ToJSON(cgrCfg.ersCfg), utils.ToJSON(eCfg))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ func (erS *ERsCfg) loadFromJsonCfg(jsnCfg *ERsJsonCfg, sep string) (err error) {
|
||||
if jsnCfg.Readers != nil {
|
||||
erS.Readers = make([]*EventReaderCfg, len(*jsnCfg.Readers))
|
||||
for idx, rdrs := range *jsnCfg.Readers {
|
||||
erS.Readers[idx] = NewDfltEventReaderCfg()
|
||||
erS.Readers[idx] = new(EventReaderCfg)
|
||||
if err = erS.Readers[idx].loadFromJsonCfg(rdrs, sep); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -72,10 +72,6 @@ func (erS *ERsCfg) Clone() (cln *ERsCfg) {
|
||||
return
|
||||
}
|
||||
|
||||
func NewDfltEventReaderCfg() *EventReaderCfg {
|
||||
return new(EventReaderCfg)
|
||||
}
|
||||
|
||||
type EventReaderCfg struct {
|
||||
ID string
|
||||
Type string
|
||||
|
||||
Reference in New Issue
Block a user