package gw.exportimport.validation uses gw.api.locale.DisplayKey uses java.lang.Integer uses java.util.Map class ImportValidationSummaryLog { var _beanMap : Map var _type : Type as readonly Type property get BeansRead() : int { return _beanMap[BeanAction.Read] } property get BeansAdded() : int { return _beanMap[BeanAction.Added] } property get BeansRemoved() : int { return _beanMap[BeanAction.Removed] } property get BeansEdited() : int { return _beanMap[BeanAction.Edited] } construct() { _beanMap = {BeanAction.Read -> 0, BeanAction.Removed -> 0, BeanAction.Edited -> 0, BeanAction.Added -> 0 } } function registerType(theType : Type) { _type = theType } function registerBeanAction(action : BeanAction) { _beanMap[action] ++ } function logAsString(rowsWithErrors : int) : String { var errorString = createExportString({BeanAction.Read, BeanAction.Edited, BeanAction.Added, BeanAction.Removed}).trim() errorString += DisplayKey.get("Web.ExcelImport.Log.SummaryLog.ErrorRowCount", DisplayKey.get("Web.ExcelImport.Log.SummaryLog.ErrorRowCountLabel"), rowsWithErrors) return errorString.trim() } private function createExportString(actions : BeanAction[]) : String { var exportString = "" for (action in actions) { exportString += beanMapEntryToString(action) } return exportString } private function beanMapEntryToString(action : BeanAction) : String { var beanMapEntryString = DisplayKey.get("Import.SummaryLog.ReportBeanAction", _type.DisplayName, action.toString(), _beanMap[action], ".\n") return beanMapEntryString } }