package com.indeed.proctor.webapp.extensions; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; /** */ public class SpecialConstantsBuilder { public static String build(final Map<String, Object> definitionSpecialConstants, final Set<String> supportedConstants, final String specialConstantsName){ final List<String> selectedSpecialConstants = definitionSpecialConstants != null && definitionSpecialConstants.containsKey(specialConstantsName) ? ((List<String>)definitionSpecialConstants.get(specialConstantsName)) : Collections.<String>emptyList(); final StringBuilder specialConstantsHtml = new StringBuilder(); specialConstantsHtml.append("<div class='row '>"); specialConstantsHtml.append("<div class='three columns'><h6>" + specialConstantsName +"</h6></div>"); specialConstantsHtml.append("<div class='three columns'></div>"); specialConstantsHtml.append("<div class='nine columns'></div>"); final Object[] supportedConstantsArray = supportedConstants.toArray(); for(int columnNum = 0; columnNum < 9; columnNum++) { specialConstantsHtml.append("<div class='one columns'>"); for (int step = columnNum; step < supportedConstantsArray.length; step +=9) { final String constant = (String) supportedConstantsArray[step]; specialConstantsHtml.append("<label for='special_constants_" + specialConstantsName + "_" + step + "'>"); String checked = selectedSpecialConstants.contains(constant) ? "checked='checked'" : ""; specialConstantsHtml.append("<input id='special_constants_" + specialConstantsName + "_" + step + "' name='specialConstants." + specialConstantsName + "[]' class='mrs json' type='checkbox' value='" + constant + "'" + checked + ">" + constant); specialConstantsHtml.append("</label>"); } specialConstantsHtml.append("</div>"); } specialConstantsHtml.append("</div>"); return specialConstantsHtml.toString(); } }