Logic to handle multiple derived charging run filters inside mediator and session manager

This commit is contained in:
DanB
2014-07-09 15:21:42 +02:00
parent 0986c1371b
commit 22670e12a8
14 changed files with 68 additions and 55 deletions

View File

@@ -839,10 +839,13 @@ func (csvr *CSVReader) LoadDerivedChargers() (err error) {
for record, err := csvReader.Read(); err == nil; record, err = csvReader.Read() {
tag := utils.DerivedChargersKey(record[0], record[1], record[2], record[3], record[4])
_, found := csvr.derivedChargers[tag]
if _, err = utils.ParseRSRFields(record[6], utils.INFIELD_SEP); err != nil { // Make sure rules are OK before loading in db
return err
}
if found {
if csvr.derivedChargers[tag], err = csvr.derivedChargers[tag].Append(&utils.DerivedCharger{
RunId: ValueOrDefault(record[5], "*default"),
RunFilter: record[6],
RunFilters: record[6],
ReqTypeField: ValueOrDefault(record[7], "*default"),
DirectionField: ValueOrDefault(record[8], "*default"),
TenantField: ValueOrDefault(record[9], "*default"),
@@ -862,7 +865,7 @@ func (csvr *CSVReader) LoadDerivedChargers() (err error) {
}
csvr.derivedChargers[tag] = utils.DerivedChargers{&utils.DerivedCharger{
RunId: ValueOrDefault(record[5], "*default"),
RunFilter: record[6],
RunFilters: record[6],
ReqTypeField: ValueOrDefault(record[7], "*default"),
DirectionField: ValueOrDefault(record[8], "*default"),
TenantField: ValueOrDefault(record[9], "*default"),