Process change only if use caching is true
diff --git a/listener.go b/listener.go
index 362dd69..846a05e 100644
--- a/listener.go
+++ b/listener.go
@@ -55,44 +55,46 @@
}
func processChange(changes *common.ChangeList) {
- log.Debugf("apigeeSyncEvent: %d changes", len(changes.Changes))
- var rows []common.Row
+ if (config.GetBool(useCaching)) {
+ log.Debugf("apigeeSyncEvent: %d changes", len(changes.Changes))
+ var rows []common.Row
- for _, payload := range changes.Changes {
- rows = nil
- switch payload.Table {
- case "edgex.data_scope":
- switch payload.Operation {
- case common.Insert, common.Update:
- rows = append(rows, payload.NewRow)
- // Lock before writing to the map as it has multiple readers
- tenantCachelock.Lock()
- defer tenantCachelock.Unlock()
- for _, ele := range rows {
- var scopeuuid, tenantid, org, env string
- ele.Get("id", &scopeuuid)
- ele.Get("scope", &tenantid)
- ele.Get("org", &org)
- ele.Get("env", &env)
- tenantCache[scopeuuid] = tenant{Org: org, Env: env, TenantId: tenantid}
- log.Debugf("Refreshed local tenantCache. Added scope: %s", scopeuuid)
+ for _, payload := range changes.Changes {
+ rows = nil
+ switch payload.Table {
+ case "edgex.data_scope":
+ switch payload.Operation {
+ case common.Insert, common.Update:
+ rows = append(rows, payload.NewRow)
+ // Lock before writing to the map as it has multiple readers
+ tenantCachelock.Lock()
+ defer tenantCachelock.Unlock()
+ for _, ele := range rows {
+ var scopeuuid, tenantid, org, env string
+ ele.Get("id", &scopeuuid)
+ ele.Get("scope", &tenantid)
+ ele.Get("org", &org)
+ ele.Get("env", &env)
+ tenantCache[scopeuuid] = tenant{Org: org, Env: env, TenantId: tenantid}
+ log.Debugf("Refreshed local tenantCache. Added scope: %s", scopeuuid)
+ }
+ case common.Delete:
+ rows = append(rows, payload.NewRow)
+ // Lock before writing to the map as it has multiple readers
+ tenantCachelock.Lock()
+ defer tenantCachelock.Unlock()
+ for _, ele := range rows {
+ var scopeuuid string
+ ele.Get("id", &scopeuuid)
+ delete(tenantCache, scopeuuid)
+ log.Debugf("Refreshed local tenantCache. Deleted scope: %s", scopeuuid)
+ }
}
- case common.Delete:
- rows = append(rows, payload.NewRow)
- // Lock before writing to the map as it has multiple readers
- tenantCachelock.Lock()
- defer tenantCachelock.Unlock()
- for _, ele := range rows {
- var scopeuuid string
- ele.Get("id", &scopeuuid)
- delete(tenantCache, scopeuuid)
- log.Debugf("Refreshed local tenantCache. Deleted scope: %s", scopeuuid)
- }
+ case "kms.developer", "kms.app", "kms.api_product", "kms.app_credential_apiproduct_mapper":
+ // any change in any of the above tables should result in cache refresh
+ createDeveloperInfoCache()
+ log.Debug("Refresh local developerInfoCache")
}
- case "kms.developer", "kms.app", "kms.api_product", "kms.app_credential_apiproduct_mapper":
- // any change in any of the above tables should result in cache refresh
- createDeveloperInfoCache()
- log.Debug("Refresh local developerInfoCache")
}
}
}