/* (c) 2016 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.web.wicket; import org.apache.wicket.Component; import org.apache.wicket.feedback.FeedbackMessage; import org.apache.wicket.feedback.FeedbackMessages; import org.apache.wicket.util.visit.IVisit; import org.apache.wicket.util.visit.IVisitor; /** * Cleans messages in components recursively * * @author Andrea Aime */ public class FeedbackMessageCleaner<C extends Component, R> implements IVisitor<C, R> { int level; /** * Builds a cleaner removing all messages at or above the specified level. See {@link FeedbackMessage} for a list of levels * @param level */ public FeedbackMessageCleaner(int level) { this.level = level; } @Override public void component(C component, IVisit<R> visit) { if (component.hasFeedbackMessage()) { FeedbackMessages messages = component.getFeedbackMessages(); messages.clear(message -> message.getLevel() >= level); } } }