package com.opower.updater.admin.loader; import com.opower.updater.admin.Update; import java.util.Map; /** * An {@link com.opower.updater.admin.loader.UpdateProcessor} that replaces tokens in the DDL given * a map from valid tokens to their value. * * @author felix.trepanier */ public class DDLTokenReplacer implements UpdateProcessor { public static final String TOKEN_DELIMITER = "%%%"; private final Map<String, String> tokenMap; public DDLTokenReplacer(Map<String, String> tokenMap) { this.tokenMap = tokenMap; } /** * {@inheritDoc} */ @Override public Update processUpdate(Update update) { String processedDDL = update.getDDL(); for (String token : tokenMap.keySet()) { processedDDL = processedDDL.replaceAll(TOKEN_DELIMITER + token + TOKEN_DELIMITER, tokenMap.get(token)); } return new Update(update.getId(), processedDDL); } }