package org.jabox.webapp.borders; import org.apache.wicket.Component; import org.apache.wicket.behavior.Behavior; import org.apache.wicket.feedback.FeedbackMessage; import org.apache.wicket.markup.html.form.FormComponent; public class ControlGroupBehavior extends Behavior { private static final long serialVersionUID = -6251370873692995058L; /** * @see org.apache.wicket.markup.html.border.BorderBehavior#beforeRender(org.apache.wicket.Component) */ @Override public void beforeRender(final Component c) { if (FormComponent.class.isInstance(c)) { if ("picker".equals(c.getId())) { return; } String status = getComponentStatus(c); c.getResponse().write( "<div class=\"control-group " + status + "\">"); } } /** * @return */ private String getComponentStatus(final Component c) { if (c.getSession().getFeedbackMessages().isEmpty()) { return ""; } String result = ""; if (c.getFeedbackMessage() == null) { return "success"; } else { switch (c.getFeedbackMessage().getLevel()) { case FeedbackMessage.ERROR: case FeedbackMessage.FATAL: result = "error"; break; case FeedbackMessage.SUCCESS: result = "success"; break; default: result = "success"; } } return result; } @Override public void afterRender(final Component c) { if (FormComponent.class.isInstance(c)) { c.getResponse().write("</div> <!--cg -->"); } } }