ソースを参照

filter function changes

AjayTripathy 6 年 前
コミット
140ec777c5
1 ファイル変更4 行追加3 行削除
  1. 4 3
      costmodel/router.go

+ 4 - 3
costmodel/router.go

@@ -77,13 +77,14 @@ type DataEnvelope struct {
 type FilterFunc func(*CostData) bool
 type FilterFunc func(*CostData) bool
 
 
 // FilterCostData allows through only CostData that matches all the given filter functions
 // FilterCostData allows through only CostData that matches all the given filter functions
-func FilterCostData(data map[string]*CostData, filters ...FilterFunc) map[string]*CostData {
+func FilterCostData(data map[string]*CostData, filters ...FilterFunc) (map[string]*CostData, int) {
 	result := make(map[string]*CostData)
 	result := make(map[string]*CostData)
-
+	filteredContainerCount := 0
 DataLoop:
 DataLoop:
 	for key, datum := range data {
 	for key, datum := range data {
 		for _, ff := range filters {
 		for _, ff := range filters {
 			if !ff(datum) {
 			if !ff(datum) {
+				filteredContainerCount += 1
 				// if any filter function check fails, move on to the next datum
 				// if any filter function check fails, move on to the next datum
 				continue DataLoop
 				continue DataLoop
 			}
 			}
@@ -91,7 +92,7 @@ DataLoop:
 		result[key] = datum
 		result[key] = datum
 	}
 	}
 
 
-	return result
+	return result, filteredContainerCount
 }
 }
 
 
 func filterFields(fields string, data map[string]*CostData) map[string]CostData {
 func filterFields(fields string, data map[string]*CostData) map[string]CostData {