import org.primefaces.util.Constants; public static final String STYLE_CLASS = "ui-overlaypanel ui-widget ui-widget-content ui-overlay-hidden ui-corner-all ui-shadow"; public static final String CONTENT_CLASS = "ui-overlaypanel-content"; @Override public void processDecodes(FacesContext context) { if(isRequestSource(context)) { this.decode(context); } else { super.processDecodes(context); } } @Override public void processValidators(FacesContext context) { if(!isRequestSource(context)) { super.processValidators(context); } } @Override public void processUpdates(FacesContext context) { if(!isRequestSource(context)) { super.processUpdates(context); } } private boolean isRequestSource(FacesContext context) { return this.getClientId(context).equals(context.getExternalContext().getRequestParameterMap().get(Constants.RequestParams.PARTIAL_SOURCE_PARAM)); } public boolean isContentLoadRequest(FacesContext context) { return context.getExternalContext().getRequestParameterMap().containsKey(this.getClientId(context) + "_contentLoad"); }