From c369958f5e5269c686eff67368125a55b39288a3 Mon Sep 17 00:00:00 2001 From: "Suresh, Kamlesh" Date: Tue, 9 Mar 2021 14:22:13 -0500 Subject: [PATCH] review --- .../ClientParameterModelProtocol.swift | 5 ----- .../Client Parameters/ClientParameterProtocol.swift | 8 ++++---- .../Client Parameters/ClientParameterRegistry.swift | 11 +++-------- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModelProtocol.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModelProtocol.swift index dfda709..b742170 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModelProtocol.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterModelProtocol.swift @@ -10,15 +10,10 @@ import Foundation public protocol ClientParameterModelProtocol: ModelProtocol { var type: String { get } - var isFlatMap: Bool? { get } } public extension ClientParameterModelProtocol { - var isFlatMap: Bool? { - return false - } - var type: String { get { Self.identifier } } diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterProtocol.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterProtocol.swift index 487f7c6..f6895e0 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterProtocol.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterProtocol.swift @@ -15,15 +15,15 @@ public protocol ClientParameterProtocol { init(_ clientParameterModel:ClientParameterModelProtocol) var isFlatMap: Bool { get } - var clientParameterModel:ClientParameterModelProtocol? { get set} + var clientParameterModel: ClientParameterModelProtocol? { get set } func defaultErrorString() -> String func fetchClientParameters(requestParameters: [String: Any], timingOutIn timeout: Double, completionHandler:@escaping (AnyHashable?) -> ()) - /// The handler should call this methos to pass the paramter back to the caller. + /// The handler should call this method to pass the parameter back to the caller. func returnParameters(_ paramter: [String: AnyHashable]?, completionHandler: @escaping (AnyHashable?) -> ()) - /// Default parameter for timout scenarios. It will use the protocol extension method bydefault. Can override to send custom values. + /// Default parameter for timeout scenarios. It will use the protocol extension method bydefault. Can override to send custom values. func defaultValue() -> AnyHashable } @@ -38,7 +38,7 @@ public extension ClientParameterProtocol { return [Self.name: defaultErrorString()] } - init(_ clientParameterModel:ClientParameterModelProtocol) { + init(_ clientParameterModel: ClientParameterModelProtocol) { self.init() self.clientParameterModel = clientParameterModel } diff --git a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterRegistry.swift b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterRegistry.swift index eebc552..73644f9 100644 --- a/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterRegistry.swift +++ b/MVMCore/MVMCore/Models/ActionType/Client Parameters/ClientParameterRegistry.swift @@ -58,7 +58,6 @@ import Foundation let parametersWorkQueue = DispatchQueue(label: "com.mva.clientparameter") let group = DispatchGroup() - //let defaultErrorString = "failed_to_collect." // Dispatch setup on queue to ensure setup is complete before completion callbacks. parametersWorkQueue.async(group: group, qos: .userInitiated) { [weak self] in @@ -76,14 +75,12 @@ import Foundation var mergedParametersList: [String: AnyHashable] { var parametersList: [String: AnyHashable] = [:] - var index = 0 - for item in returnedList { + for (index, item) in returnedList.enumerated() { if item.count == 0, let defaultValue = parameterHandlerList[index].defaultValue() as? [String: AnyHashable] { parametersList = parametersList.merging(defaultValue) { (_, new) in new } } else { parametersList = parametersList.merging(item) { (_, new) in new } } - index += 1 } return parametersList } @@ -106,10 +103,8 @@ import Foundation parametersWorkQueue.asyncAfter(deadline: .now() + .seconds(Int(timeout)), execute: timeoutWorkItem) // Setup the parameter execution. - var index = -1 - for parameterHandler in parameterHandlerList { - group.enter() - index += 1 + for (index, parameterHandler) in parameterHandlerList.enumerated() { + group.enter() parameterHandler.fetchClientParameters(requestParameters: requestParameters, timingOutIn: timeout) { (receivedParameter) in // Queue the results for merge.