private Dictionary mergeBase(String subDictID) { Dictionary baseDict = new Dictionary(subDictID); Dictionary stateData = getDefaultStateData(); if (stateData != null && stateData.found(subDictID)) { baseDict.merge(stateData.subDict(subDictID)); } else { logger.warn("'" + subDictID + "' NOT FOUND"); } // System.out.println("AbstractDefaultsProvider.mergeBase() "+baseDict); if (baseDict.found("base")) { String baseName = baseDict.lookup("base"); Dictionary bd = mergeBase(baseName); bd.merge(baseDict); return bd; } return baseDict; }
static Dictionary extractModule( DefaultsProvider defaults, String encodedPrimalState, String moduleName) { if (defaults.getDefaultStateData().found(moduleName)) { Dictionary defaultModule = new Dictionary(defaults.getDefaultStateData().subDict(moduleName)); Dictionary relativeToStateModule = extractRelativeToStateModule(encodedPrimalState, defaultModule); if (relativeToStateModule != null) { defaultModule.merge(relativeToStateModule); } return defaultModule; } return null; }