package org.nocket.gen.page.visitor.bind.builder.components; import org.apache.commons.lang.StringUtils; import org.nocket.component.table.GenericDataTableConfigurator; import org.nocket.component.table.TableItemPosition; import org.nocket.gen.page.element.TableElement; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TableAttributeAdopter { final private static Logger log = LoggerFactory.getLogger(TableAttributeAdopter.class); private TableItemPosition navigationbarPosition = TableItemPosition.bottom; public TableAttributeAdopter(TableElement e) { analyseClassAttribute(e); } private void analyseClassAttribute(TableElement e) { String classAttr = e.getElement().attr("class"); if (StringUtils.isBlank(classAttr)) { return; } String[] attributes = StringUtils.split(classAttr); for (String attribute : attributes) { if (attribute.toLowerCase().startsWith("table-navbar.")) { analyseNavigationbarPosition(attribute, e); } } } private void analyseNavigationbarPosition(String attribute, TableElement e) { if ("table-navbar.bottom".equals(attribute)) { navigationbarPosition = TableItemPosition.bottom; } else if ("table-navbar.top".equals(attribute)) { navigationbarPosition = TableItemPosition.top; } else { log.warn("Table with wicketd = '" + e.getWicketId() + "' and unknown TableItemPosition = '" + attribute + "'"); } } public void populate(GenericDataTableConfigurator<?> config) { config.withNavigationBar(navigationbarPosition); } }