1 package com.icesoft.faces.component.effect; 2 3 import com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer; 4 import com.icesoft.faces.context.effects.*; 5 import org.apache.commons.logging.Log; 6 import org.apache.commons.logging.LogFactory; 7 8 import javax.faces.context.FacesContext; 9 import javax.faces.component.UIComponent; 10 import java.io.IOException ; 11 12 public class ApplyEffectRenderer extends DomBasicRenderer { 13 14 private static Log log = LogFactory.getLog(ApplyEffectRenderer.class); 15 16 17 public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException { 18 19 try { 20 String parentId = uiComponent.getParent().getClientId(facesContext); 21 ApplyEffect af = (ApplyEffect) uiComponent; 22 Effect fx = EffectBuilder.build(af.getEffectType()); 23 if (fx == null) { 24 log.error("No Effect for effectType [" + af.getEffectType() + "]"); 25 } else { 26 fx.setSequence(af.getSequence()); 27 fx.setSequenceId(af.getSequenceNumber().intValue()); 28 fx.setSubmit(af.getSubmit().booleanValue()); 29 fx.setTransitory(af.getTransitory().booleanValue()); 30 fx.setOptions(af.getOptions()); 31 32 if (af.getFire().booleanValue()) { 33 JavascriptContext.fireEffect(fx, uiComponent.getParent(), facesContext); 34 if (af.getAutoReset().booleanValue()) 35 af.setFire(Boolean.FALSE); 36 } 37 if (af.getEvent() != null) { 38 String event = af.getEvent(); 39 LocalEffectEncoder.encodeLocalEffect(parentId, fx, event, facesContext); 40 } 41 } 42 } catch (Exception e) { 43 log.error("Unexpected Exception in ApplyEffectRenderer",e); 44 } 45 } 46 47 48 } 49 50 | Popular Tags |