cgr-loader flag to disable reverse mappings

This commit is contained in:
Radu Ioan Fericean
2016-08-18 11:58:11 +03:00
parent e142227780
commit 0c08467387
15 changed files with 26 additions and 23 deletions

View File

@@ -91,7 +91,7 @@ func StopStartEngine(cfgPath string, waitEngine int) (*exec.Cmd, error) {
return StartEngine(cfgPath, waitEngine)
}
func LoadTariffPlanFromFolder(tpPath, timezone string, ratingDb RatingStorage, accountingDb AccountingStorage) error {
func LoadTariffPlanFromFolder(tpPath, timezone string, ratingDb RatingStorage, accountingDb AccountingStorage, disable_reverse bool) error {
loader := NewTpReader(ratingDb, accountingDb, NewFileCSVStorage(utils.CSV_SEP,
path.Join(tpPath, utils.DESTINATIONS_CSV),
path.Join(tpPath, utils.TIMINGS_CSV),
@@ -115,7 +115,7 @@ func LoadTariffPlanFromFolder(tpPath, timezone string, ratingDb RatingStorage, a
if err := loader.LoadAll(); err != nil {
return utils.NewErrServerError(err)
}
if err := loader.WriteToDatabase(false, false); err != nil {
if err := loader.WriteToDatabase(false, false, disable_reverse); err != nil {
return utils.NewErrServerError(err)
}
return nil

View File

@@ -333,7 +333,7 @@ func init() {
if err := csvr.LoadResourceLimits(); err != nil {
log.Print("error in LoadResourceLimits:", err)
}
csvr.WriteToDatabase(false, false)
csvr.WriteToDatabase(false, false, false)
cache2go.Flush()
ratingStorage.PreloadRatingCache()
accountingStorage.PreloadAccountingCache()

View File

@@ -181,7 +181,7 @@ func TestLoadFromCSV(t *testing.T) {
if err = loader.LoadResourceLimits(); err != nil {
t.Error("Failed loading resource limits: ", err.Error())
}
if err := loader.WriteToDatabase(true, false); err != nil {
if err := loader.WriteToDatabase(true, false, false); err != nil {
t.Error("Could not write data into ratingDb: ", err.Error())
}
}

View File

@@ -1634,7 +1634,7 @@ func (tpr *TpReader) IsValid() bool {
return valid
}
func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) {
func (tpr *TpReader) WriteToDatabase(flush, verbose, disable_reverse bool) (err error) {
if tpr.ratingStorage == nil || tpr.accountingStorage == nil {
return errors.New("no database connection")
}
@@ -1653,9 +1653,10 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) {
log.Print("\t", d.Id, " : ", d.Prefixes)
}
}
err = tpr.ratingStorage.RebuildReverseForPrefix(utils.REVERSE_DESTINATION_PREFIX)
if err != nil {
return err
if !disable_reverse {
if err = tpr.ratingStorage.RebuildReverseForPrefix(utils.REVERSE_DESTINATION_PREFIX); err != nil {
return err
}
}
if verbose {
log.Print("Rating Plans:")
@@ -1830,9 +1831,10 @@ func (tpr *TpReader) WriteToDatabase(flush, verbose bool) (err error) {
log.Print("\t", al.GetId())
}
}
err = tpr.accountingStorage.RebuildReverseForPrefix(utils.REVERSE_ALIASES_PREFIX)
if err != nil {
return err
if !disable_reverse {
if err = tpr.accountingStorage.RebuildReverseForPrefix(utils.REVERSE_ALIASES_PREFIX); err != nil {
return err
}
}
if verbose {
log.Print("ResourceLimits:")