package org.jpos.jposext.isomsgaction.testing.model; import java.util.List; import java.util.Map; public class ComparisonContext { public static final String DEFAULT_ID_PATH_DELIMITER = "."; private Map<String, ManualCheck> mapManualChecks; private List<ISOCmpDiff> resList; public List<ISOCmpDiff> getResList() { return resList; } public void setResList(List<ISOCmpDiff> resList) { this.resList = resList; } public Map<String, ManualCheck> getMapManualChecks() { return mapManualChecks; } public void setMapManualChecks(Map<String, ManualCheck> mapManualChecks) { this.mapManualChecks = mapManualChecks; } public void addDiff(String idPath, String res) { resList.add(new ISOCmpDiff(idPath, res)); } public boolean isManualCheck(String idPath) { String[] pathTab = idPath.split("\\" + DEFAULT_ID_PATH_DELIMITER); return isManualCheck(mapManualChecks, pathTab, 0); } protected static boolean isManualCheck(Map<String, ManualCheck> pMapManualChecks, String[] pathTab, int idx) { if (pMapManualChecks == null) { return false; } if (pathTab.length == 0) { return false; } if (idx >= pathTab.length) { return false; } String currentPath = ""; for (int i = 0; i <= idx; i++) { if (i > 0) { currentPath += DEFAULT_ID_PATH_DELIMITER; } currentPath += pathTab[i]; } if (pMapManualChecks.containsKey(currentPath)) { return true; } else { return isManualCheck(pMapManualChecks, pathTab, (idx + 1)); } } }