From 037bb1f0d8344e1484e7451ba34c844f39446d7e Mon Sep 17 00:00:00 2001 From: DanB Date: Sun, 11 Mar 2018 19:41:30 +0100 Subject: [PATCH] Skel for TPLoader and TPcsvReader, changed file perms in engine --- engine/calldesc.go | 0 engine/libstats.go | 0 engine/loader_csv_test.go | 0 engine/loader_it_test.go | 0 engine/model_helpers.go | 0 engine/model_helpers_test.go | 0 engine/models.go | 0 engine/resources.go | 0 engine/storage_csv.go | 0 engine/storage_interface.go | 0 engine/storage_map.go | 0 engine/storage_mongo_datadb.go | 0 engine/storage_mongo_stordb.go | 0 engine/storage_redis.go | 0 engine/storage_sql.go | 0 engine/storage_utils.go | 0 engine/stordb_it_test.go | 0 engine/tp_reader.go | 0 engine/tpcsvreader.go | 38 ++++++++++++++++++++++++++++++++++ engine/tpimporter_csv.go | 0 engine/tploader.go | 34 ++++++++++++++++++++++++++++++ 21 files changed, 72 insertions(+) mode change 100755 => 100644 engine/calldesc.go mode change 100755 => 100644 engine/libstats.go mode change 100755 => 100644 engine/loader_csv_test.go mode change 100755 => 100644 engine/loader_it_test.go mode change 100755 => 100644 engine/model_helpers.go mode change 100755 => 100644 engine/model_helpers_test.go mode change 100755 => 100644 engine/models.go mode change 100755 => 100644 engine/resources.go mode change 100755 => 100644 engine/storage_csv.go mode change 100755 => 100644 engine/storage_interface.go mode change 100755 => 100644 engine/storage_map.go mode change 100755 => 100644 engine/storage_mongo_datadb.go mode change 100755 => 100644 engine/storage_mongo_stordb.go mode change 100755 => 100644 engine/storage_redis.go mode change 100755 => 100644 engine/storage_sql.go mode change 100755 => 100644 engine/storage_utils.go mode change 100755 => 100644 engine/stordb_it_test.go mode change 100755 => 100644 engine/tp_reader.go create mode 100644 engine/tpcsvreader.go mode change 100755 => 100644 engine/tpimporter_csv.go create mode 100644 engine/tploader.go diff --git a/engine/calldesc.go b/engine/calldesc.go old mode 100755 new mode 100644 diff --git a/engine/libstats.go b/engine/libstats.go old mode 100755 new mode 100644 diff --git a/engine/loader_csv_test.go b/engine/loader_csv_test.go old mode 100755 new mode 100644 diff --git a/engine/loader_it_test.go b/engine/loader_it_test.go old mode 100755 new mode 100644 diff --git a/engine/model_helpers.go b/engine/model_helpers.go old mode 100755 new mode 100644 diff --git a/engine/model_helpers_test.go b/engine/model_helpers_test.go old mode 100755 new mode 100644 diff --git a/engine/models.go b/engine/models.go old mode 100755 new mode 100644 diff --git a/engine/resources.go b/engine/resources.go old mode 100755 new mode 100644 diff --git a/engine/storage_csv.go b/engine/storage_csv.go old mode 100755 new mode 100644 diff --git a/engine/storage_interface.go b/engine/storage_interface.go old mode 100755 new mode 100644 diff --git a/engine/storage_map.go b/engine/storage_map.go old mode 100755 new mode 100644 diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go old mode 100755 new mode 100644 diff --git a/engine/storage_mongo_stordb.go b/engine/storage_mongo_stordb.go old mode 100755 new mode 100644 diff --git a/engine/storage_redis.go b/engine/storage_redis.go old mode 100755 new mode 100644 diff --git a/engine/storage_sql.go b/engine/storage_sql.go old mode 100755 new mode 100644 diff --git a/engine/storage_utils.go b/engine/storage_utils.go old mode 100755 new mode 100644 diff --git a/engine/stordb_it_test.go b/engine/stordb_it_test.go old mode 100755 new mode 100644 diff --git a/engine/tp_reader.go b/engine/tp_reader.go old mode 100755 new mode 100644 diff --git a/engine/tpcsvreader.go b/engine/tpcsvreader.go new file mode 100644 index 000000000..f03ae1e5b --- /dev/null +++ b/engine/tpcsvreader.go @@ -0,0 +1,38 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ + +package engine + +import ( + "encoding/csv" + + "github.com/cgrates/cgrates/config" +) + +// TPcsvReader reads data from csv file based on template +type TPcsvReader struct { + fldsTpl []*config.CfgCdrField + srcType string + srcPath string + csvReaders map[string]*csv.Reader // map[fileName]*csv.Reader for each name in fldsTpl +} + +// Read implements TPReader interface +func (csv *TPcsvReader) Read() (itm interface{}, err error) { + return +} diff --git a/engine/tpimporter_csv.go b/engine/tpimporter_csv.go old mode 100755 new mode 100644 diff --git a/engine/tploader.go b/engine/tploader.go new file mode 100644 index 000000000..6f342d82c --- /dev/null +++ b/engine/tploader.go @@ -0,0 +1,34 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ + +package engine + +import () + +// TPReader is the data source for TPLoader +type TPReader interface { + // Read will read one record from data source + Read() (interface{}, error) +} + +// TPLoader will read a record from TPReader and write it out to dataManager +type TPLoader struct { + srcType string // needed by Load for choosing destiantion + dataReader TPReader // provides data to load + dm *DataManager // writes data to load +}