/** * Throughout the hierarchy, certain data elements are used to tag the * inclusion/exclusion/ordering of tasks within task lists. These data names contain task list * names and could contain task names, so they must be renamed. */ private boolean maybeRenameLocalTsElement(DataFileEntry e) { String dataName = e.getKey(); int[] tsPrefixPos = getTsPrefixPos(dataName); if (tsPrefixPos == null) return false; String path = dataName.substring(0, tsPrefixPos[0]); String tsPrefix = dataName.substring(tsPrefixPos[0], tsPrefixPos[1]); String taskListName = dataName.substring(tsPrefixPos[1]); String newName = pathMapper.getString(path) + tsPrefix + taskListMapper.hashTaskListName(taskListName); e.setKey(newName); return true; }
/** * Certain elements are commonly written by dashboard logic relative to hierarchy paths. If this * entry represents one of those well-known items, remap the name. */ private boolean maybeRenameCommonTaskNameBasedElements(DataFileEntry e) { String dataName = e.getKey(); int suffixPos = getTaskNameSuffixPos(dataName); if (suffixPos == -1) return false; String origPath = dataName.substring(0, suffixPos); if (origPath.contains(" /") || origPath.contains("/ ")) // the presence of a space next to a slash indicates that this is a // process-namespaced data element. return false; String suffix = dataName.substring(suffixPos); String newPath = pathMapper.getString(origPath); String newName = newPath + suffix; e.setKey(newName); return true; }