[richfaces-svn-commits] JBoss Rich Faces SVN: r15805 - in root/ui/trunk/components: core/src/main/java/org/ajax4jsf/component and 15 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Mon Nov 2 06:26:36 EST 2009


Author: Alex.Kolonitsky
Date: 2009-11-02 06:26:36 -0500 (Mon, 02 Nov 2009)
New Revision: 15805

Modified:
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/ForceRender.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/package-info.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIActionParameter.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIPoll.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/package-info.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/AjaxHandler.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorStack.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsAddingComponentHandlerWrapper.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsTagHandlerDelegateFactoryImpl.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/html/package-info.java
   root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/package-info.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushEventTracker.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushListenersManager.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandButton.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandLink.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxFunction.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxLog.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxOutputPanel.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxStatus.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIMediaOutput.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIPush.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxFunction.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxLog.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxStatus.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandButton.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandLink.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlMediaOutput.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlOutputPanel.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlPush.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/component/package-info.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxCommandRendererBase.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxComponentRendererBase.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/CommandRendererBase.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/AjaxCommandButtonRendererBase.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/MediaOutputRenderer.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/resource/MediaOutputResource.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/resource/PushResource.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/AjaxPushHandler.java
   root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/MediaOutputHandler.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AbstractQueueComponentTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ActionListenerTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AjaxFormQueuesTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/DataAdaptorTestCase.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ImplicitQueuesTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/IncludeComponentTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadBundleComponentTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadResourceComponentTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MediaOutputComponentBaseTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MockDataAdaptor.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueDiscoveryTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueParallelTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueScriptedTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSimilarityTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSizeTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/RepeatTestCase.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/UIAjaxFormTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxFormRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxIncludeRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxOutputPanelRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPageRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPushRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxStatusRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java
   root/ui/trunk/components/core/src/test/java/org/ajax4jsf/taglib/html/KeepAliveTagsTest.java
   root/ui/trunk/components/tree/tree/api/src/main/java/ITest.java
   root/ui/trunk/components/tree/tree/ui/src/main/java/UITest.java
Log:
Code style policy
https://jira.jboss.org/jira/browse/RFPL-195

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/ForceRender.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/ForceRender.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/ForceRender.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.ajax;
 
 import javax.faces.component.UIComponent;
@@ -36,22 +38,25 @@
  */
 public class ForceRender implements AjaxListener, AjaxRenderListener {
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.framework.ajax.AjaxListener#processAjax(org.ajax4jsf.framework.ajax.AjaxEvent)
-	 */
-	public void processAjax(AjaxEvent event) {
-		UIComponent component = event.getComponent();
-		AjaxRenderEvent renderEvent = new AjaxRenderEvent(component);
-		renderEvent.setPhaseId(event.getPhaseId());
-		component.queueEvent(renderEvent);
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.framework.ajax.AjaxListener#processAjax(org.ajax4jsf.framework.ajax.AjaxEvent)
+     */
+    public void processAjax(AjaxEvent event) {
+        UIComponent component = event.getComponent();
+        AjaxRenderEvent renderEvent = new AjaxRenderEvent(component);
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.framework.ajax.AjaxRenderListener#processAjaxRender(org.ajax4jsf.framework.ajax.AjaxRenderEvent)
-	 */
-	public void processAjaxRender(AjaxRenderEvent event) {
-		FacesContext facesContext = FacesContext.getCurrentInstance();
-		AjaxContext.getCurrentInstance(facesContext).renderAjax(facesContext);
-	}
+        renderEvent.setPhaseId(event.getPhaseId());
+        component.queueEvent(renderEvent);
+    }
 
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.framework.ajax.AjaxRenderListener#processAjaxRender(org.ajax4jsf.framework.ajax.AjaxRenderEvent)
+     */
+    public void processAjaxRender(AjaxRenderEvent event) {
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+
+        AjaxContext.getCurrentInstance(facesContext).renderAjax(facesContext);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/package-info.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/package-info.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/ajax/package-info.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,3 +1,4 @@
+
 /**
  * AJAX utility classes
  */

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIActionParameter.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIActionParameter.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIActionParameter.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,11 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import javax.el.ELContext;
 import javax.el.MethodExpression;
 import javax.el.ValueExpression;
+
 import javax.faces.FacesException;
 import javax.faces.component.UIComponentBase;
 import javax.faces.component.UIParameter;
@@ -38,225 +41,229 @@
 /**
  * @author shura (latest modification by $Author: alexsmirnov $)
  * @version $Revision: 1.1.2.2 $ $Date: 2007/02/01 15:31:55 $
- * 
+ *
  */
-public class UIActionParameter extends UIParameter implements ActionListener,
-		JavaScriptParameter {
+public class UIActionParameter extends UIParameter implements ActionListener, JavaScriptParameter {
+    public static final String COMPONENT_TYPE = "org.ajax4jsf.components.UIActionParameter";
+    private static String noEscapeAttr = "noEscape";
 
-	public static final String COMPONENT_TYPE = "org.ajax4jsf.components.UIActionParameter";
+    /** ********************************************************* */
 
-	/***************************************************************************
-	 * Binding for update on ActionEvent
-	 */
-	private ValueExpression _assignToBinding = null;
+    /**
+     * Action listener to call after binding has been updated
+     */
+    private MethodExpression actionListener = null;
 
-	public void setAssignToBinding(ValueExpression propertyBinding) {
-		this._assignToBinding = propertyBinding;
-	}
+    /**
+     * Binding for update on ActionEvent
+     */
+    private ValueExpression assignToBinding = null;
 
-	public ValueExpression getAssignToBinding() {
-		return _assignToBinding;
-	}
+    /** ********************************************************* */
 
-	/** ********************************************************* */
+    /**
+     * Converter for update value with this parameter
+     */
+    private Converter converter = null;
 
-	/***************************************************************************
-	 * Action listener to call after binding has been updated
-	 */
-	private MethodExpression _actionListener = null;
-	
-	public MethodExpression getActionListener() {
-		return _actionListener;
-	}
+    /** ********************************************************* */
 
-	public void setActionListener(MethodExpression actionListener) {
-		this._actionListener = actionListener;
-	}
+    /**
+     * Skip quota escaping of parameter value - for substitute JavaScript
+     * exspression on submit
+     */
+    private Boolean noEscape = null;
 
-	/** ********************************************************* */
-	
-	/***************************************************************************
-	 * Converter for update value with this parameter
-	 */
-	private Converter _converter = null;
+    public void setAssignToBinding(ValueExpression propertyBinding) {
+        this.assignToBinding = propertyBinding;
+    }
 
-	public void setConverter(Converter converter) {
-		this._converter = converter;
-	}
+    public ValueExpression getAssignToBinding() {
+        return assignToBinding;
+    }
 
-	public Converter getConverter() {
-		return _converter;
-	}
+    public MethodExpression getActionListener() {
+        return actionListener;
+    }
 
-	/** ********************************************************* */
+    public void setActionListener(MethodExpression actionListener) {
+        this.actionListener = actionListener;
+    }
 
-	/***************************************************************************
-	 * Skip quota escaping of parameter value - for substitute JavaScript
-	 * exspression on submit
-	 */
-	private Boolean _noEscape = null;
+    public void setConverter(Converter converter) {
+        this.converter = converter;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.ajax4jsf.framework.ajax.JavaScriptParameter#setNoEscape(boolean)
-	 */
-	public void setNoEscape(boolean noEscape) {
-		this._noEscape = Boolean.valueOf(noEscape);
-	}
+    public Converter getConverter() {
+        return converter;
+    }
 
-	private static String NO_ESCAPE_ATTR = "noEscape";
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.ajax4jsf.framework.ajax.JavaScriptParameter#setNoEscape(boolean)
+     */
+    public void setNoEscape(boolean noEscape) {
+        this.noEscape = Boolean.valueOf(noEscape);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.ajax4jsf.framework.ajax.JavaScriptParameter#isNoEscape()
-	 */
-	public boolean isNoEscape() {
-		return isValueOrBinding(_noEscape, NO_ESCAPE_ATTR);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.ajax4jsf.framework.ajax.JavaScriptParameter#isNoEscape()
+     */
+    public boolean isNoEscape() {
+        return isValueOrBinding(noEscape, noEscapeAttr);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.component.UIParameter#getName()
-	 */
-	public String getName() {
-		String name = super.getName();
-		// If name not set - use clientId. be Careful !
-		if (null == name) {
-			name = getClientId(FacesContext.getCurrentInstance());
-		}
-		return name;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see javax.faces.component.UIParameter#getName()
+     */
+    public String getName() {
+        String name = super.getName();
 
-	public Object getValue() {
-		Object value = super.getValue();
-		// TODO - perform conversion if converter is present.
-		if (null != value) {
-			Class<?> type = value.getClass();
-			FacesContext context = getFacesContext();
-			Converter converter = createConverter(context, type);
-			if (null != converter) {
-				value = converter.getAsString(context, this, value);
+        // If name not set - use clientId. be Careful !
+        if (null == name) {
+            name = getClientId(FacesContext.getCurrentInstance());
+        }
 
-			}
+        return name;
+    }
 
-		}
-		return value;
-	}
+    public Object getValue() {
+        Object value = super.getValue();
 
-	/** ********************************************************* */
+        // TODO - perform conversion if converter is present.
+        if (null != value) {
+            Class<?> type = value.getClass();
+            FacesContext context = getFacesContext();
+            Converter converter = createConverter(context, type);
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.event.ActionListener#processAction(javax.faces.event.ActionEvent)
-	 */
-	public void processAction(ActionEvent actionEvent)
-			throws AbortProcessingException {
-		FacesContext context = getFacesContext();
-		ELContext elContext = context.getELContext();
-		ValueExpression updateBinding = getAssignToBinding();
-		if (updateBinding != null && (!updateBinding.isReadOnly(elContext))) {
-			Object requestValue = context.getExternalContext()
-					.getRequestParameterMap().get(getName());
-			if (requestValue != null && requestValue instanceof String) {
-				Class<?> type = updateBinding.getType(elContext);
-				Converter converter = createConverter(context, type);
-				if (null != converter) {
-					requestValue = converter.getAsObject(context, this,
-							(String) requestValue);
+            if (null != converter) {
+                value = converter.getAsString(context, this, value);
+            }
+        }
 
-				}
-			}
-			if (null != requestValue) {
-				updateBinding.setValue(elContext, requestValue);
-			}
+        return value;
+    }
 
-			MethodExpression listener = getActionListener();
-			if (listener != null) {
-				listener.invoke(elContext, new Object[] {actionEvent});
-			}
-		}
-	}
+    /** ********************************************************* */
 
-	/**
-	 * @param context
-	 * @param type
-	 * @return
-	 * @throws FacesException
-	 */
-	private Converter createConverter(FacesContext context, Class<?> type)
-			throws FacesException {
-		Converter converter = getConverter();
-		if (converter == null && type != null && !type.equals(String.class)
-				&& !type.equals(Object.class)) {
-			try {
-				converter = context.getApplication().createConverter(type);
-			} catch (Exception e) {
-				throw new FacesException(Messages.getMessage(
-						Messages.NO_CONVERTER_REGISTERED, type.getName()), e);
-			}
-		}
-		return converter;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see javax.faces.event.ActionListener#processAction(javax.faces.event.ActionEvent)
+     */
+    public void processAction(ActionEvent actionEvent) throws AbortProcessingException {
+        FacesContext context = getFacesContext();
+        ELContext elContext = context.getELContext();
+        ValueExpression updateBinding = getAssignToBinding();
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.component.UIComponentBase#restoreState(javax.faces.context.FacesContext)
-	 */
-	public void restoreState(FacesContext context, Object state) {
-		Object values[] = (Object[]) state;
-		super.restoreState(context, values[0]);
-		// restore fields values
-		_assignToBinding = (ValueExpression) UIComponentBase.restoreAttachedState(
-				context, values[1]);
-		_noEscape = (Boolean) values[2];
-		_converter = (Converter) UIComponentBase.restoreAttachedState(context,
-				values[3]);
-		_actionListener = (MethodExpression) UIComponentBase.restoreAttachedState(context, 
-				values[4]);
+        if (updateBinding != null && (!updateBinding.isReadOnly(elContext))) {
+            Object requestValue = context.getExternalContext().getRequestParameterMap().get(getName());
 
-	}
+            if (requestValue != null && requestValue instanceof String) {
+                Class<?> type = updateBinding.getType(elContext);
+                Converter converter = createConverter(context, type);
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see javax.faces.component.UIComponentBase#saveState(javax.faces.context.FacesContext)
-	 */
-	public Object saveState(FacesContext context) {
-		Object values[] = new Object[5];
-		values[0] = super.saveState(context);
-		// save fields values
-		values[1] = UIComponentBase
-				.saveAttachedState(context, _assignToBinding);
-		values[2] = _noEscape;
-		values[3] = UIComponentBase.saveAttachedState(context, _converter);
-		values[4] = UIComponentBase.saveAttachedState(context, _actionListener);
-		return ((Object) (values));
-	}
+                if (null != converter) {
+                    requestValue = converter.getAsObject(context, this, (String) requestValue);
+                }
+            }
 
-	/**
-	 * @param field -
-	 *            value of field to get.
-	 * @param name -
-	 *            name of field, to get from ValueBinding
-	 * @return boolean value, based on field or valuebinding.
-	 */
-	private boolean isValueOrBinding(Boolean field, String name) {
-		if (null != field) {
-			return field.booleanValue();
-		}
-		ValueExpression vb = getValueExpression(name);
-		if (null != vb) {
-			FacesContext context = getFacesContext();
-			ELContext elContext = context.getELContext();
-			return ((Boolean) vb.getValue(elContext)).booleanValue();
-		} else {
-			return false;
-		}
-	}
+            if (null != requestValue) {
+                updateBinding.setValue(elContext, requestValue);
+            }
 
+            MethodExpression listener = getActionListener();
+
+            if (listener != null) {
+                listener.invoke(elContext, new Object[] {actionEvent});
+            }
+        }
+    }
+
+    /**
+     * @param context
+     * @param type
+     * @return
+     * @throws FacesException
+     */
+    private Converter createConverter(FacesContext context, Class<?> type) throws FacesException {
+        Converter converter = getConverter();
+
+        if (converter == null && type != null && !type.equals(String.class) && !type.equals(Object.class)) {
+            try {
+                converter = context.getApplication().createConverter(type);
+            } catch (Exception e) {
+                throw new FacesException(Messages.getMessage(Messages.NO_CONVERTER_REGISTERED, type.getName()), e);
+            }
+        }
+
+        return converter;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see javax.faces.component.UIComponentBase#restoreState(javax.faces.context.FacesContext)
+     */
+    @Override
+    public void restoreState(FacesContext context, Object state) {
+        Object[] values = (Object[]) state;
+
+        super.restoreState(context, values[0]);
+
+        // restore fields values
+        assignToBinding = (ValueExpression) UIComponentBase.restoreAttachedState(context, values[1]);
+        noEscape = (Boolean) values[2];
+        converter = (Converter) UIComponentBase.restoreAttachedState(context, values[3]);
+        actionListener = (MethodExpression) UIComponentBase.restoreAttachedState(context, values[4]);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see javax.faces.component.UIComponentBase#saveState(javax.faces.context.FacesContext)
+     */
+    @Override
+    public Object saveState(FacesContext context) {
+        Object[] values = new Object[5];
+
+        values[0] = super.saveState(context);
+
+        // save fields values
+        values[1] = UIComponentBase.saveAttachedState(context, assignToBinding);
+        values[2] = noEscape;
+        values[3] = UIComponentBase.saveAttachedState(context, converter);
+        values[4] = UIComponentBase.saveAttachedState(context, actionListener);
+
+        return values;
+    }
+
+    /**
+     * @param field -
+     *            value of field to get.
+     * @param name -
+     *            name of field, to get from ValueBinding
+     * @return boolean value, based on field or valuebinding.
+     */
+    private boolean isValueOrBinding(Boolean field, String name) {
+        if (null != field) {
+            return field.booleanValue();
+        }
+
+        ValueExpression vb = getValueExpression(name);
+
+        if (null != vb) {
+            FacesContext context = getFacesContext();
+            ELContext elContext = context.getELContext();
+
+            return ((Boolean) vb.getValue(elContext)).booleanValue();
+        } else {
+            return false;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIPoll.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIPoll.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/UIPoll.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import javax.faces.context.FacesContext;
@@ -30,46 +32,40 @@
  * @author shura
  *
  */
-public abstract class UIPoll extends AjaxActionComponent  {
-	
-	public static final String COMPONENT_TYPE="org.ajax4jsf.Poll";
-	
+public abstract class UIPoll extends AjaxActionComponent {
+    public static final String COMPONENT_TYPE = "org.ajax4jsf.Poll";
+    private transient boolean submitted = false;
 
-	private transient boolean _submitted = false;
+    /**
+     * @return the submitted
+     */
+    public boolean isSubmitted() {
+        return submitted;
+    }
 
-	/**
-	 * @return the submitted
-	 */
-	public boolean isSubmitted() {
-		return _submitted;
-	}
+    /**
+     * @param submitted the submitted to set
+     */
+    public void setSubmitted(boolean submitted) {
+        this.submitted = submitted;
+    }
 
+    /**
+     * @return time in mc for polling interval.
+     */
+    public abstract int getInterval();
 
-	/**
-	 * @param submitted the submitted to set
-	 */
-	public void setSubmitted(boolean submitted) {
-		_submitted = submitted;
-	}
+    /**
+     * @param interval time in mc for polling interval.
+     */
+    public abstract void setInterval(int interval);
 
-	/**
-	 * @return time in mc for polling interval.
-	 */
-	public abstract int getInterval();
-	
-	/**
-	 * @param interval time in mc for polling interval.
-	 */
-	public abstract void setInterval(int interval);
-	
-	public abstract boolean isEnabled();
-	
-	public abstract void setEnabled(boolean enable);
-	
-	protected void setupReRender(FacesContext facesContext) {
-		super.setupReRender(facesContext);
-		AjaxContext.getCurrentInstance(facesContext).addComponentToAjaxRender(this);
-	}
-	
+    public abstract boolean isEnabled();
 
+    public abstract void setEnabled(boolean enable);
+
+    protected void setupReRender(FacesContext facesContext) {
+        super.setupReRender(facesContext);
+        AjaxContext.getCurrentInstance(facesContext).addComponentToAjaxRender(this);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -5,6 +5,7 @@
 
 import javax.el.ELContext;
 import javax.el.ValueExpression;
+
 import javax.faces.component.behavior.FacesBehavior;
 import javax.faces.context.FacesContext;
 
@@ -13,321 +14,339 @@
 
 /**
  * @author Anton Belevich
- *
  */
- at FacesBehavior(value="org.ajax4jsf.behavior.Ajax")
+ at FacesBehavior(value = "org.ajax4jsf.behavior.Ajax")
 public class AjaxBehavior extends javax.faces.component.behavior.AjaxBehavior implements AjaxClientBehavior {
-    
-	public static final String BEHAVIOR_ID = "org.ajax4jsf.behavior.Ajax";
-	
-	private static enum Attributes {
-		
-		limitRender, queueId, status, render, execute, similarityGroupingId, oncomplete, onbegin, onbeforedomupdate, other;		
-		
-		public static Attributes toAttribute(String name) {
-			
-			try {
-				return valueOf(name);
-			} catch (Exception ex) {
-				return other;
-			}
-		}
-	};
-	
-	private Boolean limitRender;
-  
-	private String queueId;
-	
-	private String statusId;
+    public static final String BEHAVIOR_ID = "org.ajax4jsf.behavior.Ajax";
+    private Set<String> execute;
+    private Boolean limitRender;
+    private String onbeforedomupdate;
+    private String onbegin;
+    private String oncomplete;
+    private String queueId;
+    private Set<String> render;
+    private String similarityGroupingId;
+    private String statusId;
 
-	private String similarityGroupingId;
-	
-	private Set <String> render;
-	
-	private Set <String> execute;
-	
-	private String oncomplete;
-	
-	private String onbeforedomupdate;
-	
-	private String onbegin;
-	
-	protected Set<String> asSet(Object render) {
-		return AjaxRendererUtils.asSet(render);
-	}
-	
-	public void setOnbegin(String onbegin) {
-		this.onbegin = onbegin;
-		clearInitialState();
-	}
-	
-	public String getOnbegin() {
-		if(this.onbegin != null) {
-			return this.onbegin;
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.onbegin.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			String value = ((String)ve.getValue(elContext));
-			return value;
-		}
-		
-		return this.onbegin;
-	}
-	
-	public void setOnbeforedomupdate(String onbeforedomupdate) {
-		this.onbeforedomupdate = onbeforedomupdate;
-		clearInitialState();
-	}
-	
-	public String getOnbeforedomupdate() {
-		if(this.onbeforedomupdate != null) {
-			return this.onbeforedomupdate;
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.onbeforedomupdate.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			String value = ((String)ve.getValue(elContext));
-			return value;
-		}
-		
-		return this.onbeforedomupdate;
-	}
+    private static enum Attributes {
+        limitRender, queueId, status, render, execute, similarityGroupingId, oncomplete, onbegin, onbeforedomupdate,
+        other;
 
-	
-	public void setOncomplete(String oncomplete) {
-		this.oncomplete = oncomplete;
-		clearInitialState();
-	}
-	
-	public String getOncomplete() {
-		if(this.oncomplete != null) {
-			return this.oncomplete;
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.oncomplete.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			String value = ((String)ve.getValue(elContext));
-			return value;
-		}
-		
-		return this.oncomplete;
-	}
-	
-	public void setRender(Collection<String> render) {
-		this.render = asSet(render);
-		clearInitialState();
-	}
-		
-	public Collection<String> getRender() {
-		return getCollectionValue(render, "RENDER");
- 	}
-	
-	public void setExecute(Collection<String> execute) {
-		this.execute = asSet(execute);
-		clearInitialState();
-	}
-	
-	public Collection<String> getExecute() {
-		return getCollectionValue(execute, Attributes.execute.toString());
-	}
-			
-	protected Collection<String> getCollectionValue(Collection<String> collection, String attribute) {
-		if(collection != null) {
-			return collection;
-		}
-		
-		ValueExpression ve = getValueExpression(attribute) ;
-		if(ve != null) {
-			FacesContext context = FacesContext.getCurrentInstance();
-			Object value = ve.getValue(context.getELContext());
-			return asSet(value);
-		}
-		
-		return this.render;
-	}
-		
-	public String getSimilarityGroupingId() {
-		if(this.similarityGroupingId != null) {
-			return this.similarityGroupingId;
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.similarityGroupingId.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			String value = ((String)ve.getValue(elContext));
-			return value;
-		}
-		
-		return this.similarityGroupingId;
-	}
+        public static Attributes toAttribute(String name) {
+            try {
+                return valueOf(name);
+            } catch (Exception ex) {
+                return other;
+            }
+        }
+    }
 
-	public void setSimilarityGroupingId(String similarityGroupingId) {
-		this.similarityGroupingId = similarityGroupingId;
-		clearInitialState();
-	}
-	
-	public String getStatus() {
-		if(this.statusId != null) {
-			return this.statusId;
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.status.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			String value = ((String)ve.getValue(elContext));
-			return value;
-		}
-		
-		return this.statusId;
-	}
+    protected Set<String> asSet(Object render) {
+        return AjaxRendererUtils.asSet(render);
+    }
 
-	public void setStatus(String statusId) {
-		this.statusId = statusId;
-		clearInitialState();
-	}
+    public void setOnbegin(String onbegin) {
+        this.onbegin = onbegin;
+        clearInitialState();
+    }
 
-	public String getQueueId() {
-		if(this.queueId != null) {
-			return this.queueId;
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.queueId.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			String value = ((String)ve.getValue(elContext));
-			return value;
-		}
-		
-		return this.queueId;
-	}
+    public String getOnbegin() {
+        if (this.onbegin != null) {
+            return this.onbegin;
+        }
 
+        ValueExpression ve = getValueExpression(Attributes.onbegin.toString());
 
-	public void setQueueId(String queueId) {
-		this.queueId = queueId;
-		clearInitialState();
-	}
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
 
+            return (String) ve.getValue(elContext);
+        }
 
-	public boolean isLimitRender() {
-		if(this.limitRender != null) {
-			return this.limitRender.booleanValue();
-		}
-		
-		ValueExpression ve = getValueExpression(Attributes.limitRender.toString());
-		if(ve != null) {
-			ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			Boolean value = ((Boolean)ve.getValue(elContext));
-			return value != null ? value.booleanValue() : false;
-		}
-		
-		return false;
-	}
+        return this.onbegin;
+    }
 
+    public void setOnbeforedomupdate(String onbeforedomupdate) {
+        this.onbeforedomupdate = onbeforedomupdate;
+        clearInitialState();
+    }
 
-	public void setLimitRender(boolean limitRender) {
-		this.limitRender = limitRender;
-		clearInitialState();
-	}
+    public String getOnbeforedomupdate() {
+        if (this.onbeforedomupdate != null) {
+            return this.onbeforedomupdate;
+        }
 
-	@Override
-	public String getRendererType() {
-		return BEHAVIOR_ID;
-	}
-	
-	@Override
-	public void setValueExpression(String name, ValueExpression expression) {
-		if(expression != null && expression.isLiteralText()) {
-			Object value = getExpressionLiteralValue(expression);
-			switch(Attributes.toAttribute(name)) {
-				
-				case limitRender: 
-					this.limitRender =  value != null ? (Boolean)value : Boolean.FALSE ; break;
-				
-				case execute :
-					this.execute =  value != null ? asSet(value) : null; break;
-					
-				case render :
-					this.render =  value != null ? asSet(value) : null; break;
-					
-				case queueId : 
-					this.queueId =  value != null ? (String)value : null; break;
-					
-				case status :
-					this.statusId =  value != null ? (String)value : null; break;
-				
-				case similarityGroupingId : 
-					this.similarityGroupingId = value != null ? (String)value: null; break;
-				
-				case onbeforedomupdate : 
-					this.onbeforedomupdate = value != null ? (String)value : null; break; 
-				
-				case onbegin : 
-					this.onbegin = value != null ? (String)value : null; break;
-					
-				case oncomplete : 
-					this.oncomplete = value != null ? (String)value : null; break;	
-				default: break;	
-				
-			}
-		}
-		super.setValueExpression(name, expression);
-	}
-	
-	protected Object getExpressionLiteralValue(ValueExpression expression) {
-		return expression != null ? expression.getValue(FacesContext.getCurrentInstance().getELContext()) : null;
-	}
-	
-	@Override
-	public Object saveState(FacesContext context) {
-		Object superState = super.saveState(context);
-		Object[] values;
-		
-		if (initialStateMarked()) {
-			if (superState == null) {
-				values = null;
-			} else {
-				values = new Object[] { superState };
-			}
-		} else {
-			values = new Object[10];
-			values[0] = superState;
-			values[1] = limitRender;
-			values[2] = execute;
-			values[3] = render;
-			values[4] = queueId;
-			values[5] = statusId;
-			values[6] = similarityGroupingId;
-			values[7] = onbeforedomupdate;
-			values[8] = onbegin;
-			values[9] = oncomplete;
-		}
+        ValueExpression ve = getValueExpression(Attributes.onbeforedomupdate.toString());
 
-		return values;
-	}
-		
-	@Override
-	public void restoreState(FacesContext context, Object state) {
-		if (state != null) {
-			
-			Object[] values = (Object[]) state;
-			super.restoreState(context, values[0]);
-			
-			if (values.length != 1) {
-				this.limitRender = (Boolean)values[1];
-				this.execute = asSet(values[2]);
-				this.render = asSet(values[3]);
-				this.queueId = (String)values[4];
-				this.statusId = (String)values[5];
-				this.similarityGroupingId = (String)values[6];
-				this.onbeforedomupdate = (String)values[7];
-				this.onbegin = (String)values[8];
-				this.oncomplete = (String)values[9];
-	            clearInitialState();
-			}
-		}
-	}
-}
\ No newline at end of file
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+
+            return (String) ve.getValue(elContext);
+        }
+
+        return this.onbeforedomupdate;
+    }
+
+    public void setOncomplete(String oncomplete) {
+        this.oncomplete = oncomplete;
+        clearInitialState();
+    }
+
+    public String getOncomplete() {
+        if (this.oncomplete != null) {
+            return this.oncomplete;
+        }
+
+        ValueExpression ve = getValueExpression(Attributes.oncomplete.toString());
+
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+
+            return (String) ve.getValue(elContext);
+        }
+
+        return this.oncomplete;
+    }
+
+    @Override
+    public void setRender(Collection<String> render) {
+        this.render = asSet(render);
+        clearInitialState();
+    }
+
+    @Override
+    public Collection<String> getRender() {
+        return getCollectionValue(render, "RENDER");
+    }
+
+    @Override
+    public void setExecute(Collection<String> execute) {
+        this.execute = asSet(execute);
+        clearInitialState();
+    }
+
+    @Override
+    public Collection<String> getExecute() {
+        return getCollectionValue(execute, Attributes.execute.toString());
+    }
+
+    protected Collection<String> getCollectionValue(Collection<String> collection, String attribute) {
+        if (collection != null) {
+            return collection;
+        }
+
+        ValueExpression ve = getValueExpression(attribute);
+
+        if (ve != null) {
+            FacesContext context = FacesContext.getCurrentInstance();
+            Object value = ve.getValue(context.getELContext());
+
+            return asSet(value);
+        }
+
+        return this.render;
+    }
+
+    public String getSimilarityGroupingId() {
+        if (this.similarityGroupingId != null) {
+            return this.similarityGroupingId;
+        }
+
+        ValueExpression ve = getValueExpression(Attributes.similarityGroupingId.toString());
+
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+
+            return (String) ve.getValue(elContext);
+        }
+
+        return this.similarityGroupingId;
+    }
+
+    public void setSimilarityGroupingId(String similarityGroupingId) {
+        this.similarityGroupingId = similarityGroupingId;
+        clearInitialState();
+    }
+
+    public String getStatus() {
+        if (this.statusId != null) {
+            return this.statusId;
+        }
+
+        ValueExpression ve = getValueExpression(Attributes.status.toString());
+
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+
+            return (String) ve.getValue(elContext);
+        }
+
+        return this.statusId;
+    }
+
+    public void setStatus(String statusId) {
+        this.statusId = statusId;
+        clearInitialState();
+    }
+
+    public String getQueueId() {
+        if (this.queueId != null) {
+            return this.queueId;
+        }
+
+        ValueExpression ve = getValueExpression(Attributes.queueId.toString());
+
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+
+            return (String) ve.getValue(elContext);
+        }
+
+        return this.queueId;
+    }
+
+    public void setQueueId(String queueId) {
+        this.queueId = queueId;
+        clearInitialState();
+    }
+
+    public boolean isLimitRender() {
+        if (this.limitRender != null) {
+            return this.limitRender.booleanValue();
+        }
+
+        ValueExpression ve = getValueExpression(Attributes.limitRender.toString());
+
+        if (ve != null) {
+            ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+            Boolean value = (Boolean) ve.getValue(elContext);
+
+            return value != null ? value.booleanValue() : false;
+        }
+
+        return false;
+    }
+
+    public void setLimitRender(boolean limitRender) {
+        this.limitRender = limitRender;
+        clearInitialState();
+    }
+
+    @Override
+    public String getRendererType() {
+        return BEHAVIOR_ID;
+    }
+
+    @Override
+    public void setValueExpression(String name, ValueExpression expression) {
+        if (expression != null && expression.isLiteralText()) {
+            Object value = getExpressionLiteralValue(expression);
+
+            switch (Attributes.toAttribute(name)) {
+                case limitRender :
+                    this.limitRender = value != null ? (Boolean) value : Boolean.FALSE;
+
+                    break;
+
+                case execute :
+                    this.execute = value != null ? asSet(value) : null;
+
+                    break;
+
+                case render :
+                    this.render = value != null ? asSet(value) : null;
+
+                    break;
+
+                case queueId :
+                    this.queueId = value != null ? (String) value : null;
+
+                    break;
+
+                case status :
+                    this.statusId = value != null ? (String) value : null;
+
+                    break;
+
+                case similarityGroupingId :
+                    this.similarityGroupingId = value != null ? (String) value : null;
+
+                    break;
+
+                case onbeforedomupdate :
+                    this.onbeforedomupdate = value != null ? (String) value : null;
+
+                    break;
+
+                case onbegin :
+                    this.onbegin = value != null ? (String) value : null;
+
+                    break;
+
+                case oncomplete :
+                    this.oncomplete = value != null ? (String) value : null;
+
+                    break;
+
+                default :
+                    break;
+            }
+        }
+
+        super.setValueExpression(name, expression);
+    }
+
+    protected Object getExpressionLiteralValue(ValueExpression expression) {
+        return expression != null ? expression.getValue(FacesContext.getCurrentInstance().getELContext()) : null;
+    }
+
+    @Override
+    public Object saveState(FacesContext context) {
+        Object superState = super.saveState(context);
+        Object[] values;
+
+        if (initialStateMarked()) {
+            if (superState == null) {
+                values = null;
+            } else {
+                values = new Object[] {superState};
+            }
+        } else {
+            values = new Object[10];
+            values[0] = superState;
+            values[1] = limitRender;
+            values[2] = execute;
+            values[3] = render;
+            values[4] = queueId;
+            values[5] = statusId;
+            values[6] = similarityGroupingId;
+            values[7] = onbeforedomupdate;
+            values[8] = onbegin;
+            values[9] = oncomplete;
+        }
+
+        return values;
+    }
+
+    @Override
+    public void restoreState(FacesContext context, Object state) {
+        if (state != null) {
+            Object[] values = (Object[]) state;
+
+            super.restoreState(context, values[0]);
+
+            if (values.length != 1) {
+                this.limitRender = (Boolean) values[1];
+                this.execute = asSet(values[2]);
+                this.render = asSet(values[3]);
+                this.queueId = (String) values[4];
+                this.statusId = (String) values[5];
+                this.similarityGroupingId = (String) values[6];
+                this.onbeforedomupdate = (String) values[7];
+                this.onbegin = (String) values[8];
+                this.oncomplete = (String) values[9];
+                clearInitialState();
+            }
+        }
+    }
+}

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/package-info.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/package-info.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/package-info.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,3 +1,4 @@
+
 /**
  * Fundamental APIs for ajax core components
  */

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/AjaxHandler.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/AjaxHandler.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/AjaxHandler.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -2,7 +2,9 @@
 
 import java.beans.BeanDescriptor;
 import java.beans.BeanInfo;
+
 import java.io.IOException;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -10,6 +12,7 @@
 
 import javax.el.ELContext;
 import javax.el.MethodExpression;
+
 import javax.faces.application.Application;
 import javax.faces.component.UIComponent;
 import javax.faces.component.behavior.ClientBehaviorHolder;
@@ -31,239 +34,236 @@
 
 import org.ajax4jsf.component.behavior.AjaxBehavior;
 
-
 public class AjaxHandler extends TagHandler implements BehaviorHolderAttachedObjectHandler {
 
-	/**
-	 * 
-	 */
-	//TODO - is that implementation dependency?
-	private static final String JAVAX_FACES_RETARGETABLE_HANDLERS = "javax.faces.RetargetableHandlers";
-	
-	private final TagAttribute event;
-	private final TagAttribute execute;
-	private final TagAttribute render;
-	private final TagAttribute disabled;
-	private final TagAttribute immediate;
-	private final TagAttribute listener;
-	private final TagAttribute limitRender;
-	private final TagAttribute queueId;
-	private final TagAttribute statusId;
-	private final TagAttribute similarityGroupingId;
-	private final TagAttribute onevent;
-	private final TagAttribute onerror;
-	private final TagAttribute onbegin;
-	private final TagAttribute oncomplete;
-	private final TagAttribute onbeforedomupdate;
+    // TODO - is that implementation dependency?
+    private static final String JAVAX_FACES_RETARGETABLE_HANDLERS = "javax.faces.RetargetableHandlers";
+    private final TagAttribute disabled;
+    private final TagAttribute event;
+    private final TagAttribute execute;
+    private final TagAttribute immediate;
+    private final TagAttribute limitRender;
+    private final TagAttribute listener;
+    private final TagAttribute onbeforedomupdate;
+    private final TagAttribute onbegin;
+    private final TagAttribute oncomplete;
+    private final TagAttribute onerror;
+    private final TagAttribute onevent;
+    private final TagAttribute queueId;
+    private final TagAttribute render;
+    private final TagAttribute similarityGroupingId;
+    private final TagAttribute statusId;
     private final boolean wrapping;
 
-	
-	public AjaxHandler(BehaviorConfig config) {
-		super(config);
-		this.event = this.getAttribute("event");
-		this.execute = this.getAttribute("execute");
-		this.render = this.getAttribute("render");
-		this.disabled = this.getAttribute("disabled");
-		this.immediate = this.getAttribute("immediate");
-		this.listener = this.getAttribute("listener");
-		this.limitRender = this.getAttribute("limitRender");
-		this.queueId = this.getAttribute("queueId");
-		this.statusId = this.getAttribute("status");
-		this.similarityGroupingId = this.getAttribute("similarityGroupingId");
-		this.onevent = this.getAttribute("onevent");
-		this.onerror = this.getAttribute("onerror");
-		this.onbegin = this.getAttribute("onbegin");
-		this.oncomplete = this.getAttribute("oncomplete");
-		this.onbeforedomupdate = this.getAttribute("onbeforedomupdate");
-		this.wrapping = isWrapping();
-	}
+    public AjaxHandler(BehaviorConfig config) {
+        super(config);
+        this.event = this.getAttribute("event");
+        this.execute = this.getAttribute("execute");
+        this.render = this.getAttribute("render");
+        this.disabled = this.getAttribute("disabled");
+        this.immediate = this.getAttribute("immediate");
+        this.listener = this.getAttribute("listener");
+        this.limitRender = this.getAttribute("limitRender");
+        this.queueId = this.getAttribute("queueId");
+        this.statusId = this.getAttribute("status");
+        this.similarityGroupingId = this.getAttribute("similarityGroupingId");
+        this.onevent = this.getAttribute("onevent");
+        this.onerror = this.getAttribute("onerror");
+        this.onbegin = this.getAttribute("onbegin");
+        this.oncomplete = this.getAttribute("oncomplete");
+        this.onbeforedomupdate = this.getAttribute("onbeforedomupdate");
+        this.wrapping = isWrapping();
+    }
 
-	public void apply(FaceletContext fContext, UIComponent parent) throws IOException {
+    public void apply(FaceletContext fContext, UIComponent parent) throws IOException {
         String eventName = getEventName();
+
         if (this.wrapping) {
-        	applyWrapping(fContext, parent, eventName);
+            applyWrapping(fContext, parent, eventName);
         } else {
-        	applyNested(fContext, parent, eventName);
+            applyNested(fContext, parent, eventName);
         }
-	}
+    }
 
-	private static List<AttachedObjectHandler> getOrCreateRetargetableHandlersList(UIComponent component) {
+    private static List<AttachedObjectHandler> getOrCreateRetargetableHandlersList(UIComponent component) {
         Map<String, Object> attrs = component.getAttributes();
-        @SuppressWarnings({"unchecked"})
-        List<AttachedObjectHandler> list = (List<AttachedObjectHandler>)
-              attrs.get(JAVAX_FACES_RETARGETABLE_HANDLERS);
+        @SuppressWarnings({
+            "unchecked"}) List<AttachedObjectHandler> list =
+                (List<AttachedObjectHandler>) attrs.get(JAVAX_FACES_RETARGETABLE_HANDLERS);
 
         if (list == null) {
             list = new ArrayList<AttachedObjectHandler>();
             attrs.put(JAVAX_FACES_RETARGETABLE_HANDLERS, list);
         }
-        
+
         return list;
-	}
-	
-	private void applyNested(FaceletContext ctx, UIComponent parent, String eventName) {
-		if (!ComponentHandler.isNew(parent)) {
-			return;
-		}
+    }
 
-		if (UIComponent.isCompositeComponent(parent)) {
+    private void applyNested(FaceletContext ctx, UIComponent parent, String eventName) {
+        if (!ComponentHandler.isNew(parent)) {
+            return;
+        }
+
+        if (UIComponent.isCompositeComponent(parent)) {
             BeanInfo componentBeanInfo = (BeanInfo) parent.getAttributes().get(UIComponent.BEANINFO_KEY);
+
             if (null == componentBeanInfo) {
-                throw new TagException(
-                      tag,
-                      "Error: enclosing composite component does not have BeanInfo attribute");
+                throw new TagException(tag, "Error: enclosing composite component does not have BeanInfo attribute");
             }
+
             BeanDescriptor componentDescriptor = componentBeanInfo.getBeanDescriptor();
+
             if (null == componentDescriptor) {
-                throw new TagException(
-                      tag,
-                      "Error: enclosing composite component BeanInfo does not have BeanDescriptor");
+                throw new TagException(tag,
+                                       "Error: enclosing composite component BeanInfo does not have BeanDescriptor");
             }
 
-            @SuppressWarnings("unchecked")
-            List<AttachedObjectTarget> targetList = (List<AttachedObjectTarget>)
-                  componentDescriptor.getValue(AttachedObjectTarget.ATTACHED_OBJECT_TARGETS_KEY);
-            
+            @SuppressWarnings(
+                "unchecked") List<AttachedObjectTarget> targetList =
+                    (List<AttachedObjectTarget>) componentDescriptor.getValue(
+                        AttachedObjectTarget.ATTACHED_OBJECT_TARGETS_KEY);
+
             if (null == targetList) {
-                throw new TagException(
-                      tag,
-                      "Error: enclosing composite component does not support behavior events");
+                throw new TagException(tag, "Error: enclosing composite component does not support behavior events");
             }
+
             boolean supportedEvent = false;
+
             for (AttachedObjectTarget target : targetList) {
                 if (target instanceof BehaviorHolderAttachedObjectTarget) {
                     BehaviorHolderAttachedObjectTarget behaviorTarget = (BehaviorHolderAttachedObjectTarget) target;
+
                     if ((null != eventName && eventName.equals(behaviorTarget.getName()))
-                        || (null == eventName && behaviorTarget.isDefaultEvent())) {
+                            || (null == eventName && behaviorTarget.isDefaultEvent())) {
                         supportedEvent = true;
+
                         break;
                     }
                 }
             }
+
             if (supportedEvent) {
-            	getOrCreateRetargetableHandlersList(parent).add(this);
+                getOrCreateRetargetableHandlersList(parent).add(this);
             } else {
-                throw new TagException(
-                      tag,
-                      "Error: enclosing composite component does not support event "
-                      + eventName);
+                throw new TagException(tag, "Error: enclosing composite component does not support event " + eventName);
             }
-		} else if (parent instanceof ClientBehaviorHolder) {
-			applyAttachedObject(ctx, parent, eventName);
-		} else {
-			throw new TagException(this.tag,"Unable to attach <a4j:ajax> to non-ClientBehaviorHolder parent");
-		}
-	}
+        } else if (parent instanceof ClientBehaviorHolder) {
+            applyAttachedObject(ctx, parent, eventName);
+        } else {
+            throw new TagException(this.tag, "Unable to attach <a4j:ajax> to non-ClientBehaviorHolder parent");
+        }
+    }
 
-	
-	private void applyWrapping(FaceletContext ctx, UIComponent parent, String eventName) throws IOException {
-		AjaxBehavior ajaxBehavior = createAjaxBehavior(ctx, eventName);
+    private void applyWrapping(FaceletContext ctx, UIComponent parent, String eventName) throws IOException {
+        AjaxBehavior ajaxBehavior = createAjaxBehavior(ctx, eventName);
+        FacesContext context = ctx.getFacesContext();
+        BehaviorStack ajaxBehaviors = BehaviorStack.getBehaviorStack(context, true);
 
-		FacesContext context = ctx.getFacesContext();
-		BehaviorStack ajaxBehaviors = BehaviorStack.getBehaviorStack(context, true);
-		ajaxBehaviors.pushBehavior(context, ajaxBehavior, AjaxBehavior.BEHAVIOR_ID, eventName); 
+        ajaxBehaviors.pushBehavior(context, ajaxBehavior, AjaxBehavior.BEHAVIOR_ID, eventName);
+        nextHandler.apply(ctx, parent);
+        ajaxBehaviors.popBehavior();
+    }
 
-		nextHandler.apply(ctx, parent);
+    public void applyAttachedObject(FaceletContext fContext, UIComponent parent, String eventName) {
+        ClientBehaviorHolder bHolder = (ClientBehaviorHolder) parent;
 
-		ajaxBehaviors.popBehavior();
-	}  
+        if (null == eventName) {
+            eventName = bHolder.getDefaultEventName();
 
-	
-	public void applyAttachedObject(FaceletContext fContext, UIComponent parent, String eventName) {
-	     ClientBehaviorHolder bHolder = (ClientBehaviorHolder) parent;
-	     if (null == eventName) {
-	    	 eventName = bHolder.getDefaultEventName();
-	    	 if (null == eventName) {
-	    		 throw new TagException(this.tag, "Event attribute could not be determined: " + eventName);
-	    	 }
-	     } else {
-	    	 Collection<String> eventNames = bHolder.getEventNames();
-	    	 if (!eventNames.contains(eventName)) {
-	    		  throw new TagException(this.tag, eventName + "event is not supported for the " + parent.getClass().getSimpleName());
-	    	 }
-	     }
-	     AjaxBehavior ajaxBehavior = createAjaxBehavior(fContext, eventName);
-	     bHolder.addClientBehavior(eventName, ajaxBehavior);
-	}
-	
-	
-	public AjaxBehavior createAjaxBehavior(FaceletContext fContext, String eventName) {
-		Application application = fContext.getFacesContext().getApplication();
-		AjaxBehavior ajaxBehavior = (AjaxBehavior)application.createBehavior(AjaxBehavior.BEHAVIOR_ID);
-		
-		setBehaviorAttribute(fContext, ajaxBehavior, this.disabled, Boolean.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.immediate, Boolean.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.execute, Object.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.render, Object.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.limitRender, Boolean.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.queueId, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.statusId, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.similarityGroupingId, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.onevent, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.onerror, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.onbegin, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.oncomplete, String.class);
-		setBehaviorAttribute(fContext, ajaxBehavior, this.onbeforedomupdate, String.class);
-		
-		registerBehaviorListener(fContext, ajaxBehavior, listener);
+            if (null == eventName) {
+                throw new TagException(this.tag, "Event attribute could not be determined: " + eventName);
+            }
+        } else {
+            Collection<String> eventNames = bHolder.getEventNames();
 
-		return ajaxBehavior;
-	}
-	
-	public void applyAttachedObject(FacesContext context, UIComponent parent) {
-		FaceletContext ctx = (FaceletContext) context.getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
-		applyAttachedObject(ctx, parent, getEventName());
-	}
-	
-	private void setBehaviorAttribute(FaceletContext ctx, AjaxBehavior behavior, TagAttribute attr, Class<?> type) {
-		if (attr != null) {
-			behavior.setValueExpression(attr.getLocalName(),
-			attr.getValueExpression(ctx, type));
-		}    
-	}
-	 
-	public String getEventName() {
-		return (this.event != null) ? this.event.getValue() : null;
-	}
+            if (!eventNames.contains(eventName)) {
+                throw new TagException(this.tag,
+                                       eventName + "event is not supported for the "
+                                       + parent.getClass().getSimpleName());
+            }
+        }
 
-	public String getFor() {
-		return null;
-	}
-	
+        AjaxBehavior ajaxBehavior = createAjaxBehavior(fContext, eventName);
+
+        bHolder.addClientBehavior(eventName, ajaxBehavior);
+    }
+
+    public AjaxBehavior createAjaxBehavior(FaceletContext fContext, String eventName) {
+        Application application = fContext.getFacesContext().getApplication();
+        AjaxBehavior ajaxBehavior = (AjaxBehavior) application.createBehavior(AjaxBehavior.BEHAVIOR_ID);
+
+        setBehaviorAttribute(fContext, ajaxBehavior, this.disabled, Boolean.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.immediate, Boolean.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.execute, Object.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.render, Object.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.limitRender, Boolean.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.queueId, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.statusId, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.similarityGroupingId, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.onevent, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.onerror, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.onbegin, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.oncomplete, String.class);
+        setBehaviorAttribute(fContext, ajaxBehavior, this.onbeforedomupdate, String.class);
+        registerBehaviorListener(fContext, ajaxBehavior, listener);
+
+        return ajaxBehavior;
+    }
+
+    public void applyAttachedObject(FacesContext context, UIComponent parent) {
+        FaceletContext ctx = (FaceletContext) context.getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
+
+        applyAttachedObject(ctx, parent, getEventName());
+    }
+
+    private void setBehaviorAttribute(FaceletContext ctx, AjaxBehavior behavior, TagAttribute attr, Class<?> type) {
+        if (attr != null) {
+            behavior.setValueExpression(attr.getLocalName(), attr.getValueExpression(ctx, type));
+        }
+    }
+
+    public String getEventName() {
+        return (this.event != null) ? this.event.getValue() : null;
+    }
+
+    public String getFor() {
+        return null;
+    }
+
     private boolean isWrapping() {
-        return ((this.nextHandler instanceof TagHandler) || (this.nextHandler instanceof CompositeFaceletHandler));
+        return (this.nextHandler instanceof TagHandler) || (this.nextHandler instanceof CompositeFaceletHandler);
     }
-    
+
     public void registerBehaviorListener(FaceletContext fContext, AjaxBehavior behavior, TagAttribute listenerAttr) {
-    	if(listenerAttr != null) {
-    		MethodExpression mExpression = listenerAttr.getMethodExpression(fContext, Object.class, new Class[]{AjaxBehaviorEvent.class});
-    		behavior.addAjaxBehaviorListener(new AjaxBehaviorListenerImpl(mExpression));
-    	}
+        if (listenerAttr != null) {
+            MethodExpression mExpression = listenerAttr.getMethodExpression(fContext, Object.class,
+                                               new Class[] {AjaxBehaviorEvent.class});
+
+            behavior.addAjaxBehaviorListener(new AjaxBehaviorListenerImpl(mExpression));
+        }
     }
-    
+
     public class AjaxBehaviorListenerImpl implements AjaxBehaviorListener {
-    	
-    	private MethodExpression methodExpression;
-    	
-    	public AjaxBehaviorListenerImpl() {};
-    	
-    	public AjaxBehaviorListenerImpl(MethodExpression expression) {
-    		this.methodExpression = expression;
-    	}
-    	
-		public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingException {
-			if(methodExpression != null) {
-				ELContext elContext = FacesContext.getCurrentInstance().getELContext();
-			
-				try {
-					methodExpression.invoke(elContext, new Object[] {event});
-				} catch (Exception e) {
-					//TODO: log or message ??
-					throw new AbortProcessingException(e);
-				}
-			}
-		}
-    	
+        private MethodExpression methodExpression;
+
+        public AjaxBehaviorListenerImpl() {}
+
+        public AjaxBehaviorListenerImpl(MethodExpression expression) {
+            this.methodExpression = expression;
+        }
+
+        public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingException {
+            if (methodExpression != null) {
+                ELContext elContext = FacesContext.getCurrentInstance().getELContext();
+
+                try {
+                    methodExpression.invoke(elContext, new Object[] {event});
+                } catch (Exception e) {
+
+                    // TODO: log or message ??
+                    throw new AbortProcessingException(e);
+                }
+            }
+        }
     }
-
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorStack.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorStack.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorStack.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,9 @@
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
+
+
+
 package org.ajax4jsf.facelets.tag;
 
 import java.util.LinkedList;
@@ -35,118 +38,115 @@
 
 /**
  * @author Nick Belaevski
- * 
+ *
  * This class is necessary to handle nesting wrapping behaviors properly and is created
  * to work around this issue: https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=655
  *
  */
+
 //TODO - check for bug resolution
 final class BehaviorStack {
+    private static final String BEHAVIOR_STACK = "org.richfaces.BehaviorStack";
+    private LinkedList<BehaviorInfo> behaviorStack = null;
 
-	private static final String BEHAVIOR_STACK = "org.richfaces.BehaviorStack";
+    public BehaviorStack() {
+        behaviorStack = new LinkedList<BehaviorInfo>();
+    }
 
-	private static class BehaviorInfo {
+    public static BehaviorStack getBehaviorStack(FacesContext context, boolean createIfNull) {
+        Map<Object, Object> attributes = context.getAttributes();
+        BehaviorStack behaviorStack = (BehaviorStack) attributes.get(BEHAVIOR_STACK);
 
-		private String behaviorId;
-		private String eventName;
-		private Object behaviorState;
+        if (behaviorStack == null && createIfNull) {
+            behaviorStack = new BehaviorStack();
+            attributes.put(BEHAVIOR_STACK, behaviorStack);
+        }
 
-		public BehaviorInfo(String behaviorId, String eventName,
-				Object behaviorState) {
-			this.behaviorId = behaviorId;
-			this.eventName = eventName;
-			this.behaviorState = behaviorState;
-		}
+        return behaviorStack;
+    }
 
-		public void addBehavior(FacesContext context, ClientBehaviorHolder behaviorHolder) {
-			String eventName = this.eventName;
-			if (eventName == null) {
-				eventName = behaviorHolder.getDefaultEventName();
+    public void addBehaviors(FacesContext context, ClientBehaviorHolder behaviorHolder) {
+        if (behaviorStack == null || behaviorStack.isEmpty()) {
+            return;
+        }
 
-				if (eventName == null) {
-					return;
-				}
-			}
+        for (BehaviorInfo behaviorInfo : behaviorStack) {
+            behaviorInfo.addBehavior(context, behaviorHolder);
+        }
+    }
 
-			if (shouldAddBehavior(behaviorHolder, eventName)) {
-				ClientBehavior behavior = createBehavior(context);
-				behaviorHolder.addClientBehavior(eventName, behavior);
-			}
-		}
+    public void pushBehavior(FacesContext context, ClientBehavior clientBehavior, String behaviorId, String eventName) {
+        Object behaviorState = ((StateHolder) clientBehavior).saveState(context);
 
-		private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) {
+        // closer behaviors are processed earlier
+        behaviorStack.addFirst(new BehaviorInfo(behaviorId, eventName, behaviorState));
+    }
 
-			if (!behaviorHolder.getEventNames().contains(eventName)) {
-				return false;
-			}
+    public void popBehavior() {
+        if (!behaviorStack.isEmpty()) {
+            behaviorStack.removeFirst();
+        }
+    }
 
-			Map<String,List<ClientBehavior>> clientBehaviorsMap = behaviorHolder.getClientBehaviors();
-			List<ClientBehavior> clientBehaviors = clientBehaviorsMap.get(eventName);
+    private static class BehaviorInfo {
+        private String behaviorId;
+        private Object behaviorState;
+        private String eventName;
 
-			if (clientBehaviors == null || clientBehaviors.isEmpty()) {
-				return true;
-			}
+        public BehaviorInfo(String behaviorId, String eventName, Object behaviorState) {
+            this.behaviorId = behaviorId;
+            this.eventName = eventName;
+            this.behaviorState = behaviorState;
+        }
 
-			for (ClientBehavior behavior : clientBehaviors) {
-				Set<ClientBehaviorHint> hints = behavior.getHints();
+        public void addBehavior(FacesContext context, ClientBehaviorHolder behaviorHolder) {
+            String eventName = this.eventName;
 
-				if (hints.contains(ClientBehaviorHint.SUBMITTING)) {
-					return false;
-				}
-			}
+            if (eventName == null) {
+                eventName = behaviorHolder.getDefaultEventName();
 
-			return true;
-		}
+                if (eventName == null) {
+                    return;
+                }
+            }
 
-		private ClientBehavior createBehavior(FacesContext context) {
-			Application application = context.getApplication();
+            if (shouldAddBehavior(behaviorHolder, eventName)) {
+                ClientBehavior behavior = createBehavior(context);
 
-			ClientBehavior behavior = (ClientBehavior) application.createBehavior(this.behaviorId);
+                behaviorHolder.addClientBehavior(eventName, behavior);
+            }
+        }
 
-			((StateHolder) behavior).restoreState(context, behaviorState);
+        private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) {
+            if (!behaviorHolder.getEventNames().contains(eventName)) {
+                return false;
+            }
 
-			return behavior;
-		}
-	}
+            Map<String, List<ClientBehavior>> clientBehaviorsMap = behaviorHolder.getClientBehaviors();
+            List<ClientBehavior> clientBehaviors = clientBehaviorsMap.get(eventName);
 
-	private LinkedList<BehaviorInfo> behaviorStack = null;
+            if (clientBehaviors == null || clientBehaviors.isEmpty()) {
+                return true;
+            }
 
-	public BehaviorStack() {
-		behaviorStack = new LinkedList<BehaviorInfo>();
-	}
+            for (ClientBehavior behavior : clientBehaviors) {
+                Set<ClientBehaviorHint> hints = behavior.getHints();
 
-	public static BehaviorStack getBehaviorStack(FacesContext context, boolean createIfNull) {
-		Map<Object, Object> attributes = context.getAttributes();
-		BehaviorStack behaviorStack = (BehaviorStack) attributes.get(BEHAVIOR_STACK);
-		if (behaviorStack == null && createIfNull) {
-			behaviorStack = new BehaviorStack();
-			attributes.put(BEHAVIOR_STACK, behaviorStack);
-		}
+                if (hints.contains(ClientBehaviorHint.SUBMITTING)) {
+                    return false;
+                }
+            }
 
-		return behaviorStack;
-	}
+            return true;
+        }
 
-	public void addBehaviors(FacesContext context, ClientBehaviorHolder behaviorHolder) {
-		if (behaviorStack == null || behaviorStack.isEmpty()) {
-			return;
-		}
+        private ClientBehavior createBehavior(FacesContext context) {
+            Application application = context.getApplication();
+            ClientBehavior behavior = (ClientBehavior) application.createBehavior(this.behaviorId);
 
-		for (BehaviorInfo behaviorInfo : behaviorStack) {
-			behaviorInfo.addBehavior(context, behaviorHolder);
-		}
-	}
+            ((StateHolder) behavior).restoreState(context, behaviorState);
 
-	public void pushBehavior(FacesContext context, ClientBehavior clientBehavior, String behaviorId, 
-			String eventName) {
-
-		Object behaviorState = ((StateHolder) clientBehavior).saveState(context);
-		//closer behaviors are processed earlier
-		behaviorStack.addFirst(new BehaviorInfo(behaviorId, eventName, behaviorState));
-	}
-
-	public void popBehavior() {
-		if (!behaviorStack.isEmpty()) {
-			behaviorStack.removeFirst();
-		}
-	}   
+            return behavior;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsAddingComponentHandlerWrapper.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsAddingComponentHandlerWrapper.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsAddingComponentHandlerWrapper.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,11 +19,15 @@
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
+
+
+
 package org.ajax4jsf.facelets.tag;
 
 import java.io.IOException;
 
 import javax.el.ELException;
+
 import javax.faces.FacesException;
 import javax.faces.component.UIComponent;
 import javax.faces.component.behavior.ClientBehaviorHolder;
@@ -38,82 +42,77 @@
  * @author Nick Belaevski
  */
 public class BehaviorsAddingComponentHandlerWrapper extends ComponentHandler {
+    private ComponentHandler componentHandler;
 
-	private ComponentHandler componentHandler;
+    public BehaviorsAddingComponentHandlerWrapper(ComponentHandler componentHandler) {
+        super(componentHandler.getComponentConfig());
+        this.componentHandler = componentHandler;
+    }
 
-	public BehaviorsAddingComponentHandlerWrapper(ComponentHandler componentHandler) {
-		super(componentHandler.getComponentConfig());
-		this.componentHandler = componentHandler;
-	}
+    public void apply(FaceletContext ctx, UIComponent parent) throws IOException {
+        componentHandler.apply(ctx, parent);
+    }
 
-	public void apply(FaceletContext ctx, UIComponent parent)
-			throws IOException {
-		componentHandler.apply(ctx, parent);
-	}
+    public void applyNextHandler(FaceletContext ctx, UIComponent c) throws IOException, FacesException, ELException {
+        componentHandler.applyNextHandler(ctx, c);
+    }
 
-	public void applyNextHandler(FaceletContext ctx, UIComponent c)
-			throws IOException, FacesException, ELException {
-		componentHandler.applyNextHandler(ctx, c);
-	}
+    public TagAttribute getBinding() {
+        return componentHandler.getBinding();
+    }
 
-	public TagAttribute getBinding() {
-		return componentHandler.getBinding();
-	}
+    public ComponentConfig getComponentConfig() {
+        return componentHandler.getComponentConfig();
+    }
 
-	public ComponentConfig getComponentConfig() {
-		return componentHandler.getComponentConfig();
-	}
+    public Tag getTag() {
+        return componentHandler.getTag();
+    }
 
-	public Tag getTag() {
-		return componentHandler.getTag();
-	}
+    public TagAttribute getTagAttribute(String localName) {
+        return componentHandler.getTagAttribute(localName);
+    }
 
-	public TagAttribute getTagAttribute(String localName) {
-		return componentHandler.getTagAttribute(localName);
-	}
+    public String getTagId() {
+        return componentHandler.getTagId();
+    }
 
-	public String getTagId() {
-		return componentHandler.getTagId();
-	}
+    public boolean equals(Object obj) {
+        return componentHandler.equals(obj);
+    }
 
-	public boolean equals(Object obj) {
-		return componentHandler.equals(obj);
-	}
+    public int hashCode() {
+        return componentHandler.hashCode();
+    }
 
-	public int hashCode() {
-		return componentHandler.hashCode();
-	}
+    public String toString() {
+        return componentHandler.toString();
+    }
 
-	public String toString() {
-		return componentHandler.toString();
-	}
-	
-	public boolean isDisabled(FaceletContext ctx) {
-		return componentHandler.isDisabled(ctx);
-	}
+    public boolean isDisabled(FaceletContext ctx) {
+        return componentHandler.isDisabled(ctx);
+    }
 
-	public void onComponentCreated(FaceletContext ctx, UIComponent c,
-			UIComponent parent) {
-		componentHandler.onComponentCreated(ctx, c, parent);
-	}
+    public void onComponentCreated(FaceletContext ctx, UIComponent c, UIComponent parent) {
+        componentHandler.onComponentCreated(ctx, c, parent);
+    }
 
-	public void onComponentPopulated(FaceletContext ctx, UIComponent c,
-			UIComponent parent) {
-		
-		FacesContext facesContext = ctx.getFacesContext();
-		BehaviorStack behaviorStack = BehaviorStack.getBehaviorStack(facesContext, false);
-		if (behaviorStack != null) {
-			if (c instanceof ClientBehaviorHolder) {
-				ClientBehaviorHolder behaviorHolder = (ClientBehaviorHolder) c;
-				behaviorStack.addBehaviors(facesContext, behaviorHolder);
-			}
-		}
-		
-		componentHandler.onComponentPopulated(ctx, c, parent);
-	}
+    public void onComponentPopulated(FaceletContext ctx, UIComponent c, UIComponent parent) {
+        FacesContext facesContext = ctx.getFacesContext();
+        BehaviorStack behaviorStack = BehaviorStack.getBehaviorStack(facesContext, false);
 
-	public void setAttributes(FaceletContext ctx, Object instance) {
-		componentHandler.setAttributes(ctx, instance);
-	}
+        if (behaviorStack != null) {
+            if (c instanceof ClientBehaviorHolder) {
+                ClientBehaviorHolder behaviorHolder = (ClientBehaviorHolder) c;
 
+                behaviorStack.addBehaviors(facesContext, behaviorHolder);
+            }
+        }
+
+        componentHandler.onComponentPopulated(ctx, c, parent);
+    }
+
+    public void setAttributes(FaceletContext ctx, Object instance) {
+        componentHandler.setAttributes(ctx, instance);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsTagHandlerDelegateFactoryImpl.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsTagHandlerDelegateFactoryImpl.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/facelets/tag/BehaviorsTagHandlerDelegateFactoryImpl.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,9 @@
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
+
+
+
 package org.ajax4jsf.facelets.tag;
 
 import javax.faces.view.facelets.BehaviorHandler;
@@ -32,48 +35,48 @@
  * @author Nick Belaevski
  */
 public class BehaviorsTagHandlerDelegateFactoryImpl extends TagHandlerDelegateFactory {
+    private TagHandlerDelegateFactory factory;
 
-	private TagHandlerDelegateFactory factory;
-	
-	public BehaviorsTagHandlerDelegateFactoryImpl(TagHandlerDelegateFactory factory) {
-		this.factory = factory;
-	}
-	
-	/* (non-Javadoc)
-	 * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createBehaviorHandlerDelegate(javax.faces.view.facelets.BehaviorHandler)
-	 */
-	@Override
-	public TagHandlerDelegate createBehaviorHandlerDelegate(
-			BehaviorHandler owner) {
-		return factory.createBehaviorHandlerDelegate(owner);
-	}
+    public BehaviorsTagHandlerDelegateFactoryImpl(TagHandlerDelegateFactory factory) {
+        this.factory = factory;
+    }
 
-	/* (non-Javadoc)
-	 * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createComponentHandlerDelegate(javax.faces.view.facelets.ComponentHandler)
-	 */
-	@Override
-	public TagHandlerDelegate createComponentHandlerDelegate(ComponentHandler owner) {
-		//TagHandlers structure is created when view is compiled
-		//so there's no need to check for BehaviorsStack
-		return factory.createComponentHandlerDelegate(new BehaviorsAddingComponentHandlerWrapper(owner));
-	}
+    /*
+     *  (non-Javadoc)
+     * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createBehaviorHandlerDelegate(javax.faces.view.facelets.BehaviorHandler)
+     */
+    @Override
+    public TagHandlerDelegate createBehaviorHandlerDelegate(BehaviorHandler owner) {
+        return factory.createBehaviorHandlerDelegate(owner);
+    }
 
-	/* (non-Javadoc)
-	 * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createConverterHandlerDelegate(javax.faces.view.facelets.ConverterHandler)
-	 */
-	@Override
-	public TagHandlerDelegate createConverterHandlerDelegate(
-			ConverterHandler owner) {
-		return factory.createConverterHandlerDelegate(owner);
-	}
+    /*
+     *  (non-Javadoc)
+     * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createComponentHandlerDelegate(javax.faces.view.facelets.ComponentHandler)
+     */
+    @Override
+    public TagHandlerDelegate createComponentHandlerDelegate(ComponentHandler owner) {
 
-	/* (non-Javadoc)
-	 * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createValidatorHandlerDelegate(javax.faces.view.facelets.ValidatorHandler)
-	 */
-	@Override
-	public TagHandlerDelegate createValidatorHandlerDelegate(
-			ValidatorHandler owner) {
-		return factory.createValidatorHandlerDelegate(owner);
-	}
+        // TagHandlers structure is created when view is compiled
+        // so there's no need to check for BehaviorsStack
+        return factory.createComponentHandlerDelegate(new BehaviorsAddingComponentHandlerWrapper(owner));
+    }
 
+    /*
+     *  (non-Javadoc)
+     * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createConverterHandlerDelegate(javax.faces.view.facelets.ConverterHandler)
+     */
+    @Override
+    public TagHandlerDelegate createConverterHandlerDelegate(ConverterHandler owner) {
+        return factory.createConverterHandlerDelegate(owner);
+    }
+
+    /*
+     *  (non-Javadoc)
+     * @see javax.faces.view.facelets.TagHandlerDelegateFactory#createValidatorHandlerDelegate(javax.faces.view.facelets.ValidatorHandler)
+     */
+    @Override
+    public TagHandlerDelegate createValidatorHandlerDelegate(ValidatorHandler owner) {
+        return factory.createValidatorHandlerDelegate(owner);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -17,6 +17,7 @@
 import org.ajax4jsf.component.AjaxClientBehavior;
 import org.ajax4jsf.component.behavior.AjaxBehavior;
 import org.ajax4jsf.javascript.JSFunction;
+
 import org.richfaces.context.PartialViewContextFactoryImpl;
 import org.richfaces.context.PartialViewContextImpl;
 
@@ -24,83 +25,87 @@
  * @author Anton Belevich
  *
  */
- at FacesBehaviorRenderer(rendererType="org.ajax4jsf.behavior.Ajax",renderKitId=RenderKitFactory.HTML_BASIC_RENDER_KIT)
- at ResourceDependencies({
-	@ResourceDependency(library = "javax.faces", name = "jsf.js"),
-	@ResourceDependency(name="jquery.js", target="head"), 
-	@ResourceDependency(name="richfaces.js", target="head")
-})
+ at FacesBehaviorRenderer(rendererType = "org.ajax4jsf.behavior.Ajax",
+                       renderKitId = RenderKitFactory.HTML_BASIC_RENDER_KIT)
+ at ResourceDependencies({@ResourceDependency(library = "javax.faces", name = "jsf.js") ,
+                       @ResourceDependency(name = "jquery.js", target = "head") ,
+                       @ResourceDependency(name = "richfaces.js", target = "head") })
 public class AjaxBehaviorRenderer extends ClientBehaviorRenderer {
-	@Override
-	public void decode(FacesContext context, UIComponent component, ClientBehavior behavior) {
-
-		if (null == context || null == component || null == behavior) {
+    @Override
+    public void decode(FacesContext context, UIComponent component, ClientBehavior behavior) {
+        if (null == context || null == component || null == behavior) {
             throw new NullPointerException();
         }
 
         if (!(behavior instanceof AjaxBehavior)) {
-        	throw new IllegalArgumentException("org.ajax4jsf.component.behavior.AjaxBehavior required: " + behavior);
+            throw new IllegalArgumentException("org.ajax4jsf.component.behavior.AjaxBehavior required: " + behavior);
         }
 
-        AjaxBehavior ajaxBehavior = (AjaxBehavior)behavior;
-        
+        AjaxBehavior ajaxBehavior = (AjaxBehavior) behavior;
+
         if (ajaxBehavior.isDisabled()) {
             return;
-        }        
-        
+        }
+
         component.queueEvent(createEvent(component, ajaxBehavior));
-	}
-	
+    }
+
     private static AjaxBehaviorEvent createEvent(UIComponent component, AjaxBehavior ajaxBehavior) {
         AjaxBehaviorEvent event = new AjaxBehaviorEvent(component, ajaxBehavior);
-        PhaseId phaseId = isImmediate(component, ajaxBehavior) ? PhaseId.APPLY_REQUEST_VALUES : PhaseId.INVOKE_APPLICATION;
+        PhaseId phaseId = isImmediate(component, ajaxBehavior)
+                          ? PhaseId.APPLY_REQUEST_VALUES : PhaseId.INVOKE_APPLICATION;
+
         event.setPhaseId(phaseId);
-        
+
         return event;
     }
-	
-	private static boolean isImmediate(UIComponent component, AjaxBehavior ajaxBehavior) {
-		boolean immediate = false;
 
-		if (ajaxBehavior.isImmediateSet()) {
-			immediate = ajaxBehavior.isImmediate();
-		} else if (component instanceof EditableValueHolder) {
-			immediate = ((EditableValueHolder)component).isImmediate();
-		} else if (component instanceof ActionSource) {
-			immediate = ((ActionSource)component).isImmediate();
-		}
-		return immediate;
-	}
-	
-	@Override
-	public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior) {
-		String script = null;
-		if(behavior instanceof AjaxBehavior) {
-			script = buildAjaxCommand(behaviorContext, (AjaxBehavior)behavior);
-		}	
-		return script;
-	}
-	
-	public String buildAjaxCommand(ClientBehaviorContext bContext, AjaxBehavior behavior) {
-		UIComponent parent = bContext.getComponent();
-		FacesContext context = bContext.getFacesContext();
-		
-		JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, parent, AjaxRendererUtils.AJAX_FUNCTION_NAME);
-	
-		AjaxEventOptions options = buildOptions(context, bContext, behavior);
-		ajaxFunction.addParameter(options);
-	
-		return ajaxFunction.toString();
-	}
-	
-	public AjaxEventOptions buildOptions(FacesContext context, ClientBehaviorContext bContext, AjaxClientBehavior behavior) {
-		UIComponent parent = bContext.getComponent();
-		String eventName = bContext.getEventName();
-		AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(context, parent, behavior);
-		options.setParameter(PartialViewContextImpl.BEHAVIOR_EVENT_PARAMETER, eventName);
-		options.setParameter(PartialViewContextFactoryImpl.RICHFACES_AJAX, parent.getClientId());
-		
-		return options;
-	}
-	
+    private static boolean isImmediate(UIComponent component, AjaxBehavior ajaxBehavior) {
+        boolean immediate = false;
+
+        if (ajaxBehavior.isImmediateSet()) {
+            immediate = ajaxBehavior.isImmediate();
+        } else if (component instanceof EditableValueHolder) {
+            immediate = ((EditableValueHolder) component).isImmediate();
+        } else if (component instanceof ActionSource) {
+            immediate = ((ActionSource) component).isImmediate();
+        }
+
+        return immediate;
+    }
+
+    @Override
+    public String getScript(ClientBehaviorContext behaviorContext, ClientBehavior behavior) {
+        String script = null;
+
+        if (behavior instanceof AjaxBehavior) {
+            script = buildAjaxCommand(behaviorContext, (AjaxBehavior) behavior);
+        }
+
+        return script;
+    }
+
+    public String buildAjaxCommand(ClientBehaviorContext bContext, AjaxBehavior behavior) {
+        UIComponent parent = bContext.getComponent();
+        FacesContext context = bContext.getFacesContext();
+        JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, parent,
+                                      AjaxRendererUtils.AJAX_FUNCTION_NAME);
+        AjaxEventOptions options = buildOptions(context, bContext, behavior);
+
+        ajaxFunction.addParameter(options);
+
+        return ajaxFunction.toString();
+    }
+
+    public AjaxEventOptions buildOptions(FacesContext context, ClientBehaviorContext bContext,
+            AjaxClientBehavior behavior) {
+        UIComponent parent = bContext.getComponent();
+        String eventName = bContext.getEventName();
+        AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(context, parent, behavior);
+
+        options.setParameter(PartialViewContextImpl.BEHAVIOR_EVENT_PARAMETER, eventName);
+        options.setParameter(PartialViewContextFactoryImpl.RICHFACES_AJAX, parent.getClientId());
+
+        return options;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/html/package-info.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/html/package-info.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/html/package-info.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,3 +1,4 @@
+
 /**
  * Tag library contains facelets tag handlers that are useful in creating dynamic reusable components
  */

Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/package-info.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/package-info.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/renderkit/package-info.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,3 +1,4 @@
+
 /**
  * Fundamental classes and interfaces defining the rendering model
  */

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushEventTracker.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushEventTracker.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushEventTracker.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,9 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import java.io.Serializable;
+
 import java.util.EventObject;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -33,19 +36,17 @@
  */
 public class PushEventTracker implements PushEventListener, Serializable {
 
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -4362297582678089326L;
-	
-	private final AtomicBoolean eventPerformed = new AtomicBoolean(false);
+    /**
+     *
+     */
+    private static final long serialVersionUID = -4362297582678089326L;
+    private final AtomicBoolean eventPerformed = new AtomicBoolean(false);
 
-	public void onEvent(EventObject event) {
-		eventPerformed.set(true);
-	}
-	
-	public boolean pollStatus() {
-		return eventPerformed.compareAndSet(true, false);
-	}
+    public void onEvent(EventObject event) {
+        eventPerformed.set(true);
+    }
 
+    public boolean pollStatus() {
+        return eventPerformed.compareAndSet(true, false);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushListenersManager.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushListenersManager.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/PushListenersManager.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.faces.context.FacesContext;
@@ -30,31 +32,31 @@
  * @since 4.0
  */
 public class PushListenersManager {
+    private static final String CONTEXT_ATTRIBUTE_NAME = "richFacesPushListenersManager";
+    private LRUMap<String, PushEventTracker> listeners;
 
-	private static final String CONTEXT_ATTRIBUTE_NAME = "richFacesPushListenersManager";
-	
-	private LRUMap<String, PushEventTracker> listeners;
-	
-	public PushListenersManager() {
-		//TODO configure map size
-		this.listeners = new LRUMap<String, PushEventTracker>();
-	}
-	
-	public static PushListenersManager getInstance(FacesContext context) {
-		return (PushListenersManager) context.getExternalContext().
-			getApplicationMap().get(CONTEXT_ATTRIBUTE_NAME);
-	}
-	
-	public PushEventTracker getListener(String name) {
-		synchronized (listeners) {
-			//LRUMap involves write for each operation, so RWLock is not acceptable here
-			PushEventTracker listener = listeners.get(name);
-			if (listener == null) {
-				listener = new PushEventTracker();
-				listeners.put(name, listener);
-			}
+    public PushListenersManager() {
 
-			return listener;
-		}
-	}
+        // TODO configure map size
+        this.listeners = new LRUMap<String, PushEventTracker>();
+    }
+
+    public static PushListenersManager getInstance(FacesContext context) {
+        return (PushListenersManager) context.getExternalContext().getApplicationMap().get(CONTEXT_ATTRIBUTE_NAME);
+    }
+
+    public PushEventTracker getListener(String name) {
+        synchronized (listeners) {
+
+            // LRUMap involves write for each operation, so RWLock is not acceptable here
+            PushEventTracker listener = listeners.get(name);
+
+            if (listener == null) {
+                listener = new PushEventTracker();
+                listeners.put(name, listener);
+            }
+
+            return listener;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandButton.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandButton.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandButton.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,21 +19,21 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.faces.component.UIComponentBase;
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 public class UIAjaxCommandButton extends UIComponentBase {
+    public static final String COMPONENT_FAMILY = "org.richfaces.AjaxCommandButton";
 
-	public static final String COMPONENT_FAMILY = "org.richfaces.AjaxCommandButton";
-
-	@Override
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandLink.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandLink.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxCommandLink.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,21 +19,21 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.faces.component.UIComponentBase;
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 public class UIAjaxCommandLink extends UIComponentBase {
+    public static final String COMPONENT_FAMILY = "org.richfaces.AjaxCommandLink";
 
-	public static final String COMPONENT_FAMILY = "org.richfaces.AjaxCommandLink";
-
-	@Override
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxFunction.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxFunction.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxFunction.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import org.ajax4jsf.component.AjaxActionComponent;
@@ -29,10 +31,9 @@
  *
  */
 public abstract class UIAjaxFunction extends AjaxActionComponent {
+    public static final String COMPONENT_TYPE = "org.richfaces.Function";
 
-	public static final String COMPONENT_TYPE = "org.richfaces.Function";
-	
-	public abstract String getName();
-	
-	public abstract void setName(String name);
+    public abstract String getName();
+
+    public abstract void setName(String name);
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxLog.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxLog.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxLog.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.faces.application.ResourceDependencies;
@@ -27,39 +29,36 @@
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 @ResourceDependencies(value = {
-		@ResourceDependency(name = "jquery.js"),
-		@ResourceDependency(name = "richfaces.js"),
-		@ResourceDependency(name = "richfaces-jsf-log.js"),
-		@ResourceDependency(name = "richfaces.css")
-	})
+        @ResourceDependency(name = "jquery.js") , @ResourceDependency(name = "richfaces.js") ,
+        @ResourceDependency(name = "richfaces-jsf-log.js") , @ResourceDependency(name = "richfaces.css")
+        })
 public class UIAjaxLog extends UIComponentBase {
+    public static final String COMPONENT_FAMILY = "org.richfaces.AjaxLog";
 
-	public static final String COMPONENT_FAMILY = "org.richfaces.AjaxLog";
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 
-	@Override
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-
-	//	public abstract String getHotkey();
-//	
-//	public abstract void setHotkey(String newvalue);
+    // public abstract String getHotkey();
+//  
+//  public abstract void setHotkey(String newvalue);
 //
-//	public abstract String getName();
-//	public abstract void setName(String newvalue);
+//  public abstract String getName();
+//  public abstract void setName(String newvalue);
 //
-//	public abstract String getWidth();
-//	public abstract void setWidth(String newvalue);
+//  public abstract String getWidth();
+//  public abstract void setWidth(String newvalue);
 //
-//	public abstract String getHeight();
-//	public abstract void setHeight(String newvalue);
-//	
-//	public abstract String getLevel();
-//	public abstract void setLevel(String newvalue);
-//	
-//	public abstract boolean isPopup();
-//	public abstract void setPopup(boolean popup);
+//  public abstract String getHeight();
+//  public abstract void setHeight(String newvalue);
+//  
+//  public abstract String getLevel();
+//  public abstract void setLevel(String newvalue);
+//  
+//  public abstract boolean isPopup();
+//  public abstract void setPopup(boolean popup);
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxOutputPanel.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxOutputPanel.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxOutputPanel.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,47 +19,42 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.faces.component.UIPanel;
 
 import org.ajax4jsf.component.AjaxOutput;
 
-
 /**
  * @author asmirnov at exadel.com (latest modification by $Author: alexsmirnov $)
  * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:58:26 $
  *
  */
 public class UIAjaxOutputPanel extends UIPanel implements AjaxOutput {
-	
     public static final String COMPONENT_TYPE = "org.richfaces.AjaxOutputPanel";
 
-    private static enum PropertyKeys {
-    	ajaxRendered,
-    	keepTransient
-    };
-    
-	public UIAjaxOutputPanel() {
-		super();
+    private static enum PropertyKeys {ajaxRendered, keepTransient}
+
+    public UIAjaxOutputPanel() {
+        super();
         setRendererType("org.richfaces.OutputPanelRenderer");
-	}
-    
-	public boolean isAjaxRendered() {
-		return Boolean.valueOf(getStateHelper().eval(PropertyKeys.ajaxRendered, Boolean.FALSE).
-				toString());        
-	}
+    }
 
-	public boolean isKeepTransient() {
-		return Boolean.valueOf(getStateHelper().eval(PropertyKeys.keepTransient, Boolean.FALSE).
-				toString());        
-	}
+    public boolean isAjaxRendered() {
+        return Boolean.valueOf(getStateHelper().eval(PropertyKeys.ajaxRendered, Boolean.FALSE).toString());
+    }
 
-	public void setAjaxRendered(boolean ajaxRendered) {
-		getStateHelper().put(PropertyKeys.ajaxRendered, ajaxRendered);
-	}
+    public boolean isKeepTransient() {
+        return Boolean.valueOf(getStateHelper().eval(PropertyKeys.keepTransient, Boolean.FALSE).toString());
+    }
 
-	public void setKeepTransient(boolean keepTransient) {
-		getStateHelper().put(PropertyKeys.keepTransient, keepTransient);
-	}
+    public void setAjaxRendered(boolean ajaxRendered) {
+        getStateHelper().put(PropertyKeys.ajaxRendered, ajaxRendered);
+    }
+
+    public void setKeepTransient(boolean keepTransient) {
+        getStateHelper().put(PropertyKeys.keepTransient, keepTransient);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxStatus.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxStatus.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIAjaxStatus.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,19 +19,20 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.faces.component.UIOutput;
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 public class UIAjaxStatus extends UIOutput {
+    public static final String COMPONENT_TYPE = "org.richfaces.Status";
 
-	public static final String COMPONENT_TYPE = "org.richfaces.Status";
-	
-	public static String getComponentType() {
-		return COMPONENT_TYPE;
-	}
+    public static String getComponentType() {
+        return COMPONENT_TYPE;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIMediaOutput.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIMediaOutput.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIMediaOutput.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,9 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import javax.el.MethodExpression;
+
 import javax.faces.application.Resource;
 import javax.faces.application.ResourceHandler;
 import javax.faces.component.UIOutput;
@@ -29,92 +32,96 @@
 import javax.faces.el.MethodBinding;
 
 import org.ajax4jsf.resource.ResourceComponent2;
+
 import org.richfaces.resource.MediaOutputResource;
 import org.richfaces.webapp.taglib.MethodBindingMethodExpressionAdaptor;
 import org.richfaces.webapp.taglib.MethodExpressionMethodBindingAdaptor;
 
-
 /**
  * @author shura
  *
  */
 public abstract class UIMediaOutput extends UIOutput implements ResourceComponent2 {
+    public static final String COMPONENT_TYPE = "org.richfaces.MediaOutput";
 
-	public static final String COMPONENT_TYPE = "org.richfaces.MediaOutput";
+    /**
+     * Get URI attribute for resource ( src for images, href for links etc ).
+     * @return
+     */
+    public abstract String getUriAttribute();
 
-	/**
-	 * Get URI attribute for resource ( src for images, href for links etc ).
-	 * @return
-	 */
-	public abstract String getUriAttribute();
+    /**
+     * Set URI attribute for resource ( src for images, href for links etc ).
+     * @param newvalue
+     */
+    public abstract void setUriAttribute(String newvalue);
 
-	/**
-	 * Set URI attribute for resource ( src for images, href for links etc ).
-	 * @param newvalue
-	 */
-	public abstract void setUriAttribute(String newvalue);
+    /**
+     * Get Element name for rendering ( imj , a , object, applet ).
+     * @return
+     */
+    public abstract String getElement();
 
-	/**
-	 * Get Element name for rendering ( imj , a , object, applet ).
-	 * @return
-	 */
-	public abstract String getElement();
+    /**
+     * Set Element name for rendering ( imj , a , object, applet ).
+     * @param newvalue
+     */
+    public abstract void setElement(String newvalue);
 
-	/**
-	 * Set Element name for rendering ( imj , a , object, applet ).
-	 * @param newvalue
-	 */
-	public abstract void setElement(String newvalue);
+    /**
+     * Get EL binding to method in user bean to send resource. Method will
+     * called with two parameters - restored data object and servlet output
+     * stream.
+     *
+     * @return MethodBinding to createContent
+     */
+    public MethodBinding getCreateContent() {
+        MethodBinding result = null;
+        MethodExpression me = getCreateContentExpression();
 
-	/**
-	 * Get EL binding to method in user bean to send resource. Method will
-	 * called with two parameters - restored data object and servlet output
-	 * stream.
-	 * 
-	 * @return MethodBinding to createContent 
-	 */
-	public MethodBinding getCreateContent() {
-		MethodBinding result = null;
-		MethodExpression me = getCreateContentExpression();
+        if (me != null) {
 
-		if (me != null) {
-			// if the MethodExpression is an instance of our private
-			// wrapper class.
-			if (me instanceof MethodExpressionMethodBindingAdaptor) {
-				result = ((MethodExpressionMethodBindingAdaptor) me).getBinding();
-			} else {
-				// otherwise, this is a real MethodExpression.  Wrap it
-				// in a MethodBinding.
-				result = new MethodBindingMethodExpressionAdaptor(me);
-			}
-		}
+            // if the MethodExpression is an instance of our private
+            // wrapper class.
+            if (me instanceof MethodExpressionMethodBindingAdaptor) {
+                result = ((MethodExpressionMethodBindingAdaptor) me).getBinding();
+            } else {
 
-		return result;
-	}
+                // otherwise, this is a real MethodExpression.  Wrap it
+                // in a MethodBinding.
+                result = new MethodBindingMethodExpressionAdaptor(me);
+            }
+        }
 
-	/**
-	 * Set EL binding to method in user bean to send resource. Method will
-	 * called with two parameters - restored data object and servlet output
-	 * stream.
-	 * 
-	 * @param newvalue - new value of createContent method binding
-	 */
-	public void setCreateContent(MethodBinding newvalue) {
-		MethodExpressionMethodBindingAdaptor adapter;
-		if (newvalue != null) {
-			adapter = new MethodExpressionMethodBindingAdaptor(newvalue);
-			setCreateContentExpression(adapter);
-		} else {
-			setCreateContentExpression(null);
-		}
-	}
+        return result;
+    }
 
-	public Resource getResource() {
-		FacesContext facesContext = getFacesContext();
-		ResourceHandler resourceHandler = facesContext.getApplication().getResourceHandler();
-		MediaOutputResource resource = (MediaOutputResource) resourceHandler.createResource(MediaOutputResource.class.getName());
-		resource.initialize(this);
-		
-		return resource;
-	}
+    /**
+     * Set EL binding to method in user bean to send resource. Method will
+     * called with two parameters - restored data object and servlet output
+     * stream.
+     *
+     * @param newvalue - new value of createContent method binding
+     */
+    public void setCreateContent(MethodBinding newvalue) {
+        MethodExpressionMethodBindingAdaptor adapter;
+
+        if (newvalue != null) {
+            adapter = new MethodExpressionMethodBindingAdaptor(newvalue);
+            setCreateContentExpression(adapter);
+        } else {
+            setCreateContentExpression(null);
+        }
+    }
+
+    public Resource getResource() {
+        FacesContext facesContext = getFacesContext();
+        ResourceHandler resourceHandler = facesContext.getApplication().getResourceHandler();
+        MediaOutputResource resource =
+            (MediaOutputResource) resourceHandler.createResource(MediaOutputResource.class.getName());
+
+        resource.initialize(this);
+
+        return resource;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIPush.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIPush.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/UIPush.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,16 +19,20 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component;
 
 import java.io.IOException;
 
 import javax.el.MethodExpression;
+
 import javax.faces.component.NamingContainer;
 import javax.faces.component.UICommand;
 import javax.faces.context.FacesContext;
 import javax.faces.event.BehaviorEvent;
 import javax.faces.event.FacesEvent;
+
 import javax.servlet.http.HttpSession;
 
 /**
@@ -37,93 +41,95 @@
  *
  */
 public class UIPush extends UICommand {
+    public static final String COMPONENT_FAMILY = "org.richfaces.Push";
+    public static final String COMPONENT_TYPE = "org.richfaces.Push";
+    private transient boolean hasActiveBehavior = false;
 
-	public static final String COMPONENT_TYPE = "org.richfaces.Push";
+    private static enum PropertyKeys {eventProducer, enabled, interval}
 
-	public final static  String COMPONENT_FAMILY = "org.richfaces.Push";
+    @Override
+    public void encodeBegin(FacesContext context) throws IOException {
+        MethodExpression producer = getEventProducer();
 
-	private transient boolean hasActiveBehavior = false;
-	
-	private static enum PropertyKeys {
-		eventProducer, enabled, interval
-	}
-	
-	public void encodeBegin(FacesContext context) throws IOException {
-		MethodExpression producer = getEventProducer();
-		// Subscribe events producer to push status listener.
-		if (null != producer) {
-			producer.invoke(context.getELContext(), new Object[]{getListener(context)});
-		}
-		
-		super.encodeBegin(context);
-	}
+        // Subscribe events producer to push status listener.
+        if (null != producer) {
+            producer.invoke(context.getELContext(), new Object[] {getListener(context)});
+        }
 
-	private PushEventTracker getListener(FacesContext context) {
-		PushListenersManager pushListenersManager = PushListenersManager.getInstance(context);
-		return pushListenersManager.getListener(getListenerId(context));
-	}
+        super.encodeBegin(context);
+    }
 
-	public String getListenerId(FacesContext context){
-		Object session = context.getExternalContext().getSession(false);
-		StringBuffer id = new StringBuffer();
-		if(null != session && session instanceof HttpSession){
-			HttpSession httpSession = (HttpSession) session;
-			id.append(httpSession.getId());
-		}
-		id.append(context.getViewRoot().getViewId());
-		id.append(NamingContainer.SEPARATOR_CHAR);
-		id.append(getClientId(context));
-		return id.toString();
-	}
+    private PushEventTracker getListener(FacesContext context) {
+        PushListenersManager pushListenersManager = PushListenersManager.getInstance(context);
 
-	public MethodExpression getEventProducer() {
-		return (MethodExpression) getStateHelper().get(PropertyKeys.eventProducer);
-	}
+        return pushListenersManager.getListener(getListenerId(context));
+    }
 
-	public void setEventProducer(MethodExpression producer) {
-		getStateHelper().put(PropertyKeys.eventProducer, producer);
-	}
-	
-	/**
-	 * @return time in mc for polling interval.
-	 */
-	public int getInterval() {
-		return (Integer) getStateHelper().eval(PropertyKeys.interval, 1000);
-	}
+    public String getListenerId(FacesContext context) {
+        Object session = context.getExternalContext().getSession(false);
+        StringBuffer id = new StringBuffer();
 
-	/**
-	 * @param interval time in mc for polling interval.
-	 */
-	public void setInterval(int interval) {
-		getStateHelper().put(PropertyKeys.interval, interval);
-	}
+        if (null != session && session instanceof HttpSession) {
+            HttpSession httpSession = (HttpSession) session;
 
-	public boolean isEnabled() {
-		return Boolean.valueOf(getStateHelper().eval(PropertyKeys.enabled, Boolean.TRUE).toString());        
-	}
+            id.append(httpSession.getId());
+        }
 
-	public void setEnabled(boolean enable) {
-		getStateHelper().put(PropertyKeys.enabled, enable);
-	}
+        id.append(context.getViewRoot().getViewId());
+        id.append(NamingContainer.SEPARATOR_CHAR);
+        id.append(getClientId(context));
 
-	@Override
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
+        return id.toString();
+    }
 
-	@Override
-	public void queueEvent(FacesEvent e) {
-		if (e instanceof BehaviorEvent) {
-			hasActiveBehavior = true;
-		}
-		
-		super.queueEvent(e);
-	}
-	
-	/**
-	 * @return the hasActiveBehavior
-	 */
-	public boolean isHasActiveBehavior() {
-		return hasActiveBehavior;
-	}
+    public MethodExpression getEventProducer() {
+        return (MethodExpression) getStateHelper().get(PropertyKeys.eventProducer);
+    }
+
+    public void setEventProducer(MethodExpression producer) {
+        getStateHelper().put(PropertyKeys.eventProducer, producer);
+    }
+
+    /**
+     * @return time in mc for polling interval.
+     */
+    public int getInterval() {
+        return (Integer) getStateHelper().eval(PropertyKeys.interval, 1000);
+    }
+
+    /**
+     * @param interval time in mc for polling interval.
+     */
+    public void setInterval(int interval) {
+        getStateHelper().put(PropertyKeys.interval, interval);
+    }
+
+    public boolean isEnabled() {
+        return Boolean.valueOf(getStateHelper().eval(PropertyKeys.enabled, Boolean.TRUE).toString());
+    }
+
+    public void setEnabled(boolean enable) {
+        getStateHelper().put(PropertyKeys.enabled, enable);
+    }
+
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
+
+    @Override
+    public void queueEvent(FacesEvent e) {
+        if (e instanceof BehaviorEvent) {
+            hasActiveBehavior = true;
+        }
+
+        super.queueEvent(e);
+    }
+
+    /**
+     * @return the hasActiveBehavior
+     */
+    public boolean isHasActiveBehavior() {
+        return hasActiveBehavior;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxFunction.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxFunction.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxFunction.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -9,92 +9,88 @@
 import javax.faces.component.behavior.ClientBehaviorHolder;
 
 public class HtmlAjaxFunction extends UICommand implements ClientBehaviorHolder {
+    public static final String COMPONENT_FAMILY = "javax.faces.Command";
+    public static final String COMPONENT_TYPE = "org.richfaces.Function";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList("begin", "complete",
+            "beforedomupdate")));
 
-	public final static  String COMPONENT_FAMILY = "javax.faces.Command";
+    private static enum PropertyKeys {
+        limitRender, name, onbeforedomupdate, onbegin, oncomplete, execute, render, status
+    }
 
-	public final static  String COMPONENT_TYPE = "org.richfaces.Function";
+    public HtmlAjaxFunction() {
+        setRendererType("org.richfaces.FunctionRenderer");
+    }
 
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(Arrays.asList("begin", "complete", "beforedomupdate"))
-	);
+    public boolean isLimitRender() {
+        return Boolean.parseBoolean(getStateHelper().eval(PropertyKeys.limitRender, Boolean.FALSE).toString());
+    }
 
-	private static enum PropertyKeys {
-		limitRender, name, onbeforedomupdate, onbegin, oncomplete, execute, render, status
-	}
-	
-	public HtmlAjaxFunction() {
-		setRendererType("org.richfaces.FunctionRenderer");
-	}
-	
-	public boolean isLimitRender() {
-		return Boolean.parseBoolean(getStateHelper().eval(PropertyKeys.limitRender, 
-			Boolean.FALSE).toString());
-	}
-	
-	public void setLimitRender(boolean limitRenderValue) {
-		getStateHelper().put(PropertyKeys.limitRender, limitRenderValue);
-	}
-	
-	public String getName() {
-		//TODO required attribute
-		return (String) getStateHelper().eval(PropertyKeys.name);
-	}
-	
-	public void setName(String name) {
-		getStateHelper().put(PropertyKeys.name, name);
-	}
-	
-	public String getOnbegin() {
-		return (String) getStateHelper().eval(PropertyKeys.onbegin);
-	}
-	
-	public void setOnbegin(String onbegin) {
-		getStateHelper().put(PropertyKeys.onbegin, onbegin);
-	}
-	
-	public String getOnbeforedomupdate() {
-		return (String) getStateHelper().eval(PropertyKeys.onbeforedomupdate);
-	}
+    public void setLimitRender(boolean limitRenderValue) {
+        getStateHelper().put(PropertyKeys.limitRender, limitRenderValue);
+    }
 
-	public void setOnbeforedomupdate(String onbeforedomupdate) {
-		getStateHelper().put(PropertyKeys.onbeforedomupdate, onbeforedomupdate);
-	}
+    public String getName() {
 
-	public String getOncomplete() {
-		return (String) getStateHelper().eval(PropertyKeys.oncomplete);
-	}
+        // TODO required attribute
+        return (String) getStateHelper().eval(PropertyKeys.name);
+    }
 
-	public void setOncomplete(String oncomplete) {
-		getStateHelper().put(PropertyKeys.oncomplete, oncomplete);
-	}
+    public void setName(String name) {
+        getStateHelper().put(PropertyKeys.name, name);
+    }
 
-	public Object getExecute() {
-		return getStateHelper().eval(PropertyKeys.execute);
-	}
-	
-	public void setExecute(Object execute) {
-		getStateHelper().put(PropertyKeys.execute, execute);
-	}
-	
-	public Object getRender() {
-		return getStateHelper().eval(PropertyKeys.render);
-	}
+    public String getOnbegin() {
+        return (String) getStateHelper().eval(PropertyKeys.onbegin);
+    }
 
-	public void setRender(Object render) {
-		getStateHelper().put(PropertyKeys.render, render);
-	}
-	
-	public String getStatus() {
-		return (String) getStateHelper().eval(PropertyKeys.status);
-	}
+    public void setOnbegin(String onbegin) {
+        getStateHelper().put(PropertyKeys.onbegin, onbegin);
+    }
 
-	public void setStatus(String status) {
-		getStateHelper().put(PropertyKeys.status, status);
-	}
-	
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
-	
+    public String getOnbeforedomupdate() {
+        return (String) getStateHelper().eval(PropertyKeys.onbeforedomupdate);
+    }
+
+    public void setOnbeforedomupdate(String onbeforedomupdate) {
+        getStateHelper().put(PropertyKeys.onbeforedomupdate, onbeforedomupdate);
+    }
+
+    public String getOncomplete() {
+        return (String) getStateHelper().eval(PropertyKeys.oncomplete);
+    }
+
+    public void setOncomplete(String oncomplete) {
+        getStateHelper().put(PropertyKeys.oncomplete, oncomplete);
+    }
+
+    public Object getExecute() {
+        return getStateHelper().eval(PropertyKeys.execute);
+    }
+
+    public void setExecute(Object execute) {
+        getStateHelper().put(PropertyKeys.execute, execute);
+    }
+
+    public Object getRender() {
+        return getStateHelper().eval(PropertyKeys.render);
+    }
+
+    public void setRender(Object render) {
+        getStateHelper().put(PropertyKeys.render, render);
+    }
+
+    public String getStatus() {
+        return (String) getStateHelper().eval(PropertyKeys.status);
+    }
+
+    public void setStatus(String status) {
+        getStateHelper().put(PropertyKeys.status, status);
+    }
+
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxLog.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxLog.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxLog.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,48 +19,46 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component.html;
 
 /**
  * @author Konstantin Mishin
- * 
+ *
  */
-
 import org.richfaces.component.UIAjaxLog;
 
 public class HtmlAjaxLog extends UIAjaxLog {
+    public static final String COMPONENT_TYPE = "org.richfaces.AjaxLog";
 
-	public final static  String COMPONENT_TYPE = "org.richfaces.AjaxLog";
+    private static enum PropertyKeys {style, level, styleClass}
 
-	private static enum PropertyKeys {
-		style, level, styleClass
-	}
+    public HtmlAjaxLog() {
+        setRendererType("org.richfaces.AjaxLogRenderer");
+    }
 
-	public HtmlAjaxLog(){
-		setRendererType("org.richfaces.AjaxLogRenderer");
-	}
-	
-	public String getStyle() {
-		return (String) getStateHelper().eval(PropertyKeys.style, "");
-	}
+    public String getStyle() {
+        return (String) getStateHelper().eval(PropertyKeys.style, "");
+    }
 
-	public void setStyle(String style) {
-		getStateHelper().put(PropertyKeys.style, style);
-	}
-	
-	public String getLevel() {
-		return (String) getStateHelper().eval(PropertyKeys.level, "");
-	}
+    public void setStyle(String style) {
+        getStateHelper().put(PropertyKeys.style, style);
+    }
 
-	public void setLevel(String level) {
-		getStateHelper().put(PropertyKeys.level, level);
-	}
-	
-	public String getStyleClass() {
-		return (String) getStateHelper().eval(PropertyKeys.styleClass, "");
-	}
+    public String getLevel() {
+        return (String) getStateHelper().eval(PropertyKeys.level, "");
+    }
 
-	public void setStyleClass(String styleClass) {
-		getStateHelper().put(PropertyKeys.styleClass, styleClass);
-	}
+    public void setLevel(String level) {
+        getStateHelper().put(PropertyKeys.level, level);
+    }
+
+    public String getStyleClass() {
+        return (String) getStateHelper().eval(PropertyKeys.styleClass, "");
+    }
+
+    public void setStyleClass(String styleClass) {
+        getStateHelper().put(PropertyKeys.styleClass, styleClass);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxStatus.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxStatus.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlAjaxStatus.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component.html;
 
 import java.util.Arrays;
@@ -32,65 +34,61 @@
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 public class HtmlAjaxStatus extends UIAjaxStatus implements ClientBehaviorHolder {
+    public static final String COMPONENT_FAMILY = "org.richfaces.Status";
+    public static final String COMPONENT_TYPE = "org.richfaces.Status";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList("start", "stop", "error",
+            "success")));
 
-	public static final String COMPONENT_TYPE = "org.richfaces.Status";
+    private static enum PropertyKeys {
+        onstart, onstop, onerror, onsuccess
+    }
 
-	public static final String COMPONENT_FAMILY = "org.richfaces.Status";
-	
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(
-			Arrays.asList("start", "stop", "error", "success"))
-	);
-			
-	private static enum PropertyKeys {
-		onstart, onstop, onerror, onsuccess
-	}
-	
-	public HtmlAjaxStatus() {
-		setRendererType("org.richfaces.StatusRenderer");
-	}
-	
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-	
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
-	
-	public String getOnstart() {
-		return (String) getStateHelper().eval(PropertyKeys.onstart);
-	}
-	
-	public void setOnstart(String onstart) {
-		getStateHelper().put(PropertyKeys.onstart, onstart);
-	}
-	
-	public String getOnstop() {
-		return (String) getStateHelper().eval(PropertyKeys.onstop);
-	}
-	
-	public void setOnstop(String onstop) {
-		getStateHelper().put(PropertyKeys.onstop, onstop);
-	}
-	
-	public String getOnerror() {
-		return (String) getStateHelper().eval(PropertyKeys.onerror);
-	}
-	
-	public void setOnerror(String onerror) {
-		getStateHelper().put(PropertyKeys.onerror, onerror);
-	}
-	
-	public String getOnsuccess() {
-		return (String) getStateHelper().eval(PropertyKeys.onsuccess);
-	}
+    public HtmlAjaxStatus() {
+        setRendererType("org.richfaces.StatusRenderer");
+    }
 
-	public void setOnsuccess(String onsuccess) {
-		getStateHelper().put(PropertyKeys.onsuccess, onsuccess);
-	}
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
+
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
+
+    public String getOnstart() {
+        return (String) getStateHelper().eval(PropertyKeys.onstart);
+    }
+
+    public void setOnstart(String onstart) {
+        getStateHelper().put(PropertyKeys.onstart, onstart);
+    }
+
+    public String getOnstop() {
+        return (String) getStateHelper().eval(PropertyKeys.onstop);
+    }
+
+    public void setOnstop(String onstop) {
+        getStateHelper().put(PropertyKeys.onstop, onstop);
+    }
+
+    public String getOnerror() {
+        return (String) getStateHelper().eval(PropertyKeys.onerror);
+    }
+
+    public void setOnerror(String onerror) {
+        getStateHelper().put(PropertyKeys.onerror, onerror);
+    }
+
+    public String getOnsuccess() {
+        return (String) getStateHelper().eval(PropertyKeys.onsuccess);
+    }
+
+    public void setOnsuccess(String onsuccess) {
+        getStateHelper().put(PropertyKeys.onsuccess, onsuccess);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandButton.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandButton.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandButton.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component.html;
 
 import java.util.Arrays;
@@ -31,57 +33,50 @@
 
 /**
  * @author Konstantin Mishin
- * 
+ *
  */
-
 public class HtmlCommandButton extends UICommand implements ClientBehaviorHolder {
+    public static final String COMPONENT_TYPE = "org.richfaces.CommandButton";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList("click", "mousemove", "dblclick",
+            "keydown", "keypress", "keyup", "mousedown", "mouseout", "mouseover", "mouseup", "action")));
 
-	public final static  String COMPONENT_TYPE = "org.richfaces.CommandButton";
+    private static enum PropertyKeys {style, styleClass, limitRender}
 
-	private static enum PropertyKeys {
-		style, styleClass, limitRender
-	}
+    public HtmlCommandButton() {
+        setRendererType("org.richfaces.CommandButtonRenderer");
+    }
 
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(
-			Arrays.asList("click", "mousemove", "dblclick", "keydown", "keypress",
-				"keyup", "mousedown", "mouseout", "mouseover", "mouseup", "action"))
-	);
-			
-	public HtmlCommandButton(){
-		setRendererType("org.richfaces.CommandButtonRenderer");
-	}
+    public String getStyle() {
+        return (String) getStateHelper().eval(PropertyKeys.style, "");
+    }
 
-	public String getStyle() {
-		return (String) getStateHelper().eval(PropertyKeys.style, "");
-	}
+    public void setStyle(String style) {
+        getStateHelper().put(PropertyKeys.style, style);
+    }
 
-	public void setStyle(String style) {
-		getStateHelper().put(PropertyKeys.style, style);
-	}
+    public String getStyleClass() {
+        return (String) getStateHelper().eval(PropertyKeys.styleClass, "");
+    }
 
-	public String getStyleClass() {
-		return (String) getStateHelper().eval(PropertyKeys.styleClass, "");
-	}
+    public void setStyleClass(String styleClass) {
+        getStateHelper().put(PropertyKeys.styleClass, styleClass);
+    }
 
-	public void setStyleClass(String styleClass) {
-		getStateHelper().put(PropertyKeys.styleClass, styleClass);
-	}
-	
-	public boolean isLimitRender() {
-		return Boolean.valueOf(getStateHelper().eval(PropertyKeys.limitRender, Boolean.FALSE).toString());
-	}
+    public boolean isLimitRender() {
+        return Boolean.valueOf(getStateHelper().eval(PropertyKeys.limitRender, Boolean.FALSE).toString());
+    }
 
-	public void setLimitRender(boolean limitRender) {
-		getStateHelper().put(PropertyKeys.limitRender, limitRender);
-	}
-	
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
-	
-	@Override
+    public void setLimitRender(boolean limitRender) {
+        getStateHelper().put(PropertyKeys.limitRender, limitRender);
+    }
+
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
+
+    @Override
     public String getDefaultEventName() {
         return "action";
     }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandLink.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandLink.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlCommandLink.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component.html;
 
 import java.util.Arrays;
@@ -31,58 +33,50 @@
 
 /**
  * @author Konstantin Mishin
- * 
+ *
  */
+public class HtmlCommandLink extends UICommand implements ClientBehaviorHolder {
+    public static final String COMPONENT_TYPE = "org.richfaces.CommandLink";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList("click", "mousemove", "dblclick",
+            "keydown", "keypress", "keyup", "mousedown", "mouseout", "mouseover", "mouseup", "action")));
 
+    private static enum PropertyKeys {style, styleClass, limitRender}
 
-public class HtmlCommandLink extends UICommand implements ClientBehaviorHolder {
+    public HtmlCommandLink() {
+        setRendererType("org.richfaces.CommandLinkRenderer");
+    }
 
-	public final static String COMPONENT_TYPE = "org.richfaces.CommandLink";
+    public String getStyle() {
+        return (String) getStateHelper().eval(PropertyKeys.style, "");
+    }
 
-	private static enum PropertyKeys {
-		style, styleClass, limitRender
-	}
+    public void setStyle(String style) {
+        getStateHelper().put(PropertyKeys.style, style);
+    }
 
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(
-			Arrays.asList("click", "mousemove", "dblclick", "keydown", "keypress",
-				"keyup", "mousedown", "mouseout", "mouseover", "mouseup", "action"))
-	);
-				
-	public HtmlCommandLink() {
-		setRendererType("org.richfaces.CommandLinkRenderer");
-	}
+    public String getStyleClass() {
+        return (String) getStateHelper().eval(PropertyKeys.styleClass, "");
+    }
 
-	public String getStyle() {
-		return (String) getStateHelper().eval(PropertyKeys.style, "");
-	}
+    public void setStyleClass(String styleClass) {
+        getStateHelper().put(PropertyKeys.styleClass, styleClass);
+    }
 
-	public void setStyle(String style) {
-		getStateHelper().put(PropertyKeys.style, style);
-	}
+    public boolean isLimitRender() {
+        return Boolean.valueOf(getStateHelper().eval(PropertyKeys.limitRender, Boolean.FALSE).toString());
+    }
 
-	public String getStyleClass() {
-		return (String) getStateHelper().eval(PropertyKeys.styleClass, "");
-	}
+    public void setLimitRender(boolean limitRender) {
+        getStateHelper().put(PropertyKeys.limitRender, limitRender);
+    }
 
-	public void setStyleClass(String styleClass) {
-		getStateHelper().put(PropertyKeys.styleClass, styleClass);
-	}
-	
-	public boolean isLimitRender() {
-		return Boolean.valueOf(getStateHelper().eval(PropertyKeys.limitRender, Boolean.FALSE).toString());
-	}
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
 
-	public void setLimitRender(boolean limitRender) {
-		getStateHelper().put(PropertyKeys.limitRender, limitRender);
-	}
-	
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
-	
-	@Override
+    @Override
     public String getDefaultEventName() {
         return "action";
     }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlMediaOutput.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlMediaOutput.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlMediaOutput.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -7,424 +7,417 @@
 import java.util.LinkedHashSet;
 
 import javax.el.MethodExpression;
+
 import javax.faces.component.behavior.ClientBehaviorHolder;
 
 import org.richfaces.component.UIMediaOutput;
 
 public class HtmlMediaOutput extends UIMediaOutput implements ClientBehaviorHolder {
+    public static final String COMPONENT_FAMILY = "org.richfaces.MediaOutput";
+    public static final String COMPONENT_TYPE = "org.richfaces.MediaOutput";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList("click", "mousemove", "dblclick",
+            "keydown", "keypress", "keyup", "mousedown", "mouseout", "mouseover", "mouseup")));
 
-	static public final String COMPONENT_FAMILY = "org.richfaces.MediaOutput";
+    private static enum PropertyKeys {
+        onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout,
+        onmouseover, onmouseup, rel, rev, type, title, target, tabindex, styleClass, vspace, usemap, shape, standby,
+        style, uriAttribute, accesskey, align, archive, border, element, declare, coords, hreflang, hspace, dir,
+        codetype, codebase, charset, classid, lang, mimeType, lastModified, cacheable, createContentExpression, ismap,
+        session, expires
+    }
 
-	static public final String COMPONENT_TYPE = "org.richfaces.MediaOutput";
+    public HtmlMediaOutput() {
+        setRendererType("org.richfaces.MediaOutputRenderer");
+    }
 
-	private static enum PropertyKeys {
-		onblur, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, 
-		onmousemove, onmouseout, onmouseover, onmouseup, rel, rev, type, title, target, 
-		tabindex, styleClass, vspace, usemap, shape, standby, style, uriAttribute, accesskey, 
-		align, archive, border, element, declare, coords, hreflang, hspace, dir, codetype, codebase, 
-		charset, classid, lang, mimeType, lastModified, cacheable, createContentExpression, ismap, 
-		session, expires
-	}
+    public String getAccesskey() {
+        return (String) getStateHelper().eval(PropertyKeys.accesskey);
+    }
 
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(
-			Arrays.asList("click", "mousemove", "dblclick", "keydown", "keypress",
-				"keyup", "mousedown", "mouseout", "mouseover", "mouseup"))
-	);
-					
-	public HtmlMediaOutput() {
-		setRendererType("org.richfaces.MediaOutputRenderer");
-	}
+    public void setAccesskey(String accesskey) {
+        getStateHelper().put(PropertyKeys.accesskey, accesskey);
+    }
 
-	public String getAccesskey() {
-		return (String) getStateHelper().eval(PropertyKeys.accesskey);
-	}
+    public String getAlign() {
+        return (String) getStateHelper().eval(PropertyKeys.align);
+    }
 
-	public void setAccesskey(String accesskey) {
-		getStateHelper().put(PropertyKeys.accesskey, accesskey);
-	}
+    public void setAlign(String align) {
+        getStateHelper().put(PropertyKeys.align, align);
+    }
 
-	public String getAlign() {
-		return (String) getStateHelper().eval(PropertyKeys.align);
-	}
+    public String getArchive() {
+        return (String) getStateHelper().eval(PropertyKeys.archive);
+    }
 
-	public void setAlign(String align) {
-		getStateHelper().put(PropertyKeys.align, align);
-	}
+    public void setArchive(String archive) {
+        getStateHelper().put(PropertyKeys.archive, archive);
+    }
 
-	public String getArchive() {
-		return (String) getStateHelper().eval(PropertyKeys.archive);
-	}
+    public String getBorder() {
+        return (String) getStateHelper().eval(PropertyKeys.border);
+    }
 
-	public void setArchive(String archive) {
-		getStateHelper().put(PropertyKeys.archive, archive);
-	}
+    public void setBorder(String border) {
+        getStateHelper().put(PropertyKeys.border, border);
+    }
 
-	public String getBorder() {
-		return (String) getStateHelper().eval(PropertyKeys.border);
-	}
+    public boolean isCacheable() {
+        return Boolean.parseBoolean(getStateHelper().eval(PropertyKeys.cacheable, Boolean.FALSE).toString());
+    }
 
-	public void setBorder(String border) {
-		getStateHelper().put(PropertyKeys.border, border);
-	}
+    public void setCacheable(boolean cacheable) {
+        getStateHelper().put(PropertyKeys.cacheable, cacheable);
+    }
 
-	public boolean isCacheable() {
-		return Boolean.parseBoolean(getStateHelper().eval(PropertyKeys.cacheable, 
-			Boolean.FALSE).toString());
-	}
+    public String getCharset() {
+        return (String) getStateHelper().eval(PropertyKeys.charset);
+    }
 
-	public void setCacheable(boolean cacheable) {
-		getStateHelper().put(PropertyKeys.cacheable, cacheable);
-	}
+    public void setCharset(String charset) {
+        getStateHelper().put(PropertyKeys.charset, charset);
+    }
 
-	public String getCharset() {
-		return (String) getStateHelper().eval(PropertyKeys.charset);
-	}
+    public String getClassid() {
+        return (String) getStateHelper().eval(PropertyKeys.classid);
+    }
 
-	public void setCharset(String charset) {
-		getStateHelper().put(PropertyKeys.charset, charset);
-	}
+    public void setClassid(String classid) {
+        getStateHelper().put(PropertyKeys.classid, classid);
+    }
 
-	public String getClassid() {
-		return (String) getStateHelper().eval(PropertyKeys.classid);
-	}
+    public String getCodebase() {
+        return (String) getStateHelper().eval(PropertyKeys.codebase);
+    }
 
-	public void setClassid(String classid) {
-		getStateHelper().put(PropertyKeys.classid, classid);
-	}
+    public void setCodebase(String codebase) {
+        getStateHelper().put(PropertyKeys.codebase, codebase);
+    }
 
-	public String getCodebase() {
-		return (String) getStateHelper().eval(PropertyKeys.codebase);
-	}
+    public String getCodetype() {
+        return (String) getStateHelper().eval(PropertyKeys.codetype);
+    }
 
-	public void setCodebase(String codebase) {
-		getStateHelper().put(PropertyKeys.codebase, codebase);
-	}
+    public void setCodetype(String codetype) {
+        getStateHelper().put(PropertyKeys.codetype, codetype);
+    }
 
-	public String getCodetype() {
-		return (String) getStateHelper().eval(PropertyKeys.codetype);
-	}
+    public String getCoords() {
+        return (String) getStateHelper().eval(PropertyKeys.coords);
+    }
 
-	public void setCodetype(String codetype) {
-		getStateHelper().put(PropertyKeys.codetype, codetype);
-	}
+    public void setCoords(String coords) {
+        getStateHelper().put(PropertyKeys.coords, coords);
+    }
 
-	public String getCoords() {
-		return (String) getStateHelper().eval(PropertyKeys.coords);
-	}
+    public MethodExpression getCreateContentExpression() {
+        return (MethodExpression) getStateHelper().get(PropertyKeys.createContentExpression);
+    }
 
-	public void setCoords(String coords) {
-		getStateHelper().put(PropertyKeys.coords, coords);
-	}
+    public void setCreateContentExpression(MethodExpression createContentExpression) {
+        getStateHelper().put(PropertyKeys.createContentExpression, createContentExpression);
+    }
 
-	public MethodExpression getCreateContentExpression() {
-		return (MethodExpression) getStateHelper().get(PropertyKeys.createContentExpression);
-	}
+    public String getDeclare() {
+        return (String) getStateHelper().eval(PropertyKeys.declare);
+    }
 
-	public void setCreateContentExpression(
-			MethodExpression createContentExpression) {
-		getStateHelper().put(PropertyKeys.createContentExpression,
-				createContentExpression);
-	}
+    public void setDeclare(String declare) {
+        getStateHelper().put(PropertyKeys.declare, declare);
+    }
 
-	public String getDeclare() {
-		return (String) getStateHelper().eval(PropertyKeys.declare);
-	}
+    public String getDir() {
+        return (String) getStateHelper().eval(PropertyKeys.dir);
+    }
 
-	public void setDeclare(String declare) {
-		getStateHelper().put(PropertyKeys.declare, declare);
-	}
+    public void setDir(String dir) {
+        getStateHelper().put(PropertyKeys.dir, dir);
+    }
 
-	public String getDir() {
-		return (String) getStateHelper().eval(PropertyKeys.dir);
-	}
+    public String getElement() {
+        return (String) getStateHelper().eval(PropertyKeys.element);
+    }
 
-	public void setDir(String dir) {
-		getStateHelper().put(PropertyKeys.dir, dir);
-	}
+    public void setElement(String element) {
+        getStateHelper().put(PropertyKeys.element, element);
+    }
 
-	public String getElement() {
-		return (String) getStateHelper().eval(PropertyKeys.element);
-	}
+    public Date getExpires() {
+        return (Date) getStateHelper().eval(PropertyKeys.expires);
+    }
 
-	public void setElement(String element) {
-		getStateHelper().put(PropertyKeys.element, element);
-	}
+    public void setExpires(Date expires) {
+        getStateHelper().put(PropertyKeys.expires, expires);
+    }
 
-	public Date getExpires() {
-		return (Date) getStateHelper().eval(PropertyKeys.expires);
-	}
+    public String getHreflang() {
+        return (String) getStateHelper().eval(PropertyKeys.hreflang);
+    }
 
-	public void setExpires(Date expires) {
-		getStateHelper().put(PropertyKeys.expires, expires);
-	}
+    public void setHreflang(String hreflang) {
+        getStateHelper().put(PropertyKeys.hreflang, hreflang);
+    }
 
-	public String getHreflang() {
-		return (String) getStateHelper().eval(PropertyKeys.hreflang);
-	}
+    public String getHspace() {
+        return (String) getStateHelper().eval(PropertyKeys.hspace);
+    }
 
-	public void setHreflang(String hreflang) {
-		getStateHelper().put(PropertyKeys.hreflang, hreflang);
-	}
+    public void setHspace(String hspace) {
+        getStateHelper().put(PropertyKeys.hspace, hspace);
+    }
 
-	public String getHspace() {
-		return (String) getStateHelper().eval(PropertyKeys.hspace);
-	}
+    public boolean isIsmap() {
+        return Boolean.parseBoolean(getStateHelper().eval(PropertyKeys.ismap, Boolean.FALSE).toString());
+    }
 
-	public void setHspace(String hspace) {
-		getStateHelper().put(PropertyKeys.hspace, hspace);
-	}
+    public void setIsmap(boolean ismap) {
+        getStateHelper().put(PropertyKeys.ismap, ismap);
+    }
 
-	public boolean isIsmap() {
-		return Boolean.parseBoolean(getStateHelper().eval(PropertyKeys.ismap, Boolean.FALSE).toString());
-	}
+    public String getLang() {
+        return (String) getStateHelper().eval(PropertyKeys.lang);
+    }
 
-	public void setIsmap(boolean ismap) {
-		getStateHelper().put(PropertyKeys.ismap, ismap);
-	}
+    public void setLang(String lang) {
+        getStateHelper().put(PropertyKeys.lang, lang);
+    }
 
-	public String getLang() {
-		return (String) getStateHelper().eval(PropertyKeys.lang);
-	}
+    public Date getLastModified() {
+        return (Date) getStateHelper().eval(PropertyKeys.lastModified);
+    }
 
-	public void setLang(String lang) {
-		getStateHelper().put(PropertyKeys.lang, lang);
-	}
+    public void setLastModified(Date lastModified) {
+        getStateHelper().put(PropertyKeys.lastModified, lastModified);
+    }
 
-	public Date getLastModified() {
-		return (Date) getStateHelper().eval(PropertyKeys.lastModified);
-	}
+    public String getMimeType() {
+        return (String) getStateHelper().eval(PropertyKeys.mimeType);
+    }
 
-	public void setLastModified(Date lastModified) {
-		getStateHelper().put(PropertyKeys.lastModified, lastModified);
-	}
+    public void setMimeType(String mimeType) {
+        getStateHelper().put(PropertyKeys.mimeType, mimeType);
+    }
 
-	public String getMimeType() {
-		return (String) getStateHelper().eval(PropertyKeys.mimeType);
-	}
+    public String getOnblur() {
+        return (String) getStateHelper().eval(PropertyKeys.onblur);
+    }
 
-	public void setMimeType(String mimeType) {
-		getStateHelper().put(PropertyKeys.mimeType, mimeType);
-	}
+    public void setOnblur(String onblur) {
+        getStateHelper().put(PropertyKeys.onblur, onblur);
+    }
 
-	public String getOnblur() {
-		return (String) getStateHelper().eval(PropertyKeys.onblur);
-	}
+    public String getOnclick() {
+        return (String) getStateHelper().eval(PropertyKeys.onclick);
+    }
 
-	public void setOnblur(String onblur) {
-		getStateHelper().put(PropertyKeys.onblur, onblur);
-	}
+    public void setOnclick(String onclick) {
+        getStateHelper().put(PropertyKeys.onclick, onclick);
+    }
 
-	public String getOnclick() {
-		return (String) getStateHelper().eval(PropertyKeys.onclick);
-	}
+    public String getOndblclick() {
+        return (String) getStateHelper().eval(PropertyKeys.ondblclick);
+    }
 
-	public void setOnclick(String onclick) {
-		getStateHelper().put(PropertyKeys.onclick, onclick);
-	}
+    public void setOndblclick(String ondblclick) {
+        getStateHelper().put(PropertyKeys.ondblclick, ondblclick);
+    }
 
-	public String getOndblclick() {
-		return (String) getStateHelper().eval(PropertyKeys.ondblclick);
-	}
+    public String getOnfocus() {
+        return (String) getStateHelper().eval(PropertyKeys.onfocus);
+    }
 
-	public void setOndblclick(String ondblclick) {
-		getStateHelper().put(PropertyKeys.ondblclick, ondblclick);
-	}
+    public void setOnfocus(String onfocus) {
+        getStateHelper().put(PropertyKeys.onfocus, onfocus);
+    }
 
-	public String getOnfocus() {
-		return (String) getStateHelper().eval(PropertyKeys.onfocus);
-	}
+    public String getOnkeydown() {
+        return (String) getStateHelper().eval(PropertyKeys.onkeydown);
+    }
 
-	public void setOnfocus(String onfocus) {
-		getStateHelper().put(PropertyKeys.onfocus, onfocus);
-	}
+    public void setOnkeydown(String onkeydown) {
+        getStateHelper().put(PropertyKeys.onkeydown, onkeydown);
+    }
 
-	public String getOnkeydown() {
-		return (String) getStateHelper().eval(PropertyKeys.onkeydown);
-	}
+    public String getOnkeypress() {
+        return (String) getStateHelper().eval(PropertyKeys.onkeypress);
+    }
 
-	public void setOnkeydown(String onkeydown) {
-		getStateHelper().put(PropertyKeys.onkeydown, onkeydown);
-	}
+    public void setOnkeypress(String onkeypress) {
+        getStateHelper().put(PropertyKeys.onkeypress, onkeypress);
+    }
 
-	public String getOnkeypress() {
-		return (String) getStateHelper().eval(PropertyKeys.onkeypress);
-	}
+    public String getOnkeyup() {
+        return (String) getStateHelper().eval(PropertyKeys.onkeyup);
+    }
 
-	public void setOnkeypress(String onkeypress) {
-		getStateHelper().put(PropertyKeys.onkeypress, onkeypress);
-	}
+    public void setOnkeyup(String onkeyup) {
+        getStateHelper().put(PropertyKeys.onkeyup, onkeyup);
+    }
 
-	public String getOnkeyup() {
-		return (String) getStateHelper().eval(PropertyKeys.onkeyup);
-	}
+    public String getOnmousedown() {
+        return (String) getStateHelper().eval(PropertyKeys.onmousedown);
+    }
 
-	public void setOnkeyup(String onkeyup) {
-		getStateHelper().put(PropertyKeys.onkeyup, onkeyup);
-	}
+    public void setOnmousedown(String onmousedown) {
+        getStateHelper().put(PropertyKeys.onmousedown, onmousedown);
+    }
 
-	public String getOnmousedown() {
-		return (String) getStateHelper().eval(PropertyKeys.onmousedown);
-	}
+    public String getOnmousemove() {
+        return (String) getStateHelper().eval(PropertyKeys.onmousemove);
+    }
 
-	public void setOnmousedown(String onmousedown) {
-		getStateHelper().put(PropertyKeys.onmousedown, onmousedown);
-	}
+    public void setOnmousemove(String onmousemove) {
+        getStateHelper().put(PropertyKeys.onmousemove, onmousemove);
+    }
 
-	public String getOnmousemove() {
-		return (String) getStateHelper().eval(PropertyKeys.onmousemove);
-	}
+    public String getOnmouseout() {
+        return (String) getStateHelper().eval(PropertyKeys.onmouseout);
+    }
 
-	public void setOnmousemove(String onmousemove) {
-		getStateHelper().put(PropertyKeys.onmousemove, onmousemove);
-	}
+    public void setOnmouseout(String onmouseout) {
+        getStateHelper().put(PropertyKeys.onmouseout, onmouseout);
+    }
 
-	public String getOnmouseout() {
-		return (String) getStateHelper().eval(PropertyKeys.onmouseout);
-	}
+    public String getOnmouseover() {
+        return (String) getStateHelper().eval(PropertyKeys.onmouseover);
+    }
 
-	public void setOnmouseout(String onmouseout) {
-		getStateHelper().put(PropertyKeys.onmouseout, onmouseout);
-	}
+    public void setOnmouseover(String onmouseover) {
+        getStateHelper().put(PropertyKeys.onmouseover, onmouseover);
+    }
 
-	public String getOnmouseover() {
-		return (String) getStateHelper().eval(PropertyKeys.onmouseover);
-	}
+    public String getOnmouseup() {
+        return (String) getStateHelper().eval(PropertyKeys.onmouseup);
+    }
 
-	public void setOnmouseover(String onmouseover) {
-		getStateHelper().put(PropertyKeys.onmouseover, onmouseover);
-	}
+    public void setOnmouseup(String onmouseup) {
+        getStateHelper().put(PropertyKeys.onmouseup, onmouseup);
+    }
 
-	public String getOnmouseup() {
-		return (String) getStateHelper().eval(PropertyKeys.onmouseup);
-	}
+    public String getRel() {
+        return (String) getStateHelper().eval(PropertyKeys.rel);
+    }
 
-	public void setOnmouseup(String onmouseup) {
-		getStateHelper().put(PropertyKeys.onmouseup, onmouseup);
-	}
+    public void setRel(String rel) {
+        getStateHelper().put(PropertyKeys.rel, rel);
+    }
 
-	public String getRel() {
-		return (String) getStateHelper().eval(PropertyKeys.rel);
-	}
+    public String getRev() {
+        return (String) getStateHelper().eval(PropertyKeys.rev);
+    }
 
-	public void setRel(String rel) {
-		getStateHelper().put(PropertyKeys.rel, rel);
-	}
+    public void setRev(String rev) {
+        getStateHelper().put(PropertyKeys.rev, rev);
+    }
 
-	public String getRev() {
-		return (String) getStateHelper().eval(PropertyKeys.rev);
-	}
+    @Deprecated
+    public boolean isSession() {
+        return true;
+    }
 
-	public void setRev(String rev) {
-		getStateHelper().put(PropertyKeys.rev, rev);
-	}
+    @Deprecated
+    public void setSession(boolean session) {
+        if (!session) {
 
-	@Deprecated
-	public boolean isSession() {
-		return true;
-	}
+            // TODO: log
+        }
+    }
 
-	@Deprecated
-	public void setSession(boolean session) {
-		if (!session) {
-			//TODO: log
-		}
-	}
+    public String getShape() {
+        return (String) getStateHelper().eval(PropertyKeys.shape);
+    }
 
-	public String getShape() {
-		return (String) getStateHelper().eval(PropertyKeys.shape);
-	}
+    public void setShape(String shape) {
+        getStateHelper().put(PropertyKeys.shape, shape);
+    }
 
-	public void setShape(String shape) {
-		getStateHelper().put(PropertyKeys.shape, shape);
-	}
+    public String getStandby() {
+        return (String) getStateHelper().eval(PropertyKeys.standby);
+    }
 
-	public String getStandby() {
-		return (String) getStateHelper().eval(PropertyKeys.standby);
-	}
+    public void setStandby(String standby) {
+        getStateHelper().put(PropertyKeys.standby, standby);
+    }
 
-	public void setStandby(String standby) {
-		getStateHelper().put(PropertyKeys.standby, standby);
-	}
+    public String getStyle() {
+        return (String) getStateHelper().eval(PropertyKeys.style);
+    }
 
-	public String getStyle() {
-		return (String) getStateHelper().eval(PropertyKeys.style);
-	}
+    public void setStyle(String style) {
+        getStateHelper().put(PropertyKeys.style, style);
+    }
 
-	public void setStyle(String style) {
-		getStateHelper().put(PropertyKeys.style, style);
-	}
+    public String getStyleClass() {
+        return (String) getStateHelper().eval(PropertyKeys.styleClass);
+    }
 
-	public String getStyleClass() {
-		return (String) getStateHelper().eval(PropertyKeys.styleClass);
-	}
+    public void setStyleClass(String styleClass) {
+        getStateHelper().put(PropertyKeys.styleClass, styleClass);
+    }
 
-	public void setStyleClass(String styleClass) {
-		getStateHelper().put(PropertyKeys.styleClass, styleClass);
-	}
+    public String getTabindex() {
+        return (String) getStateHelper().eval(PropertyKeys.tabindex);
+    }
 
-	public String getTabindex() {
-		return (String) getStateHelper().eval(PropertyKeys.tabindex);
-	}
+    public void setTabindex(String tabindex) {
+        getStateHelper().put(PropertyKeys.tabindex, tabindex);
+    }
 
-	public void setTabindex(String tabindex) {
-		getStateHelper().put(PropertyKeys.tabindex, tabindex);
-	}
+    public String getTarget() {
+        return (String) getStateHelper().eval(PropertyKeys.target);
+    }
 
-	public String getTarget() {
-		return (String) getStateHelper().eval(PropertyKeys.target);
-	}
+    public void setTarget(String target) {
+        getStateHelper().put(PropertyKeys.target, target);
+    }
 
-	public void setTarget(String target) {
-		getStateHelper().put(PropertyKeys.target, target);
-	}
+    public String getTitle() {
+        return (String) getStateHelper().eval(PropertyKeys.title);
+    }
 
-	public String getTitle() {
-		return (String) getStateHelper().eval(PropertyKeys.title);
-	}
+    public void setTitle(String title) {
+        getStateHelper().put(PropertyKeys.title, title);
+    }
 
-	public void setTitle(String title) {
-		getStateHelper().put(PropertyKeys.title, title);
-	}
+    public String getType() {
+        return (String) getStateHelper().eval(PropertyKeys.type);
+    }
 
-	public String getType() {
-		return (String) getStateHelper().eval(PropertyKeys.type);
-	}
+    public void setType(String type) {
+        getStateHelper().put(PropertyKeys.type, type);
+    }
 
-	public void setType(String type) {
-		getStateHelper().put(PropertyKeys.type, type);
-	}
+    public String getUriAttribute() {
+        return (String) getStateHelper().eval(PropertyKeys.uriAttribute);
+    }
 
-	public String getUriAttribute() {
-		return (String) getStateHelper().eval(PropertyKeys.uriAttribute);
-	}
+    public void setUriAttribute(String uriAttribute) {
+        getStateHelper().put(PropertyKeys.uriAttribute, uriAttribute);
+    }
 
-	public void setUriAttribute(String uriAttribute) {
-		getStateHelper().put(PropertyKeys.uriAttribute, uriAttribute);
-	}
+    public String getUsemap() {
+        return (String) getStateHelper().eval(PropertyKeys.usemap);
+    }
 
-	public String getUsemap() {
-		return (String) getStateHelper().eval(PropertyKeys.usemap);
-	}
+    public void setUsemap(String usemap) {
+        getStateHelper().put(PropertyKeys.usemap, usemap);
+    }
 
-	public void setUsemap(String usemap) {
-		getStateHelper().put(PropertyKeys.usemap, usemap);
-	}
+    public String getVspace() {
+        return (String) getStateHelper().eval(PropertyKeys.vspace);
+    }
 
-	public String getVspace() {
-		return (String) getStateHelper().eval(PropertyKeys.vspace);
-	}
+    public void setVspace(String vspace) {
+        getStateHelper().put(PropertyKeys.vspace, vspace);
+    }
 
-	public void setVspace(String vspace) {
-		getStateHelper().put(PropertyKeys.vspace, vspace);
-	}
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-	
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlOutputPanel.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlOutputPanel.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlOutputPanel.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -10,161 +10,157 @@
 import org.richfaces.component.UIAjaxOutputPanel;
 
 public class HtmlOutputPanel extends UIAjaxOutputPanel implements ClientBehaviorHolder {
+    public static final String COMPONENT_FAMILY = "javax.faces.Panel";
+    public static final String COMPONENT_TYPE = "org.richfaces.OutputPanel";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList("click", "mousemove", "dblclick",
+            "keydown", "keypress", "keyup", "mousedown", "mouseout", "mouseover", "mouseup")));
 
-	static final public String COMPONENT_FAMILY = "javax.faces.Panel";
+    private static enum PropertyKeys {
+        dir, lang, layout, onclick, onmousemove, ondblclick, onkeydown, onkeypress, onkeyup, onmousedown, title, style,
+        onmouseout, onmouseover, onmouseup, styleClass
+    }
 
-	static final public String COMPONENT_TYPE = "org.richfaces.OutputPanel";
+    public HtmlOutputPanel() {
+        super();
+        setRendererType("org.richfaces.OutputPanelRenderer");
+    }
 
-	private static enum PropertyKeys {
-		dir, lang, layout, onclick, onmousemove, ondblclick, onkeydown, onkeypress, 
-		onkeyup, onmousedown, title, style, onmouseout, onmouseover, onmouseup, styleClass
-	}
+    public String getDir() {
+        return (String) getStateHelper().eval(PropertyKeys.dir);
+    }
 
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(
-			Arrays.asList("click", "mousemove", "dblclick", "keydown", "keypress",
-				"keyup", "mousedown", "mouseout", "mouseover", "mouseup"))
-	);
-	
-	public HtmlOutputPanel() {
-		super();
-		setRendererType("org.richfaces.OutputPanelRenderer");
-	}
+    public void setDir(String dir) {
+        getStateHelper().put(PropertyKeys.dir, dir);
+    }
 
-	public String getDir() {
-		return (String) getStateHelper().eval(PropertyKeys.dir);
-	}
+    public String getLang() {
+        return (String) getStateHelper().eval(PropertyKeys.lang);
+    }
 
-	public void setDir(String dir) {
-		getStateHelper().put(PropertyKeys.dir, dir);
-	}
+    public void setLang(String lang) {
+        getStateHelper().put(PropertyKeys.lang, lang);
+    }
 
-	public String getLang() {
-		return (String) getStateHelper().eval(PropertyKeys.lang);
-	}
+    public String getLayout() {
+        return (String) getStateHelper().eval(PropertyKeys.layout, "inline");
+    }
 
-	public void setLang(String lang) {
-		getStateHelper().put(PropertyKeys.lang, lang);
-	}
+    public void setLayout(String layout) {
+        getStateHelper().put(PropertyKeys.layout, layout);
+    }
 
-	public String getLayout() {
-		return (String) getStateHelper().eval(PropertyKeys.layout, "inline");
-	}
+    public String getOnclick() {
+        return (String) getStateHelper().eval(PropertyKeys.onclick);
+    }
 
-	public void setLayout(String layout) {
-		getStateHelper().put(PropertyKeys.layout, layout);
-	}
+    public void setOnclick(String onclick) {
+        getStateHelper().put(PropertyKeys.onclick, onclick);
+    }
 
-	public String getOnclick() {
-		return (String) getStateHelper().eval(PropertyKeys.onclick);
-	}
+    public String getOndblclick() {
+        return (String) getStateHelper().eval(PropertyKeys.ondblclick);
+    }
 
-	public void setOnclick(String onclick) {
-		getStateHelper().put(PropertyKeys.onclick, onclick);
-	}
+    public void setOndblclick(String ondblclick) {
+        getStateHelper().put(PropertyKeys.ondblclick, ondblclick);
+    }
 
-	public String getOndblclick() {
-		return (String) getStateHelper().eval(PropertyKeys.ondblclick);
-	}
+    public String getOnkeydown() {
+        return (String) getStateHelper().eval(PropertyKeys.onkeydown);
+    }
 
-	public void setOndblclick(String ondblclick) {
-		getStateHelper().put(PropertyKeys.ondblclick, ondblclick);
-	}
+    public void setOnkeydown(String onkeydown) {
+        getStateHelper().put(PropertyKeys.onkeydown, onkeydown);
+    }
 
-	public String getOnkeydown() {
-		return (String) getStateHelper().eval(PropertyKeys.onkeydown);
-	}
+    public String getOnkeypress() {
+        return (String) getStateHelper().eval(PropertyKeys.onkeypress);
+    }
 
-	public void setOnkeydown(String onkeydown) {
-		getStateHelper().put(PropertyKeys.onkeydown, onkeydown);
-	}
+    public void setOnkeypress(String onkeypress) {
+        getStateHelper().put(PropertyKeys.onkeypress, onkeypress);
+    }
 
-	public String getOnkeypress() {
-		return (String) getStateHelper().eval(PropertyKeys.onkeypress);
-	}
+    public String getOnkeyup() {
+        return (String) getStateHelper().eval(PropertyKeys.onkeyup);
+    }
 
-	public void setOnkeypress(String onkeypress) {
-		getStateHelper().put(PropertyKeys.onkeypress, onkeypress);
-	}
+    public void setOnkeyup(String onkeyup) {
+        getStateHelper().put(PropertyKeys.onkeyup, onkeyup);
+    }
 
-	public String getOnkeyup() {
-		return (String) getStateHelper().eval(PropertyKeys.onkeyup);
-	}
+    public String getOnmousedown() {
+        return (String) getStateHelper().eval(PropertyKeys.onmousedown);
+    }
 
-	public void setOnkeyup(String onkeyup) {
-		getStateHelper().put(PropertyKeys.onkeyup, onkeyup);
-	}
+    public void setOnmousedown(String onmousedown) {
+        getStateHelper().put(PropertyKeys.onmousedown, onmousedown);
+    }
 
-	public String getOnmousedown() {
-		return (String) getStateHelper().eval(PropertyKeys.onmousedown);
-	}
+    public String getOnmousemove() {
+        return (String) getStateHelper().eval(PropertyKeys.onmousemove);
+    }
 
-	public void setOnmousedown(String onmousedown) {
-		getStateHelper().put(PropertyKeys.onmousedown, onmousedown);
-	}
+    public void setOnmousemove(String onmousemove) {
+        getStateHelper().put(PropertyKeys.onmousemove, onmousemove);
+    }
 
-	public String getOnmousemove() {
-		return (String) getStateHelper().eval(PropertyKeys.onmousemove);
-	}
+    public String getOnmouseout() {
+        return (String) getStateHelper().eval(PropertyKeys.onmouseout);
+    }
 
-	public void setOnmousemove(String onmousemove) {
-		getStateHelper().put(PropertyKeys.onmousemove, onmousemove);
-	}
+    public void setOnmouseout(String onmouseout) {
+        getStateHelper().put(PropertyKeys.onmouseout, onmouseout);
+    }
 
-	public String getOnmouseout() {
-		return (String) getStateHelper().eval(PropertyKeys.onmouseout);
-	}
+    public String getOnmouseover() {
+        return (String) getStateHelper().eval(PropertyKeys.onmouseover);
+    }
 
-	public void setOnmouseout(String onmouseout) {
-		getStateHelper().put(PropertyKeys.onmouseout, onmouseout);
-	}
+    public void setOnmouseover(String onmouseover) {
+        getStateHelper().put(PropertyKeys.onmouseover, onmouseover);
+    }
 
-	public String getOnmouseover() {
-		return (String) getStateHelper().eval(PropertyKeys.onmouseover);
-	}
+    public String getOnmouseup() {
+        return (String) getStateHelper().eval(PropertyKeys.onmouseup);
+    }
 
-	public void setOnmouseover(String onmouseover) {
-		getStateHelper().put(PropertyKeys.onmouseover, onmouseover);
-	}
+    public void setOnmouseup(String onmouseup) {
+        getStateHelper().put(PropertyKeys.onmouseup, onmouseup);
+    }
 
-	public String getOnmouseup() {
-		return (String) getStateHelper().eval(PropertyKeys.onmouseup);
-	}
+    public String getStyle() {
+        return (String) getStateHelper().eval(PropertyKeys.style);
+    }
 
-	public void setOnmouseup(String onmouseup) {
-		getStateHelper().put(PropertyKeys.onmouseup, onmouseup);
-	}
+    public void setStyle(String style) {
+        getStateHelper().put(PropertyKeys.style, style);
+    }
 
-	public String getStyle() {
-		return (String) getStateHelper().eval(PropertyKeys.style);
-	}
+    public String getStyleClass() {
+        return (String) getStateHelper().eval(PropertyKeys.styleClass);
+    }
 
-	public void setStyle(String style) {
-		getStateHelper().put(PropertyKeys.style, style);
-	}
+    public void setStyleClass(String styleClass) {
+        getStateHelper().put(PropertyKeys.styleClass, styleClass);
+    }
 
-	public String getStyleClass() {
-		return (String) getStateHelper().eval(PropertyKeys.styleClass);
-	}
+    public String getTitle() {
+        return (String) getStateHelper().eval(PropertyKeys.title);
+    }
 
-	public void setStyleClass(String styleClass) {
-		getStateHelper().put(PropertyKeys.styleClass, styleClass);
-	}
+    public void setTitle(String title) {
+        getStateHelper().put(PropertyKeys.title, title);
+    }
 
-	public String getTitle() {
-		return (String) getStateHelper().eval(PropertyKeys.title);
-	}
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 
-	public void setTitle(String title) {
-		getStateHelper().put(PropertyKeys.title, title);
-	}
-
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlPush.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlPush.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/html/HtmlPush.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,13 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.component.html;
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -36,69 +37,66 @@
 import org.richfaces.component.UIPush;
 
 public class HtmlPush extends UIPush implements ClientBehaviorHolder {
+    public static final String COMPONENT_FAMILY = "org.richfaces.Push";
+    public static final String COMPONENT_TYPE = "org.richfaces.Push";
+    public static final String DATA_AVAILABLE = "dataAvailable";
+    public static final String ON_DATA_AVAILABLE = "ondataavailable";
+    private static final Collection<String> EVENT_NAMES =
+        Collections.unmodifiableCollection(new LinkedHashSet<String>(Arrays.asList(DATA_AVAILABLE, "begin",
+            "beforedomupdate", "complete")));
 
-	public final static String COMPONENT_FAMILY = "org.richfaces.Push";
+    private static enum PropertyKeys {
+        ondataavailable, onbegin, onbeforedomupdate, oncomplete
+    }
 
-	public final static String COMPONENT_TYPE = "org.richfaces.Push";
+    public HtmlPush() {
+        setRendererType("org.richfaces.PushRenderer");
+    }
 
-	public static final String ON_DATA_AVAILABLE = "ondataavailable";
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 
-	public static final String DATA_AVAILABLE = "dataAvailable";
+    @Override
+    public String getDefaultEventName() {
+        return DATA_AVAILABLE;
+    }
 
-	private static final Collection<String> EVENT_NAMES = Collections.unmodifiableCollection(
-		new LinkedHashSet<String>(Arrays.asList(DATA_AVAILABLE, "begin", "beforedomupdate", "complete")));	
+    @Override
+    public Collection<String> getEventNames() {
+        return EVENT_NAMES;
+    }
 
-	private static enum PropertyKeys {
-		ondataavailable, onbegin, onbeforedomupdate, oncomplete
-	}
-	
-	public HtmlPush(){
-		setRendererType("org.richfaces.PushRenderer");
-	}
+    public String getOndataavailable() {
+        return (String) getStateHelper().eval(PropertyKeys.ondataavailable);
+    }
 
-	public String getFamily(){
-		return COMPONENT_FAMILY;
-	}
+    public void setOndataavailable(String ondataavailable) {
+        getStateHelper().put(PropertyKeys.ondataavailable, ondataavailable);
+    }
 
-	@Override
-	public String getDefaultEventName() {
-		return DATA_AVAILABLE;
-	}
+    public String getOnbegin() {
+        return (String) getStateHelper().eval(PropertyKeys.onbegin);
+    }
 
-	@Override
-	public Collection<String> getEventNames() {
-		return EVENT_NAMES;
-	}
+    public void setOnbegin(String onbegin) {
+        getStateHelper().put(PropertyKeys.onbegin, onbegin);
+    }
 
-	public String getOndataavailable() {
-		return (String) getStateHelper().eval(PropertyKeys.ondataavailable);
-	}
-	
-	public void setOndataavailable(String ondataavailable) {
-		getStateHelper().put(PropertyKeys.ondataavailable, ondataavailable);
-	}
-	
-	public String getOnbegin() {
-		return (String) getStateHelper().eval(PropertyKeys.onbegin);
-	}
-	
-	public void setOnbegin(String onbegin) {
-		getStateHelper().put(PropertyKeys.onbegin, onbegin);
-	}
-	
-	public String getOnbeforedomupdate() {
-		return (String) getStateHelper().eval(PropertyKeys.onbeforedomupdate);
-	}
-	
-	public void setOnbeforedomupdate(String onbeforedomupdate) {
-		getStateHelper().put(PropertyKeys.onbeforedomupdate, onbeforedomupdate);
-	}
-	
-	public String getOncomplete() {
-		return (String) getStateHelper().eval(PropertyKeys.oncomplete);
-	}
-	
-	public void setOncomplete(String oncomplete) {
-		getStateHelper().put(PropertyKeys.oncomplete, oncomplete);
-	}
+    public String getOnbeforedomupdate() {
+        return (String) getStateHelper().eval(PropertyKeys.onbeforedomupdate);
+    }
+
+    public void setOnbeforedomupdate(String onbeforedomupdate) {
+        getStateHelper().put(PropertyKeys.onbeforedomupdate, onbeforedomupdate);
+    }
+
+    public String getOncomplete() {
+        return (String) getStateHelper().eval(PropertyKeys.oncomplete);
+    }
+
+    public void setOncomplete(String oncomplete) {
+        getStateHelper().put(PropertyKeys.oncomplete, oncomplete);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/package-info.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/package-info.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/package-info.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,3 +1,4 @@
+
 /**
  * Fundamental APIs for user interface components
  */

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxCommandRendererBase.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxCommandRendererBase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxCommandRendererBase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.renderkit;
 
 import static org.ajax4jsf.renderkit.AjaxRendererUtils.AJAX_FUNCTION_NAME;
@@ -37,118 +39,125 @@
 import org.ajax4jsf.renderkit.AjaxEventOptions;
 import org.ajax4jsf.renderkit.HandlersChain;
 import org.ajax4jsf.renderkit.RendererBase;
+
 import org.richfaces.log.RichfacesLogger;
+
 import org.slf4j.Logger;
 
 /**
  * @author asmirnov at exadel.com (latest modification by $Author: alexsmirnov $)
  * @version $Revision: 1.1.2.3 $ $Date: 2007/02/12 17:46:53 $
- * 
+ *
  */
- at ResourceDependencies({
-	@ResourceDependency(library = "javax.faces", name = "jsf.js"),
-	@ResourceDependency(name = "jquery.js"),
-	@ResourceDependency(name = "richfaces.js")
-})
+ at ResourceDependencies({@ResourceDependency(library = "javax.faces", name = "jsf.js") ,
+                       @ResourceDependency(name = "jquery.js") , @ResourceDependency(name = "richfaces.js") })
 public abstract class AjaxCommandRendererBase extends RendererBase {
+    private static final Logger LOG = RichfacesLogger.RENDERKIT.getLogger();
 
-	private static final Logger _log = RichfacesLogger.RENDERKIT.getLogger();
+    @Override
+    protected void doDecode(FacesContext facesContext, UIComponent uiComponent) {
+        if (isSubmitted(facesContext, uiComponent)) {
+            new ActionEvent(uiComponent).queue();
+        }
+    }
 
-	protected void doDecode(FacesContext facesContext, UIComponent uiComponent) {
-		if (isSubmitted(facesContext, uiComponent)) {
-			new ActionEvent(uiComponent).queue();
-		}
-	}
+    protected boolean isSubmitted(FacesContext facesContext, UIComponent uiComponent) {
+        if (getUtils().isBooleanAttribute(uiComponent, "disabled")) {
+            return false;
+        }
 
-	protected boolean isSubmitted(FacesContext facesContext,
-			UIComponent uiComponent) {
-		if (getUtils().isBooleanAttribute(uiComponent, "disabled")) {
-			return false;
-		}
-		String clientId = uiComponent.getClientId(facesContext);
-		Map<String, String> paramMap = facesContext.getExternalContext()
-				.getRequestParameterMap();
-		Object value = paramMap.get(clientId);
-		boolean submitted = null != value;
-		if (submitted && _log.isDebugEnabled()) {
-			_log.debug("Decode submit of the Ajax component " + clientId);
-		}
-		return submitted;
-	}
-	
-	public String getOnClick(FacesContext context, UIComponent component) {
-		StringBuffer onClick = new StringBuffer();
-		if (!getUtils().isBooleanAttribute(component, "disabled")) {
-			HandlersChain handlersChain = new HandlersChain(component);
-			handlersChain.addInlineHandlerFromAttribute(context, "onclick");
-			handlersChain.addBehaviors(context, "click", "action");
-			if(!handlersChain.hasSubmittingBehavior()) {
-				JSFunction ajaxFunction = buildAjaxFunction(context, component, AJAX_FUNCTION_NAME);
-				AjaxEventOptions eventOptions = buildEventOptions(context, component);
-				if (!eventOptions.isEmpty()) {
-					ajaxFunction.addParameter(eventOptions);
-				}
-				handlersChain.addInlineHandlerAsValue(context, ajaxFunction.toScript());
-			}
-			
-			String handlerScript = handlersChain.toScript();
-			if (handlerScript != null) {
-				onClick.append(handlerScript);
-			}
-			
-			if (!"reset".equals(component.getAttributes().get("type"))) {
-				onClick.append(";return false;");
-			}
-		} else {
-			onClick.append("return false;");
-		}
-		return onClick.toString();
-	}
-	 
-/*	public String getStringValue(UIComponent component) {
-		Object value = getValue(component);
-		return convertToString(value);
-	}
-	
-	protected String convertToString(Object obj ) {
-		return ( obj == null ? "" : obj.toString() );
-	}
-	
-	protected String convertToString(boolean b ) {
-		return String.valueOf(b);
-	}
-	
-	protected String convertToString(int b ) {
-		return b!=Integer.MIN_VALUE?String.valueOf(b):"";
-	}
-	
-	protected String convertToString(long b ) {
-		return b!=Long.MIN_VALUE?String.valueOf(b):"";
-	}
+        String clientId = uiComponent.getClientId(facesContext);
+        Map<String, String> paramMap = facesContext.getExternalContext().getRequestParameterMap();
+        Object value = paramMap.get(clientId);
+        boolean submitted = null != value;
 
-	public void encodeChildren(FacesContext context, UIComponent component)
-			throws IOException {
-		renderChildren(context, component);
-	} 
+        if (submitted && LOG.isDebugEnabled()) {
+            LOG.debug("Decode submit of the Ajax component " + clientId);
+        }
 
-	public Object getValue(UIComponent component) {
-		if (component instanceof ValueHolder) {
-			return ((ValueHolder) component).getValue();
-		}
-		return component.getAttributes().get("value");
-	}
+        return submitted;
+    }
 
+    public String getOnClick(FacesContext context, UIComponent component) {
+        StringBuffer onClick = new StringBuffer();
 
-	public String getType(UIComponent uiComponent) {
-		String type;
-		if (uiComponent instanceof HtmlCommandButton) {
-			type = ((HtmlCommandButton) uiComponent).getType();
-		} else {
-			type = (String) uiComponent.getAttributes().get("type");
-		}
-		if (type == null) {
-			type = "button";
-		}
-		return type;
-	}*/
+        if (!getUtils().isBooleanAttribute(component, "disabled")) {
+            HandlersChain handlersChain = new HandlersChain(component);
+
+            handlersChain.addInlineHandlerFromAttribute(context, "onclick");
+            handlersChain.addBehaviors(context, "click", "action");
+
+            if (!handlersChain.hasSubmittingBehavior()) {
+                JSFunction ajaxFunction = buildAjaxFunction(context, component, AJAX_FUNCTION_NAME);
+                AjaxEventOptions eventOptions = buildEventOptions(context, component);
+
+                if (!eventOptions.isEmpty()) {
+                    ajaxFunction.addParameter(eventOptions);
+                }
+
+                handlersChain.addInlineHandlerAsValue(context, ajaxFunction.toScript());
+            }
+
+            String handlerScript = handlersChain.toScript();
+
+            if (handlerScript != null) {
+                onClick.append(handlerScript);
+            }
+
+            if (!"reset".equals(component.getAttributes().get("type"))) {
+                onClick.append(";return false;");
+            }
+        } else {
+            onClick.append("return false;");
+        }
+
+        return onClick.toString();
+    }
+
+/*  public String getStringValue(UIComponent component) {
+        Object value = getValue(component);
+        return convertToString(value);
+    }
+
+    protected String convertToString(Object obj ) {
+        return ( obj == null ? "" : obj.toString() );
+    }
+
+    protected String convertToString(boolean b ) {
+        return String.valueOf(b);
+    }
+
+    protected String convertToString(int b ) {
+        return b!=Integer.MIN_VALUE?String.valueOf(b):"";
+    }
+
+    protected String convertToString(long b ) {
+        return b!=Long.MIN_VALUE?String.valueOf(b):"";
+    }
+
+    public void encodeChildren(FacesContext context, UIComponent component)
+            throws IOException {
+        renderChildren(context, component);
+    }
+
+    public Object getValue(UIComponent component) {
+        if (component instanceof ValueHolder) {
+            return ((ValueHolder) component).getValue();
+        }
+        return component.getAttributes().get("value");
+    }
+
+
+    public String getType(UIComponent uiComponent) {
+        String type;
+        if (uiComponent instanceof HtmlCommandButton) {
+            type = ((HtmlCommandButton) uiComponent).getType();
+        } else {
+            type = (String) uiComponent.getAttributes().get("type");
+        }
+        if (type == null) {
+            type = "button";
+        }
+        return type;
+    }*/
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxComponentRendererBase.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxComponentRendererBase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxComponentRendererBase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,14 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.renderkit;
 
 import javax.faces.render.Renderer;
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
-public class AjaxComponentRendererBase extends Renderer {
-
-}
+public class AjaxComponentRendererBase extends Renderer {}

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.renderkit;
 
 import java.util.Iterator;
@@ -38,59 +40,64 @@
 
 /**
  * @author shura
- * 
+ *
  */
 public abstract class AjaxFunctionRendererBase extends AjaxCommandRendererBase {
+    public String getFunction(FacesContext context, UIComponent component) {
+        String functionName = (String) component.getAttributes().get("name");
 
-	public String getFunction(FacesContext context, UIComponent component) {
-		String functionName = (String)component.getAttributes().get("name");
-		if (functionName == null) {
-			throw new FacesException("Value of 'name' attribute of a4j:jsFunction component is null!");
-		}
-		
-		StringBuffer script = new StringBuffer(functionName).append("=");
-		JSFunctionDefinition func = new JSFunctionDefinition();
-		//func.setName(component.getName());
-		// Create AJAX Submit function.
-		JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(
-				context, component, AjaxRendererUtils.AJAX_FUNCTION_NAME);
-		AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(context, component);
+        if (functionName == null) {
+            throw new FacesException("Value of 'name' attribute of a4j:jsFunction component is null!");
+        }
 
-		if (options.hasParameters()) {
-			Map<String, Object> parameters = options.getParameters();
-//			if (null == parameters) {
-//				parameters = new HashMap<String, Object>();
-//				options.put("parameters", parameters);
-//			}
-			// Fill parameters.
-			for (Iterator<UIComponent> it = component.getChildren().iterator(); it.hasNext();) {
-				UIComponent child = it.next();
-				if (child instanceof UIParameter) {
-					UIParameter parameter = ((UIParameter) child);
-					String name = parameter.getName();
-					func.addParameter(name);
-					// Put parameter name to AJAX.Submit parameter, with default value.
-					JSReference reference = new JSReference(name);
-					if (null != parameter.getValue()) {
-						reference = new JSReference(name + "||"
-								+ ScriptUtils.toScript(parameters.get(name)));
+        StringBuffer script = new StringBuffer(functionName).append("=");
+        JSFunctionDefinition func = new JSFunctionDefinition();
 
-					}
-					// Replace parameter value to reference.
-					parameters.put(name, reference);
-				}
-			}
-		}
-		
-		if (!options.isEmpty()) {
-			ajaxFunction.addParameter(options);
-		}
-		
-		//TODO - added in 4.0 - ?
-		func.addParameter(JSReference.EVENT);
-		
-		func.addToBody(ajaxFunction.toScript());
-		func.appendScript(script);
-		return script.toString();
-	}
+        // func.setName(component.getName());
+        // Create AJAX Submit function.
+        JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, component,
+                                      AjaxRendererUtils.AJAX_FUNCTION_NAME);
+        AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(context, component);
+
+        if (options.hasParameters()) {
+            Map<String, Object> parameters = options.getParameters();
+
+//          if (null == parameters) {
+//              parameters = new HashMap<String, Object>();
+//              options.put("parameters", parameters);
+//          }
+            // Fill parameters.
+            for (Iterator<UIComponent> it = component.getChildren().iterator(); it.hasNext(); ) {
+                UIComponent child = it.next();
+
+                if (child instanceof UIParameter) {
+                    UIParameter parameter = (UIParameter) child;
+                    String name = parameter.getName();
+
+                    func.addParameter(name);
+
+                    // Put parameter name to AJAX.Submit parameter, with default value.
+                    JSReference reference = new JSReference(name);
+
+                    if (null != parameter.getValue()) {
+                        reference = new JSReference(name + "||" + ScriptUtils.toScript(parameters.get(name)));
+                    }
+
+                    // Replace parameter value to reference.
+                    parameters.put(name, reference);
+                }
+            }
+        }
+
+        if (!options.isEmpty()) {
+            ajaxFunction.addParameter(options);
+        }
+
+        // TODO - added in 4.0 - ?
+        func.addParameter(JSReference.EVENT);
+        func.addToBody(ajaxFunction.toScript());
+        func.appendScript(script);
+
+        return script.toString();
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/CommandRendererBase.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/CommandRendererBase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/CommandRendererBase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.renderkit;
 
 import javax.faces.component.UIComponent;
@@ -27,16 +29,18 @@
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 public class CommandRendererBase extends Renderer {
 
-	/* (non-Javadoc)
-	 * @see javax.faces.render.Renderer#decode(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
-	 */
-	@Override
-	public void decode(FacesContext context, UIComponent component) {
-		// TODO Auto-generated method stub
-		super.decode(context, component);
-	}
+    /*
+     *  (non-Javadoc)
+     * @see javax.faces.render.Renderer#decode(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+     */
+    @Override
+    public void decode(FacesContext context, UIComponent component) {
+
+        // TODO Auto-generated method stub
+        super.decode(context, component);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/AjaxCommandButtonRendererBase.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/AjaxCommandButtonRendererBase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/AjaxCommandButtonRendererBase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.renderkit.html;
 
 import java.io.IOException;
@@ -31,29 +33,31 @@
 
 /**
  * @author Nick Belaevski
- * 
+ *
  */
 public abstract class AjaxCommandButtonRendererBase extends AjaxCommandRendererBase {
+    protected void encodeTypeAndImage(FacesContext context, UIComponent uiComponent) throws IOException {
+        ResponseWriter writer = context.getResponseWriter();
+        String type = (String) uiComponent.getAttributes().get("type");
+        String image = (String) uiComponent.getAttributes().get("image");
 
-    protected void encodeTypeAndImage(FacesContext context, UIComponent uiComponent) throws IOException {
-    	ResponseWriter writer = context.getResponseWriter();
-    	String type = (String)uiComponent.getAttributes().get("type");
-		String image =	(String)uiComponent.getAttributes().get("image");
-		if(image != null){
-			image = context.getApplication().getViewHandler().getResourceURL(context,image);
-			image = context.getExternalContext().encodeResourceURL(image);
-			writer.writeAttribute("type","image","image");
-			writer.writeURIAttribute("src",image,"image");
-			Object value;
-			if (null == uiComponent.getAttributes().get("alt") &&  null != (value = uiComponent.getAttributes().get("value")) ) {
-				writer.writeAttribute("alt",value,"value");
-			}
-		} else {
-			if(null != type ){
-			writer.writeAttribute("type",type.toLowerCase(),"type");
-			} else {
-				writer.writeAttribute("type","submit","type");				
-			}
-		}
-    }	
+        if (image != null) {
+            image = context.getApplication().getViewHandler().getResourceURL(context, image);
+            image = context.getExternalContext().encodeResourceURL(image);
+            writer.writeAttribute("type", "image", "image");
+            writer.writeURIAttribute("src", image, "image");
+
+            Object value = uiComponent.getAttributes().get("value");
+
+            if (null == uiComponent.getAttributes().get("alt") && null != value) {
+                writer.writeAttribute("alt", value, "value");
+            }
+        } else {
+            if (null != type) {
+                writer.writeAttribute("type", type.toLowerCase(), "type");
+            } else {
+                writer.writeAttribute("type", "submit", "type");
+            }
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/MediaOutputRenderer.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/MediaOutputRenderer.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/renderkit/html/MediaOutputRenderer.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,9 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.renderkit.html;
 
 import java.io.IOException;
+
 import java.util.HashMap;
 import java.util.Map;
 
@@ -34,6 +37,7 @@
 import org.ajax4jsf.Messages;
 import org.ajax4jsf.renderkit.RendererBase;
 import org.ajax4jsf.renderkit.RendererUtils.HTML;
+
 import org.richfaces.component.UIMediaOutput;
 
 /**
@@ -41,88 +45,108 @@
  *
  */
 public class MediaOutputRenderer extends RendererBase {
-	
     public static final String RENDERER_TYPE = "org.richfaces.MediaOutputRenderer";
-    
+
     /**
      * Associationd between element name and uri attributes
      */
-    private static final Map<String, String> uriAttributes;
-    
+    private static final Map<String, String> URI_ATTRIBUTES;
+
     static {
-    	uriAttributes = new HashMap<String, String>();
-    	uriAttributes.put("a","href");
-    	uriAttributes.put("img","src");
-    	uriAttributes.put("object","data");
-    	uriAttributes.put("link","href");
+        URI_ATTRIBUTES = new HashMap<String, String>();
+        URI_ATTRIBUTES.put("a", "href");
+        URI_ATTRIBUTES.put("img", "src");
+        URI_ATTRIBUTES.put("object", "data");
+        URI_ATTRIBUTES.put("link", "href");
     }
 
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.renderkit.RendererBase#doEncodeEnd(javax.faces.context.ResponseWriter,
+     * javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+     */
+    @Override
+    protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
+        UIMediaOutput mmedia = (UIMediaOutput) component;
+        String element = mmedia.getElement();
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.renderkit.RendererBase#doEncodeEnd(javax.faces.context.ResponseWriter, javax.faces.context.FacesContext, javax.faces.component.UIComponent)
-	 */
-	protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
-		UIMediaOutput mmedia = (UIMediaOutput) component;
-		String element = mmedia.getElement();
-		if(null == element){
-			throw new FacesException(Messages.getMessage(Messages.NULL_ATTRIBUTE_ERROR,"element",component.getClientId(context)));
-		}
-		writer.endElement(element);
-	}
+        if (null == element) {
+            throw new FacesException(Messages.getMessage(Messages.NULL_ATTRIBUTE_ERROR, "element",
+                    component.getClientId(context)));
+        }
 
+        writer.endElement(element);
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.renderkit.RendererBase#getComponentClass()
-	 */
-	protected Class<? extends UIComponent> getComponentClass() {
-		// TODO Auto-generated method stub
-		return UIMediaOutput.class;
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.renderkit.RendererBase#getComponentClass()
+     */
+    @Override
+    protected Class<? extends UIComponent> getComponentClass() {
 
+        // TODO Auto-generated method stub
+        return UIMediaOutput.class;
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.renderkit.RendererBase#doEncodeBegin(javax.faces.context.ResponseWriter, javax.faces.context.FacesContext, javax.faces.component.UIComponent)
-	 */
-	protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
-		UIMediaOutput mmedia = (UIMediaOutput) component;
-		String element = mmedia.getElement();
-		if(null == element){
-			throw new FacesException(Messages.getMessage(Messages.NULL_ATTRIBUTE_ERROR,"element",component.getClientId(context)));
-		}
-		String uriAttribute = mmedia.getUriAttribute();
-		// Check for pre-defined attributes
-		if(null == uriAttribute){
-			uriAttribute = (String) uriAttributes.get(element);
-			
-			if (null == uriAttribute) {
-				throw new FacesException(Messages.getMessage(Messages.NULL_ATTRIBUTE_ERROR,"uriAttribute",component.getClientId(context)));
-			}
-		}
-		writer.startElement(element,mmedia);
-		getUtils().encodeId(context, component);
-		
-		StringBuilder uri = new StringBuilder(mmedia.getResource().getRequestPath());
-		// Append parameters to resource Uri
-		boolean haveQestion = uri.indexOf("?") >= 0;
-		for (UIComponent child : component.getChildren()) {
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.renderkit.RendererBase#doEncodeBegin(javax.faces.context.ResponseWriter,
+     * javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+     */
+    @Override
+    protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent component)
+        throws IOException {
+        
+        UIMediaOutput mmedia = (UIMediaOutput) component;
+        String element = mmedia.getElement();
+
+        if (null == element) {
+            throw new FacesException(Messages.getMessage(Messages.NULL_ATTRIBUTE_ERROR, "element",
+                    component.getClientId(context)));
+        }
+
+        String uriAttribute = mmedia.getUriAttribute();
+
+        // Check for pre-defined attributes
+        if (null == uriAttribute) {
+            uriAttribute = URI_ATTRIBUTES.get(element);
+
+            if (null == uriAttribute) {
+                throw new FacesException(Messages.getMessage(Messages.NULL_ATTRIBUTE_ERROR, "uriAttribute",
+                        component.getClientId(context)));
+            }
+        }
+
+        writer.startElement(element, mmedia);
+        getUtils().encodeId(context, component);
+
+        StringBuilder uri = new StringBuilder(mmedia.getResource().getRequestPath());
+
+        // Append parameters to resource Uri
+        boolean haveQestion = uri.indexOf("?") >= 0;
+
+        for (UIComponent child : component.getChildren()) {
             if (child instanceof UIParameter) {
                 UIParameter uiParam = (UIParameter) child;
                 String name = uiParam.getName();
                 Object value = uiParam.getValue();
-                if(null != value){
-                	if(haveQestion){
-                		uri.append('&');
-                	} else {
-						uri.append('?');
-						haveQestion = true;
-					}
-                	uri.append(name).append('=').append(value.toString());
+
+                if (null != value) {
+                    if (haveQestion) {
+                        uri.append('&');
+                    } else {
+                        uri.append('?');
+                        haveQestion = true;
+                    }
+
+                    uri.append(name).append('=').append(value.toString());
                 }
             }
-		}
-		writer.writeURIAttribute(uriAttribute,uri,"uri");
-        getUtils().encodeAttributesFromArray(context,component,HTML.PASS_THRU_STYLES);
-		getUtils().encodePassThru(context, mmedia, null);
-	}
+        }
 
+        writer.writeURIAttribute(uriAttribute, uri, "uri");
+        getUtils().encodeAttributesFromArray(context, component, HTML.PASS_THRU_STYLES);
+        getUtils().encodePassThru(context, mmedia, null);
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/resource/MediaOutputResource.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/resource/MediaOutputResource.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/resource/MediaOutputResource.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.resource;
 
 import java.io.ByteArrayInputStream;
@@ -27,6 +29,7 @@
 
 import javax.el.MethodExpression;
 import javax.el.ValueExpression;
+
 import javax.faces.component.StateHolder;
 import javax.faces.component.UIComponentBase;
 import javax.faces.context.FacesContext;
@@ -38,71 +41,70 @@
  * @since 4.0
  */
 public class MediaOutputResource extends AbstractBaseResource implements StateHolder {
+    private MethodExpression contentProducer;
+    private ValueExpression expiresExpression;
 
-	private Object userData;
-	
-	private MethodExpression contentProducer;
-	
-	/*
-	 * TODO: add handling for expressions:
-	 * 
-	 * 1. State saving
-	 * 2. Evaluation
-	 */
-	private ValueExpression lastModifiedExpression;
+    /*
+     * TODO: add handling for expressions:
+     *
+     * 1. State saving
+     * 2. Evaluation
+     */
+    private ValueExpression lastModifiedExpression;
+    private ValueExpression timeToLiveExpression;
+    private Object userData;
 
-	private ValueExpression expiresExpression;
-	
-	private ValueExpression timeToLiveExpression;
+    @Override
+    public InputStream getInputStream() {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        FacesContext facesContext = FacesContext.getCurrentInstance();
 
-	@Override
-	public InputStream getInputStream() {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		FacesContext facesContext = FacesContext.getCurrentInstance();
-		contentProducer.invoke(facesContext.getELContext(), new Object[]{baos, userData});
-		return new ByteArrayInputStream(baos.toByteArray());
-	}
+        contentProducer.invoke(facesContext.getELContext(), new Object[] {baos, userData});
 
-	public boolean isTransient() {
-		return false;
-	}
+        return new ByteArrayInputStream(baos.toByteArray());
+    }
 
-	public void setTransient(boolean newTransientValue) {
-		throw new UnsupportedOperationException();
-	}
-	
-	public Object saveState(FacesContext context) {
-		Object[] state = new Object[4];
-		
-		//parent fields state saving
-		state[0] = isCacheable(context) ? Boolean.TRUE : Boolean.FALSE;
-		state[1] = getContentType();
-		state[2] = UIComponentBase.saveAttachedState(context, userData);
-		state[3] = UIComponentBase.saveAttachedState(context, contentProducer);
-		
-		return state;
-	}
+    public boolean isTransient() {
+        return false;
+    }
 
-	public void restoreState(FacesContext context, Object stateObject) {
-		Object[] state = (Object[]) stateObject; 
+    public void setTransient(boolean newTransientValue) {
+        throw new UnsupportedOperationException();
+    }
 
-		setCacheable((Boolean) state[0]);
-		setContentType((String) state[1]);
-		userData = UIComponentBase.restoreAttachedState(context, state[2]);
-		contentProducer = (MethodExpression) UIComponentBase.restoreAttachedState(context, state[3]);
-	}
+    public Object saveState(FacesContext context) {
+        Object[] state = new Object[4];
 
-	/**
-	 * @param uiMediaOutput
-	 */
-	//TODO use ResourceComponent or exchange object as argument?
-	public void initialize(UIMediaOutput uiMediaOutput) {
-		this.setCacheable(uiMediaOutput.isCacheable());
-		this.setContentType(uiMediaOutput.getMimeType());
-		this.userData = uiMediaOutput.getValue();
-		this.contentProducer = uiMediaOutput.getCreateContentExpression();
-		this.lastModifiedExpression = uiMediaOutput.getValueExpression("lastModfied");
-		this.expiresExpression = uiMediaOutput.getValueExpression("expires");
-		this.timeToLiveExpression = uiMediaOutput.getValueExpression("timeToLive");
-	}
+        // parent fields state saving
+        state[0] = isCacheable(context) ? Boolean.TRUE : Boolean.FALSE;
+        state[1] = getContentType();
+        state[2] = UIComponentBase.saveAttachedState(context, userData);
+        state[3] = UIComponentBase.saveAttachedState(context, contentProducer);
+
+        return state;
+    }
+
+    public void restoreState(FacesContext context, Object stateObject) {
+        Object[] state = (Object[]) stateObject;
+
+        setCacheable((Boolean) state[0]);
+        setContentType((String) state[1]);
+        userData = UIComponentBase.restoreAttachedState(context, state[2]);
+        contentProducer = (MethodExpression) UIComponentBase.restoreAttachedState(context, state[3]);
+    }
+
+    /**
+     * @param uiMediaOutput
+     */
+
+    // TODO use ResourceComponent or exchange object as argument?
+    public void initialize(UIMediaOutput uiMediaOutput) {
+        this.setCacheable(uiMediaOutput.isCacheable());
+        this.setContentType(uiMediaOutput.getMimeType());
+        this.userData = uiMediaOutput.getValue();
+        this.contentProducer = uiMediaOutput.getCreateContentExpression();
+        this.lastModifiedExpression = uiMediaOutput.getValueExpression("lastModfied");
+        this.expiresExpression = uiMediaOutput.getValueExpression("expires");
+        this.timeToLiveExpression = uiMediaOutput.getValueExpression("timeToLive");
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/resource/PushResource.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/resource/PushResource.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/resource/PushResource.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,53 +19,55 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.resource;
 
-import java.io.InputStream;
-import java.util.Map;
+import org.richfaces.component.PushEventTracker;
+import org.richfaces.component.PushListenersManager;
 
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 
-import org.richfaces.component.PushEventTracker;
-import org.richfaces.component.PushListenersManager;
-import org.richfaces.resource.AbstractBaseResource;
+import java.io.InputStream;
 
+import java.util.Map;
+
 /**
  * @author Nick Belaevski
  * @since 4.0
  */
+
 //TODO make this a singleton
 public class PushResource extends AbstractBaseResource {
+    @Override
+    public boolean isCacheable(FacesContext context) {
+        return false;
+    }
 
-	@Override
-	public boolean isCacheable(FacesContext context) {
-		return false;
-	}
-	
-	@Override
-	public InputStream getInputStream() {
-		return null;
-	}
+    @Override
+    public InputStream getInputStream() {
+        return null;
+    }
 
-	@Override
-	public Map<String, String> getResponseHeaders() {
-		Map<String, String> headers = super.getResponseHeaders();
-		
-		FacesContext facesContext = FacesContext.getCurrentInstance();
-		ExternalContext externalContext = facesContext.getExternalContext();
-		String pushId = externalContext.getRequestParameterMap().get("id");
-		if (pushId != null && pushId.length() != 0) {
-			PushListenersManager manager = PushListenersManager.getInstance(facesContext);
-			
-			PushEventTracker eventTracker = manager.getListener(pushId);
-			if (eventTracker != null) {
-				if (eventTracker.pollStatus()) {
-					headers.put("Ajax-Push-Status", "READY");
-				}
-			}
-		}
-		
-		return headers;
-	}
+    @Override
+    public Map<String, String> getResponseHeaders() {
+        Map<String, String> headers = super.getResponseHeaders();
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+        ExternalContext externalContext = facesContext.getExternalContext();
+        String pushId = externalContext.getRequestParameterMap().get("id");
+
+        if (pushId != null && pushId.length() != 0) {
+            PushListenersManager manager = PushListenersManager.getInstance(facesContext);
+            PushEventTracker eventTracker = manager.getListener(pushId);
+
+            if (eventTracker != null) {
+                if (eventTracker.pollStatus()) {
+                    headers.put("Ajax-Push-Status", "READY");
+                }
+            }
+        }
+
+        return headers;
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/AjaxPushHandler.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/AjaxPushHandler.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/AjaxPushHandler.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.taglib.html.facelets;
 
 import java.util.EventListener;
@@ -38,97 +40,92 @@
  * @author shura (latest modification by $Author$)
  * @version $Revision$ $Date: 2009-07-31 14:34:48 +0300 (Пт, 31 июл
  *          2009) $
- * 
+ *
  */
 public class AjaxPushHandler extends ComponentHandler {
+    private static final MetaRule AJAX_PUSH_META_RULE = new AjaxPushMetaRule();
 
-	private static final MetaRule ajaxPushMetaRule = new AjaxPushMetaRule();
+    /**
+     * @param config
+     */
+    public AjaxPushHandler(ComponentConfig config) {
+        super(config);
+    }
 
-	/**
-	 * @param config
-	 */
-	public AjaxPushHandler(ComponentConfig config) {
-		super(config);
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * org.ajax4jsf.tag.AjaxComponentHandler#createMetaRuleset(java.lang.Class)
+     */
+    @Override
+    protected MetaRuleset createMetaRuleset(Class type) {
+        MetaRuleset metaRules = super.createMetaRuleset(type);
 
-	}
+        metaRules.addRule(AJAX_PUSH_META_RULE);
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.ajax4jsf.tag.AjaxComponentHandler#createMetaRuleset(java.lang.Class)
-	 */
-	protected MetaRuleset createMetaRuleset(Class type) {
-		MetaRuleset metaRules = super.createMetaRuleset(type);
-		metaRules.addRule(ajaxPushMetaRule);
-		return metaRules;
-	}
+        return metaRules;
+    }
 
-	/**
-	 * @author shura (latest modification by $Author$)
-	 * @version $Revision$ $Date: 2009-07-31 14:34:48 +0300 (Пт, 31
-	 *          июл 2009) $
-	 * 
-	 */
-	static class AjaxPushMetaRule extends MetaRule {
+    /**
+     * @author shura (latest modification by $Author$)
+     * @version $Revision$ $Date: 2009-07-31 14:34:48 +0300 (Пт, 31
+     *          июл 2009) $
+     *
+     */
+    static class AjaxPushActionMapper extends Metadata {
+        private static final Class<?>[] AJAX_PUSH_ACTION_SIG = new Class[] {EventListener.class};
+        private final TagAttribute send;
 
-		/**
-		 * 
-		 */
-		public AjaxPushMetaRule() {
-			super();
-		}
+        /**
+         * @param attribute
+         */
+        public AjaxPushActionMapper(TagAttribute attribute) {
+            send = attribute;
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see com.sun.facelets.tag.MetaRule#applyRule(java.lang.String,
-		 * com.sun.facelets.tag.TagAttribute,
-		 * com.sun.facelets.tag.MetadataTarget)
-		 */
-		public Metadata applyRule(String name, TagAttribute attribute,
-				MetadataTarget meta) {
-			if (meta.isTargetInstanceOf(UIPush.class)) {
+        /*
+         * (non-Javadoc)
+         *
+         * @seecom.sun.facelets.tag.Metadata#applyMetadata(com.sun.facelets.
+         * FaceletContext, java.lang.Object)
+         */
+        public void applyMetadata(FaceletContext ctx, Object instance) {
+            ((UIPush) instance).setEventProducer(this.send.getMethodExpression(ctx, null, AJAX_PUSH_ACTION_SIG));
+        }
+    }
 
-				if ("eventProducer".equals(name)) {
-					return new AjaxPushActionMapper(attribute);
-				}
-			}
-			return null;
-		}
 
-	}
+    /**
+     * @author shura (latest modification by $Author$)
+     * @version $Revision$ $Date: 2009-07-31 14:34:48 +0300 (Пт, 31
+     *          июл 2009) $
+     *
+     */
+    static class AjaxPushMetaRule extends MetaRule {
 
-	/**
-	 * @author shura (latest modification by $Author$)
-	 * @version $Revision$ $Date: 2009-07-31 14:34:48 +0300 (Пт, 31
-	 *          июл 2009) $
-	 * 
-	 */
-	static class AjaxPushActionMapper extends Metadata {
+        /**
+         *
+         */
+        public AjaxPushMetaRule() {
+            super();
+        }
 
-		private static final Class<?>[] AJAX_PUSH_ACTION_SIG = new Class[] { EventListener.class };
+        /*
+         * (non-Javadoc)
+         *
+         * @see com.sun.facelets.tag.MetaRule#applyRule(java.lang.String,
+         * com.sun.facelets.tag.TagAttribute,
+         * com.sun.facelets.tag.MetadataTarget)
+         */
+        public Metadata applyRule(String name, TagAttribute attribute, MetadataTarget meta) {
+            if (meta.isTargetInstanceOf(UIPush.class)) {
+                if ("eventProducer".equals(name)) {
+                    return new AjaxPushActionMapper(attribute);
+                }
+            }
 
-		private final TagAttribute _send;
-
-		/**
-		 * @param attribute
-		 */
-		public AjaxPushActionMapper(TagAttribute attribute) {
-			_send = attribute;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @seecom.sun.facelets.tag.Metadata#applyMetadata(com.sun.facelets.
-		 * FaceletContext, java.lang.Object)
-		 */
-		public void applyMetadata(FaceletContext ctx, Object instance) {
-			((UIPush) instance).setEventProducer(this._send
-					.getMethodExpression(ctx, null, AJAX_PUSH_ACTION_SIG));
-		}
-
-	}
-
+            return null;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/MediaOutputHandler.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/MediaOutputHandler.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/taglib/html/facelets/MediaOutputHandler.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.richfaces.taglib.html.facelets;
 
 import java.io.OutputStream;
@@ -37,88 +39,85 @@
 /**
  * @author shura (latest modification by $Author: alexsmirnov $)
  * @version $Revision: 1.1.2.1 $ $Date: 2007/02/01 15:31:22 $
- * 
+ *
  */
 public class MediaOutputHandler extends ComponentHandler {
+    private static final MetaRule MMEDIA_META_RULE = new MMediaMetaRule();
 
-	private static final MetaRule mmediaMetaRule = new MMediaMetaRule();
+    /**
+     * @param config
+     */
+    public MediaOutputHandler(ComponentConfig config) {
+        super(config);
+    }
 
-	/**
-	 * @param config
-	 */
-	public MediaOutputHandler(ComponentConfig config) {
-		super(config);
-	}
+    @Override
+    protected MetaRuleset createMetaRuleset(Class type) {
+        MetaRuleset metaRules = super.createMetaRuleset(type);
 
-	protected MetaRuleset createMetaRuleset(Class type) {
-		MetaRuleset metaRules = super.createMetaRuleset(type);
-		metaRules.addRule(mmediaMetaRule);
-		return metaRules;
-	}
+        metaRules.addRule(MMEDIA_META_RULE);
 
-	/**
-	 * @author shura (latest modification by $Author: alexsmirnov $)
-	 * @version $Revision: 1.1.2.1 $ $Date: 2007/02/01 15:31:22 $
-	 * 
-	 */
-	static class MMediaMetaRule extends MetaRule {
+        return metaRules;
+    }
 
-		/**
-		 * 
-		 */
-		public MMediaMetaRule() {
-			super();
-		}
+    /**
+     * @author shura (latest modification by $Author: alexsmirnov $)
+     * @version $Revision: 1.1.2.1 $ $Date: 2007/02/01 15:31:22 $
+     *
+     */
+    static class MMediaActionMapper extends Metadata {
+        private static final Class<?>[] MMEDIA_ACTION_SIG = new Class[] {OutputStream.class, Object.class};
+        private final TagAttribute send;
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see com.sun.facelets.tag.MetaRule#applyRule(java.lang.String,
-		 * com.sun.facelets.tag.TagAttribute,
-		 * com.sun.facelets.tag.MetadataTarget)
-		 */
-		public Metadata applyRule(String name, TagAttribute attribute,
-				MetadataTarget meta) {
-			if (meta.isTargetInstanceOf(UIMediaOutput.class)) {
-				if ("createContent".equals(name)) {
-					return new MMediaActionMapper(attribute);
-				}
-			}
-			return null;
-		}
+        /**
+         * @param attribute
+         */
+        public MMediaActionMapper(TagAttribute attribute) {
+            send = attribute;
+        }
 
-	}
+        /*
+         * (non-Javadoc)
+         *
+         * @seecom.sun.facelets.tag.Metadata#applyMetadata(com.sun.facelets.
+         * FaceletContext, java.lang.Object)
+         */
+        public void applyMetadata(FaceletContext ctx, Object instance) {
+            ((UIMediaOutput) instance).setCreateContentExpression(this.send.getMethodExpression(ctx, null,
+                    MMEDIA_ACTION_SIG));
+        }
+    }
 
-	/**
-	 * @author shura (latest modification by $Author: alexsmirnov $)
-	 * @version $Revision: 1.1.2.1 $ $Date: 2007/02/01 15:31:22 $
-	 * 
-	 */
-	static class MMediaActionMapper extends Metadata {
 
-		private static final Class<?>[] MMEDIA_ACTION_SIG = new Class[] {
-				OutputStream.class, Object.class };
+    /**
+     * @author shura (latest modification by $Author: alexsmirnov $)
+     * @version $Revision: 1.1.2.1 $ $Date: 2007/02/01 15:31:22 $
+     *
+     */
+    static class MMediaMetaRule extends MetaRule {
 
-		private final TagAttribute _send;
+        /**
+         *
+         */
+        public MMediaMetaRule() {
+            super();
+        }
 
-		/**
-		 * @param attribute
-		 */
-		public MMediaActionMapper(TagAttribute attribute) {
-			_send = attribute;
-		}
+        /*
+         * (non-Javadoc)
+         *
+         * @see com.sun.facelets.tag.MetaRule#applyRule(java.lang.String,
+         * com.sun.facelets.tag.TagAttribute,
+         * com.sun.facelets.tag.MetadataTarget)
+         */
+        public Metadata applyRule(String name, TagAttribute attribute, MetadataTarget meta) {
+            if (meta.isTargetInstanceOf(UIMediaOutput.class)) {
+                if ("createContent".equals(name)) {
+                    return new MMediaActionMapper(attribute);
+                }
+            }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @seecom.sun.facelets.tag.Metadata#applyMetadata(com.sun.facelets.
-		 * FaceletContext, java.lang.Object)
-		 */
-		public void applyMetadata(FaceletContext ctx, Object instance) {
-			((UIMediaOutput) instance).setCreateContentExpression(this._send
-					.getMethodExpression(ctx, null, MMEDIA_ACTION_SIG));
-		}
-
-	}
-
+            return null;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AbstractQueueComponentTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AbstractQueueComponentTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AbstractQueueComponentTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -20,10 +20,13 @@
  */
 
 
+
 package org.ajax4jsf.component;
 
 import java.io.IOException;
+
 import java.net.URL;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -49,6 +52,7 @@
 import org.ajax4jsf.resource.InternetResourceBuilder;
 import org.ajax4jsf.resource.ResourceNotFoundException;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
 import org.mozilla.javascript.FunctionObject;
 import org.mozilla.javascript.NativeArray;
 import org.mozilla.javascript.NativeObject;
@@ -62,6 +66,7 @@
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine;
+
 import com.sun.facelets.Facelet;
 import com.sun.facelets.FaceletFactory;
 import com.sun.facelets.compiler.Compiler;
@@ -74,522 +79,515 @@
  * @since 3.3.0
  */
 public abstract class AbstractQueueComponentTest extends AbstractAjax4JsfTestCase {
+    private static final String AJAX_SUBMIT = "ajaxSubmit";
+    private static final String COMPONENT_TYPE = AjaxSubmitFunctionComponent.class.getName();
+    public static final int DEFAULT_REQUEST_TIME = 1000;
+    private static final String SIMULATION_SCRIPT_NAME = "org/ajax4jsf/component/simulation.js";
+    private static final Compiler compiler = new SAXCompiler();
+    private static final ScriptableObject systemOut = new ScriptableObject() {
 
-	private static final String COMPONENT_TYPE = AjaxSubmitFunctionComponent.class.getName();
+        /**
+         *
+         */
+        private static final long serialVersionUID = -8574162538513136625L;
+        @Override
+        public String getClassName() {
+            return "systemOut";
+        }
+        @SuppressWarnings("unused")
+        public void println(String s) {
+            System.out.println(s);
+        }
+    };
 
-	private static final String AJAX_SUBMIT = "ajaxSubmit";
-	
-	public static final int DEFAULT_REQUEST_TIME = 1000;
-	
-	protected HtmlPage page;
-	
-	public final static class AjaxSubmitFunctionComponent extends UIComponentBase {
+    static {
+        try {
+            systemOut.defineProperty("println",
+                                     new FunctionObject(null, systemOut.getClass().getMethod("println", String.class),
+                                         systemOut), ScriptableObject.READONLY);
+        } catch (SecurityException e) {
+            throw new IllegalStateException(e.getMessage(), e);
+        } catch (NoSuchMethodException e) {
+            throw new IllegalStateException(e.getMessage(), e);
+        }
+    }
 
-		@Override
-		public String getRendererType() {
-			return COMPONENT_TYPE;
-		}
-		
-		@Override
-		public String getFamily() {
-			return COMPONENT_TYPE;
-		}
+    protected HtmlPage page;
 
-	}
+    public AbstractQueueComponentTest(String name) {
+        super(name);
+    }
 
-	private final static class AjaxSubmitFunctionResourceRenderer extends
-			Renderer implements UserResourceRenderer2 {
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
 
-		public void encodeToHead(FacesContext facesContext, UIComponent component)
-				throws IOException {
-			JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(component, facesContext);
-			Map<String, Object> options = AjaxRendererUtils.buildEventOptions(facesContext, component, true);
-			options.put("requestDelay", new JSReference("options.requestDelay"));
-			options.put("similarityGroupingId", new JSReference("options.similarityGroupingId || '" + 
-					component.getClientId(facesContext) + "'"));
-			options.put("data", new JSReference("data"));
-			options.put("requestTime", new JSReference("options.requestTime"));
-			options.put("timeout", new JSReference("options.timeout"));
-			options.put("eventsQueue", new JSReference("options.eventsQueue"));
-			options.put("implicitEventsQueue", new JSReference("options.implicitEventsQueue"));
-			options.put("ignoreDupResponses", new JSReference("options.ignoreDupResponses"));
-			
-			ajaxFunction.addParameter(options);
-			
-			ResponseWriter responseWriter = facesContext.getResponseWriter();
-			responseWriter.startElement(HTML.SCRIPT_ELEM, component);
-			responseWriter.writeAttribute(HTML.TYPE_ATTR, "text/javascript", null);
-			responseWriter.writeText("var " + AJAX_SUBMIT + " = function(data, options) {" + ajaxFunction.toScript() + "};", null);
-			responseWriter.endElement(HTML.SCRIPT_ELEM);
-		}
-		
-	}
-	
-	public AbstractQueueComponentTest(String name) {
-		super(name);
-	}
+        InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
 
-	private static final String SIMULATION_SCRIPT_NAME = "org/ajax4jsf/component/simulation.js";
-	
-	@Override
-	public void setUp() throws Exception {
-		super.setUp();
+        try {
+            resourceBuilder.getResource(SIMULATION_SCRIPT_NAME);
+        } catch (ResourceNotFoundException e) {
+            resourceBuilder.createResource(null, SIMULATION_SCRIPT_NAME);
+        }
 
-		InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
-		try {
-			resourceBuilder.getResource(SIMULATION_SCRIPT_NAME);
-		} catch (ResourceNotFoundException e) {
-			resourceBuilder.createResource(null, SIMULATION_SCRIPT_NAME);
-		}
-		
-		UIViewRoot viewRoot = facesContext.getViewRoot();
-		UIResource resource;
-		
-		UIComponent form = application.createComponent(UIForm.COMPONENT_TYPE);
-		viewRoot.getChildren().add(form);
-		final UIComponent commandButton = application.createComponent(UIAjaxCommandButton.COMPONENT_TYPE);
-		form.getChildren().add(commandButton);
-		
-		facesContext.getRenderKit().addRenderer(COMPONENT_TYPE, COMPONENT_TYPE, new AjaxSubmitFunctionResourceRenderer());
-		form.getChildren().add(new AjaxSubmitFunctionComponent());
-		
-		resource = (UIResource) application.createComponent("org.ajax4jsf.LoadScript");
-		resource.setSrc("resource:///" + SIMULATION_SCRIPT_NAME);
-		viewRoot.getChildren().add(resource);
-	}
-	
-	@Override
-	public void tearDown() throws Exception {
-		this.page = null;
-		super.tearDown();
-	}
+        UIViewRoot viewRoot = facesContext.getViewRoot();
+        UIResource resource;
+        UIComponent form = application.createComponent(UIForm.COMPONENT_TYPE);
 
-	protected static final class ParametersBuilder {
-		private Map<String, Object> parameters;
-		
-		private ParametersBuilder() {
-			this.parameters = new HashMap<String, Object>();
-		}
-		
-		private ParametersBuilder(Map<String, Object> parameters) {
-			this.parameters = new HashMap<String, Object>(parameters);
-		}
+        viewRoot.getChildren().add(form);
 
-		private ParametersBuilder put(String key, Object value) {
-			this.parameters.put(key, value);
-			return this;
-		}
-		
-		protected Map<String, Object> getParameters() {
-			return parameters;
-		}
+        final UIComponent commandButton = application.createComponent(UIAjaxCommandButton.COMPONENT_TYPE);
 
-		/**
-		 * Sets value of requestDelay parameter
-		 * @param value
-		 * @return
-		 */
-		public ParametersBuilder requestDelay(double value) {
-			return new ParametersBuilder(this.parameters).put("requestDelay", value);
-		}
+        form.getChildren().add(commandButton);
+        facesContext.getRenderKit().addRenderer(COMPONENT_TYPE, COMPONENT_TYPE,
+                new AjaxSubmitFunctionResourceRenderer());
+        form.getChildren().add(new AjaxSubmitFunctionComponent());
+        resource = (UIResource) application.createComponent("org.ajax4jsf.LoadScript");
+        resource.setSrc("resource:///" + SIMULATION_SCRIPT_NAME);
+        viewRoot.getChildren().add(resource);
+    }
 
-		/**
-		 * Sets value of similarityGroupingId parameter
-		 * @param id
-		 * @return
-		 */
-		public ParametersBuilder similarityGroupingId(Object id) {
-			return new ParametersBuilder(this.parameters).put("similarityGroupingId", id);
-		}
-		
-		/**
-		 * Defines how long this request will be executed on server
-		 * @param value
-		 * @return
-		 */
-		public ParametersBuilder requestTime(double value) {
-			return new ParametersBuilder(this.parameters).put("requestTime", value);
-		}
+    @Override
+    public void tearDown() throws Exception {
+        this.page = null;
+        super.tearDown();
+    }
 
-		/**
-		 * Sets value of timeout parameter
-		 * @param value
-		 * @return
-		 */
-		public ParametersBuilder timeout(double value) {
-			return new ParametersBuilder(this.parameters).put("timeout", value);
-		}
-		
-		/**
-		 * Sets value of eventsQueue parameter
-		 * @param name
-		 * @return
-		 */
-		public ParametersBuilder eventsQueue(String name) {
-			return new ParametersBuilder(this.parameters).put("eventsQueue", name);
-		}
-		
-		/**
-		 * Sets value of implicitEventsQueue parameter
-		 * @param name
-		 * @return
-		 */
-		public ParametersBuilder implicitEventsQueue(String name) {
-			return new ParametersBuilder(this.parameters).put("implicitEventsQueue", name);
-		}
-		
-		/**
-		 * Sets value of ignoreDupResponses parameter
-		 * @param value
-		 * @return
-		 */
-		public ParametersBuilder ignoreDupResponses(boolean value) {
-			return new ParametersBuilder(this.parameters).put("ignoreDupResponses", value);
-		}
-	}
-	
-	protected ParametersBuilder createAjaxParameters() {
-		return new ParametersBuilder();
-	}
-	
-	protected static final class TestsResult {
-		private List<RequestData> dataList = new ArrayList<RequestData>();
-		
-		private double currentTime;
-		
-		public void addData(RequestData data) {
-			this.dataList.add(data);
-		}
-		
-		public List<RequestData> getDataList() {
-			return dataList;
-		}
-		
-		public void setCurrentTime(double number) {
-			this.currentTime = number;
-		}
-		
-		public double getCurrentTime() {
-			return currentTime;
-		}
-		
-		@Override
-		public String toString() {
-			StringBuilder builder = new StringBuilder();
-			
-			builder.append("[\n");
-			for (RequestData data : dataList) {
-				builder.append("   ");
-				builder.append(data);
-				builder.append("\n");
-			}
-			builder.append("]\n");
-			builder.append("Current time: " + this.currentTime);
-			
-			return builder.toString();
-		}
-	}
-	
-	protected static final class RequestData {
-		private boolean aborted;
-		
-		private double startTime;
-		
-		private double endTime;
-		
-		private String data;
+    protected ParametersBuilder createAjaxParameters() {
+        return new ParametersBuilder();
+    }
 
-		public RequestData(String data, double startTime, double endTime,
-				boolean aborted) {
-			super();
-			this.data = data;
-			this.startTime = startTime;
-			this.endTime = endTime;
-			this.aborted = aborted;
-		}
+    protected void checkRequestData(RequestData requestData, String data, double startTime, double endTime,
+                                    boolean aborted) {
+        assertEquals("Data check failed for " + requestData, data, requestData.getData());
+        assertEquals("Start time check failed for " + requestData, startTime, requestData.getStartTime());
+        assertEquals("End time check failed for " + requestData, endTime, requestData.getEndTime());
+        assertEquals("Aborted check failed for " + requestData, aborted, requestData.isAborted());
+    }
 
-		public boolean isAborted() {
-			return aborted;
-		}
-		
-		public double getStartTime() {
-			return startTime;
-		}
-		
-		public double getEndTime() {
-			return endTime;
-		}
-		
-		public String getData() {
-			return data;
-		}
+    /**
+     * Execute simulated ajax request starting on given time and having data and paramaters passed as arguments.
+     * For simulated requests defaut value of data is id of the element firing request and default request time
+     * is 1000
+     *
+     * @param time
+     * @param data
+     * @param builder
+     */
+    protected void ajax(int time, String data, ParametersBuilder builder) {
+        JSFunction function = new JSFunction("simulationContext.ajax", time, data, builder.getParameters());
 
-		@Override
-		public String toString() {
-			StringBuilder builder = new StringBuilder();
-			
-			builder.append("data: ");
-			builder.append(data);
-			builder.append(", ");
-			
-			builder.append("startTime: ");
-			builder.append(startTime);
-			builder.append(", ");
-			
-			builder.append("endTime: ");
-			builder.append(endTime);
-			
-			if (isAborted()) {
-				builder.append(", aborted: ");
-				builder.append(true);
-			}
-			
-			return builder.toString();
-		}
-	};
-	
-	protected void checkRequestData(RequestData requestData, String data, 
-			double startTime, double endTime, boolean aborted) {
-		
-		assertEquals("Data check failed for " + requestData, data, requestData.getData());
-		assertEquals("Start time check failed for " + requestData, startTime, requestData.getStartTime());
-		assertEquals("End time check failed for " + requestData, endTime, requestData.getEndTime());
-		assertEquals("Aborted check failed for " + requestData, aborted, requestData.isAborted());
-		
-	}
-	
-	/**
-	 * Execute simulated ajax request starting on given time and having data and paramaters passed as arguments.
-	 * For simulated requests defaut value of data is id of the element firing request and default request time 
-	 * is 1000
-	 * 
-	 * @param time
-	 * @param data
-	 * @param builder
-	 */
-	protected void ajax(int time, String data, ParametersBuilder builder) {
-		JSFunction function = new JSFunction("simulationContext.ajax", time, data, builder.getParameters());
-		page.executeJavaScript(function.toScript());
-	}
+        page.executeJavaScript(function.toScript());
+    }
 
-	protected void executeOnTime(int time, String expression) {
-		JSFunction function = new JSFunction("simulationContext.executeOnTime", 
-				time, new JSFunctionDefinition().addToBody(expression));
-	
-		page.executeJavaScript(function.toScript());
-	}
+    protected void executeOnTime(int time, String expression) {
+        JSFunction function = new JSFunction("simulationContext.executeOnTime", time,
+                                  new JSFunctionDefinition().addToBody(expression));
 
-	private String buildClickExpression(String id) {
-		return "document.getElementById('" + id + "').click()";
-	}
-	
-	protected void clickOnTime(int time, String id) {
-		JSFunction function = new JSFunction("simulationContext.executeOnTime", 
-				time, new JSFunctionDefinition().addToBody(buildClickExpression(id)));
-	
-		page.executeJavaScript(function.toScript());
-	}
+        page.executeJavaScript(function.toScript());
+    }
 
-	protected String getRootContextPath() {
-		return this.getClass().getPackage().getName().replace('.', '/');
-	}
-	
-	protected ResourceResolver createResourceResolver() {
-		return new ResourceResolver() {
+    private String buildClickExpression(String id) {
+        return "document.getElementById('" + id + "').click()";
+    }
 
-			public URL resolveUrl(String path) {
-				return Thread.currentThread().getContextClassLoader().getResource(getRootContextPath() + path);
-			}
-			
-		};
-	}
-	
-	private static final Compiler compiler = new SAXCompiler();
-	
-	protected void buildView(String viewId) throws IOException {
-		FaceletFactory factory = new DefaultFaceletFactory(compiler, createResourceResolver());
-		FaceletFactory.setInstance(factory);
+    protected void clickOnTime(int time, String id) {
+        JSFunction function = new JSFunction("simulationContext.executeOnTime", time,
+                                  new JSFunctionDefinition().addToBody(buildClickExpression(id)));
 
-		FaceletFactory f = FaceletFactory.getInstance();
-		Facelet at = f.getFacelet(viewId);
+        page.executeJavaScript(function.toScript());
+    }
 
-		UIViewRoot root = facesContext.getViewRoot();
-		root.setViewId(viewId);
-		at.apply(facesContext, root);	
-	}
-	
-	protected void preRenderView() throws Exception {
-		StringBuilder builder = new StringBuilder("<script type='text/javascript'>");
-		builder.append("DEFAULT_REQUEST_TIME = " + DEFAULT_REQUEST_TIME + ";");
-		builder.append("window.simulationContext = new SimulationContext(");
-		builder.append(AJAX_SUBMIT);
-		builder.append(");</script>");
-		
-		HtmlOutputText text = new HtmlOutputText();
-		text.setEscape(false);
-		text.setValue(builder.toString());
-		
-		List<UIComponent> childList = facesContext.getViewRoot().getChildren();
-		childList.add(childList.size(), text);
-	}
-	
-	protected void postRenderView() throws Exception {
-		ScriptableObject scriptableObject = (ScriptableObject) this.page.executeJavaScript("window.LOG").getJavaScriptResult();
-		scriptableObject.defineProperty("out", systemOut, ScriptableObject.READONLY);
-	}
+    protected String getRootContextPath() {
+        return this.getClass().getPackage().getName().replace('.', '/');
+    }
 
-	private static final ScriptableObject systemOut = new ScriptableObject() {
+    protected ResourceResolver createResourceResolver() {
+        return new ResourceResolver() {
+            public URL resolveUrl(String path) {
+                return Thread.currentThread().getContextClassLoader().getResource(getRootContextPath() + path);
+            }
+        };
+    }
 
-		/**
-		 * 
-		 */
-		private static final long serialVersionUID = -8574162538513136625L;
+    protected void buildView(String viewId) throws IOException {
+        FaceletFactory factory = new DefaultFaceletFactory(compiler, createResourceResolver());
 
-		@Override
-		public String getClassName() {
-			return "systemOut";
-		} 
+        FaceletFactory.setInstance(factory);
 
-		@SuppressWarnings("unused")
-		public void println(String s) {
-			System.out.println(s);
-		}
-	};
-	
-	static {
-		try {
-			systemOut.defineProperty("println", 
-					new FunctionObject(null, systemOut.getClass().getMethod("println", String.class), systemOut), 
-					ScriptableObject.READONLY);
-		} catch (SecurityException e) {
-			throw new IllegalStateException(e.getMessage(), e);
-		} catch (NoSuchMethodException e) {
-			throw new IllegalStateException(e.getMessage(), e);
-		}
-	}
-	
-	protected HtmlPage renderView(String viewId) throws Exception {
-		buildView(viewId);
-		preRenderView();
-		this.page = super.renderView();
-		postRenderView();
-		
-		return this.page;
-	}
+        FaceletFactory f = FaceletFactory.getInstance();
+        Facelet at = f.getFacelet(viewId);
+        UIViewRoot root = facesContext.getViewRoot();
 
-	@Override
-	protected HtmlPage renderView() throws Exception {
-		preRenderView();
-		this.page = super.renderView();
-		postRenderView();
-		
-		return this.page;
-	}
-	
-	protected void click(String id) {
-		executeJavaScript(buildClickExpression(id));
-	}
-	
-	protected Object executeJavaScript(String expression) {
-		return page.executeJavaScript(expression).getJavaScriptResult();
-	}
+        root.setViewId(viewId);
+        at.apply(facesContext, root);
+    }
 
-	protected void executeTimer() {
-		page.executeJavaScript("Timer.execute();");
-	}
-	
-	protected TestsResult getTestsResult() {
-		TestsResult result = new TestsResult();
+    protected void preRenderView() throws Exception {
+        StringBuilder builder = new StringBuilder("<script type='text/javascript'>");
 
-		executeTimer();
-		ScriptResult scriptResult = page.executeJavaScript("window.simulationContext.results");
-		NativeArray array = (NativeArray) scriptResult.getJavaScriptResult();
-		
-		for (int i = 0; i < array.getLength(); i++) {
-			NativeObject object = (NativeObject) array.get(i, array);
+        builder.append("DEFAULT_REQUEST_TIME = " + DEFAULT_REQUEST_TIME + ";");
+        builder.append("window.simulationContext = new SimulationContext(");
+        builder.append(AJAX_SUBMIT);
+        builder.append(");</script>");
 
-			String data = null;
-			
-			Object dataObject = object.get("data", object);
-			if (!(dataObject instanceof Undefined)) {
-				data = (String) dataObject;
-			}
-			
-			Double startTime = (Double) object.get("startTime", object);
-			Double endTime = (Double) object.get("endTime", object);
-			
-			Object aborted = object.get("aborted", object);
-			boolean abortedBoolean = aborted instanceof Boolean && (Boolean) aborted;
-			
-			result.addData(new RequestData(data, startTime, endTime, abortedBoolean));
-		}
-		
-		scriptResult = page.executeJavaScript("Timer.currentTime");
-		result.setCurrentTime((Double) scriptResult.getJavaScriptResult());
-		
-		return result;
-	}
-	
-	@Override
-	protected void setupWebClient() {
-		super.setupWebClient();
-		webClient.setJavaScriptEngine(new JavaScriptEngine(webClient));
-		webClient.setScriptPreProcessor(new UnescapingScriptPreprocessor());
-		webClient.setThrowExceptionOnScriptError(true);
-		webClient.setAlertHandler(new AlertHandler() {
+        HtmlOutputText text = new HtmlOutputText();
 
-			public void handleAlert(Page page, String message) {
-				fail(message);
-			}
-		});
-	}
+        text.setEscape(false);
+        text.setValue(builder.toString());
+
+        List<UIComponent> childList = facesContext.getViewRoot().getChildren();
+
+        childList.add(childList.size(), text);
+    }
+
+    protected void postRenderView() throws Exception {
+        ScriptableObject scriptableObject =
+            (ScriptableObject) this.page.executeJavaScript("window.LOG").getJavaScriptResult();
+
+        scriptableObject.defineProperty("out", systemOut, ScriptableObject.READONLY);
+    }
+
+    protected HtmlPage renderView(String viewId) throws Exception {
+        buildView(viewId);
+        preRenderView();
+        this.page = super.renderView();
+        postRenderView();
+
+        return this.page;
+    }
+
+    @Override
+    protected HtmlPage renderView() throws Exception {
+        preRenderView();
+        this.page = super.renderView();
+        postRenderView();
+
+        return this.page;
+    }
+
+    protected void click(String id) {
+        executeJavaScript(buildClickExpression(id));
+    }
+
+    protected Object executeJavaScript(String expression) {
+        return page.executeJavaScript(expression).getJavaScriptResult();
+    }
+
+    protected void executeTimer() {
+        page.executeJavaScript("Timer.execute();");
+    }
+
+    protected TestsResult getTestsResult() {
+        TestsResult result = new TestsResult();
+
+        executeTimer();
+
+        ScriptResult scriptResult = page.executeJavaScript("window.simulationContext.results");
+        NativeArray array = (NativeArray) scriptResult.getJavaScriptResult();
+
+        for (int i = 0; i < array.getLength(); i++) {
+            NativeObject object = (NativeObject) array.get(i, array);
+            String data = null;
+            Object dataObject = object.get("data", object);
+
+            if (!(dataObject instanceof Undefined)) {
+                data = (String) dataObject;
+            }
+
+            Double startTime = (Double) object.get("startTime", object);
+            Double endTime = (Double) object.get("endTime", object);
+            Object aborted = object.get("aborted", object);
+            boolean abortedBoolean = aborted instanceof Boolean && (Boolean) aborted;
+
+            result.addData(new RequestData(data, startTime, endTime, abortedBoolean));
+        }
+
+        scriptResult = page.executeJavaScript("Timer.currentTime");
+        result.setCurrentTime((Double) scriptResult.getJavaScriptResult());
+
+        return result;
+    }
+
+    @Override
+    protected void setupWebClient() {
+        super.setupWebClient();
+        webClient.setJavaScriptEngine(new JavaScriptEngine(webClient));
+        webClient.setScriptPreProcessor(new UnescapingScriptPreprocessor());
+        webClient.setThrowExceptionOnScriptError(true);
+        webClient.setAlertHandler(new AlertHandler() {
+            public void handleAlert(Page page, String message) {
+                fail(message);
+            }
+        });
+    }
+
+    public final static class AjaxSubmitFunctionComponent extends UIComponentBase {
+        @Override
+        public String getRendererType() {
+            return COMPONENT_TYPE;
+        }
+
+        @Override
+        public String getFamily() {
+            return COMPONENT_TYPE;
+        }
+    }
+
+
+    private final static class AjaxSubmitFunctionResourceRenderer extends Renderer implements UserResourceRenderer2 {
+        public void encodeToHead(FacesContext facesContext, UIComponent component) throws IOException {
+            JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(component, facesContext);
+            Map<String, Object> options = AjaxRendererUtils.buildEventOptions(facesContext, component, true);
+
+            options.put("requestDelay", new JSReference("options.requestDelay"));
+            options.put("similarityGroupingId",
+                        new JSReference("options.similarityGroupingId || '" + component.getClientId(facesContext)
+                                        + "'"));
+            options.put("data", new JSReference("data"));
+            options.put("requestTime", new JSReference("options.requestTime"));
+            options.put("timeout", new JSReference("options.timeout"));
+            options.put("eventsQueue", new JSReference("options.eventsQueue"));
+            options.put("implicitEventsQueue", new JSReference("options.implicitEventsQueue"));
+            options.put("ignoreDupResponses", new JSReference("options.ignoreDupResponses"));
+            ajaxFunction.addParameter(options);
+
+            ResponseWriter responseWriter = facesContext.getResponseWriter();
+
+            responseWriter.startElement(HTML.SCRIPT_ELEM, component);
+            responseWriter.writeAttribute(HTML.TYPE_ATTR, "text/javascript", null);
+            responseWriter.writeText("var " + AJAX_SUBMIT + " = function(data, options) {" + ajaxFunction.toScript()
+                                     + "};", null);
+            responseWriter.endElement(HTML.SCRIPT_ELEM);
+        }
+    }
+
+
+    protected static final class ParametersBuilder {
+        private Map<String, Object> parameters;
+
+        private ParametersBuilder() {
+            this.parameters = new HashMap<String, Object>();
+        }
+
+        private ParametersBuilder(Map<String, Object> parameters) {
+            this.parameters = new HashMap<String, Object>(parameters);
+        }
+
+        private ParametersBuilder put(String key, Object value) {
+            this.parameters.put(key, value);
+
+            return this;
+        }
+
+        protected Map<String, Object> getParameters() {
+            return parameters;
+        }
+
+        /**
+         * Sets value of requestDelay parameter
+         * @param value
+         * @return
+         */
+        public ParametersBuilder requestDelay(double value) {
+            return new ParametersBuilder(this.parameters).put("requestDelay", value);
+        }
+
+        /**
+         * Sets value of similarityGroupingId parameter
+         * @param id
+         * @return
+         */
+        public ParametersBuilder similarityGroupingId(Object id) {
+            return new ParametersBuilder(this.parameters).put("similarityGroupingId", id);
+        }
+
+        /**
+         * Defines how long this request will be executed on server
+         * @param value
+         * @return
+         */
+        public ParametersBuilder requestTime(double value) {
+            return new ParametersBuilder(this.parameters).put("requestTime", value);
+        }
+
+        /**
+         * Sets value of timeout parameter
+         * @param value
+         * @return
+         */
+        public ParametersBuilder timeout(double value) {
+            return new ParametersBuilder(this.parameters).put("timeout", value);
+        }
+
+        /**
+         * Sets value of eventsQueue parameter
+         * @param name
+         * @return
+         */
+        public ParametersBuilder eventsQueue(String name) {
+            return new ParametersBuilder(this.parameters).put("eventsQueue", name);
+        }
+
+        /**
+         * Sets value of implicitEventsQueue parameter
+         * @param name
+         * @return
+         */
+        public ParametersBuilder implicitEventsQueue(String name) {
+            return new ParametersBuilder(this.parameters).put("implicitEventsQueue", name);
+        }
+
+        /**
+         * Sets value of ignoreDupResponses parameter
+         * @param value
+         * @return
+         */
+        public ParametersBuilder ignoreDupResponses(boolean value) {
+            return new ParametersBuilder(this.parameters).put("ignoreDupResponses", value);
+        }
+    }
+
+
+    protected static final class RequestData {
+        private boolean aborted;
+        private String data;
+        private double endTime;
+        private double startTime;
+
+        public RequestData(String data, double startTime, double endTime, boolean aborted) {
+            super();
+            this.data = data;
+            this.startTime = startTime;
+            this.endTime = endTime;
+            this.aborted = aborted;
+        }
+
+        public boolean isAborted() {
+            return aborted;
+        }
+
+        public double getStartTime() {
+            return startTime;
+        }
+
+        public double getEndTime() {
+            return endTime;
+        }
+
+        public String getData() {
+            return data;
+        }
+
+        @Override
+        public String toString() {
+            StringBuilder builder = new StringBuilder();
+
+            builder.append("data: ");
+            builder.append(data);
+            builder.append(", ");
+            builder.append("startTime: ");
+            builder.append(startTime);
+            builder.append(", ");
+            builder.append("endTime: ");
+            builder.append(endTime);
+
+            if (isAborted()) {
+                builder.append(", aborted: ");
+                builder.append(true);
+            }
+
+            return builder.toString();
+        }
+    }
+
+
+    protected static final class TestsResult {
+        private List<RequestData> dataList = new ArrayList<RequestData>();
+        private double currentTime;
+
+        public void addData(RequestData data) {
+            this.dataList.add(data);
+        }
+
+        public List<RequestData> getDataList() {
+            return dataList;
+        }
+
+        public void setCurrentTime(double number) {
+            this.currentTime = number;
+        }
+
+        public double getCurrentTime() {
+            return currentTime;
+        }
+
+        @Override
+        public String toString() {
+            StringBuilder builder = new StringBuilder();
+
+            builder.append("[\n");
+
+            for (RequestData data : dataList) {
+                builder.append("   ");
+                builder.append(data);
+                builder.append("\n");
+            }
+
+            builder.append("]\n");
+            builder.append("Current time: " + this.currentTime);
+
+            return builder.toString();
+        }
+    }
+
+
+    ;
 }
 
+
 class UnescapingScriptPreprocessor implements ScriptPreProcessor {
+    private static final Map<String, String> ENTITIES_MAP = new HashMap<String, String>();
+    private static final Pattern ENTITIES_PATTERN;
 
-	private static final Map<String, String> ENTITIES_MAP = new HashMap<String, String>();
+    static {
+        ENTITIES_MAP.put("&apos;", "\"");
+        ENTITIES_MAP.put("&quot;", "'");
+        ENTITIES_MAP.put("&amp;", "&");
+        ENTITIES_MAP.put("&lt;", "<");
+        ENTITIES_MAP.put("&gt;", ">");
+    }
 
-	static {
-		ENTITIES_MAP.put("&apos;", "\"");
-		ENTITIES_MAP.put("&quot;", "'");
-		ENTITIES_MAP.put("&amp;", "&");
-		ENTITIES_MAP.put("&lt;", "<");
-		ENTITIES_MAP.put("&gt;", ">");
-	}
+    static {
+        StringBuilder sb = new StringBuilder();
 
-	private static final Pattern ENTITIES_PATTERN;
-	
-	static {
-		StringBuilder sb = new StringBuilder();
-		
-		for (String entity : ENTITIES_MAP.keySet()) {
-			if (sb.length() != 0) {
-				sb.append('|');
-			}
-		
-			sb.append(Pattern.quote(entity));
-		}
-		
-		ENTITIES_PATTERN = Pattern.compile("(" + sb.toString() + ")");
-	}
-	
-	public String preProcess(HtmlPage htmlPage, String sourceCode,
-			String sourceName, HtmlElement htmlElement) {
+        for (String entity : ENTITIES_MAP.keySet()) {
+            if (sb.length() != 0) {
+                sb.append('|');
+            }
 
-		if (sourceName != null && !sourceName.startsWith("http:/")) {
-			Matcher m = ENTITIES_PATTERN.matcher(sourceCode);
-			StringBuffer sb = new StringBuffer();
-			while (m.find()) {
-				String entity = m.group(1);
-				m.appendReplacement(sb, ENTITIES_MAP.get(entity));
-			}
+            sb.append(Pattern.quote(entity));
+        }
 
-			m.appendTail(sb);
-			
-			return sb.toString();
-		} else {
-			return sourceCode;
-		}
+        ENTITIES_PATTERN = Pattern.compile("(" + sb.toString() + ")");
+    }
 
-	}
+    public String preProcess(HtmlPage htmlPage, String sourceCode, String sourceName, HtmlElement htmlElement) {
+        if (sourceName != null && !sourceName.startsWith("http:/")) {
+            Matcher m = ENTITIES_PATTERN.matcher(sourceCode);
+            StringBuffer sb = new StringBuffer();
+
+            while (m.find()) {
+                String entity = m.group(1);
+
+                m.appendReplacement(sb, ENTITIES_MAP.get(entity));
+            }
+
+            m.appendTail(sb);
+
+            return sb.toString();
+        } else {
+            return sourceCode;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ActionListenerTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ActionListenerTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ActionListenerTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.io.Serializable;
@@ -26,6 +28,7 @@
 import javax.el.ELContext;
 import javax.el.ExpressionFactory;
 import javax.el.ValueExpression;
+
 import javax.faces.component.UICommand;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -41,112 +44,130 @@
  */
 public class ActionListenerTest extends AbstractFacesTest {
 
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	public void setUp() throws Exception {
-		super.setUp();
-		setupFacesRequest();
-	}
+    /*
+     *  (non-Javadoc)
+     * @see junit.framework.TestCase#setUp()
+     */
+    public void setUp() throws Exception {
+        super.setUp();
+        setupFacesRequest();
+    }
 
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	public void tearDown() throws Exception {
-		super.tearDown();
-	}
+    /*
+     *  (non-Javadoc)
+     * @see junit.framework.TestCase#tearDown()
+     */
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIActionParameter#getValue()}.
-	 */
-	public void testGetValue() {
-		Bean bean = new Bean();
-		bean.setFirst(1);
-		bean.setSecond(2.0);
-		UIActionParameter param = new UIActionParameter();
-		param.setConverter(new TestConverter());
-		param.setValue(bean);
-		assertEquals("1;2.0", param.getValue());
-	}
-	
-	public void testGetIntValue() throws Exception {
-		UIActionParameter param = new UIActionParameter();
-		application.addConverter(Integer.class, IntegerConverter.class.getName());
-		param.setValue(new Integer(1));
-		assertEquals("1", param.getValue());		
-	}
-	
-	static class TestConverter implements Converter {
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIActionParameter#getValue()}.
+     */
+    public void testGetValue() {
+        Bean bean = new Bean();
 
-		/* (non-Javadoc)
-		 * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
-		 */
-		public Object getAsObject(FacesContext context, UIComponent comp, String str) {
-			Bean bean = new Bean();
-			String[] values = str.split(";");
-			bean.setFirst(Integer.parseInt(values[0]));
-			bean.setSecond(Double.parseDouble(values[1]));
-			return bean;
-		}
+        bean.setFirst(1);
+        bean.setSecond(2.0);
 
-		/* (non-Javadoc)
-		 * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
-		 */
-		public String getAsString(FacesContext context, UIComponent comp, Object value) {
-			Bean bean = (Bean) value;
-			return String.valueOf(bean.getFirst())+";"+String.valueOf(bean.getSecond());
-		}
-		
-	}
-	
-	public static class Bean implements Serializable {
-		int _first;
-		double _second;
-		/**
-		 * @return the first
-		 */
-		public int getFirst() {
-			return this._first;
-		}
-		/**
-		 * @param first the first to set
-		 */
-		public void setFirst(int first) {
-			this._first = first;
-		}
-		/**
-		 * @return the second
-		 */
-		public double getSecond() {
-			return this._second;
-		}
-		/**
-		 * @param second the second to set
-		 */
-		public void setSecond(double second) {
-			this._second = second;
-		}
-	}
+        UIActionParameter param = new UIActionParameter();
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIActionParameter#processAction(javax.faces.event.ActionEvent)}.
-	 */
-	public void testProcessAction() {
-		UICommand command = new UICommand();
-		UIActionParameter param = new UIActionParameter();
-		param.setConverter(new IntegerConverter());
-		param.setName("param");
-		ELContext elContext = facesContext.getELContext();
-		ExpressionFactory expressionFactory = application.getExpressionFactory();
-		ValueExpression expression = 
-			expressionFactory.createValueExpression(elContext, "#{bean.first}", Integer.TYPE);
-		param.setAssignToBinding(expression);
-		Bean bean = new Bean();
-		facesContext.getExternalContext().getRequestMap().put("bean", bean);
-		this.connection.addRequestParameter("param", "123");
-		command.addActionListener(param);
-		command.broadcast(new ActionEvent(command));
-		assertEquals(123, bean.getFirst());
-	}
+        param.setConverter(new TestConverter());
+        param.setValue(bean);
+        assertEquals("1;2.0", param.getValue());
+    }
 
+    public void testGetIntValue() throws Exception {
+        UIActionParameter param = new UIActionParameter();
+
+        application.addConverter(Integer.class, IntegerConverter.class.getName());
+        param.setValue(new Integer(1));
+        assertEquals("1", param.getValue());
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIActionParameter#processAction(javax.faces.event.ActionEvent)}.
+     */
+    public void testProcessAction() {
+        UICommand command = new UICommand();
+        UIActionParameter param = new UIActionParameter();
+
+        param.setConverter(new IntegerConverter());
+        param.setName("param");
+
+        ELContext elContext = facesContext.getELContext();
+        ExpressionFactory expressionFactory = application.getExpressionFactory();
+        ValueExpression expression = expressionFactory.createValueExpression(elContext, "#{bean.first}", Integer.TYPE);
+
+        param.setAssignToBinding(expression);
+
+        Bean bean = new Bean();
+
+        facesContext.getExternalContext().getRequestMap().put("bean", bean);
+        this.connection.addRequestParameter("param", "123");
+        command.addActionListener(param);
+        command.broadcast(new ActionEvent(command));
+        assertEquals(123, bean.getFirst());
+    }
+
+    public static class Bean implements Serializable {
+        int _first;
+        double _second;
+
+        /**
+         * @return the first
+         */
+        public int getFirst() {
+            return this._first;
+        }
+
+        /**
+         * @param first the first to set
+         */
+        public void setFirst(int first) {
+            this._first = first;
+        }
+
+        /**
+         * @return the second
+         */
+        public double getSecond() {
+            return this._second;
+        }
+
+        /**
+         * @param second the second to set
+         */
+        public void setSecond(double second) {
+            this._second = second;
+        }
+    }
+
+
+    static class TestConverter implements Converter {
+
+        /*
+         *  (non-Javadoc)
+         * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
+         */
+        public Object getAsObject(FacesContext context, UIComponent comp, String str) {
+            Bean bean = new Bean();
+            String[] values = str.split(";");
+
+            bean.setFirst(Integer.parseInt(values[0]));
+            bean.setSecond(Double.parseDouble(values[1]));
+
+            return bean;
+        }
+
+        /*
+         *  (non-Javadoc)
+         * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
+         */
+        public String getAsString(FacesContext context, UIComponent comp, Object value) {
+            Bean bean = (Bean) value;
+
+            return String.valueOf(bean.getFirst()) + ";" + String.valueOf(bean.getSecond());
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AjaxFormQueuesTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AjaxFormQueuesTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/AjaxFormQueuesTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -20,10 +20,9 @@
  */
 
 
+
 package org.ajax4jsf.component;
 
-
-
 /**
  * @author Nick Belaevski
  * @since 3.3.0
@@ -31,36 +30,36 @@
  */
 public class AjaxFormQueuesTest extends AbstractQueueComponentTest {
 
-	/**
-	 * @param name
-	 */
-	public AjaxFormQueuesTest(String name) {
-		super(name);
-	}
+    /**
+     * @param name
+     */
+    public AjaxFormQueuesTest(String name) {
+        super(name);
+    }
 
-	protected void checkForm(String formName) throws Exception {
-		renderView("/queue-ajax-form.xhtml");
-		click(formName + ":link");
-		executeTimer();
-	
-		Object resultObject = executeJavaScript("window.testResults." + formName);
-	
-		assertTrue(formName, resultObject instanceof Boolean && (Boolean) resultObject);
-	}
-	
-	public void testViewDefault() throws Exception {
-		checkForm("viewDefault");
-	}
-	
-	public void testViewNamed() throws Exception {
-		checkForm("viewNamed");
-	}
-	
-	public void testFormDefault() throws Exception {
-		checkForm("formDefault");
-	}
-	
-	public void testFormNamed() throws Exception {
-		checkForm("formNamed");
-	}
+    protected void checkForm(String formName) throws Exception {
+        renderView("/queue-ajax-form.xhtml");
+        click(formName + ":link");
+        executeTimer();
+
+        Object resultObject = executeJavaScript("window.testResults." + formName);
+
+        assertTrue(formName, resultObject instanceof Boolean && (Boolean) resultObject);
+    }
+
+    public void testViewDefault() throws Exception {
+        checkForm("viewDefault");
+    }
+
+    public void testViewNamed() throws Exception {
+        checkForm("viewNamed");
+    }
+
+    public void testFormDefault() throws Exception {
+        checkForm("formDefault");
+    }
+
+    public void testFormNamed() throws Exception {
+        checkForm("formNamed");
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/DataAdaptorTestCase.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/DataAdaptorTestCase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/DataAdaptorTestCase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.ArrayList;
@@ -41,360 +43,386 @@
  *
  */
 public class DataAdaptorTestCase extends AbstractAjax4JsfTestCase {
-	
-	private UIDataAdaptor adaptor;
-	
-	private UIInput child;
-	
-	private int childInvoked;
-	
-	private UIInput facetChild;
-	
-	private int facetInvoked;
+    private UIDataAdaptor adaptor;
+    private UIInput child;
+    private UIInput childChild;
+    private UIInput childChildFacet;
+    private int childChildFacetInvoked;
+    private int childChildInvoked;
+    private int childInvoked;
+    UIData data;
+    private UIInput facetChild;
+    private int facetInvoked;
 
-	private UIInput childChild;
-	
-	private int childChildInvoked;
+    /**
+     * @param name
+     */
+    public DataAdaptorTestCase(String name) {
+        super(name);
+    }
 
-	private UIInput childChildFacet;
-	
-	private int childChildFacetInvoked;
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
+     */
+    public void setUp() throws Exception {
+        super.setUp();
 
-	UIData data;
-	/**
-	 * @param name
-	 */
-	public DataAdaptorTestCase(String name) {
-		super(name);
-	}
+        // Create mock DataAdaptor and childs.
+        adaptor = new MockDataAdaptor();
+        child = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childInvoked++;
+                super.processDecodes(context);
+            }
+        };
+        childInvoked = 0;
+        child.setId("child");
+        adaptor.getChildren().add(child);
+        facetChild = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                facetInvoked++;
+                super.processDecodes(context);
+            }
+        };
+        facetInvoked = 0;
+        facetChild.setId("facetChild");
+        adaptor.getFacets().put("facet", facetChild);
+        childChild = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childChildInvoked++;
+                super.processDecodes(context);
+            }
+        };;
+        childChildInvoked = 0;
+        childChild.setId("childChild");
+        child.getChildren().add(childChild);
+        childChildFacet = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childChildFacetInvoked++;
+                super.processDecodes(context);
+            }
+        };;
+        childChildFacetInvoked = 0;
+        childChildFacet.setId("childChildFacet");
+        childChild.getFacets().put("facet", childChildFacet);
+        data = new UIData();
+        renderKit.addRenderer(child.getFamily(), child.getRendererType(), new MockUIInputRenderer());
+        renderKit.addRenderer(adaptor.getFamily(), adaptor.getRendererType(), new MockUIInputRenderer());
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
-	 */
-	public void setUp() throws Exception {
-		super.setUp();
-		// Create mock DataAdaptor and childs.
-		adaptor = new MockDataAdaptor();
-		child = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				childInvoked++;
-				super.processDecodes(context);
-			}
-		};
-		childInvoked = 0;
-		child.setId("child");
-		adaptor.getChildren().add(child);
-		facetChild = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				facetInvoked++;
-				super.processDecodes(context);
-			}
-		};
-		facetInvoked = 0;
-		facetChild.setId("facetChild");
-		adaptor.getFacets().put("facet", facetChild);
-		childChild = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				childChildInvoked++;
-				super.processDecodes(context);
-			}
-		};;
-		childChildInvoked = 0;
-		childChild.setId("childChild");
-		child.getChildren().add(childChild);
-		childChildFacet = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				childChildFacetInvoked++;
-				super.processDecodes(context);
-			}
-		};;
-		childChildFacetInvoked = 0;
-		childChildFacet.setId("childChildFacet");
-		childChild.getFacets().put("facet", childChildFacet);
-		data = new UIData();
-		renderKit.addRenderer(child.getFamily(), child.getRendererType(), new MockUIInputRenderer());
-		renderKit.addRenderer(adaptor.getFamily(), adaptor.getRendererType(), new MockUIInputRenderer());
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
+     */
+    public void tearDown() throws Exception {
+        super.tearDown();
+        adaptor = null;
+        child = null;
+        childChild = null;
+        childChildFacet = null;
+        facetChild = null;
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
-	 */
-	public void tearDown() throws Exception {
-		super.tearDown();
-		adaptor = null;
-		child = null;
-		childChild = null;
-		childChildFacet = null;
-		facetChild = null;
-	}
-	
-	private void createTree(){
-		facesContext.getViewRoot().getChildren().add(adaptor);
-		adaptor.setId("adaptor");
-	}
-	
-	private void createDataTree(){
-		data.setId("data");
-		adaptor.setId("adaptor");
-		ArrayList value = new ArrayList(2);
-		value.add("first");
-		value.add("second");
-		data.setValue(value);
-		data.setVar("var");
-		UIColumn column = new UIColumn();
-		data.getChildren().add(column);
-		column.getChildren().add(adaptor);
-		facesContext.getViewRoot().getChildren().add(data);
-	}
+    private void createTree() {
+        facesContext.getViewRoot().getChildren().add(adaptor);
+        adaptor.setId("adaptor");
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#isRowAvailable()}.
-	 */
-	public void testIsRowAvailable() {
-		adaptor.setRowKey(new Integer(0));
-		assertTrue(adaptor.isRowAvailable());
-		adaptor.setRowKey(new Integer(MockDataModel.ROWS-1));
-		assertTrue(adaptor.isRowAvailable());
-		adaptor.setRowKey(new Integer(MockDataModel.ROWS+1));
-		assertFalse(adaptor.isRowAvailable());
-		adaptor.setRowKey(null);
-		assertFalse(adaptor.isRowAvailable());
-	}
+    private void createDataTree() {
+        data.setId("data");
+        adaptor.setId("adaptor");
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#getRowKey()}.
-	 */
-	public void testGetRowKey() {
-		adaptor.setRowIndex(0);
-		assertEquals(new Integer(0), adaptor.getRowKey());
-		adaptor.setRowIndex(-1);
-		assertNull(adaptor.getRowKey());
-	}
+        ArrayList value = new ArrayList(2);
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#setRowKey(java.lang.Object)}.
-	 */
-	public void testSetRowKey() {
-		adaptor.setRowKey(new Integer(1));
-		assertEquals(1, adaptor.getRowIndex());
-		adaptor.setRowKey(null);
-		assertEquals(-1, adaptor.getRowIndex());
-	}
+        value.add("first");
+        value.add("second");
+        data.setValue(value);
+        data.setVar("var");
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#resetDataModel()}.
-	 */
-	public void testResetDataModel() {
-		adaptor.setRowKey(new Integer(1));
-		adaptor.resetDataModel();
-		assertEquals(0, adaptor.getRowIndex());
-	}
+        UIColumn column = new UIColumn();
 
-	public void testGetBaseClientId(){
-		createDataTree();
-		data.setRowIndex(-1);
-		assertEquals(adaptor.getBaseClientId(facesContext), "data:adaptor");
-		data.setRowIndex(0);
-		assertEquals(adaptor.getBaseClientId(facesContext), "data:0:adaptor");
-		data.setRowIndex(1);
-		assertEquals(adaptor.getBaseClientId(facesContext), "data:1:adaptor");
-		adaptor.setRowIndex(1);
-		assertEquals(adaptor.getBaseClientId(facesContext), "data:1:adaptor");
-	}
-	
-	
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#setExtendedDataModel(org.ajax4jsf.ajax.repeat.ExtendedDataModel)}.
-	 */
-	public void testSetIterableDataModel() {
-		createDataTree();
-		data.setRowIndex(0);
-		MockDataModel mockDataModel0 = new MockDataModel();
-		adaptor.setExtendedDataModel(mockDataModel0);
-		data.setRowIndex(1);
-		MockDataModel mockDataModel1 = new MockDataModel();
-		adaptor.setExtendedDataModel(mockDataModel1);
-		data.setRowIndex(0);
-		assertSame(mockDataModel0, adaptor.getExtendedDataModel());
-		data.setRowIndex(1);
-		assertSame(mockDataModel1, adaptor.getExtendedDataModel());
-	}
-	
-	public void testSetDataModel(){
-		MockDataModel mockDataModel1 = new MockDataModel();
-		adaptor.setExtendedDataModel(mockDataModel1);
-		assertSame(mockDataModel1, adaptor.getExtendedDataModel());		
-	}
+        data.getChildren().add(column);
+        column.getChildren().add(adaptor);
+        facesContext.getViewRoot().getChildren().add(data);
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#getExtendedDataModel()}.
-	 */
-	public void testGetIterableDataModel() {
-		ExtendedDataModel dataModel = adaptor.getExtendedDataModel();
-		assertTrue(dataModel instanceof MockDataModel);
-	}
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#isRowAvailable()}.
+     */
+    public void testIsRowAvailable() {
+        adaptor.setRowKey(new Integer(0));
+        assertTrue(adaptor.isRowAvailable());
+        adaptor.setRowKey(new Integer(MockDataModel.ROWS - 1));
+        assertTrue(adaptor.isRowAvailable());
+        adaptor.setRowKey(new Integer(MockDataModel.ROWS + 1));
+        assertFalse(adaptor.isRowAvailable());
+        adaptor.setRowKey(null);
+        assertFalse(adaptor.isRowAvailable());
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#getComponentState()}.
-	 */
-	public void testGetComponentState() {
-		createDataTree();
-		data.setRowIndex(0);
-		DataComponentState state0 = adaptor.getComponentState();
-		assertTrue(state0 instanceof MockComponentState);
-		data.setRowIndex(1);
-		DataComponentState state1 = adaptor.getComponentState();
-		data.setRowIndex(0);
-		assertSame(state0, adaptor.getComponentState());
-		data.setRowIndex(1);
-		assertSame(state1, adaptor.getComponentState());
-	}
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#getRowKey()}.
+     */
+    public void testGetRowKey() {
+        adaptor.setRowIndex(0);
+        assertEquals(new Integer(0), adaptor.getRowKey());
+        adaptor.setRowIndex(-1);
+        assertNull(adaptor.getRowKey());
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#createComponentState()}.
-	 */
-	public void testCreateComponentState() {
-		DataComponentState state = adaptor.createComponentState();
-		assertTrue(state instanceof MockComponentState);
-	}
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#setRowKey(java.lang.Object)}.
+     */
+    public void testSetRowKey() {
+        adaptor.setRowKey(new Integer(1));
+        assertEquals(1, adaptor.getRowIndex());
+        adaptor.setRowKey(null);
+        assertEquals(-1, adaptor.getRowIndex());
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#iterate(javax.faces.context.FacesContext, org.ajax4jsf.ajax.repeat.RepeaterInvoker)}.
-	 */
-	public void testProcess() {
-		createTree();
-		MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
-		mockState.setCount(4);
-		adaptor.processDecodes(facesContext);
-		assertEquals(childInvoked, 4);
-		assertEquals(facetInvoked, 1);
-	}
-	
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#iterate(javax.faces.context.FacesContext, org.ajax4jsf.ajax.repeat.RepeaterInvoker)}.
-	 */
-	public void testProcessMore() {
-		createTree();
-		MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
-		mockState.setCount(Integer.MAX_VALUE);
-		adaptor.processDecodes(facesContext);
-		assertEquals(childInvoked, MockDataModel.ROWS);
-		assertEquals(facetInvoked, 1);
-	}
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#resetDataModel()}.
+     */
+    public void testResetDataModel() {
+        adaptor.setRowKey(new Integer(1));
+        adaptor.resetDataModel();
+        assertEquals(0, adaptor.getRowIndex());
+    }
 
-	
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#restoreState(javax.faces.context.FacesContext, java.lang.Object)}.
-	 * @throws IllegalAccessException 
-	 * @throws InstantiationException 
-	 */
-	public void testRestoreStateFacesContextObject() throws Exception {
-		createTree();
-		MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
-		mockState.setCount(123);
-		adaptor.encodeBegin(facesContext);
-		UIViewRoot viewRoot = facesContext.getViewRoot();
-		Object treeState = viewRoot.processSaveState(facesContext);
-		UIViewRoot root = (UIViewRoot) viewRoot.getClass().newInstance();
-		UIDataAdaptor restoredAdaptor = new MockDataAdaptor();
-		root.getChildren().add(restoredAdaptor);
-		root.processRestoreState(facesContext, treeState);
-		mockState = (MockComponentState) restoredAdaptor.getComponentState();
-		assertEquals(mockState.getCount(), 123);
-	}
+    public void testGetBaseClientId() {
+        createDataTree();
+        data.setRowIndex(-1);
+        assertEquals(adaptor.getBaseClientId(facesContext), "data:adaptor");
+        data.setRowIndex(0);
+        assertEquals(adaptor.getBaseClientId(facesContext), "data:0:adaptor");
+        data.setRowIndex(1);
+        assertEquals(adaptor.getBaseClientId(facesContext), "data:1:adaptor");
+        adaptor.setRowIndex(1);
+        assertEquals(adaptor.getBaseClientId(facesContext), "data:1:adaptor");
+    }
 
-	/**
-	 * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#saveState(javax.faces.context.FacesContext)}.
-	 */
-	public void testSaveStateFacesContext() throws Exception {
-		createDataTree();
-		data.setRowIndex(0);
-		MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
-		mockState.setCount(123);
-		adaptor.encodeBegin(facesContext);
-		data.setRowIndex(1);
-		mockState = (MockComponentState) adaptor.getComponentState();
-		mockState.setCount(321);
-		adaptor.encodeBegin(facesContext);
-		UIViewRoot viewRoot = facesContext.getViewRoot();
-		Object treeState = viewRoot.processSaveState(facesContext);
-		UIViewRoot root = (UIViewRoot) viewRoot.getClass().newInstance();
-		UIData restoredData = new UIData();
-		UIDataAdaptor restoredAdaptor = new MockDataAdaptor();
-		root.getChildren().add(restoredData);
-		UIColumn column = new UIColumn();
-		restoredData.getChildren().add(column);
-		column.getChildren().add(restoredAdaptor);
-		root.processRestoreState(facesContext, treeState);
-		restoredData.setRowIndex(0);
-		mockState = (MockComponentState) restoredAdaptor.getComponentState();
-		assertEquals(123,mockState.getCount());
-		restoredData.setRowIndex(1);
-		mockState = (MockComponentState) restoredAdaptor.getComponentState();
-		assertEquals(321,mockState.getCount());
-	}
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#setExtendedDataModel(org.ajax4jsf.ajax.repeat.ExtendedDataModel)}.
+     */
+    public void testSetIterableDataModel() {
+        createDataTree();
+        data.setRowIndex(0);
 
-	public void testSaveChildState(){
-		createTree();
-		child.setSubmittedValue("Submitted");
-		child.setValid(true);
-		child.setValue("Value");
-		child.setLocalValueSet(true);
-		adaptor.saveChildState(facesContext);
-		child.setSubmittedValue("NonSubmitted");
-		child.setValid(false);
-		child.setValue(null);
-		child.setLocalValueSet(false);
-		adaptor.restoreChildState(facesContext);
-		assertEquals(child.getSubmittedValue(), "Submitted");
-		assertTrue(child.isValid());
-		assertEquals(child.getValue(), "Value");
-		assertTrue(child.isLocalValueSet());
-	}
-	
-	public void testSaveChildChildState(){
-		createTree();
-		childChild.setSubmittedValue("Submitted");
-		childChild.setValid(true);
-		childChild.setValue("Value");
-		childChild.setLocalValueSet(true);
-		adaptor.saveChildState(facesContext);
-		childChild.setSubmittedValue("NonSubmitted");
-		childChild.setValid(false);
-		childChild.setValue(null);
-		childChild.setLocalValueSet(false);
-		adaptor.restoreChildState(facesContext);
-		assertEquals(childChild.getSubmittedValue(), "Submitted");
-		assertTrue(childChild.isValid());
-		assertEquals(childChild.getValue(), "Value");
-		assertTrue(childChild.isLocalValueSet());
-	}
-	public void testSaveChildChildFacetState(){
-		createTree();
-		childChildFacet.setSubmittedValue("Submitted");
-		childChildFacet.setValid(true);
-		childChildFacet.setValue("Value");
-		childChildFacet.setLocalValueSet(true);
-		adaptor.saveChildState(facesContext);
-		childChildFacet.setSubmittedValue("NonSubmitted");
-		childChildFacet.setValid(false);
-		childChildFacet.setValue(null);
-		childChildFacet.setLocalValueSet(false);
-		adaptor.restoreChildState(facesContext);
-		assertEquals(childChildFacet.getSubmittedValue(), "Submitted");
-		assertTrue(childChildFacet.isValid());
-		assertEquals(childChildFacet.getValue(), "Value");
-		assertTrue(childChildFacet.isLocalValueSet());
-	}
-	
-	public void testSetValue() {
-		ExtendedDataModel model1 = adaptor.getExtendedDataModel();
-		adaptor.setValue("value");
-		ExtendedDataModel model2 = adaptor.getExtendedDataModel();
-		assertNotSame(model1, model2);
-		
-		Object value = adaptor.getValue();
-		assertNotNull(value);
-		assertEquals("value", value);
-	}
+        MockDataModel mockDataModel0 = new MockDataModel();
+
+        adaptor.setExtendedDataModel(mockDataModel0);
+        data.setRowIndex(1);
+
+        MockDataModel mockDataModel1 = new MockDataModel();
+
+        adaptor.setExtendedDataModel(mockDataModel1);
+        data.setRowIndex(0);
+        assertSame(mockDataModel0, adaptor.getExtendedDataModel());
+        data.setRowIndex(1);
+        assertSame(mockDataModel1, adaptor.getExtendedDataModel());
+    }
+
+    public void testSetDataModel() {
+        MockDataModel mockDataModel1 = new MockDataModel();
+
+        adaptor.setExtendedDataModel(mockDataModel1);
+        assertSame(mockDataModel1, adaptor.getExtendedDataModel());
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#getExtendedDataModel()}.
+     */
+    public void testGetIterableDataModel() {
+        ExtendedDataModel dataModel = adaptor.getExtendedDataModel();
+
+        assertTrue(dataModel instanceof MockDataModel);
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#getComponentState()}.
+     */
+    public void testGetComponentState() {
+        createDataTree();
+        data.setRowIndex(0);
+
+        DataComponentState state0 = adaptor.getComponentState();
+
+        assertTrue(state0 instanceof MockComponentState);
+        data.setRowIndex(1);
+
+        DataComponentState state1 = adaptor.getComponentState();
+
+        data.setRowIndex(0);
+        assertSame(state0, adaptor.getComponentState());
+        data.setRowIndex(1);
+        assertSame(state1, adaptor.getComponentState());
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#createComponentState()}.
+     */
+    public void testCreateComponentState() {
+        DataComponentState state = adaptor.createComponentState();
+
+        assertTrue(state instanceof MockComponentState);
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#iterate(javax.faces.context.FacesContext, org.ajax4jsf.ajax.repeat.RepeaterInvoker)}.
+     */
+    public void testProcess() {
+        createTree();
+
+        MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
+
+        mockState.setCount(4);
+        adaptor.processDecodes(facesContext);
+        assertEquals(childInvoked, 4);
+        assertEquals(facetInvoked, 1);
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#iterate(javax.faces.context.FacesContext, org.ajax4jsf.ajax.repeat.RepeaterInvoker)}.
+     */
+    public void testProcessMore() {
+        createTree();
+
+        MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
+
+        mockState.setCount(Integer.MAX_VALUE);
+        adaptor.processDecodes(facesContext);
+        assertEquals(childInvoked, MockDataModel.ROWS);
+        assertEquals(facetInvoked, 1);
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#restoreState(javax.faces.context.FacesContext, java.lang.Object)}.
+     * @throws IllegalAccessException
+     * @throws InstantiationException
+     */
+    public void testRestoreStateFacesContextObject() throws Exception {
+        createTree();
+
+        MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
+
+        mockState.setCount(123);
+        adaptor.encodeBegin(facesContext);
+
+        UIViewRoot viewRoot = facesContext.getViewRoot();
+        Object treeState = viewRoot.processSaveState(facesContext);
+        UIViewRoot root = (UIViewRoot) viewRoot.getClass().newInstance();
+        UIDataAdaptor restoredAdaptor = new MockDataAdaptor();
+
+        root.getChildren().add(restoredAdaptor);
+        root.processRestoreState(facesContext, treeState);
+        mockState = (MockComponentState) restoredAdaptor.getComponentState();
+        assertEquals(mockState.getCount(), 123);
+    }
+
+    /**
+     * Test method for {@link org.ajax4jsf.component.UIDataAdaptor#saveState(javax.faces.context.FacesContext)}.
+     */
+    public void testSaveStateFacesContext() throws Exception {
+        createDataTree();
+        data.setRowIndex(0);
+
+        MockComponentState mockState = (MockComponentState) adaptor.getComponentState();
+
+        mockState.setCount(123);
+        adaptor.encodeBegin(facesContext);
+        data.setRowIndex(1);
+        mockState = (MockComponentState) adaptor.getComponentState();
+        mockState.setCount(321);
+        adaptor.encodeBegin(facesContext);
+
+        UIViewRoot viewRoot = facesContext.getViewRoot();
+        Object treeState = viewRoot.processSaveState(facesContext);
+        UIViewRoot root = (UIViewRoot) viewRoot.getClass().newInstance();
+        UIData restoredData = new UIData();
+        UIDataAdaptor restoredAdaptor = new MockDataAdaptor();
+
+        root.getChildren().add(restoredData);
+
+        UIColumn column = new UIColumn();
+
+        restoredData.getChildren().add(column);
+        column.getChildren().add(restoredAdaptor);
+        root.processRestoreState(facesContext, treeState);
+        restoredData.setRowIndex(0);
+        mockState = (MockComponentState) restoredAdaptor.getComponentState();
+        assertEquals(123, mockState.getCount());
+        restoredData.setRowIndex(1);
+        mockState = (MockComponentState) restoredAdaptor.getComponentState();
+        assertEquals(321, mockState.getCount());
+    }
+
+    public void testSaveChildState() {
+        createTree();
+        child.setSubmittedValue("Submitted");
+        child.setValid(true);
+        child.setValue("Value");
+        child.setLocalValueSet(true);
+        adaptor.saveChildState(facesContext);
+        child.setSubmittedValue("NonSubmitted");
+        child.setValid(false);
+        child.setValue(null);
+        child.setLocalValueSet(false);
+        adaptor.restoreChildState(facesContext);
+        assertEquals(child.getSubmittedValue(), "Submitted");
+        assertTrue(child.isValid());
+        assertEquals(child.getValue(), "Value");
+        assertTrue(child.isLocalValueSet());
+    }
+
+    public void testSaveChildChildState() {
+        createTree();
+        childChild.setSubmittedValue("Submitted");
+        childChild.setValid(true);
+        childChild.setValue("Value");
+        childChild.setLocalValueSet(true);
+        adaptor.saveChildState(facesContext);
+        childChild.setSubmittedValue("NonSubmitted");
+        childChild.setValid(false);
+        childChild.setValue(null);
+        childChild.setLocalValueSet(false);
+        adaptor.restoreChildState(facesContext);
+        assertEquals(childChild.getSubmittedValue(), "Submitted");
+        assertTrue(childChild.isValid());
+        assertEquals(childChild.getValue(), "Value");
+        assertTrue(childChild.isLocalValueSet());
+    }
+
+    public void testSaveChildChildFacetState() {
+        createTree();
+        childChildFacet.setSubmittedValue("Submitted");
+        childChildFacet.setValid(true);
+        childChildFacet.setValue("Value");
+        childChildFacet.setLocalValueSet(true);
+        adaptor.saveChildState(facesContext);
+        childChildFacet.setSubmittedValue("NonSubmitted");
+        childChildFacet.setValid(false);
+        childChildFacet.setValue(null);
+        childChildFacet.setLocalValueSet(false);
+        adaptor.restoreChildState(facesContext);
+        assertEquals(childChildFacet.getSubmittedValue(), "Submitted");
+        assertTrue(childChildFacet.isValid());
+        assertEquals(childChildFacet.getValue(), "Value");
+        assertTrue(childChildFacet.isLocalValueSet());
+    }
+
+    public void testSetValue() {
+        ExtendedDataModel model1 = adaptor.getExtendedDataModel();
+
+        adaptor.setValue("value");
+
+        ExtendedDataModel model2 = adaptor.getExtendedDataModel();
+
+        assertNotSame(model1, model2);
+
+        Object value = adaptor.getValue();
+
+        assertNotNull(value);
+        assertEquals("value", value);
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ImplicitQueuesTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ImplicitQueuesTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/ImplicitQueuesTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,11 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.List;
 
-
 /**
  * @author Nick Belaevski
  * @since 3.3.0
@@ -31,85 +32,83 @@
  */
 public class ImplicitQueuesTest extends AbstractQueueComponentTest {
 
-	/**
-	 * @param name
-	 */
-	public ImplicitQueuesTest(String name) {
-		super(name);
-	}
-	
-	public void testImplicitGlobalQueueEnabled() throws Exception {
-		servletContext.addInitParameter("org.richfaces.queue.global.enabled", "true");
+    /**
+     * @param name
+     */
+    public ImplicitQueuesTest(String name) {
+        super(name);
+    }
 
-		renderView();
-		
-		ajax(0, "a", createAjaxParameters().requestTime(1000));
-		ajax(0, "b", createAjaxParameters().requestTime(1000));
-		
-		TestsResult result = getTestsResult();
-		assertEquals(2000d, result.getCurrentTime());
-	}
+    public void testImplicitGlobalQueueEnabled() throws Exception {
+        servletContext.addInitParameter("org.richfaces.queue.global.enabled", "true");
+        renderView();
+        ajax(0, "a", createAjaxParameters().requestTime(1000));
+        ajax(0, "b", createAjaxParameters().requestTime(1000));
 
-	public void testImplicitGlobalQueueDefault() throws Exception {
-		renderView();
-		
-		ajax(0, "a", createAjaxParameters().requestTime(1000));
-		ajax(0, "b", createAjaxParameters().requestTime(1000));
-		
-		TestsResult result = getTestsResult();
-		assertEquals(1000d, result.getCurrentTime());
-	}
-	
-	public void testLegacyQueuesRequestDelay() throws Exception {
-		renderView("/queue-legacy.xhtml");
+        TestsResult result = getTestsResult();
 
-		clickOnTime(0, "form:buttonDelayed");
-		clickOnTime(500, "form:buttonDelayed");
-		clickOnTime(750, "form:buttonDelayed");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(1, dataList.size());
-		
-		//request time set to 5000 in .xhtml file
-		RequestData data = dataList.get(0);
-		checkRequestData(data, "form:buttonDelayed", 1750, 6750, false);
-		
-		assertEquals(6750d, result.getCurrentTime());
-	}
+        assertEquals(2000d, result.getCurrentTime());
+    }
 
-	public void testLegacyQueuesIgnoreDupResponces() throws Exception {
-		renderView("/queue-legacy.xhtml");
+    public void testImplicitGlobalQueueDefault() throws Exception {
+        renderView();
+        ajax(0, "a", createAjaxParameters().requestTime(1000));
+        ajax(0, "b", createAjaxParameters().requestTime(1000));
 
-		clickOnTime(0, "form:buttonIgnoreDupResponces");
-		clickOnTime(500, "form:buttonIgnoreDupResponces");
-		
-		executeTimer();
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
+        TestsResult result = getTestsResult();
 
-		//RF-5788
-		//assertEquals(3, dataList.size());
-		assertEquals(2, dataList.size());
-		
-		//request time set to 5000 in .xhtml file
-		checkRequestData(dataList.get(0), "form:buttonIgnoreDupResponces", 0, 5000, false);
-		checkRequestData(dataList.get(1), "form:buttonIgnoreDupResponces", 5000, 10000, false);
+        assertEquals(1000d, result.getCurrentTime());
+    }
 
-		//RF-5788
-		//checkRequestData(dataList.get(2), "form:buttonIgnoreDupResponces", 750, 5750, false);
-		
-		//RF-5788
-		//assertEquals(5750d, result.getCurrentTime());
-		assertEquals(10000d, result.getCurrentTime());
+    public void testLegacyQueuesRequestDelay() throws Exception {
+        renderView("/queue-legacy.xhtml");
+        clickOnTime(0, "form:buttonDelayed");
+        clickOnTime(500, "form:buttonDelayed");
+        clickOnTime(750, "form:buttonDelayed");
 
-		Double requestsCompletedCounter = (Double) executeJavaScript("counter");
-		assertEquals(1d, requestsCompletedCounter);
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
 
-		Double requestsCompletionTime = (Double) executeJavaScript("time");
+        assertEquals(1, dataList.size());
 
-		//RF-5788
-		//assertEquals(5750d, requestsCompletionTime);
-		assertEquals(10000d, requestsCompletionTime);
-	}
+        // request time set to 5000 in .xhtml file
+        RequestData data = dataList.get(0);
+
+        checkRequestData(data, "form:buttonDelayed", 1750, 6750, false);
+        assertEquals(6750d, result.getCurrentTime());
+    }
+
+    public void testLegacyQueuesIgnoreDupResponces() throws Exception {
+        renderView("/queue-legacy.xhtml");
+        clickOnTime(0, "form:buttonIgnoreDupResponces");
+        clickOnTime(500, "form:buttonIgnoreDupResponces");
+        executeTimer();
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        // RF-5788
+        // assertEquals(3, dataList.size());
+        assertEquals(2, dataList.size());
+
+        // request time set to 5000 in .xhtml file
+        checkRequestData(dataList.get(0), "form:buttonIgnoreDupResponces", 0, 5000, false);
+        checkRequestData(dataList.get(1), "form:buttonIgnoreDupResponces", 5000, 10000, false);
+
+        // RF-5788
+        // checkRequestData(dataList.get(2), "form:buttonIgnoreDupResponces", 750, 5750, false);
+        // RF-5788
+        // assertEquals(5750d, result.getCurrentTime());
+        assertEquals(10000d, result.getCurrentTime());
+
+        Double requestsCompletedCounter = (Double) executeJavaScript("counter");
+
+        assertEquals(1d, requestsCompletedCounter);
+
+        Double requestsCompletionTime = (Double) executeJavaScript("time");
+
+        // RF-5788
+        // assertEquals(5750d, requestsCompletionTime);
+        assertEquals(10000d, requestsCompletionTime);
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/IncludeComponentTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/IncludeComponentTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/IncludeComponentTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,68 +19,66 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import javax.faces.component.UIForm;
 import javax.faces.component.html.HtmlForm;
 
 public class IncludeComponentTest extends org.ajax4jsf.tests.AbstractAjax4JsfTestCase {
-	private UIInclude include = null;
-	private UIForm form = null;
+    private UIForm form = null;
+    private UIInclude include = null;
 
-	public IncludeComponentTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-		include = (UIInclude) application.createComponent(UIInclude.COMPONENT_TYPE);
-		include.setId("include");
-		include.setLayout(UIInclude.LAYOUT_NONE);
-		
-		form.getChildren().add(include);
-		
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		form = null;
-		include = null;
-	}
-	
-	public void testState() throws Exception {
-		
-	}
-	
-	public void testViewId() throws Exception {
-		include.setViewId(null);
-		assertNull(include.getViewId());
-		
-		String viewId = "viewId";
-		include.setViewId(viewId);
-		String newViewId = include.getViewId();
-		assertNotNull(newViewId);
-		assertEquals(viewId, newViewId);
-	}
-	
-	public void testLayout() throws Exception {
-		include.setLayout(null);
-		assertNull(include.getLayout());
-		
-		include.setLayout(UIInclude.LAYOUT_BLOCK);
-		String newLayout = include.getLayout();
-		assertNotNull(newLayout);
-		assertEquals(UIInclude.LAYOUT_BLOCK, newLayout);
-	}
-	
-	public void testAjaxRendered() throws Exception {
-		assertFalse(include.isAjaxRendered());
-	}
-	
+    public IncludeComponentTest(String name) {
+        super(name);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        include = (UIInclude) application.createComponent(UIInclude.COMPONENT_TYPE);
+        include.setId("include");
+        include.setLayout(UIInclude.LAYOUT_NONE);
+        form.getChildren().add(include);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        form = null;
+        include = null;
+    }
+
+    public void testState() throws Exception {}
+
+    public void testViewId() throws Exception {
+        include.setViewId(null);
+        assertNull(include.getViewId());
+
+        String viewId = "viewId";
+
+        include.setViewId(viewId);
+
+        String newViewId = include.getViewId();
+
+        assertNotNull(newViewId);
+        assertEquals(viewId, newViewId);
+    }
+
+    public void testLayout() throws Exception {
+        include.setLayout(null);
+        assertNull(include.getLayout());
+        include.setLayout(UIInclude.LAYOUT_BLOCK);
+
+        String newLayout = include.getLayout();
+
+        assertNotNull(newLayout);
+        assertEquals(UIInclude.LAYOUT_BLOCK, newLayout);
+    }
+
+    public void testAjaxRendered() throws Exception {
+        assertFalse(include.isAjaxRendered());
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadBundleComponentTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadBundleComponentTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadBundleComponentTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.HashMap;
@@ -30,115 +32,104 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 public class LoadBundleComponentTest extends org.ajax4jsf.tests.AbstractAjax4JsfTestCase {
-	private UIForm form;
-	private UILoadBundle bundle = null;
-	private static final String BUNDLE_NAME = "testBundle";
+    private static final String BUNDLE_NAME = "testBundle";
+    private UILoadBundle bundle = null;
+    private UIForm form;
 
-	public LoadBundleComponentTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-		bundle = (UILoadBundle) application.createComponent(UILoadBundle.COMPONENT_TYPE);
-		if (null != bundle) {
-			bundle.setId("loadBundle");
-			bundle.setVar(BUNDLE_NAME);
-			bundle.setBasename("org.ajax4jsf.component.test_skin");
-			form.getChildren().add(bundle);
-		}
-	}
-	
-	public void tearDown() throws Exception {
-    	super.tearDown();
-    	
-    	form = null;
-    	bundle = null;
+    public LoadBundleComponentTest(String name) {
+        super(name);
     }
 
-	public void testLoadBundle() throws Exception {
-		HtmlPage page = renderView();
+    public void setUp() throws Exception {
+        super.setUp();
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        bundle = (UILoadBundle) application.createComponent(UILoadBundle.COMPONENT_TYPE);
+
+        if (null != bundle) {
+            bundle.setId("loadBundle");
+            bundle.setVar(BUNDLE_NAME);
+            bundle.setBasename("org.ajax4jsf.component.test_skin");
+            form.getChildren().add(bundle);
+        }
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        form = null;
+        bundle = null;
+    }
+
+    public void testLoadBundle() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
-        Map loadedMap = (Map)facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
+        Map loadedMap = (Map) facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
         assertNotNull(loadedMap);
-        
         assertEquals("non-existent key", loadedMap.get("non-existent key"));
-        
         assertEquals("#000000", loadedMap.get("shadowBackgroundColor"));
-	}
-	
-	public void testSize() throws Exception {
-		HtmlPage page = renderView();
+    }
+
+    public void testSize() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
-        Map loadedMap = (Map)facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
+        Map loadedMap = (Map) facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
         assertNotNull(loadedMap);
-        
         assertEquals(0, loadedMap.size());
-	}
-	
-	public void testContainsKey() throws Exception {
-		HtmlPage page = renderView();
+    }
+
+    public void testContainsKey() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
-        Map loadedMap = (Map)facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
+        Map loadedMap = (Map) facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
         assertNotNull(loadedMap);
-        
         assertTrue(loadedMap.containsKey("shadowBackgroundColor"));
-        
         assertFalse(loadedMap.containsKey("non-existent key"));
-	}
-	
-	public void testFakeFunctions() throws Exception {
-		HtmlPage page = renderView();
+    }
+
+    public void testFakeFunctions() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
-        Map loadedMap = (Map)facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
+        Map loadedMap = (Map) facesContext.getExternalContext().getRequestMap().get(BUNDLE_NAME);
+
         assertNotNull(loadedMap);
-        
         assertFalse(loadedMap.isEmpty());
-        
         assertFalse(loadedMap.containsValue(null));
         assertFalse(loadedMap.containsValue("any-string"));
-        
+
         try {
-        	loadedMap.put("key1", "value1");
-        	assertFalse("UnsupportedOperationException was not thrown", true);
-        } catch (UnsupportedOperationException e) {
-        	
-        }
-        
+            loadedMap.put("key1", "value1");
+            assertFalse("UnsupportedOperationException was not thrown", true);
+        } catch (UnsupportedOperationException e) {}
+
         try {
-        	loadedMap.putAll(new HashMap());
-        	assertFalse("UnsupportedOperationException was not thrown", true);
-        } catch (UnsupportedOperationException e) {
-        	
-        }
-        
+            loadedMap.putAll(new HashMap());
+            assertFalse("UnsupportedOperationException was not thrown", true);
+        } catch (UnsupportedOperationException e) {}
+
         try {
-        	loadedMap.remove("key1");
-        	assertFalse("UnsupportedOperationException was not thrown", true);
-        } catch (UnsupportedOperationException e) {
-        	
-        }
-        
+            loadedMap.remove("key1");
+            assertFalse("UnsupportedOperationException was not thrown", true);
+        } catch (UnsupportedOperationException e) {}
+
         try {
-        	loadedMap.clear();
-        	assertFalse("UnsupportedOperationException was not thrown", true);
-        } catch (UnsupportedOperationException e) {
-        	
-        }
-        
+            loadedMap.clear();
+            assertFalse("UnsupportedOperationException was not thrown", true);
+        } catch (UnsupportedOperationException e) {}
+
         assertNull(loadedMap.keySet());
-        
         assertNull(loadedMap.values());
-        
         assertNull(loadedMap.entrySet());
-	}
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadResourceComponentTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadResourceComponentTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/LoadResourceComponentTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,11 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import static org.ajax4jsf.resource.InternetResource.RESOURCE_URI_PREFIX;
 
 import java.io.IOException;
+
 import java.util.Collections;
 import java.util.List;
 
@@ -49,316 +52,317 @@
  * @author Nick Belaevski
  * @since 3.3.0
  */
-
 public class LoadResourceComponentTest extends AbstractAjax4JsfTestCase {
+    private String componentJs;
+    private String componentXcss;
+    private String userJs;
+    private String userXcss;
 
-	private String componentJs;
-	private String userJs;
+    /**
+     * @param name
+     */
+    public LoadResourceComponentTest(String name) {
+        super(name);
+    }
 
-	private String componentXcss;
-	private String userXcss;
+    private void registerResource(String path) {
+        InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
 
-	/**
-	 * @param name
-	 */
-	public LoadResourceComponentTest(String name) {
-		super(name);
-	}
-	
-	private void registerResource(String path) {
-		InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
+        try {
+            resourceBuilder.getResource(path);
+        } catch (ResourceNotFoundException e) {
+            resourceBuilder.createResource(null, path);
+        }
+    }
 
-		try {
-			resourceBuilder.getResource(path);
-		} catch (ResourceNotFoundException e) {
-			resourceBuilder.createResource(null, path);
-		}
-	}
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        renderKit.addRenderer(ResourceDependentComponent.COMPONENT_FAMILY, ResourceDependentComponent.COMPONENT_TYPE,
+                              new ResourceDependentComponentRenderer());
 
-	@Override
-	public void setUp() throws Exception {
-		super.setUp();
-		renderKit.addRenderer(ResourceDependentComponent.COMPONENT_FAMILY, 
-				ResourceDependentComponent.COMPONENT_TYPE, new ResourceDependentComponentRenderer());
-	
-		String resourcePackage = getClass().getPackage().getName().replace('.', '/') + "/";
-		componentJs = resourcePackage + "component.js";
-		componentXcss = resourcePackage + "component.xcss";
-		
-		userJs = resourcePackage + "user.js";
-		userXcss = resourcePackage + "user.xcss";
-		
-		registerResource(componentJs); 
-		registerResource(userJs); 
-		registerResource(componentXcss); 
-		registerResource(userXcss); 
-	}
-	
-	@Override
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		componentJs = null;
-		userJs = null;
-		
-		componentXcss = null;
-		userXcss = null;
-	}
-	
-	private UIResource createLoadScriptComponent() {
-		return (UIResource) application.createComponent("org.ajax4jsf.LoadScript");
-	}
+        String resourcePackage = getClass().getPackage().getName().replace('.', '/') + "/";
 
-	private UIResource createLoadStyleComponent() {
-		return (UIResource) application.createComponent("org.ajax4jsf.LoadStyle");
-	}
-	
-	private List<HtmlScript> selectScriptsBySrc(HtmlPage page, String src) throws Exception {
-		return Collections.checkedList(page.getByXPath("//script[@src[contains(string(.), '" + src + "')]]"), 
-				HtmlScript.class);
-	}
-	
-	private List<HtmlLink> selectStylesByHhref(HtmlPage page, String src) throws Exception {
-		return Collections.checkedList(page.getByXPath("//link[@type = 'text/css'][@rel = 'stylesheet'][@href[contains(string(.), '" + src + "')]]"), 
-				HtmlLink.class);
-	}
+        componentJs = resourcePackage + "component.js";
+        componentXcss = resourcePackage + "component.xcss";
+        userJs = resourcePackage + "user.js";
+        userXcss = resourcePackage + "user.xcss";
+        registerResource(componentJs);
+        registerResource(userJs);
+        registerResource(componentXcss);
+        registerResource(userXcss);
+    }
 
-	protected UIResource createAndAddScriptResource(Object src) {
-		UIResource scriptComponent = createLoadScriptComponent();
-		scriptComponent.setSrc(src);
-		facesContext.getViewRoot().getChildren().add(scriptComponent);
-	
-		return scriptComponent;
-	}
-	
-	protected UIResource createAndAddStyleResource(Object src) {
-		UIResource styleComponent = createLoadStyleComponent();
-		styleComponent.setSrc(src);
-		facesContext.getViewRoot().getChildren().add(styleComponent);
-	
-		return styleComponent;
-	}
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+        componentJs = null;
+        userJs = null;
+        componentXcss = null;
+        userXcss = null;
+    }
 
-	public void testRenderScript() throws Exception {
-		createAndAddScriptResource(RESOURCE_URI_PREFIX + userJs);
-		createAndAddScriptResource(RESOURCE_URI_PREFIX + componentJs).setRendered(false);
-		
-		HtmlPage page = renderView();
-		List<HtmlScript> scripts;
-		
-		scripts = selectScriptsBySrc(page, userJs);
-		assertEquals(1, scripts.size());
+    private UIResource createLoadScriptComponent() {
+        return (UIResource) application.createComponent("org.ajax4jsf.LoadScript");
+    }
 
-		scripts = selectScriptsBySrc(page, componentJs);
-		assertEquals(0, scripts.size());
-	}
-	
-	public void testRenderScriptResource() throws Exception {
-		InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
-		createAndAddScriptResource(resourceBuilder.getResourceForKey(userJs));
-		createAndAddScriptResource(resourceBuilder.getResourceForKey(componentJs)).setRendered(false);
+    private UIResource createLoadStyleComponent() {
+        return (UIResource) application.createComponent("org.ajax4jsf.LoadStyle");
+    }
 
-		HtmlPage page = renderView();
-		List<HtmlScript> scripts;
-		
-		scripts = selectScriptsBySrc(page, userJs);
-		assertEquals(1, scripts.size());
+    private List<HtmlScript> selectScriptsBySrc(HtmlPage page, String src) throws Exception {
+        return Collections.checkedList(page.getByXPath("//script[@src[contains(string(.), '" + src + "')]]"),
+                                       HtmlScript.class);
+    }
 
-		scripts = selectScriptsBySrc(page, componentJs);
-		assertEquals(1, scripts.size());
-	}
-	
-	public void testRenderStyle() throws Exception {
-		createAndAddStyleResource(RESOURCE_URI_PREFIX + userXcss);
-		createAndAddStyleResource(RESOURCE_URI_PREFIX + componentXcss).setRendered(false);
-		
-		HtmlPage page = renderView();
-		List<HtmlLink> styles;
-		HtmlLink userLink;
-		
-		styles = selectStylesByHhref(page, userXcss);
-		assertEquals(1, styles.size());
-		userLink = styles.get(0);
-		assertEquals("user", userLink.getClassAttribute());
-		assertEquals("", userLink.getMediaAttribute());
+    private List<HtmlLink> selectStylesByHhref(HtmlPage page, String src) throws Exception {
+        return Collections.checkedList(
+            page.getByXPath(
+                "//link[@type = 'text/css'][@rel = 'stylesheet'][@href[contains(string(.), '" + src
+                + "')]]"), HtmlLink.class);
+    }
 
-		styles = selectStylesByHhref(page, componentXcss);
-		assertEquals(0, styles.size());
-	}
-	
-	public void testRenderStyleResource() throws Exception {
-		InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
-		createAndAddStyleResource(resourceBuilder.getResourceForKey(userXcss));
-		createAndAddStyleResource(resourceBuilder.getResourceForKey(componentXcss)).setRendered(false);
+    protected UIResource createAndAddScriptResource(Object src) {
+        UIResource scriptComponent = createLoadScriptComponent();
 
-		UIResource styleComponent = createLoadStyleComponent();
-		styleComponent.setSrc(InternetResourceBuilder.getInstance().getResourceForKey(userXcss));
-		facesContext.getViewRoot().getChildren().add(styleComponent);
-		
-		HtmlPage page = renderView();
-		List<HtmlLink> styles;
-		HtmlLink userLink;
-		
-		styles = selectStylesByHhref(page, userXcss);
-		assertEquals(1, styles.size());
-		userLink = styles.get(0);
-		assertEquals("user", userLink.getClassAttribute());
-		assertEquals("", userLink.getMediaAttribute());
+        scriptComponent.setSrc(src);
+        facesContext.getViewRoot().getChildren().add(scriptComponent);
 
-		styles = selectStylesByHhref(page, componentXcss);
-		assertEquals(1, styles.size());
-		userLink = styles.get(0);
-		assertEquals("user", userLink.getClassAttribute());
-		assertEquals("", userLink.getMediaAttribute());
-	}
-	
-	public void testRenderMedia() throws Exception {
-		createAndAddStyleResource(RESOURCE_URI_PREFIX + userXcss).
-			getAttributes().put(HTML.media_ATTRIBUTE, "screen print");
-		
-		HtmlPage page = renderView();
-		List<HtmlLink> styles = selectStylesByHhref(page, userXcss);
-		assertEquals(1, styles.size());
-		HtmlLink userLink = styles.get(0);
-		assertEquals("user", userLink.getClassAttribute());
-		assertEquals("screen print", userLink.getMediaAttribute());
-	}
-	
-	public void testRenderOverridenScript() throws Exception {
-		List<UIComponent> childrenList = facesContext.getViewRoot().getChildren();
+        return scriptComponent;
+    }
 
-		UIResource userJsComponent = createLoadScriptComponent();
-		userJsComponent.setSrc(RESOURCE_URI_PREFIX + userJs);
-		childrenList.add(userJsComponent);
-		
-		InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
-		
-		childrenList.add(new ResourceDependentComponent(true, 
-				resourceBuilder.getResourceForKey(componentJs),
-				resourceBuilder.getResourceForKey(userJs)));
+    protected UIResource createAndAddStyleResource(Object src) {
+        UIResource styleComponent = createLoadStyleComponent();
 
-		UIResource componentJsComponent = createLoadScriptComponent();
-		componentJsComponent.setSrc(RESOURCE_URI_PREFIX + componentJs);
-		childrenList.add(componentJsComponent);
-		
-		HtmlPage page = renderView();
-		List<HtmlScript> userScripts = selectScriptsBySrc(page, userJs);
-		assertEquals(1, userScripts.size());
-		List<HtmlScript> componentScripts = selectScriptsBySrc(page, componentJs);
-		assertEquals(1, componentScripts.size());
-	}
-	
-	public void testRenderOverridenStyle() throws Exception {
-		List<UIComponent> childrenList = facesContext.getViewRoot().getChildren();
+        styleComponent.setSrc(src);
+        facesContext.getViewRoot().getChildren().add(styleComponent);
 
-		UIResource userXcssComponent = createLoadStyleComponent();
-		userXcssComponent.setSrc(RESOURCE_URI_PREFIX + userXcss);
-		childrenList.add(userXcssComponent);
-		
-		InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
-		
-		childrenList.add(new ResourceDependentComponent(false, 
-				resourceBuilder.getResourceForKey(componentXcss),
-				resourceBuilder.getResourceForKey(userXcss)));
-		
-		UIResource componentXcssComponent = createLoadStyleComponent();
-		componentXcssComponent.setSrc(RESOURCE_URI_PREFIX + componentXcss);
-		childrenList.add(componentXcssComponent);
-		
-		HtmlPage page = renderView();
-		List<HtmlLink> styles = selectStylesByHhref(page, userXcss);
-		assertEquals(2, styles.size());
-		assertEquals("component", styles.get(0).getClassAttribute());
-		assertEquals("user", styles.get(1).getClassAttribute());
+        return styleComponent;
+    }
 
-		styles = selectStylesByHhref(page, componentXcss);
-		assertEquals(2, styles.size());
-		assertEquals("component", styles.get(0).getClassAttribute());
-		assertEquals("user", styles.get(1).getClassAttribute());
-	}
-	
-	public void testRenderOverridenAjaxScript() throws Exception {
-		UIResource userComponent = createLoadScriptComponent();
-		userComponent.setSrc(RESOURCE_URI_PREFIX + "/org/ajax4jsf/javascript/scripts/AJAX.js");
-		
-		List<UIComponent> childrenList = facesContext.getViewRoot().getChildren();
-		childrenList.add(userComponent);
-		
-		childrenList.add(new ResourceDependentComponent(true, new AjaxScript()));
-		
-		HtmlPage page = renderView();
-		List<HtmlScript> scripts = selectScriptsBySrc(page, "AjaxScript");
-		assertEquals(1, scripts.size());
+    public void testRenderScript() throws Exception {
+        createAndAddScriptResource(RESOURCE_URI_PREFIX + userJs);
+        createAndAddScriptResource(RESOURCE_URI_PREFIX + componentJs).setRendered(false);
 
-		scripts = selectScriptsBySrc(page, "AJAX.js");
-		//TODO change to 0 after related issue resolution
-		assertEquals(1, scripts.size());
-	}
+        HtmlPage page = renderView();
+        List<HtmlScript> scripts;
+
+        scripts = selectScriptsBySrc(page, userJs);
+        assertEquals(1, scripts.size());
+        scripts = selectScriptsBySrc(page, componentJs);
+        assertEquals(0, scripts.size());
+    }
+
+    public void testRenderScriptResource() throws Exception {
+        InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
+
+        createAndAddScriptResource(resourceBuilder.getResourceForKey(userJs));
+        createAndAddScriptResource(resourceBuilder.getResourceForKey(componentJs)).setRendered(false);
+
+        HtmlPage page = renderView();
+        List<HtmlScript> scripts;
+
+        scripts = selectScriptsBySrc(page, userJs);
+        assertEquals(1, scripts.size());
+        scripts = selectScriptsBySrc(page, componentJs);
+        assertEquals(1, scripts.size());
+    }
+
+    public void testRenderStyle() throws Exception {
+        createAndAddStyleResource(RESOURCE_URI_PREFIX + userXcss);
+        createAndAddStyleResource(RESOURCE_URI_PREFIX + componentXcss).setRendered(false);
+
+        HtmlPage page = renderView();
+        List<HtmlLink> styles;
+        HtmlLink userLink;
+
+        styles = selectStylesByHhref(page, userXcss);
+        assertEquals(1, styles.size());
+        userLink = styles.get(0);
+        assertEquals("user", userLink.getClassAttribute());
+        assertEquals("", userLink.getMediaAttribute());
+        styles = selectStylesByHhref(page, componentXcss);
+        assertEquals(0, styles.size());
+    }
+
+    public void testRenderStyleResource() throws Exception {
+        InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
+
+        createAndAddStyleResource(resourceBuilder.getResourceForKey(userXcss));
+        createAndAddStyleResource(resourceBuilder.getResourceForKey(componentXcss)).setRendered(false);
+
+        UIResource styleComponent = createLoadStyleComponent();
+
+        styleComponent.setSrc(InternetResourceBuilder.getInstance().getResourceForKey(userXcss));
+        facesContext.getViewRoot().getChildren().add(styleComponent);
+
+        HtmlPage page = renderView();
+        List<HtmlLink> styles;
+        HtmlLink userLink;
+
+        styles = selectStylesByHhref(page, userXcss);
+        assertEquals(1, styles.size());
+        userLink = styles.get(0);
+        assertEquals("user", userLink.getClassAttribute());
+        assertEquals("", userLink.getMediaAttribute());
+        styles = selectStylesByHhref(page, componentXcss);
+        assertEquals(1, styles.size());
+        userLink = styles.get(0);
+        assertEquals("user", userLink.getClassAttribute());
+        assertEquals("", userLink.getMediaAttribute());
+    }
+
+    public void testRenderMedia() throws Exception {
+        createAndAddStyleResource(RESOURCE_URI_PREFIX + userXcss).getAttributes().put(HTML.media_ATTRIBUTE,
+                                  "screen print");
+
+        HtmlPage page = renderView();
+        List<HtmlLink> styles = selectStylesByHhref(page, userXcss);
+
+        assertEquals(1, styles.size());
+
+        HtmlLink userLink = styles.get(0);
+
+        assertEquals("user", userLink.getClassAttribute());
+        assertEquals("screen print", userLink.getMediaAttribute());
+    }
+
+    public void testRenderOverridenScript() throws Exception {
+        List<UIComponent> childrenList = facesContext.getViewRoot().getChildren();
+        UIResource userJsComponent = createLoadScriptComponent();
+
+        userJsComponent.setSrc(RESOURCE_URI_PREFIX + userJs);
+        childrenList.add(userJsComponent);
+
+        InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
+
+        childrenList.add(new ResourceDependentComponent(true, resourceBuilder.getResourceForKey(componentJs),
+                resourceBuilder.getResourceForKey(userJs)));
+
+        UIResource componentJsComponent = createLoadScriptComponent();
+
+        componentJsComponent.setSrc(RESOURCE_URI_PREFIX + componentJs);
+        childrenList.add(componentJsComponent);
+
+        HtmlPage page = renderView();
+        List<HtmlScript> userScripts = selectScriptsBySrc(page, userJs);
+
+        assertEquals(1, userScripts.size());
+
+        List<HtmlScript> componentScripts = selectScriptsBySrc(page, componentJs);
+
+        assertEquals(1, componentScripts.size());
+    }
+
+    public void testRenderOverridenStyle() throws Exception {
+        List<UIComponent> childrenList = facesContext.getViewRoot().getChildren();
+        UIResource userXcssComponent = createLoadStyleComponent();
+
+        userXcssComponent.setSrc(RESOURCE_URI_PREFIX + userXcss);
+        childrenList.add(userXcssComponent);
+
+        InternetResourceBuilder resourceBuilder = InternetResourceBuilder.getInstance();
+
+        childrenList.add(new ResourceDependentComponent(false, resourceBuilder.getResourceForKey(componentXcss),
+                resourceBuilder.getResourceForKey(userXcss)));
+
+        UIResource componentXcssComponent = createLoadStyleComponent();
+
+        componentXcssComponent.setSrc(RESOURCE_URI_PREFIX + componentXcss);
+        childrenList.add(componentXcssComponent);
+
+        HtmlPage page = renderView();
+        List<HtmlLink> styles = selectStylesByHhref(page, userXcss);
+
+        assertEquals(2, styles.size());
+        assertEquals("component", styles.get(0).getClassAttribute());
+        assertEquals("user", styles.get(1).getClassAttribute());
+        styles = selectStylesByHhref(page, componentXcss);
+        assertEquals(2, styles.size());
+        assertEquals("component", styles.get(0).getClassAttribute());
+        assertEquals("user", styles.get(1).getClassAttribute());
+    }
+
+    public void testRenderOverridenAjaxScript() throws Exception {
+        UIResource userComponent = createLoadScriptComponent();
+
+        userComponent.setSrc(RESOURCE_URI_PREFIX + "/org/ajax4jsf/javascript/scripts/AJAX.js");
+
+        List<UIComponent> childrenList = facesContext.getViewRoot().getChildren();
+
+        childrenList.add(userComponent);
+        childrenList.add(new ResourceDependentComponent(true, new AjaxScript()));
+
+        HtmlPage page = renderView();
+        List<HtmlScript> scripts = selectScriptsBySrc(page, "AjaxScript");
+
+        assertEquals(1, scripts.size());
+        scripts = selectScriptsBySrc(page, "AJAX.js");
+
+        // TODO change to 0 after related issue resolution
+        assertEquals(1, scripts.size());
+    }
 }
 
+
 class ResourceDependentComponent extends UIComponentBase {
+    static String COMPONENT_TYPE = "org.ajax4jsf.component.Test$ResourceDependentComponent";
+    static String COMPONENT_FAMILY = COMPONENT_TYPE;
+    private InternetResource[] resources;
+    private boolean useScripts;
 
-	static String COMPONENT_TYPE = "org.ajax4jsf.component.Test$ResourceDependentComponent";
-	
-	static String COMPONENT_FAMILY = COMPONENT_TYPE;
+    public ResourceDependentComponent(boolean useScripts, InternetResource... resources) {
+        this.useScripts = useScripts;
+        this.resources = resources;
+    }
 
-	private InternetResource[] resources;
-	
-	private boolean useScripts;
+    @Override
+    public String getFamily() {
+        return COMPONENT_FAMILY;
+    }
 
-	public ResourceDependentComponent(boolean useScripts, InternetResource... resources) {
-		this.useScripts = useScripts;
-		this.resources = resources;
-	}
-	
-	@Override
-	public String getFamily() {
-		return COMPONENT_FAMILY;
-	}
-	
-	@Override
-	public String getRendererType() {
-		return COMPONENT_TYPE;
-	}
-	
-	public InternetResource[] getScripts() {
-		return useScripts ? resources : null;
-	}
-	
-	public InternetResource[] getStyles() {
-		return useScripts ? null : resources;
-	}
+    @Override
+    public String getRendererType() {
+        return COMPONENT_TYPE;
+    }
+
+    public InternetResource[] getScripts() {
+        return useScripts ? resources : null;
+    }
+
+    public InternetResource[] getStyles() {
+        return useScripts ? null : resources;
+    }
 }
 
+
 class ResourceDependentComponentRenderer extends RendererBase implements HeaderResourceProducer2 {
+    @Override
+    protected Class<? extends UIComponent> getComponentClass() {
+        return ResourceDependentComponent.class;
+    }
 
-	@Override
-	protected Class<? extends UIComponent> getComponentClass() {
-		return ResourceDependentComponent.class;
-	}
+    public void encodeToHead(FacesContext context, UIComponent component, ProducerContext pc) throws IOException {
+        ResourceDependentComponent resourceDependentComponent = (ResourceDependentComponent) component;
 
-	public void encodeToHead(FacesContext context, UIComponent component,
-			ProducerContext pc) throws IOException {
+        if (pc.isProcessScripts()) {
+            InternetResource[] scripts = resourceDependentComponent.getScripts();
 
-		ResourceDependentComponent resourceDependentComponent = (ResourceDependentComponent) component;
-		
-		if (pc.isProcessScripts()) {
-			InternetResource[] scripts = resourceDependentComponent.getScripts();
-			if (scripts != null) {
-				for (InternetResource script : scripts) {
-					script.encode(context, null);
-				}
-			}
-		}
+            if (scripts != null) {
+                for (InternetResource script : scripts) {
+                    script.encode(context, null);
+                }
+            }
+        }
 
-		if (pc.isProcessStyles()) {
-			InternetResource[] styles = resourceDependentComponent.getStyles();
-			if (styles != null) {
-				for (InternetResource script : styles) {
-					script.encode(context, null);
-				}
-			}
-		}
-	}
-	
+        if (pc.isProcessStyles()) {
+            InternetResource[] styles = resourceDependentComponent.getStyles();
+
+            if (styles != null) {
+                for (InternetResource script : styles) {
+                    script.encode(context, null);
+                }
+            }
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MediaOutputComponentBaseTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MediaOutputComponentBaseTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MediaOutputComponentBaseTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,53 +19,56 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.Calendar;
 import java.util.Date;
 
 /**
- * 
+ *
  * <br /><br />
- * 
+ *
  * Created 03.09.2007
  * @author Nick Belaevski
  * @since 3.1
  */
-
 public class MediaOutputComponentBaseTest extends org.ajax4jsf.tests.AbstractAjax4JsfTestCase {
+    public MediaOutputComponentBaseTest(String name) {
+        super(name);
+    }
 
-	public MediaOutputComponentBaseTest(String name) {
-		super(name);
-	}
+    protected Date createTestData_lastModified() {
+        Calendar calendar = Calendar.getInstance();
 
-	protected Date createTestData_lastModified() {
-		Calendar calendar = Calendar.getInstance();
-		calendar.clear();
-		calendar.set(Calendar.YEAR, 2007);
-		calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
-		calendar.set(Calendar.DATE, 3);
-		calendar.set(Calendar.HOUR, 22);
-		calendar.set(Calendar.MINUTE, 12);
-		calendar.set(Calendar.SECOND, 40);
+        calendar.clear();
+        calendar.set(Calendar.YEAR, 2007);
+        calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
+        calendar.set(Calendar.DATE, 3);
+        calendar.set(Calendar.HOUR, 22);
+        calendar.set(Calendar.MINUTE, 12);
+        calendar.set(Calendar.SECOND, 40);
 
-		return calendar.getTime();
-	}
+        return calendar.getTime();
+    }
 
-	protected Date createTestData_expires() {
-		Calendar calendar = Calendar.getInstance();
-		calendar.clear();
-		calendar.set(Calendar.YEAR, 2007);
-		calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
-		calendar.set(Calendar.DATE, 8);
-		calendar.set(Calendar.HOUR, 11);
-		calendar.set(Calendar.MINUTE, 56);
-		calendar.set(Calendar.SECOND, 9);
+    protected Date createTestData_expires() {
+        Calendar calendar = Calendar.getInstance();
 
-		return calendar.getTime();
-	}
+        calendar.clear();
+        calendar.set(Calendar.YEAR, 2007);
+        calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
+        calendar.set(Calendar.DATE, 8);
+        calendar.set(Calendar.HOUR, 11);
+        calendar.set(Calendar.MINUTE, 56);
+        calendar.set(Calendar.SECOND, 9);
 
-	public void testVoid() throws Exception {
-		//empty
-	}
+        return calendar.getTime();
+    }
+
+    public void testVoid() throws Exception {
+
+        // empty
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MockDataAdaptor.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MockDataAdaptor.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/MockDataAdaptor.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.Iterator;
@@ -36,36 +38,43 @@
  */
 public class MockDataAdaptor extends UIDataAdaptor {
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#createComponentState()
-	 */
-	protected DataComponentState createComponentState() {
-		// TODO Auto-generated method stub
-		return new MockComponentState();
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#createComponentState()
+     */
+    protected DataComponentState createComponentState() {
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#createDataModel()
-	 */
-	protected ExtendedDataModel createDataModel() {
-		// TODO Auto-generated method stub
-		return new MockDataModel();
-	}
+        // TODO Auto-generated method stub
+        return new MockComponentState();
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#dataChildren()
-	 */
-	protected Iterator<UIComponent> dataChildren() {
-		// TODO Auto-generated method stub
-		return getChildren().iterator();
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#createDataModel()
+     */
+    protected ExtendedDataModel createDataModel() {
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#fixedChildren()
-	 */
-	protected Iterator<UIComponent> fixedChildren() {
-		// TODO Auto-generated method stub
-		return getFacets().values().iterator();
-	}
+        // TODO Auto-generated method stub
+        return new MockDataModel();
+    }
 
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#dataChildren()
+     */
+    protected Iterator<UIComponent> dataChildren() {
+
+        // TODO Auto-generated method stub
+        return getChildren().iterator();
+    }
+
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.ajax.repeat.UIDataAdaptor#fixedChildren()
+     */
+    protected Iterator<UIComponent> fixedChildren() {
+
+        // TODO Auto-generated method stub
+        return getFacets().values().iterator();
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueDiscoveryTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueDiscoveryTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueDiscoveryTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.ArrayList;
@@ -28,7 +30,6 @@
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
-
 /**
  * @author Nick Belaevski
  * @since 3.3.0
@@ -36,175 +37,150 @@
  */
 public class QueueDiscoveryTest extends AbstractQueueComponentTest {
 
-	/**
-	 * @param name
-	 */
-	public QueueDiscoveryTest(String name) {
-		super(name);
-	}
-	
-	protected void assertListsEqual(List<String> list1, List<String> list2) 
-		throws Exception {
-	
-		assertEquals(list1 + ":" + list2, list1, list2);
-	}
-	
-	protected List<String> getResults(HtmlPage page) {
-		List<String> result = new ArrayList<String>();
+    /**
+     * @param name
+     */
+    public QueueDiscoveryTest(String name) {
+        super(name);
+    }
 
-		executeJavaScript("Timer.execute()");
-		NativeArray array = (NativeArray) executeJavaScript("window.testResult");
-		for (int i = 0; i < array.getLength(); i++) {
-			result.add((String) array.get(i, array));
-		}
-	
-		return result;
-	}
-	
-	public void testGlobalViewQueue() throws Exception {
-		renderView("/queue-global-view.xhtml");
+    protected void assertListsEqual(List<String> list1, List<String> list2) throws Exception {
+        assertEquals(list1 + ":" + list2, list1, list2);
+    }
 
-		List<String> list = new ArrayList<String>();
-		assertListsEqual(list, getResults(page));
-		
-		list.add("button");
-		click("form:button");
-		assertListsEqual(list, getResults(page));
+    protected List<String> getResults(HtmlPage page) {
+        List<String> result = new ArrayList<String>();
 
-		list.add("implicitQueue");
-		click("form:implicitQueue");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("alternativeQueueButton");
-		list.add("alt:alternativeQueueButton");
-		click("form:alternativeQueueButton");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("function");
-		executeJavaScript("ajaxFunction()");
-		assertListsEqual(list, getResults(page));
+        executeJavaScript("Timer.execute()");
 
-		list.add("implicitDelayedQueue");
-		click("form2:implicitDelayedQueue");
-		assertListsEqual(list, getResults(page));
-	}
-	
-	public void testGlobalFormQueue() throws Exception {
-		renderView("/queue-global-form.xhtml");
-	
-		List<String> list = new ArrayList<String>();
-		assertListsEqual(list, getResults(page));
-		
-		list.add("alternativeQueueButton");
-		list.add("alt:alternativeQueueButton");
-		click("form2:alternativeQueueButton");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("alternativeQueueButton");
-		click("form:alternativeQueueButton");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("buttonFormQueue");
-		click("form:button");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("implicitQueue");
-		click("form:implicitQueue");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("alternativeQueue1Button");
-		list.add("alt1:alternativeQueue1Button");
-		click("form:alternativeQueue1Button");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("buttonForm2Queue");
-		click("form2:button");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("implicitDelayedQueue");
-		click("form2:implicitDelayedQueue");
-		assertListsEqual(list, getResults(page));
+        NativeArray array = (NativeArray) executeJavaScript("window.testResult");
 
-		list.add("ajaxFunction");
-		executeJavaScript("ajaxFunction()");
-		assertListsEqual(list, getResults(page));
-	}
+        for (int i = 0; i < array.getLength(); i++) {
+            result.add((String) array.get(i, array));
+        }
 
-	public void testGlobalFormBoth() throws Exception {
-		renderView("/queue-global-both.xhtml");
+        return result;
+    }
 
-		List<String> list = new ArrayList<String>();
-		assertListsEqual(list, getResults(page));
-		
-		list.add("buttonFormQueue");
-		click("form:button");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("implicitDelayedQueue");
-		click("form:implicitDelayedQueue");
-		assertListsEqual(list, getResults(page));
+    public void testGlobalViewQueue() throws Exception {
+        renderView("/queue-global-view.xhtml");
 
-		list.add("implicitQueue");
-		click("form2:implicitQueue");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("viewQueue:viewQueueButton");
-		click("form:viewQueueButton");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("form2Button");
-		click("form2:button");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("anotherImplicitQueue");
-		click("form3:anotherImplicitQueue");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("form3Button");
-		click("form3:button");
-		assertListsEqual(list, getResults(page));
-		
-		list.add("functionFormQueue");
-		executeJavaScript("ajaxFunction()");
-		assertListsEqual(list, getResults(page));
-	}
-	
-	public void testDisabled() throws Exception {
-		renderView("/queue-disabled.xhtml");
+        List<String> list = new ArrayList<String>();
 
-		List<String> list = new ArrayList<String>();
-		assertListsEqual(list, getResults(page));
-		
-		list.add("button");
-		click("form:button");
-		assertListsEqual(list, getResults(page));
+        assertListsEqual(list, getResults(page));
+        list.add("button");
+        click("form:button");
+        assertListsEqual(list, getResults(page));
+        list.add("implicitQueue");
+        click("form:implicitQueue");
+        assertListsEqual(list, getResults(page));
+        list.add("alternativeQueueButton");
+        list.add("alt:alternativeQueueButton");
+        click("form:alternativeQueueButton");
+        assertListsEqual(list, getResults(page));
+        list.add("function");
+        executeJavaScript("ajaxFunction()");
+        assertListsEqual(list, getResults(page));
+        list.add("implicitDelayedQueue");
+        click("form2:implicitDelayedQueue");
+        assertListsEqual(list, getResults(page));
+    }
 
-		list.add("formQueueButton");
-		click("form:formQueueButton");
-		assertListsEqual(list, getResults(page));
+    public void testGlobalFormQueue() throws Exception {
+        renderView("/queue-global-form.xhtml");
 
-		list.add("button2");
-		list.add("form2-global:button2");
-		click("form2:button2");
-		assertListsEqual(list, getResults(page));
+        List<String> list = new ArrayList<String>();
 
-		list.add("formQueueButton2");
-		list.add("form2-queue:formQueueButton2");
-		click("form2:formQueueButton2");
-		assertListsEqual(list, getResults(page));
+        assertListsEqual(list, getResults(page));
+        list.add("alternativeQueueButton");
+        list.add("alt:alternativeQueueButton");
+        click("form2:alternativeQueueButton");
+        assertListsEqual(list, getResults(page));
+        list.add("alternativeQueueButton");
+        click("form:alternativeQueueButton");
+        assertListsEqual(list, getResults(page));
+        list.add("buttonFormQueue");
+        click("form:button");
+        assertListsEqual(list, getResults(page));
+        list.add("implicitQueue");
+        click("form:implicitQueue");
+        assertListsEqual(list, getResults(page));
+        list.add("alternativeQueue1Button");
+        list.add("alt1:alternativeQueue1Button");
+        click("form:alternativeQueue1Button");
+        assertListsEqual(list, getResults(page));
+        list.add("buttonForm2Queue");
+        click("form2:button");
+        assertListsEqual(list, getResults(page));
+        list.add("implicitDelayedQueue");
+        click("form2:implicitDelayedQueue");
+        assertListsEqual(list, getResults(page));
+        list.add("ajaxFunction");
+        executeJavaScript("ajaxFunction()");
+        assertListsEqual(list, getResults(page));
+    }
 
-		list.add("global");
-		click("form3:global");
-		assertListsEqual(list, getResults(page));
+    public void testGlobalFormBoth() throws Exception {
+        renderView("/queue-global-both.xhtml");
 
-		list.add("globalNamed");
-		click("form3:globalNamed");
-		assertListsEqual(list, getResults(page));
+        List<String> list = new ArrayList<String>();
 
-		list.add("globalNamedX");
-		list.add("viewNamedX:globalNamedX");
-		click("form3:globalNamedX");
-		assertListsEqual(list, getResults(page));
-	}
-	
+        assertListsEqual(list, getResults(page));
+        list.add("buttonFormQueue");
+        click("form:button");
+        assertListsEqual(list, getResults(page));
+        list.add("implicitDelayedQueue");
+        click("form:implicitDelayedQueue");
+        assertListsEqual(list, getResults(page));
+        list.add("implicitQueue");
+        click("form2:implicitQueue");
+        assertListsEqual(list, getResults(page));
+        list.add("viewQueue:viewQueueButton");
+        click("form:viewQueueButton");
+        assertListsEqual(list, getResults(page));
+        list.add("form2Button");
+        click("form2:button");
+        assertListsEqual(list, getResults(page));
+        list.add("anotherImplicitQueue");
+        click("form3:anotherImplicitQueue");
+        assertListsEqual(list, getResults(page));
+        list.add("form3Button");
+        click("form3:button");
+        assertListsEqual(list, getResults(page));
+        list.add("functionFormQueue");
+        executeJavaScript("ajaxFunction()");
+        assertListsEqual(list, getResults(page));
+    }
+
+    public void testDisabled() throws Exception {
+        renderView("/queue-disabled.xhtml");
+
+        List<String> list = new ArrayList<String>();
+
+        assertListsEqual(list, getResults(page));
+        list.add("button");
+        click("form:button");
+        assertListsEqual(list, getResults(page));
+        list.add("formQueueButton");
+        click("form:formQueueButton");
+        assertListsEqual(list, getResults(page));
+        list.add("button2");
+        list.add("form2-global:button2");
+        click("form2:button2");
+        assertListsEqual(list, getResults(page));
+        list.add("formQueueButton2");
+        list.add("form2-queue:formQueueButton2");
+        click("form2:formQueueButton2");
+        assertListsEqual(list, getResults(page));
+        list.add("global");
+        click("form3:global");
+        assertListsEqual(list, getResults(page));
+        list.add("globalNamed");
+        click("form3:globalNamed");
+        assertListsEqual(list, getResults(page));
+        list.add("globalNamedX");
+        list.add("viewNamedX:globalNamedX");
+        click("form3:globalNamedX");
+        assertListsEqual(list, getResults(page));
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueParallelTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueParallelTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueParallelTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,29 +19,27 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 /**
  * @author Nick Belaevski
  * @since 3.3.0
  */
-
 public class QueueParallelTest extends AbstractQueueComponentTest {
 
-	/**
-	 * @param name
-	 */
-	public QueueParallelTest(String name) {
-		super(name);
-	}
+    /**
+     * @param name
+     */
+    public QueueParallelTest(String name) {
+        super(name);
+    }
 
-	public void testParallel() throws Exception {
-		renderView("/queue-parallel.xhtml");
-	
-		clickOnTime(0, "form:asyncButton");
-		clickOnTime(0, "form:asyncButton1");
-		clickOnTime(0, "form:asyncButton2");
-	
-		
-	}
+    public void testParallel() throws Exception {
+        renderView("/queue-parallel.xhtml");
+        clickOnTime(0, "form:asyncButton");
+        clickOnTime(0, "form:asyncButton1");
+        clickOnTime(0, "form:asyncButton2");
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.List;
@@ -30,6 +32,7 @@
 
 import org.ajax4jsf.renderkit.html.scripts.QueueScriptResourceRenderer;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
 import org.jaxen.JaxenException;
 
 import com.gargoylesoftware.htmlunit.html.DomText;
@@ -39,214 +42,220 @@
  * @author Nick Belaevski
  * @since 3.3.0
  */
-
 public class QueueRendererTest extends AbstractAjax4JsfTestCase {
+    private UIForm form;
 
-	private UIForm form;
+    /**
+     * @param name
+     */
+    public QueueRendererTest(String name) {
+        super(name);
+    }
 
-	private static final String dry(String s) {
-		return s.replace(" ", "");
-	}
-	
-	/**
-	 * @param name
-	 */
-	public QueueRendererTest(String name) {
-		super(name);
-	}
+    private static final String dry(String s) {
+        return s.replace(" ", "");
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
-	 */
-	public void setUp() throws Exception {
-		super.setUp();
-	
-		UIViewRoot root = facesContext.getViewRoot();
-		List<UIComponent> children = root.getChildren();
-		
-		form = (UIForm) application.createComponent(UIForm.COMPONENT_TYPE);
-		form.setId("theform");
-		form.getChildren().add(application.createComponent(UIInput.COMPONENT_TYPE));
-		children.add(form);
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
+     */
+    public void setUp() throws Exception {
+        super.setUp();
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
-	 */
-	public void tearDown() throws Exception {
-		super.tearDown();
-	
-		form = null;
-	}
+        UIViewRoot root = facesContext.getViewRoot();
+        List<UIComponent> children = root.getChildren();
 
-	private String getQueueScript(HtmlPage page) throws JaxenException {
-		List<?> list = page.getByXPath("//head/script[@id='" + QueueScriptResourceRenderer.QUEUE_SCRIPT_ID + "']/text()");
-		DomText text = (DomText) list.get(0);
-		String scriptData = text.getData();
-	
-		return scriptData.replaceAll("^\\Qif (typeof A4J != 'undefined') { if (A4J.AJAX) { with (A4J.AJAX) {\\E|\\Q}}};\\E$", "");
-	}
-	
-	private String[] splitScript(String s) {
-		String[] split = s.split(";");
-		for (int i = 0; i < split.length; i++) {
-			split[i] = split[i] + ";";
-		}
-		
-		return split;
-	}
-	
-	private String createQueueInitString(String queueName, String queueParams, String requestParams) {
-		StringBuilder builder = new StringBuilder("if (!EventQueue.getQueue('").append(queueName).append("')) { EventQueue.addQueue(new EventQueue('").
-			append(queueName).append("'");
+        form = (UIForm) application.createComponent(UIForm.COMPONENT_TYPE);
+        form.setId("theform");
+        form.getChildren().add(application.createComponent(UIInput.COMPONENT_TYPE));
+        children.add(form);
+    }
 
-		builder.append(",");
-		builder.append(String.valueOf(queueParams));
-		
-		builder.append(",");
-		builder.append(String.valueOf(requestParams));
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
+     */
+    public void tearDown() throws Exception {
+        super.tearDown();
+        form = null;
+    }
 
-		builder.append(")) };");
-		
-		return builder.toString();
-	}
+    private String getQueueScript(HtmlPage page) throws JaxenException {
+        List<?> list = page.getByXPath("//head/script[@id='" + QueueScriptResourceRenderer.QUEUE_SCRIPT_ID
+                                       + "']/text()");
+        DomText text = (DomText) list.get(0);
+        String scriptData = text.getData();
 
-	public void testViewQueueName() throws Exception {
-		UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue.setName("test_view_queue");
-		facesContext.getViewRoot().getChildren().add(queue);
-		
-		HtmlPage page = renderView();
-		String queueScript = getQueueScript(page);
-		
-		assertEquals(createQueueInitString("test_view_queue", null, null), queueScript);
-	}
-	
-	public void testViewQueueDefaultName() throws Exception {
-		UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		facesContext.getViewRoot().getChildren().add(queue);
-		
-		HtmlPage page = renderView();
-		String queueScript = getQueueScript(page);
-		assertEquals(createQueueInitString(UIQueue.GLOBAL_QUEUE_NAME, null, null), queueScript);
-	}
+        return scriptData.replaceAll(
+            "^\\Qif (typeof A4J != 'undefined') { if (A4J.AJAX) { with (A4J.AJAX) {\\E|\\Q}}};\\E$", "");
+    }
 
-	public void testFormQueueName() throws Exception {
-		UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue.setName("test_view_queue");
-		form.getChildren().add(queue);
-		
-		HtmlPage page = renderView();
-		String queueScript = getQueueScript(page);
-		assertEquals(createQueueInitString("theform:test_view_queue", null, null), queueScript);
-	}
-	
-	public void testFormQueueDefaultName() throws Exception {
-		UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		form.getChildren().add(queue);
-		
-		HtmlPage page = renderView();
-		String queueScript = getQueueScript(page);
-		assertEquals(createQueueInitString("theform", null, null), queueScript);
-	}
-	
-	public void testRenderQueueAttributes() throws Exception {
-		UIQueue queue1 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-	
-		queue1.setSize(10);
-		queue1.setOnsizeexceeded("sizeexceeded_handler()");
-		queue1.setSizeExceededBehavior("dropNext");
-		queue1.setOnrequestqueue("request_queue_handler()");
-		queue1.setOnrequestdequeue("request_de_queue_handler()");
-		form.getChildren().add(queue1);
-		
-		UIQueue queue2 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue2.setSize(-1);
-		queue2.setName("unsizedQueue");
-		form.getChildren().add(queue2);
+    private String[] splitScript(String s) {
+        String[] split = s.split(";");
 
-		UIQueue queue3 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue3.setName("defaultSizeQueue");
-		form.getChildren().add(queue3);
+        for (int i = 0; i < split.length; i++) {
+            split[i] = split[i] + ";";
+        }
 
-		HtmlPage page = renderView();
-		String queueScript = dry(getQueueScript(page));
-		String[] scripts = splitScript(queueScript);
-		assertEquals(3, scripts.length);
-		
-		assertEquals(dry(createQueueInitString("theform", 
-				"{'size':10,'sizeExceededBehavior':'dropNext','onsizeexceeded':function(query,options,event){sizeexceeded_handler()},'onrequestqueue':function(query,options,event){request_queue_handler()},'onrequestdequeue':function(query,options,event){request_de_queue_handler()}}",
-				null)),
-			scripts[0]);
+        return split;
+    }
 
-		assertEquals(dry(createQueueInitString("theform:unsizedQueue", "{'size':-1}", null)), scripts[1]);
+    private String createQueueInitString(String queueName, String queueParams, String requestParams) {
+        StringBuilder builder = new StringBuilder("if (!EventQueue.getQueue('").append(queueName).append(
+                                    "')) { EventQueue.addQueue(new EventQueue('").append(queueName).append("'");
 
-		assertEquals(dry(createQueueInitString("theform:defaultSizeQueue", null, null)), scripts[2]);
-	}
+        builder.append(",");
+        builder.append(String.valueOf(queueParams));
+        builder.append(",");
+        builder.append(String.valueOf(requestParams));
+        builder.append(")) };");
 
-	public void testRenderRequestAttributes() throws Exception {
-		UIQueue queue1 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+        return builder.toString();
+    }
 
-		queue1.setName("queue1");
-		queue1.setTimeout(50021);
-		queue1.setOnerror("error_queue_handler()");
-		queue1.setOnsubmit("submit_queue_handler()");
-		queue1.setIgnoreDupResponses(false);
-		form.getChildren().add(queue1);
+    public void testViewQueueName() throws Exception {
+        UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
 
-		UIQueue queue2 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+        queue.setName("test_view_queue");
+        facesContext.getViewRoot().getChildren().add(queue);
 
-		queue2.setName("queue2");
-		queue2.setRequestDelay(600);
-		queue2.setIgnoreDupResponses(true);
-		queue2.setOnbeforedomupdate("beforedomupdate_handler()");
-		queue2.setOncomplete("complete_handler()");
-		queue2.setStatus("mystatus");
-		form.getChildren().add(queue2);
+        HtmlPage page = renderView();
+        String queueScript = getQueueScript(page);
 
-		HtmlPage page = renderView();
-		String queueScript = dry(getQueueScript(page));
-		String[] scripts = splitScript(queueScript);
-		assertEquals(2, scripts.length);
-		
-		assertEquals(dry(createQueueInitString("theform:queue1", null, 
-				"{'timeout':50021,'queueonsubmit':function(request){submit_queue_handler()},'queueonerror':function(request,status,message){error_queue_handler()}}")), scripts[0]);
-		assertEquals(dry(createQueueInitString("theform:queue2", null, 
-				"{'ignoreDupResponses':true,'requestDelay':600,'status':'mystatus','queueonbeforedomupdate':function(request,event,data){beforedomupdate_handler()},'queueoncomplete':function(request,event,data){complete_handler()}}")), 
-			scripts[1]);
-	}
-	
-	public void testInvalidSizeExceededBehavior() throws Exception {
-		UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue.setSizeExceededBehavior("unknownBehavior");
-		form.getChildren().add(queue);
-		
-		try {
-			renderView();
-			fail();
-		} catch (IllegalArgumentException e) {
-			//ok
-		}
-	}
-	
-	public void testDuplicateQueues() throws Exception {
-		UIQueue queue1 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue1.setName("testQueue");
-		queue1.setSize(2);
-		form.getChildren().add(queue1);
+        assertEquals(createQueueInitString("test_view_queue", null, null), queueScript);
+    }
 
-		UIQueue queue2 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
-		queue2.setName("testQueue");
-		queue2.setSize(5);
-		form.getChildren().add(queue2);
+    public void testViewQueueDefaultName() throws Exception {
+        UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
 
-		HtmlPage page = renderView();
+        facesContext.getViewRoot().getChildren().add(queue);
 
-		String queueScript = dry(getQueueScript(page));
-		String[] scripts = splitScript(queueScript);
-		assertEquals(1, scripts.length);
+        HtmlPage page = renderView();
+        String queueScript = getQueueScript(page);
 
-		assertEquals(dry(createQueueInitString("theform:testQueue", "{'size':2}",null)), scripts[0]);
-	}
-	
+        assertEquals(createQueueInitString(UIQueue.GLOBAL_QUEUE_NAME, null, null), queueScript);
+    }
+
+    public void testFormQueueName() throws Exception {
+        UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue.setName("test_view_queue");
+        form.getChildren().add(queue);
+
+        HtmlPage page = renderView();
+        String queueScript = getQueueScript(page);
+
+        assertEquals(createQueueInitString("theform:test_view_queue", null, null), queueScript);
+    }
+
+    public void testFormQueueDefaultName() throws Exception {
+        UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        form.getChildren().add(queue);
+
+        HtmlPage page = renderView();
+        String queueScript = getQueueScript(page);
+
+        assertEquals(createQueueInitString("theform", null, null), queueScript);
+    }
+
+    public void testRenderQueueAttributes() throws Exception {
+        UIQueue queue1 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue1.setSize(10);
+        queue1.setOnsizeexceeded("sizeexceeded_handler()");
+        queue1.setSizeExceededBehavior("dropNext");
+        queue1.setOnrequestqueue("request_queue_handler()");
+        queue1.setOnrequestdequeue("request_de_queue_handler()");
+        form.getChildren().add(queue1);
+
+        UIQueue queue2 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue2.setSize(-1);
+        queue2.setName("unsizedQueue");
+        form.getChildren().add(queue2);
+
+        UIQueue queue3 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue3.setName("defaultSizeQueue");
+        form.getChildren().add(queue3);
+
+        HtmlPage page = renderView();
+        String queueScript = dry(getQueueScript(page));
+        String[] scripts = splitScript(queueScript);
+
+        assertEquals(3, scripts.length);
+        assertEquals(dry(createQueueInitString("theform",
+                "{'size':10,'sizeExceededBehavior':'dropNext','onsizeexceeded':function(query,options,event){sizeexceeded_handler()},'onrequestqueue':function(query,options,event){request_queue_handler()},'onrequestdequeue':function(query,options,event){request_de_queue_handler()}}", null)), scripts[0]);
+        assertEquals(dry(createQueueInitString("theform:unsizedQueue", "{'size':-1}", null)), scripts[1]);
+        assertEquals(dry(createQueueInitString("theform:defaultSizeQueue", null, null)), scripts[2]);
+    }
+
+    public void testRenderRequestAttributes() throws Exception {
+        UIQueue queue1 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue1.setName("queue1");
+        queue1.setTimeout(50021);
+        queue1.setOnerror("error_queue_handler()");
+        queue1.setOnsubmit("submit_queue_handler()");
+        queue1.setIgnoreDupResponses(false);
+        form.getChildren().add(queue1);
+
+        UIQueue queue2 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue2.setName("queue2");
+        queue2.setRequestDelay(600);
+        queue2.setIgnoreDupResponses(true);
+        queue2.setOnbeforedomupdate("beforedomupdate_handler()");
+        queue2.setOncomplete("complete_handler()");
+        queue2.setStatus("mystatus");
+        form.getChildren().add(queue2);
+
+        HtmlPage page = renderView();
+        String queueScript = dry(getQueueScript(page));
+        String[] scripts = splitScript(queueScript);
+
+        assertEquals(2, scripts.length);
+        assertEquals(dry(createQueueInitString("theform:queue1", null,
+                "{'timeout':50021,'queueonsubmit':function(request){submit_queue_handler()},'queueonerror':function(request,status,message){error_queue_handler()}}")), scripts[0]);
+        assertEquals(dry(createQueueInitString("theform:queue2", null,
+                "{'ignoreDupResponses':true,'requestDelay':600,'status':'mystatus','queueonbeforedomupdate':function(request,event,data){beforedomupdate_handler()},'queueoncomplete':function(request,event,data){complete_handler()}}")), scripts[1]);
+    }
+
+    public void testInvalidSizeExceededBehavior() throws Exception {
+        UIQueue queue = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue.setSizeExceededBehavior("unknownBehavior");
+        form.getChildren().add(queue);
+
+        try {
+            renderView();
+            fail();
+        } catch (IllegalArgumentException e) {
+
+            // ok
+        }
+    }
+
+    public void testDuplicateQueues() throws Exception {
+        UIQueue queue1 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue1.setName("testQueue");
+        queue1.setSize(2);
+        form.getChildren().add(queue1);
+
+        UIQueue queue2 = (UIQueue) application.createComponent(UIQueue.COMPONENT_TYPE);
+
+        queue2.setName("testQueue");
+        queue2.setSize(5);
+        form.getChildren().add(queue2);
+
+        HtmlPage page = renderView();
+        String queueScript = dry(getQueueScript(page));
+        String[] scripts = splitScript(queueScript);
+
+        assertEquals(1, scripts.length);
+        assertEquals(dry(createQueueInitString("theform:testQueue", "{'size':2}", null)), scripts[0]);
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueScriptedTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueScriptedTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueScriptedTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -20,6 +20,7 @@
  */
 
 
+
 package org.ajax4jsf.component;
 
 import java.util.List;
@@ -31,227 +32,213 @@
  * @author Nick Belaevski
  */
 public class QueueScriptedTest extends AbstractQueueComponentTest {
+    private static final String QUEUE_NAME = "testQueue";
+    private static final String VIEW_NAME = "/queue-scripted.xhtml";
 
-	private static final String QUEUE_NAME = "testQueue";
-	
-	private static final String VIEW_NAME = "/queue-scripted.xhtml";
-	
-	public QueueScriptedTest(String name) {
-		super(name);
-	}
+    public QueueScriptedTest(String name) {
+        super(name);
+    }
 
-	public void testRequestDelayDefined() throws Exception {
-		renderView(VIEW_NAME);
+    public void testRequestDelayDefined() throws Exception {
+        renderView(VIEW_NAME);
 
-		ParametersBuilder parametersBuilder = createAjaxParameters().
-			eventsQueue("queueRequestDelay").requestTime(5);
-		
-		ajax(0, "a", parametersBuilder);
-		ajax(25, "b", parametersBuilder);
-		ajax(50, "c", parametersBuilder.requestDelay(30));
-		ajax(90, "d", parametersBuilder.requestDelay(10));
-		ajax(95, "d", parametersBuilder.requestDelay(50));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(4, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 15, 20, false);
-		checkRequestData(dataList.get(1), "b", 40, 45, false);
-		checkRequestData(dataList.get(2), "c", 80, 85, false);
-		checkRequestData(dataList.get(3), "d", 145, 150, false);
-	}
-	
-	public void testRequestDelayDefault() throws Exception {
-		renderView(VIEW_NAME);
-		
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("queueDefaults").
-			requestTime(100);
-		
-		ajax(0, "a", parametersBuilder.requestDelay(100));
-		ajax(300, "b", parametersBuilder);
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(2, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 100, 200, false);
-		checkRequestData(dataList.get(1), "b", 300, 400, false);
-	}
-	
-	public void testTimeout() throws Exception {
-		renderView(VIEW_NAME);
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("queueRequestDelay").requestTime(5);
 
-		ParametersBuilder parametersBuilder = createAjaxParameters().
-			eventsQueue("queueTimeout").requestDelay(0);
-		
-		ajax(0, "a", parametersBuilder.requestTime(4999));
-		ajax(10000, "b", parametersBuilder.requestTime(5001).similarityGroupingId("b"));
-		ajax(10000, "c", parametersBuilder.requestTime(100).similarityGroupingId("c"));
-		ajax(20000, "d", parametersBuilder.requestTime(10000).timeout(10000));
-		ajax(40000, "e", parametersBuilder.requestTime(10001).timeout(10000));
-	
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(5, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, 4999, false);
-		checkRequestData(dataList.get(1), "b", 10000, 15000, true);
-		checkRequestData(dataList.get(2), "c", 15000, 15100, false);
-		checkRequestData(dataList.get(3), "d", 20000, 30000, false);
-		checkRequestData(dataList.get(4), "e", 40000, 50000, true);
-	
-	}
-	
-	public void testIgnoreDupResponses() throws Exception {
-		renderView(VIEW_NAME);
+        ajax(0, "a", parametersBuilder);
+        ajax(25, "b", parametersBuilder);
+        ajax(50, "c", parametersBuilder.requestDelay(30));
+        ajax(90, "d", parametersBuilder.requestDelay(10));
+        ajax(95, "d", parametersBuilder.requestDelay(50));
 
-		ParametersBuilder parametersBuilder = createAjaxParameters().
-			eventsQueue("queueIgnoreDupResponses").requestDelay(0).requestTime(1000);
-	
-		ajax(0, "a", parametersBuilder.similarityGroupingId("a"));
-		ajax(500, "b", parametersBuilder.similarityGroupingId("a"));
-		ajax(2500, "c", parametersBuilder.similarityGroupingId("a"));
-		ajax(3000, "d", parametersBuilder.similarityGroupingId("a").ignoreDupResponses(false));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(4, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, 1000, false);
-		checkRequestData(dataList.get(1), "b", 1000, 2000, false);
-	
-		checkRequestData(dataList.get(2), "c", 2500, 3500, false);
-		checkRequestData(dataList.get(3), "d", 3500, 4500, false);
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
 
-		NativeArray array = (NativeArray) executeJavaScript("queueIgnoreDupResponsesTest");
-		long length = array.getLength();
-		assertEquals(3, length);
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "a", 15, 20, false);
+        checkRequestData(dataList.get(1), "b", 40, 45, false);
+        checkRequestData(dataList.get(2), "c", 80, 85, false);
+        checkRequestData(dataList.get(3), "d", 145, 150, false);
+    }
 
-		assertEquals("b:2000", (String) array.get(0, array));
-		assertEquals("c:3500", (String) array.get(1, array));
-		assertEquals("d:4500", (String) array.get(2, array));
-	}
-	
-	public void testIgnoreDupResponsesDefault() throws Exception {
-		renderView(VIEW_NAME);
-		
-		ParametersBuilder parametersBuilder = createAjaxParameters().
-			eventsQueue("queueDefaults").requestTime(500);
-		
-		ajax(0, "a", parametersBuilder);
-		ajax(250, "b", parametersBuilder);
-		ajax(750, "c", parametersBuilder.ignoreDupResponses(true));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(3, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, 500, false);
-		checkRequestData(dataList.get(1), "b", 500, 1000, false);
-		checkRequestData(dataList.get(2), "c", 1000, 1500, false);
-	}
-	
-	public void testIgnoreDupResponsesTimeout() throws Exception {
-		renderView(VIEW_NAME);
-		
-		ParametersBuilder parametersBuilder = createAjaxParameters().
-			eventsQueue("queueTimeout").ignoreDupResponses(true).requestDelay(0).requestTime(1000);
+    public void testRequestDelayDefault() throws Exception {
+        renderView(VIEW_NAME);
 
-		ajax(0, "a", parametersBuilder.timeout(500));
-		ajax(100, "b", parametersBuilder);
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(2, dataList.size());
-		checkRequestData(dataList.get(0), "a", 0, 500, true);
-		checkRequestData(dataList.get(1), "b", 500, 1500, false);
-	}
-	
-	public void testSimpleAjax() throws Exception {
-		renderView(VIEW_NAME);
-		
-		ajax(50, "a", createAjaxParameters().requestTime(100));
-		ajax(50, "b", createAjaxParameters().requestTime(150));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(2, dataList.size());
-		checkRequestData(dataList.get(0), "a", 50, 150, false);
-		checkRequestData(dataList.get(1), "b", 50, 200, false);
-		
-		assertEquals(200d, result.getCurrentTime());
-	}
-	
-	public void testSimpleQueuedAjax() throws Exception {
-		renderView(VIEW_NAME);
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("queueDefaults").requestTime(100);
 
-		ParametersBuilder queueParameters = createAjaxParameters().requestTime(500).eventsQueue(QUEUE_NAME);
-		ajax(50, "a", queueParameters.similarityGroupingId(0));
-		ajax(250, "b", queueParameters.similarityGroupingId(1));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(2, dataList.size());
-		checkRequestData(dataList.get(0), "a", 50, 550, false);
-		checkRequestData(dataList.get(1), "b", 550, 1050, false);
-		
-		assertEquals(1050d, result.getCurrentTime());
-	}
-	
-	public void testImplicitQueue() throws Exception {
-		renderView(VIEW_NAME);
+        ajax(0, "a", parametersBuilder.requestDelay(100));
+        ajax(300, "b", parametersBuilder);
 
-		ParametersBuilder parameters = createAjaxParameters().
-			requestDelay(100).
-			implicitEventsQueue("myqueue").
-			requestTime(10);
-		
-		ajax(0, "a", parameters);
-		ajax(10, "b", parameters);
-		ajax(20, "c", parameters.requestDelay(50));
-	
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(1, dataList.size());
-		
-		RequestData requestData = dataList.get(0);
-		checkRequestData(requestData, "c", 70, 80, false);
-		
-		assertEquals(80d, result.getCurrentTime());
-		
-	}
-	
-	public void testStatusIgnoreDupResponses() throws Exception {
-		renderView(VIEW_NAME);
-		
-		ParametersBuilder parameters = createAjaxParameters().requestDelay(0).eventsQueue("queueIgnoreDupResponses");
-		
-		ajax(0, "a", parameters);
-		ajax(100, "b", parameters);
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
 
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(2, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, DEFAULT_REQUEST_TIME, false);
-		checkRequestData(dataList.get(1), "b", DEFAULT_REQUEST_TIME, 2 * DEFAULT_REQUEST_TIME, false);
-	
-		NativeArray array = (NativeArray) executeJavaScript("window.statusData");
-		assertEquals(2, array.getLength());
-		
-		NativeArray nestedArray = (NativeArray) array.get(0, array);
-		assertEquals(Double.valueOf(0), nestedArray.get(0, nestedArray));
-		assertEquals(Double.valueOf(DEFAULT_REQUEST_TIME), nestedArray.get(1, nestedArray));
+        assertEquals(2, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 200, false);
+        checkRequestData(dataList.get(1), "b", 300, 400, false);
+    }
 
-		nestedArray = (NativeArray) array.get(1, array);
-		assertEquals(Double.valueOf(DEFAULT_REQUEST_TIME), nestedArray.get(0, nestedArray));
-		assertEquals(Double.valueOf(2 * DEFAULT_REQUEST_TIME), nestedArray.get(1, nestedArray));
-	}
+    public void testTimeout() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("queueTimeout").requestDelay(0);
+
+        ajax(0, "a", parametersBuilder.requestTime(4999));
+        ajax(10000, "b", parametersBuilder.requestTime(5001).similarityGroupingId("b"));
+        ajax(10000, "c", parametersBuilder.requestTime(100).similarityGroupingId("c"));
+        ajax(20000, "d", parametersBuilder.requestTime(10000).timeout(10000));
+        ajax(40000, "e", parametersBuilder.requestTime(10001).timeout(10000));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(5, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 4999, false);
+        checkRequestData(dataList.get(1), "b", 10000, 15000, true);
+        checkRequestData(dataList.get(2), "c", 15000, 15100, false);
+        checkRequestData(dataList.get(3), "d", 20000, 30000, false);
+        checkRequestData(dataList.get(4), "e", 40000, 50000, true);
+    }
+
+    public void testIgnoreDupResponses() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder parametersBuilder =
+            createAjaxParameters().eventsQueue("queueIgnoreDupResponses").requestDelay(0).requestTime(1000);
+
+        ajax(0, "a", parametersBuilder.similarityGroupingId("a"));
+        ajax(500, "b", parametersBuilder.similarityGroupingId("a"));
+        ajax(2500, "c", parametersBuilder.similarityGroupingId("a"));
+        ajax(3000, "d", parametersBuilder.similarityGroupingId("a").ignoreDupResponses(false));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 1000, false);
+        checkRequestData(dataList.get(1), "b", 1000, 2000, false);
+        checkRequestData(dataList.get(2), "c", 2500, 3500, false);
+        checkRequestData(dataList.get(3), "d", 3500, 4500, false);
+
+        NativeArray array = (NativeArray) executeJavaScript("queueIgnoreDupResponsesTest");
+        long length = array.getLength();
+
+        assertEquals(3, length);
+        assertEquals("b:2000", (String) array.get(0, array));
+        assertEquals("c:3500", (String) array.get(1, array));
+        assertEquals("d:4500", (String) array.get(2, array));
+    }
+
+    public void testIgnoreDupResponsesDefault() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("queueDefaults").requestTime(500);
+
+        ajax(0, "a", parametersBuilder);
+        ajax(250, "b", parametersBuilder);
+        ajax(750, "c", parametersBuilder.ignoreDupResponses(true));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(3, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 500, false);
+        checkRequestData(dataList.get(1), "b", 500, 1000, false);
+        checkRequestData(dataList.get(2), "c", 1000, 1500, false);
+    }
+
+    public void testIgnoreDupResponsesTimeout() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("queueTimeout").ignoreDupResponses(
+                                                  true).requestDelay(0).requestTime(1000);
+
+        ajax(0, "a", parametersBuilder.timeout(500));
+        ajax(100, "b", parametersBuilder);
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(2, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 500, true);
+        checkRequestData(dataList.get(1), "b", 500, 1500, false);
+    }
+
+    public void testSimpleAjax() throws Exception {
+        renderView(VIEW_NAME);
+        ajax(50, "a", createAjaxParameters().requestTime(100));
+        ajax(50, "b", createAjaxParameters().requestTime(150));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(2, dataList.size());
+        checkRequestData(dataList.get(0), "a", 50, 150, false);
+        checkRequestData(dataList.get(1), "b", 50, 200, false);
+        assertEquals(200d, result.getCurrentTime());
+    }
+
+    public void testSimpleQueuedAjax() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder queueParameters = createAjaxParameters().requestTime(500).eventsQueue(QUEUE_NAME);
+
+        ajax(50, "a", queueParameters.similarityGroupingId(0));
+        ajax(250, "b", queueParameters.similarityGroupingId(1));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(2, dataList.size());
+        checkRequestData(dataList.get(0), "a", 50, 550, false);
+        checkRequestData(dataList.get(1), "b", 550, 1050, false);
+        assertEquals(1050d, result.getCurrentTime());
+    }
+
+    public void testImplicitQueue() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder parameters =
+            createAjaxParameters().requestDelay(100).implicitEventsQueue("myqueue").requestTime(10);
+
+        ajax(0, "a", parameters);
+        ajax(10, "b", parameters);
+        ajax(20, "c", parameters.requestDelay(50));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+
+        RequestData requestData = dataList.get(0);
+
+        checkRequestData(requestData, "c", 70, 80, false);
+        assertEquals(80d, result.getCurrentTime());
+    }
+
+    public void testStatusIgnoreDupResponses() throws Exception {
+        renderView(VIEW_NAME);
+
+        ParametersBuilder parameters = createAjaxParameters().requestDelay(0).eventsQueue("queueIgnoreDupResponses");
+
+        ajax(0, "a", parameters);
+        ajax(100, "b", parameters);
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(2, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, DEFAULT_REQUEST_TIME, false);
+        checkRequestData(dataList.get(1), "b", DEFAULT_REQUEST_TIME, 2 * DEFAULT_REQUEST_TIME, false);
+
+        NativeArray array = (NativeArray) executeJavaScript("window.statusData");
+
+        assertEquals(2, array.getLength());
+
+        NativeArray nestedArray = (NativeArray) array.get(0, array);
+
+        assertEquals(Double.valueOf(0), nestedArray.get(0, nestedArray));
+        assertEquals(Double.valueOf(DEFAULT_REQUEST_TIME), nestedArray.get(1, nestedArray));
+        nestedArray = (NativeArray) array.get(1, array);
+        assertEquals(Double.valueOf(DEFAULT_REQUEST_TIME), nestedArray.get(0, nestedArray));
+        assertEquals(Double.valueOf(2 * DEFAULT_REQUEST_TIME), nestedArray.get(1, nestedArray));
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSimilarityTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSimilarityTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSimilarityTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.List;
@@ -27,135 +29,121 @@
  * @author Nick Belaevski
  * @since 3.3.0
  */
-
 public class QueueSimilarityTest extends AbstractQueueComponentTest {
+    private static final String VIEW_NAME = "/queue-similarity.xhtml";
 
-	/**
-	 * @param name
-	 */
-	public QueueSimilarityTest(String name) {
-		super(name);
-	}
+    /**
+     * @param name
+     */
+    public QueueSimilarityTest(String name) {
+        super(name);
+    }
 
-	private static final String VIEW_NAME = "/queue-similarity.xhtml"; 
-	
-	public void testDefaultBehavior() throws Exception {
-		renderView(VIEW_NAME);
-		
-		clickOnTime(0, "form:button3");
-		clickOnTime(100, "form:button3");
-		clickOnTime(200, "form:button4");
-		clickOnTime(400, "form:button3");
-	
-		clickOnTime(4000, "form:button3");
-		clickOnTime(4300, "form:button3");
-		clickOnTime(4500, "form:button3");
+    public void testDefaultBehavior() throws Exception {
+        renderView(VIEW_NAME);
+        clickOnTime(0, "form:button3");
+        clickOnTime(100, "form:button3");
+        clickOnTime(200, "form:button4");
+        clickOnTime(400, "form:button3");
+        clickOnTime(4000, "form:button3");
+        clickOnTime(4300, "form:button3");
+        clickOnTime(4500, "form:button3");
 
-		TestsResult testsResult = getTestsResult();
-		List<RequestData> dataList = testsResult.getDataList();
-		
-		assertEquals(4, dataList.size());
-		
-		checkRequestData(dataList.get(0), "form:button3", 200, 1200, false);
-		checkRequestData(dataList.get(1), "form:button4", 1200, 2200, false);
-		checkRequestData(dataList.get(2), "form:button3", 2200, 3200, false);
-		checkRequestData(dataList.get(3), "form:button3", 5000, 6000, false);
-	}
-	
-	public void testGrouping() throws Exception {
-		renderView(VIEW_NAME);
+        TestsResult testsResult = getTestsResult();
+        List<RequestData> dataList = testsResult.getDataList();
 
-		clickOnTime(0, "form:button1");
-		clickOnTime(100, "form:button1");
-		clickOnTime(200, "form:button2");
-		clickOnTime(300, "form:button1");
-		
-		
-		TestsResult testsResult = getTestsResult();
-		List<RequestData> dataList = testsResult.getDataList();
-		
-		assertEquals(1, dataList.size());
-		
-		checkRequestData(dataList.get(0), "form:button1", 700, 1700, false);
-	}
-	
-	public void testSizeExceededGroupingDropNext() throws Exception {
-		renderView(VIEW_NAME);
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "form:button3", 200, 1200, false);
+        checkRequestData(dataList.get(1), "form:button4", 1200, 2200, false);
+        checkRequestData(dataList.get(2), "form:button3", 2200, 3200, false);
+        checkRequestData(dataList.get(3), "form:button3", 5000, 6000, false);
+    }
 
-		clickOnTime(0, "dropNext:button1");
-		clickOnTime(100, "dropNext:button2");
-		clickOnTime(200, "dropNext:button1");
-		clickOnTime(300, "dropNext:button2");
-		clickOnTime(2000, "dropNext:button1");
-		
-		TestsResult testsResult = getTestsResult();
-		List<RequestData> dataList = testsResult.getDataList();
-		
-		assertEquals(4, dataList.size());
-		
-		checkRequestData(dataList.get(0), "dropNext:button1", 100, 1100, false);
-		checkRequestData(dataList.get(1), "dropNext:button1", 1100, 2100, false);
-		checkRequestData(dataList.get(2), "dropNext:button2", 2100, 3100, false);
-		checkRequestData(dataList.get(3), "dropNext:button1", 3100, 4100, false);
-	}
+    public void testGrouping() throws Exception {
+        renderView(VIEW_NAME);
+        clickOnTime(0, "form:button1");
+        clickOnTime(100, "form:button1");
+        clickOnTime(200, "form:button2");
+        clickOnTime(300, "form:button1");
 
-	public void testSizeExceededGroupingDropNew() throws Exception {
-		renderView(VIEW_NAME);
+        TestsResult testsResult = getTestsResult();
+        List<RequestData> dataList = testsResult.getDataList();
 
-		clickOnTime(0, "dropNew:button1");
-		clickOnTime(100, "dropNew:button2");
-		clickOnTime(200, "dropNew:button1");
-		clickOnTime(300, "dropNew:button2");
-		clickOnTime(2000, "dropNew:button1");
-		
-		TestsResult testsResult = getTestsResult();
-		List<RequestData> dataList = testsResult.getDataList();
-		
-		assertEquals(4, dataList.size());
-		checkRequestData(dataList.get(0), "dropNew:button1", 100, 1100, false);
-		checkRequestData(dataList.get(1), "dropNew:button2", 1100, 2100, false);
-		checkRequestData(dataList.get(2), "dropNew:button1", 2100, 3100, false);
-		checkRequestData(dataList.get(3), "dropNew:button1", 3100, 4100, false);
-	}
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "form:button1", 700, 1700, false);
+    }
 
-	public void testSizeExceededGroupingFireNext() throws Exception {
-		renderView(VIEW_NAME);
+    public void testSizeExceededGroupingDropNext() throws Exception {
+        renderView(VIEW_NAME);
+        clickOnTime(0, "dropNext:button1");
+        clickOnTime(100, "dropNext:button2");
+        clickOnTime(200, "dropNext:button1");
+        clickOnTime(300, "dropNext:button2");
+        clickOnTime(2000, "dropNext:button1");
 
-		clickOnTime(0, "fireNext:button1");
-		clickOnTime(100, "fireNext:button2");
-		clickOnTime(200, "fireNext:button1");
-		clickOnTime(300, "fireNext:button2");
-		clickOnTime(2000, "fireNext:button1");
+        TestsResult testsResult = getTestsResult();
+        List<RequestData> dataList = testsResult.getDataList();
 
-		TestsResult testsResult = getTestsResult();
-		List<RequestData> dataList = testsResult.getDataList();
-		
-		assertEquals(5, dataList.size());
-		checkRequestData(dataList.get(0), "fireNext:button1", 100, 1100, false);
-		checkRequestData(dataList.get(1), "fireNext:button2", 300, 1300, false);
-		checkRequestData(dataList.get(2), "fireNext:button1", 1100, 2100, false);
-		checkRequestData(dataList.get(3), "fireNext:button2", 2100, 3100, false);
-		checkRequestData(dataList.get(4), "fireNext:button1", 3100, 4100, false);
-	}
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "dropNext:button1", 100, 1100, false);
+        checkRequestData(dataList.get(1), "dropNext:button1", 1100, 2100, false);
+        checkRequestData(dataList.get(2), "dropNext:button2", 2100, 3100, false);
+        checkRequestData(dataList.get(3), "dropNext:button1", 3100, 4100, false);
+    }
 
-	public void testSizeExceededGroupingFireNew() throws Exception {
-		renderView(VIEW_NAME);
+    public void testSizeExceededGroupingDropNew() throws Exception {
+        renderView(VIEW_NAME);
+        clickOnTime(0, "dropNew:button1");
+        clickOnTime(100, "dropNew:button2");
+        clickOnTime(200, "dropNew:button1");
+        clickOnTime(300, "dropNew:button2");
+        clickOnTime(2000, "dropNew:button1");
 
-		clickOnTime(0, "fireNew:button1");
-		clickOnTime(100, "fireNew:button2");
-		clickOnTime(200, "fireNew:button1");
-		clickOnTime(300, "fireNew:button2");
-		clickOnTime(2000, "fireNew:button1");
+        TestsResult testsResult = getTestsResult();
+        List<RequestData> dataList = testsResult.getDataList();
 
-		TestsResult testsResult = getTestsResult();
-		List<RequestData> dataList = testsResult.getDataList();
-		
-		assertEquals(5, dataList.size());
-		checkRequestData(dataList.get(0), "fireNew:button1", 100, 1100, false);
-		checkRequestData(dataList.get(1), "fireNew:button2", 300, 1300, false);
-		
-		checkRequestData(dataList.get(2), "fireNew:button2", 1100, 2100, false);
-		checkRequestData(dataList.get(3), "fireNew:button1", 2100, 3100, false);
-		checkRequestData(dataList.get(4), "fireNew:button1", 3100, 4100, false);
-	}
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "dropNew:button1", 100, 1100, false);
+        checkRequestData(dataList.get(1), "dropNew:button2", 1100, 2100, false);
+        checkRequestData(dataList.get(2), "dropNew:button1", 2100, 3100, false);
+        checkRequestData(dataList.get(3), "dropNew:button1", 3100, 4100, false);
+    }
+
+    public void testSizeExceededGroupingFireNext() throws Exception {
+        renderView(VIEW_NAME);
+        clickOnTime(0, "fireNext:button1");
+        clickOnTime(100, "fireNext:button2");
+        clickOnTime(200, "fireNext:button1");
+        clickOnTime(300, "fireNext:button2");
+        clickOnTime(2000, "fireNext:button1");
+
+        TestsResult testsResult = getTestsResult();
+        List<RequestData> dataList = testsResult.getDataList();
+
+        assertEquals(5, dataList.size());
+        checkRequestData(dataList.get(0), "fireNext:button1", 100, 1100, false);
+        checkRequestData(dataList.get(1), "fireNext:button2", 300, 1300, false);
+        checkRequestData(dataList.get(2), "fireNext:button1", 1100, 2100, false);
+        checkRequestData(dataList.get(3), "fireNext:button2", 2100, 3100, false);
+        checkRequestData(dataList.get(4), "fireNext:button1", 3100, 4100, false);
+    }
+
+    public void testSizeExceededGroupingFireNew() throws Exception {
+        renderView(VIEW_NAME);
+        clickOnTime(0, "fireNew:button1");
+        clickOnTime(100, "fireNew:button2");
+        clickOnTime(200, "fireNew:button1");
+        clickOnTime(300, "fireNew:button2");
+        clickOnTime(2000, "fireNew:button1");
+
+        TestsResult testsResult = getTestsResult();
+        List<RequestData> dataList = testsResult.getDataList();
+
+        assertEquals(5, dataList.size());
+        checkRequestData(dataList.get(0), "fireNew:button1", 100, 1100, false);
+        checkRequestData(dataList.get(1), "fireNew:button2", 300, 1300, false);
+        checkRequestData(dataList.get(2), "fireNew:button2", 1100, 2100, false);
+        checkRequestData(dataList.get(3), "fireNew:button1", 2100, 3100, false);
+        checkRequestData(dataList.get(4), "fireNew:button1", 3100, 4100, false);
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSizeTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSizeTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueueSizeTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,9 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.text.NumberFormat;
+
 import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
@@ -30,393 +33,365 @@
 import org.mozilla.javascript.NativeArray;
 import org.mozilla.javascript.ScriptableObject;
 
-
-
 /**
  * @author Nick Belaevski
  * @since 3.3.0
  */
-
 public class QueueSizeTest extends AbstractQueueComponentTest {
+    private static final int numberOfEvents = 250;
 
-	public QueueSizeTest(String name) {
-		super(name);
-	}
+    public QueueSizeTest(String name) {
+        super(name);
+    }
 
-	private static final int numberOfEvents = 250;
-	
-	private static abstract interface SequenceGenerator<T> {
-		public abstract T next();
-	}
-	
-	protected TestsResult simulate(int numberOfEvents, 
-			SequenceGenerator<Integer> userDelayGenerator, 
-			SequenceGenerator<Integer> processTimeGenerator,
-			SequenceGenerator<String> requestIdGenerator) throws Exception {
-		
-		NumberFormat numberFormat = NumberFormat.getInstance();
-		numberFormat.setGroupingUsed(false);
-		numberFormat.setMinimumIntegerDigits(String.valueOf(numberOfEvents).length());
-		
-		renderView("/queue-size.xhtml");
-	
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("defaultSizeQueue");
+    protected TestsResult simulate(int numberOfEvents, SequenceGenerator<Integer> userDelayGenerator,
+                                   SequenceGenerator<Integer> processTimeGenerator,
+                                   SequenceGenerator<String> requestIdGenerator)
+            throws Exception {
+        NumberFormat numberFormat = NumberFormat.getInstance();
 
-		int time = 0;
-		
-		for (int i = 0; i < numberOfEvents; i++) {
-			int userDelay = userDelayGenerator.next();
-			int requestTime = processTimeGenerator.next();
-			
-			time += userDelay;
-			ajax(time, numberFormat.format(i), parametersBuilder.similarityGroupingId(requestIdGenerator.next()).
-					requestTime(requestTime));
-		
-		}
+        numberFormat.setGroupingUsed(false);
+        numberFormat.setMinimumIntegerDigits(String.valueOf(numberOfEvents).length());
+        renderView("/queue-size.xhtml");
 
-		TestsResult result = getTestsResult();
-		return result;
-	}
-	
-	protected void checkQueueOrdering(TestsResult result) throws Exception {
-		double time = 0;
-		String lastRequestId = "";
-		
-		List<RequestData> dataList = result.getDataList();
-		Iterator<RequestData> itr = dataList.iterator();
-		while (itr.hasNext()) {
-			RequestData data = itr.next();
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("defaultSizeQueue");
+        int time = 0;
 
-			assertTrue(data.getStartTime() >= time);
-			assertTrue(data.getEndTime() >= data.getStartTime());
-			assertTrue(data.getData().compareTo(lastRequestId) > 0);
-			
-			lastRequestId = data.getData();
-			time = data.getEndTime();
-		}
-	}
-	
-	private static final class UUIDGenerator implements SequenceGenerator<String> {
+        for (int i = 0; i < numberOfEvents; i++) {
+            int userDelay = userDelayGenerator.next();
+            int requestTime = processTimeGenerator.next();
 
-		public String next() {
-			return UUID.randomUUID().toString();
-		}
-		
-	}
-	
-	private static final class RandomSequenceGenerator implements SequenceGenerator<Integer> {
+            time += userDelay;
+            ajax(time, numberFormat.format(i),
+                 parametersBuilder.similarityGroupingId(requestIdGenerator.next()).requestTime(requestTime));
+        }
 
-		private int offset;
-		
-		private int limit;
-		
-		public RandomSequenceGenerator(int minimum, int maximum) {
-			super();
-			
-			this.limit = maximum - minimum;
-			this.offset = minimum;
-		}
+        TestsResult result = getTestsResult();
 
-		private Random random = new Random();
-		
-		public Integer next() {
-			return random.nextInt(this.limit) + this.offset;
-		}
-		
-	}
-	
-	public void testUnlimitedOverload() throws Exception {
-		TestsResult result = simulate(numberOfEvents, 
-			new RandomSequenceGenerator(5, 100), 
-			new RandomSequenceGenerator(50, 300),
-			new UUIDGenerator()
-		);
-		
-		checkQueueOrdering(result);
-		assertEquals(numberOfEvents, result.getDataList().size());
-	}
-	
-	public void testUnlimitedUnderload() throws Exception {
-		TestsResult result = simulate(numberOfEvents, 
-			new RandomSequenceGenerator(50, 300),
-			new RandomSequenceGenerator(5, 100), 
-			new UUIDGenerator()
-		);
+        return result;
+    }
 
-		checkQueueOrdering(result);
-		assertEquals(numberOfEvents, result.getDataList().size());
-	}
+    protected void checkQueueOrdering(TestsResult result) throws Exception {
+        double time = 0;
+        String lastRequestId = "";
+        List<RequestData> dataList = result.getDataList();
+        Iterator<RequestData> itr = dataList.iterator();
 
-	private static final class TableRequestIdGenerator implements SequenceGenerator<String> {
-		private static final String[] requestIds = new String[] {
-			"aaa", "bbb", "ccc", "ddd", "eee", "fff"	
-		};
+        while (itr.hasNext()) {
+            RequestData data = itr.next();
 
-		private Random random = new Random();
-		
-		private String lastValue;
-		
-		private int uniqueIdsCounter = 0;
-		
-		public String next() {
-			String newValue = requestIds[random.nextInt(requestIds.length)];
-		
-			if (!newValue.equals(lastValue)) {
-				lastValue = newValue;
-				uniqueIdsCounter++;
-			}
+            assertTrue(data.getStartTime() >= time);
+            assertTrue(data.getEndTime() >= data.getStartTime());
+            assertTrue(data.getData().compareTo(lastRequestId) > 0);
+            lastRequestId = data.getData();
+            time = data.getEndTime();
+        }
+    }
 
-			return newValue;
-		}
-		
-		public int getUniqueIdsCounter() {
-			return uniqueIdsCounter;
-		}
-	};
+    public void testUnlimitedOverload() throws Exception {
+        TestsResult result = simulate(numberOfEvents, new RandomSequenceGenerator(5, 100),
+                                      new RandomSequenceGenerator(50, 300), new UUIDGenerator());
 
-	
-	public void testUnlimitedEmulateUser() throws Exception {
-		TableRequestIdGenerator requestIdGenerator = new TableRequestIdGenerator();
-		
-		TestsResult result = simulate(numberOfEvents, 
-			new RandomSequenceGenerator(5, 100),
-			new RandomSequenceGenerator(5, 100), 
-			requestIdGenerator
-		);
+        checkQueueOrdering(result);
+        assertEquals(numberOfEvents, result.getDataList().size());
+    }
 
-		checkQueueOrdering(result);
-		assertTrue(requestIdGenerator.getUniqueIdsCounter() <= result.getDataList().size());
-		assertTrue(result.getDataList().size() <= numberOfEvents);
-	}
-	
-	protected TestsResult checkQueue(String queueName) throws Exception {
-		renderView("/queue-size.xhtml");
-		
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue(queueName).
-			requestDelay(300).requestTime(300);
-		
-		ajax(0, "a", parametersBuilder.similarityGroupingId("a"));
-		ajax(100, "b", parametersBuilder.similarityGroupingId("b"));
-		ajax(200, "c", parametersBuilder.similarityGroupingId("c"));
-		ajax(300, "d", parametersBuilder.similarityGroupingId("d"));
-		ajax(500, "e", parametersBuilder.similarityGroupingId("e"));
-		ajax(600, "f", parametersBuilder.similarityGroupingId("f"));
-		
-		TestsResult result = getTestsResult();
-		return result;
-	}
-	
-	protected TestsResult checkSingleQueue(String queueName) throws Exception {
-		renderView("/queue-size.xhtml");
-		
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue(queueName).
-			requestTime(300).requestDelay(200);
+    public void testUnlimitedUnderload() throws Exception {
+        TestsResult result = simulate(numberOfEvents, new RandomSequenceGenerator(50, 300),
+                                      new RandomSequenceGenerator(5, 100), new UUIDGenerator());
 
-		ajax(0, "a", parametersBuilder.similarityGroupingId("a"));
-		ajax(100, "b", parametersBuilder.similarityGroupingId("b"));
-		ajax(400, "c", parametersBuilder.similarityGroupingId("c"));
-		ajax(500, "d", parametersBuilder.similarityGroupingId("d"));
-		ajax(700, "e", parametersBuilder.similarityGroupingId("e"));
-		
-		ajax(9800, "f", parametersBuilder.similarityGroupingId("f").requestTime(1000));
-		ajax(10100, "g", parametersBuilder.similarityGroupingId("f").requestTime(1500));
-		
-		TestsResult result = getTestsResult();
-		return result;
-	}
-	
-	public void testDropNext() throws Exception {
-		TestsResult result = checkQueue("dropNextQueue");
-		List<RequestData> dataList = result.getDataList();
-		
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-		
-		assertEquals(4, dataList.size());
+        checkQueueOrdering(result);
+        assertEquals(numberOfEvents, result.getDataList().size());
+    }
 
-		checkRequestData(dataList.get(0), "a", 100, 400, false);
-		checkRequestData(dataList.get(1), "c", 400, 700, false);
-		checkRequestData(dataList.get(2), "e", 700, 1000, false);
-		checkRequestData(dataList.get(3), "f", 1000, 1300, false);
-	}
-	
-	public void testDropNew() throws Exception {
-		TestsResult result = checkQueue("dropNewQueue");
-		List<RequestData> dataList = result.getDataList();
+    public void testUnlimitedEmulateUser() throws Exception {
+        TableRequestIdGenerator requestIdGenerator = new TableRequestIdGenerator();
+        TestsResult result = simulate(numberOfEvents, new RandomSequenceGenerator(5, 100),
+                                      new RandomSequenceGenerator(5, 100), requestIdGenerator);
 
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-		
-		assertEquals(4, dataList.size());
+        checkQueueOrdering(result);
+        assertTrue(requestIdGenerator.getUniqueIdsCounter() <= result.getDataList().size());
+        assertTrue(result.getDataList().size() <= numberOfEvents);
+    }
 
-		checkRequestData(dataList.get(0), "a", 100, 400, false);
-		checkRequestData(dataList.get(1), "b", 400, 700, false);
-		checkRequestData(dataList.get(2), "c", 700, 1000, false);
-		checkRequestData(dataList.get(3), "e", 1000, 1300, false);
-	}
+    protected TestsResult checkQueue(String queueName) throws Exception {
+        renderView("/queue-size.xhtml");
 
-	public void testFireNext() throws Exception {
-		TestsResult result = checkQueue("fireNextQueue");
-		List<RequestData> dataList = result.getDataList();
+        ParametersBuilder parametersBuilder =
+            createAjaxParameters().eventsQueue(queueName).requestDelay(300).requestTime(300);
 
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-	
-		assertEquals(6, dataList.size());
+        ajax(0, "a", parametersBuilder.similarityGroupingId("a"));
+        ajax(100, "b", parametersBuilder.similarityGroupingId("b"));
+        ajax(200, "c", parametersBuilder.similarityGroupingId("c"));
+        ajax(300, "d", parametersBuilder.similarityGroupingId("d"));
+        ajax(500, "e", parametersBuilder.similarityGroupingId("e"));
+        ajax(600, "f", parametersBuilder.similarityGroupingId("f"));
 
-		checkRequestData(dataList.get(0), "a", 100, 400, false);
-		checkRequestData(dataList.get(1), "b", 300, 600, false);
-		checkRequestData(dataList.get(2), "c", 400, 700, false);
-		checkRequestData(dataList.get(3), "d", 600, 900, false);
-		checkRequestData(dataList.get(4), "e", 700, 1000, false);
-		checkRequestData(dataList.get(5), "f", 1000, 1300, false);
-	}
-	
-	public void testFireNew() throws Exception {
-		TestsResult result = checkQueue("fireNewQueue");
-		List<RequestData> dataList = result.getDataList();
+        TestsResult result = getTestsResult();
 
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-	
-		assertEquals(6, dataList.size());
+        return result;
+    }
 
-		checkRequestData(dataList.get(0), "a", 100, 400, false);
-		checkRequestData(dataList.get(1), "d", 300, 600, false);
-		checkRequestData(dataList.get(2), "b", 400, 700, false);
-		checkRequestData(dataList.get(3), "f", 600, 900, false);
-		checkRequestData(dataList.get(4), "c", 700, 1000, false);
-		checkRequestData(dataList.get(5), "e", 1000, 1300, false);
-	}
-	
-	public void testDropNextSingle() throws Exception {
-		TestsResult result = checkSingleQueue("dropNextQueueSingle");
-		List<RequestData> dataList = result.getDataList();
-		
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-		
-		assertEquals(3, dataList.size());
+    protected TestsResult checkSingleQueue(String queueName) throws Exception {
+        renderView("/queue-size.xhtml");
 
-		checkRequestData(dataList.get(0), "b", 300, 600, false);
-		checkRequestData(dataList.get(1), "e", 900, 1200, false);
-		checkRequestData(dataList.get(2), "f", 10000, 11000, false);
-	}
-	
-	public void testDropNewSingle() throws Exception {
-		TestsResult result = checkSingleQueue("dropNewQueueSingle");
-		List<RequestData> dataList = result.getDataList();
-		
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-		
-		assertEquals(3, dataList.size());
+        ParametersBuilder parametersBuilder =
+            createAjaxParameters().eventsQueue(queueName).requestTime(300).requestDelay(200);
 
-		checkRequestData(dataList.get(0), "a", 100, 400, false);
-		checkRequestData(dataList.get(1), "d", 700, 1000, false);
-		checkRequestData(dataList.get(2), "f", 10000, 11000, false);
-	}
-	
-	public void testFireNextSingle() throws Exception {
-		TestsResult result = checkSingleQueue("fireNextQueueSingle");
-		List<RequestData> dataList = result.getDataList();
-		
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-		
-		assertEquals(7, dataList.size());
+        ajax(0, "a", parametersBuilder.similarityGroupingId("a"));
+        ajax(100, "b", parametersBuilder.similarityGroupingId("b"));
+        ajax(400, "c", parametersBuilder.similarityGroupingId("c"));
+        ajax(500, "d", parametersBuilder.similarityGroupingId("d"));
+        ajax(700, "e", parametersBuilder.similarityGroupingId("e"));
+        ajax(9800, "f", parametersBuilder.similarityGroupingId("f").requestTime(1000));
+        ajax(10100, "g", parametersBuilder.similarityGroupingId("f").requestTime(1500));
 
-		checkRequestData(dataList.get(0), "a", 100, 400, false);
-		checkRequestData(dataList.get(1), "b", 300, 600, false);
-		checkRequestData(dataList.get(2), "c", 400, 700, false);
-		checkRequestData(dataList.get(3), "d", 500, 800, false);
-		checkRequestData(dataList.get(4), "e", 900, 1200, false);
+        TestsResult result = getTestsResult();
 
-		checkRequestData(dataList.get(5), "f", 10000, 11000, false);
-		checkRequestData(dataList.get(6), "g", 10100, 11600, false);
-	}
-	
-	public void testFireNewSingle() throws Exception {
-		TestsResult result = checkSingleQueue("fireNewQueueSingle");
-		List<RequestData> dataList = result.getDataList();
-		
-		for (RequestData requestData : dataList) {
-			System.out.println("  " + requestData);
-		}
-		System.out.println();
-		
-		assertEquals(7, dataList.size());
+        return result;
+    }
 
-		checkRequestData(dataList.get(0), "b", 100, 400, false);
-		checkRequestData(dataList.get(1), "a", 100, 400, false);
-		checkRequestData(dataList.get(2), "c", 400, 700, false);
-		checkRequestData(dataList.get(3), "e", 700, 1000, false);
-		checkRequestData(dataList.get(4), "d", 700, 1000, false);
+    public void testDropNext() throws Exception {
+        TestsResult result = checkQueue("dropNextQueue");
+        List<RequestData> dataList = result.getDataList();
 
-		checkRequestData(dataList.get(5), "f", 10000, 11000, false);
-		checkRequestData(dataList.get(6), "g", 10100, 11600, false);
-	}
-	
-	public void testOnSizeExceeded() throws Exception {
-		renderView("/queue-size.xhtml");
-	
-		for (int i = 0; i <= 3; i++) {
-			clickOnTime(i, "form:button" + i);
-		}
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(2, dataList.size());
-		
-		//dropNext is default
-		checkRequestData(dataList.get(0), "form:button0", 0, DEFAULT_REQUEST_TIME, false);
-		checkRequestData(dataList.get(1), "form:button3", DEFAULT_REQUEST_TIME, DEFAULT_REQUEST_TIME * 2, false);
-	
-		NativeArray handlersData = (NativeArray) executeJavaScript("defaultExceededQueueResults");
-		assertEquals(2, handlersData.getLength());
-		
-		ScriptableObject firstHandlerData = (ScriptableObject) handlersData.get(0, handlersData);
-		Double firstEventTime = (Double) firstHandlerData.get("_time", firstHandlerData);
-		assertEquals(2d, firstEventTime);
-		
-		ScriptableObject secondHandlerData = (ScriptableObject) handlersData.get(1, handlersData);
-		Double secondEventTime = (Double) secondHandlerData.get("_time", secondHandlerData);
-		assertEquals(3d, secondEventTime);
-	}
-	
-	public void testSingleSizedQueueIgnoreDupResponses() throws Exception {
-		renderView("/queue-size.xhtml");
-		
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("singleSizedDefaultQueue").
-			requestDelay(0);
-		
-		ajax(0, "a", parametersBuilder);
-		ajax(500, "b", parametersBuilder);
-	
-		TestsResult result = getTestsResult();
-		List<RequestData> list = result.getDataList();
-		assertEquals(1, list.size());
-		
-		checkRequestData(list.get(0), "a", 0, DEFAULT_REQUEST_TIME, false);
-	
-		NativeArray handlersData = (NativeArray) executeJavaScript("defaultSingleSizedQueueResults");
-		assertEquals(1, handlersData.getLength());
-		
-		assertEquals("a", handlersData.get(0, handlersData));
-	}
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 400, false);
+        checkRequestData(dataList.get(1), "c", 400, 700, false);
+        checkRequestData(dataList.get(2), "e", 700, 1000, false);
+        checkRequestData(dataList.get(3), "f", 1000, 1300, false);
+    }
+
+    public void testDropNew() throws Exception {
+        TestsResult result = checkQueue("dropNewQueue");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(4, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 400, false);
+        checkRequestData(dataList.get(1), "b", 400, 700, false);
+        checkRequestData(dataList.get(2), "c", 700, 1000, false);
+        checkRequestData(dataList.get(3), "e", 1000, 1300, false);
+    }
+
+    public void testFireNext() throws Exception {
+        TestsResult result = checkQueue("fireNextQueue");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(6, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 400, false);
+        checkRequestData(dataList.get(1), "b", 300, 600, false);
+        checkRequestData(dataList.get(2), "c", 400, 700, false);
+        checkRequestData(dataList.get(3), "d", 600, 900, false);
+        checkRequestData(dataList.get(4), "e", 700, 1000, false);
+        checkRequestData(dataList.get(5), "f", 1000, 1300, false);
+    }
+
+    public void testFireNew() throws Exception {
+        TestsResult result = checkQueue("fireNewQueue");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(6, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 400, false);
+        checkRequestData(dataList.get(1), "d", 300, 600, false);
+        checkRequestData(dataList.get(2), "b", 400, 700, false);
+        checkRequestData(dataList.get(3), "f", 600, 900, false);
+        checkRequestData(dataList.get(4), "c", 700, 1000, false);
+        checkRequestData(dataList.get(5), "e", 1000, 1300, false);
+    }
+
+    public void testDropNextSingle() throws Exception {
+        TestsResult result = checkSingleQueue("dropNextQueueSingle");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(3, dataList.size());
+        checkRequestData(dataList.get(0), "b", 300, 600, false);
+        checkRequestData(dataList.get(1), "e", 900, 1200, false);
+        checkRequestData(dataList.get(2), "f", 10000, 11000, false);
+    }
+
+    public void testDropNewSingle() throws Exception {
+        TestsResult result = checkSingleQueue("dropNewQueueSingle");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(3, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 400, false);
+        checkRequestData(dataList.get(1), "d", 700, 1000, false);
+        checkRequestData(dataList.get(2), "f", 10000, 11000, false);
+    }
+
+    public void testFireNextSingle() throws Exception {
+        TestsResult result = checkSingleQueue("fireNextQueueSingle");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(7, dataList.size());
+        checkRequestData(dataList.get(0), "a", 100, 400, false);
+        checkRequestData(dataList.get(1), "b", 300, 600, false);
+        checkRequestData(dataList.get(2), "c", 400, 700, false);
+        checkRequestData(dataList.get(3), "d", 500, 800, false);
+        checkRequestData(dataList.get(4), "e", 900, 1200, false);
+        checkRequestData(dataList.get(5), "f", 10000, 11000, false);
+        checkRequestData(dataList.get(6), "g", 10100, 11600, false);
+    }
+
+    public void testFireNewSingle() throws Exception {
+        TestsResult result = checkSingleQueue("fireNewQueueSingle");
+        List<RequestData> dataList = result.getDataList();
+
+        for (RequestData requestData : dataList) {
+            System.out.println("  " + requestData);
+        }
+
+        System.out.println();
+        assertEquals(7, dataList.size());
+        checkRequestData(dataList.get(0), "b", 100, 400, false);
+        checkRequestData(dataList.get(1), "a", 100, 400, false);
+        checkRequestData(dataList.get(2), "c", 400, 700, false);
+        checkRequestData(dataList.get(3), "e", 700, 1000, false);
+        checkRequestData(dataList.get(4), "d", 700, 1000, false);
+        checkRequestData(dataList.get(5), "f", 10000, 11000, false);
+        checkRequestData(dataList.get(6), "g", 10100, 11600, false);
+    }
+
+    public void testOnSizeExceeded() throws Exception {
+        renderView("/queue-size.xhtml");
+
+        for (int i = 0; i <= 3; i++) {
+            clickOnTime(i, "form:button" + i);
+        }
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(2, dataList.size());
+
+        // dropNext is default
+        checkRequestData(dataList.get(0), "form:button0", 0, DEFAULT_REQUEST_TIME, false);
+        checkRequestData(dataList.get(1), "form:button3", DEFAULT_REQUEST_TIME, DEFAULT_REQUEST_TIME * 2, false);
+
+        NativeArray handlersData = (NativeArray) executeJavaScript("defaultExceededQueueResults");
+
+        assertEquals(2, handlersData.getLength());
+
+        ScriptableObject firstHandlerData = (ScriptableObject) handlersData.get(0, handlersData);
+        Double firstEventTime = (Double) firstHandlerData.get("_time", firstHandlerData);
+
+        assertEquals(2d, firstEventTime);
+
+        ScriptableObject secondHandlerData = (ScriptableObject) handlersData.get(1, handlersData);
+        Double secondEventTime = (Double) secondHandlerData.get("_time", secondHandlerData);
+
+        assertEquals(3d, secondEventTime);
+    }
+
+    public void testSingleSizedQueueIgnoreDupResponses() throws Exception {
+        renderView("/queue-size.xhtml");
+
+        ParametersBuilder parametersBuilder =
+            createAjaxParameters().eventsQueue("singleSizedDefaultQueue").requestDelay(0);
+
+        ajax(0, "a", parametersBuilder);
+        ajax(500, "b", parametersBuilder);
+
+        TestsResult result = getTestsResult();
+        List<RequestData> list = result.getDataList();
+
+        assertEquals(1, list.size());
+        checkRequestData(list.get(0), "a", 0, DEFAULT_REQUEST_TIME, false);
+
+        NativeArray handlersData = (NativeArray) executeJavaScript("defaultSingleSizedQueueResults");
+
+        assertEquals(1, handlersData.getLength());
+        assertEquals("a", handlersData.get(0, handlersData));
+    }
+
+    private static abstract interface SequenceGenerator<T> {
+        public abstract T next();
+    }
+
+
+    private static final class RandomSequenceGenerator implements SequenceGenerator<Integer> {
+        private Random random = new Random();
+        private int limit;
+        private int offset;
+
+        public RandomSequenceGenerator(int minimum, int maximum) {
+            super();
+            this.limit = maximum - minimum;
+            this.offset = minimum;
+        }
+
+        public Integer next() {
+            return random.nextInt(this.limit) + this.offset;
+        }
+    }
+
+
+    private static final class TableRequestIdGenerator implements SequenceGenerator<String> {
+        private static final String[] requestIds = new String[] {
+            "aaa", "bbb", "ccc", "ddd", "eee", "fff"
+        };
+        private Random random = new Random();
+        private int uniqueIdsCounter = 0;
+        private String lastValue;
+
+        public String next() {
+            String newValue = requestIds[random.nextInt(requestIds.length)];
+
+            if (!newValue.equals(lastValue)) {
+                lastValue = newValue;
+                uniqueIdsCounter++;
+            }
+
+            return newValue;
+        }
+
+        public int getUniqueIdsCounter() {
+            return uniqueIdsCounter;
+        }
+    }
+
+
+    private static final class UUIDGenerator implements SequenceGenerator<String> {
+        public String next() {
+            return UUID.randomUUID().toString();
+        }
+    }
+
+
+    ;
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/QueuedPollTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,153 +19,151 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.List;
 import java.util.Map;
 
-
 /**
  * @author Nick Belaevski
  * @since 3.3.0
  */
-
 public class QueuedPollTest extends AbstractQueueComponentTest {
 
-	/**
-	 * @param name
-	 */
-	public QueuedPollTest(String name) {
-		super(name);
-	}
+    /**
+     * @param name
+     */
+    public QueuedPollTest(String name) {
+        super(name);
+    }
 
-	private void setFlag(String name) {
-		Map<String, Object> requestMap = facesContext.getExternalContext().getRequestMap();
-		requestMap.put(name, Boolean.TRUE);
-	}
-	
-	public void testQueuedDefaultPollRequestDelay() throws Exception {
-		setFlag("queuedDefaultPollEnabled");
-		renderView("/queue-poll.xhtml");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(1, dataList.size());
-		checkRequestData(dataList.get(0), "firstForm:queuedDefaultPoll", 600, 1600, false);
-	}
-	
-	public void testQueuedPollRequestDelay() throws Exception {
-		setFlag("queuedDelayedPollEnabled");
-		renderView("/queue-poll.xhtml");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(1, dataList.size());
-		checkRequestData(dataList.get(0), "firstForm:queuedDelayedPoll", 300, 1300, false);
-	}
-	
-	public void testDelayedQueueDefaultPollRequestDelay() throws Exception {
-		setFlag("delayedQueueDefaultPollEnabled");
-		renderView("/queue-poll.xhtml");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(1, dataList.size());
-		checkRequestData(dataList.get(0), "secondForm:delayedQueueDefaultPoll", 1500, 2500, false);
-	}
-	
-	public void testDelayedQueuePollRequestDelay() throws Exception {
-		setFlag("delayedQueueDelayedPollEnabled");
-		renderView("/queue-poll.xhtml");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(1, dataList.size());
-		checkRequestData(dataList.get(0), "secondForm:delayedQueueDelayedPoll", 2400, 3400, false);
-	}
-	
-	public void testUnqueuedDefaultPollRequestDelay() throws Exception {
-		setFlag("unqueuedDefaultPollEnabled");
-		renderView("/queue-poll.xhtml");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(1, dataList.size());
-		checkRequestData(dataList.get(0), "thirdForm:unqueuedDefaultPoll", 700, 1700, false);
-	}
-	
-	public void testunQueuedPollRequestDelay() throws Exception {
-		setFlag("unqueuedDelayedPollEnabled");
-		renderView("/queue-poll.xhtml");
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		
-		assertEquals(1, dataList.size());
-		checkRequestData(dataList.get(0), "thirdForm:unqueuedDelayedPoll", 950, 1950, false);
-	}
-	
-	public void testDropNextDroppedPoll() throws Exception {
-		setFlag("renderDropNext");
-		renderView("/queue-poll-drop.xhtml");
-	
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("dropNextQueue").
-			requestDelay(0);
-		
-		ajax(0, "a", parametersBuilder.similarityGroupingId(1).requestTime(3000));
-		
-		//poll has 2000 interval, so ajax request at 2100 will make queue drop it from list
-		ajax(2500, "b", parametersBuilder.similarityGroupingId(2).requestTime(500));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(3, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, 3000, false);
-		checkRequestData(dataList.get(1), "b", 3000, 3500, false);
-		
-		//poll has been kicked from queue at 2500, requeued in 2000 
-		checkRequestData(dataList.get(2), "firstForm:poll", 2500 + 2000, 2500 + 2000 + 1000 /* default request time */, 
-			false);
-	}
-	
-	public void testDropNextDroppedPollSingle() throws Exception {
-		setFlag("renderDropNextSingle");
-		renderView("/queue-poll-drop.xhtml");
-		
-		ajax(0, "a", createAjaxParameters().requestTime(3000).requestDelay(0).eventsQueue("dropNextQueueSingle"));
-		
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(2, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, 3000, false);
-		checkRequestData(dataList.get(1), "thirdForm:poll", 4000, 5000, false);
-	}
-	
-	public void testDropNewDroppedPoll() throws Exception {
-		setFlag("renderDropNew");
-		renderView("/queue-poll-drop.xhtml");
+    private void setFlag(String name) {
+        Map<String, Object> requestMap = facesContext.getExternalContext().getRequestMap();
 
-		ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("dropNewQueue").
-			requestDelay(0);
+        requestMap.put(name, Boolean.TRUE);
+    }
 
-		ajax(0, "a", parametersBuilder.similarityGroupingId(1).requestTime(3000));
-		
-		//poll has 2500 interval, so ajax request at 2000 will make queue drop it from the list
-		ajax(2000, "b", parametersBuilder.similarityGroupingId(2).requestTime(500));
+    public void testQueuedDefaultPollRequestDelay() throws Exception {
+        setFlag("queuedDefaultPollEnabled");
+        renderView("/queue-poll.xhtml");
 
-		TestsResult result = getTestsResult();
-		List<RequestData> dataList = result.getDataList();
-		assertEquals(3, dataList.size());
-		
-		checkRequestData(dataList.get(0), "a", 0, 3000, false);
-		checkRequestData(dataList.get(1), "b", 3000, 3500, false);
-		checkRequestData(dataList.get(2), "secondForm:poll", 5000, 6000, false);
-	}
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "firstForm:queuedDefaultPoll", 600, 1600, false);
+    }
+
+    public void testQueuedPollRequestDelay() throws Exception {
+        setFlag("queuedDelayedPollEnabled");
+        renderView("/queue-poll.xhtml");
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "firstForm:queuedDelayedPoll", 300, 1300, false);
+    }
+
+    public void testDelayedQueueDefaultPollRequestDelay() throws Exception {
+        setFlag("delayedQueueDefaultPollEnabled");
+        renderView("/queue-poll.xhtml");
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "secondForm:delayedQueueDefaultPoll", 1500, 2500, false);
+    }
+
+    public void testDelayedQueuePollRequestDelay() throws Exception {
+        setFlag("delayedQueueDelayedPollEnabled");
+        renderView("/queue-poll.xhtml");
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "secondForm:delayedQueueDelayedPoll", 2400, 3400, false);
+    }
+
+    public void testUnqueuedDefaultPollRequestDelay() throws Exception {
+        setFlag("unqueuedDefaultPollEnabled");
+        renderView("/queue-poll.xhtml");
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "thirdForm:unqueuedDefaultPoll", 700, 1700, false);
+    }
+
+    public void testunQueuedPollRequestDelay() throws Exception {
+        setFlag("unqueuedDelayedPollEnabled");
+        renderView("/queue-poll.xhtml");
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(1, dataList.size());
+        checkRequestData(dataList.get(0), "thirdForm:unqueuedDelayedPoll", 950, 1950, false);
+    }
+
+    public void testDropNextDroppedPoll() throws Exception {
+        setFlag("renderDropNext");
+        renderView("/queue-poll-drop.xhtml");
+
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("dropNextQueue").requestDelay(0);
+
+        ajax(0, "a", parametersBuilder.similarityGroupingId(1).requestTime(3000));
+
+        // poll has 2000 interval, so ajax request at 2100 will make queue drop it from list
+        ajax(2500, "b", parametersBuilder.similarityGroupingId(2).requestTime(500));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(3, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 3000, false);
+        checkRequestData(dataList.get(1), "b", 3000, 3500, false);
+
+        // poll has been kicked from queue at 2500, requeued in 2000
+        checkRequestData(dataList.get(2), "firstForm:poll", 2500 + 2000, 2500 + 2000 + 1000 /* default request time */,
+                         false);
+    }
+
+    public void testDropNextDroppedPollSingle() throws Exception {
+        setFlag("renderDropNextSingle");
+        renderView("/queue-poll-drop.xhtml");
+        ajax(0, "a", createAjaxParameters().requestTime(3000).requestDelay(0).eventsQueue("dropNextQueueSingle"));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(2, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 3000, false);
+        checkRequestData(dataList.get(1), "thirdForm:poll", 4000, 5000, false);
+    }
+
+    public void testDropNewDroppedPoll() throws Exception {
+        setFlag("renderDropNew");
+        renderView("/queue-poll-drop.xhtml");
+
+        ParametersBuilder parametersBuilder = createAjaxParameters().eventsQueue("dropNewQueue").requestDelay(0);
+
+        ajax(0, "a", parametersBuilder.similarityGroupingId(1).requestTime(3000));
+
+        // poll has 2500 interval, so ajax request at 2000 will make queue drop it from the list
+        ajax(2000, "b", parametersBuilder.similarityGroupingId(2).requestTime(500));
+
+        TestsResult result = getTestsResult();
+        List<RequestData> dataList = result.getDataList();
+
+        assertEquals(3, dataList.size());
+        checkRequestData(dataList.get(0), "a", 0, 3000, false);
+        checkRequestData(dataList.get(1), "b", 3000, 3500, false);
+        checkRequestData(dataList.get(2), "secondForm:poll", 5000, 6000, false);
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/RepeatTestCase.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/RepeatTestCase.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/RepeatTestCase.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.component;
 
 import java.util.ArrayList;
@@ -40,207 +42,217 @@
  *
  */
 public class RepeatTestCase extends AbstractAjax4JsfTestCase {
+    private UIInput child;
+    private UIInput childChild;
+    private UIInput childChildFacet;
+    private int childChildFacetInvoked;
+    private int childChildInvoked;
+    private int childInvoked;
+    private UIRepeat enclosedRepeater;
+    private UIInput facetChild;
+    private int facetInvoked;
+    private UIRepeat repeater;
 
-	private UIRepeat repeater;
-	
-	private UIInput child;
-	
-	private int childInvoked;
-	
-	private UIInput facetChild;
-	
-	private int facetInvoked;
+    /**
+     * @param name
+     */
+    public RepeatTestCase(String name) {
+        super(name);
+    }
 
-	private UIInput childChild;
-	
-	private int childChildInvoked;
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
+     */
+    public void setUp() throws Exception {
+        super.setUp();
 
-	private UIInput childChildFacet;
-	
-	private int childChildFacetInvoked;
+        // Create mock DataAdaptor and childs.
+        repeater = new UIRepeat();
+        child = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childInvoked++;
+                super.processDecodes(context);
+            }
+        };
+        childInvoked = 0;
+        child.setId("child");
+        repeater.getChildren().add(child);
+        facetChild = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                facetInvoked++;
+                super.processDecodes(context);
+            }
+        };
+        facetInvoked = 0;
+        facetChild.setId("facetChild");
+        repeater.getFacets().put("facet", facetChild);
+        childChild = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childChildInvoked++;
+                super.processDecodes(context);
+            }
+        };;
+        childChildInvoked = 0;
+        childChild.setId("childChild");
+        child.getChildren().add(childChild);
+        childChildFacet = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childChildFacetInvoked++;
+                super.processDecodes(context);
+            }
+        };;
+        childChildFacetInvoked = 0;
+        childChildFacet.setId("childChildFacet");
+        childChild.getFacets().put("facet", childChildFacet);
+        enclosedRepeater = new UIRepeat();
+        renderKit.addRenderer(child.getFamily(), child.getRendererType(), new MockUIInputRenderer() {
+            public void decode(FacesContext context, UIComponent component) {
+                super.decode(context, component);
 
-	private UIRepeat enclosedRepeater;
-	/**
-	 * @param name
-	 */
-	public RepeatTestCase(String name) {
-		super(name);
-	}
+                UIInput input = (UIInput) component;
+                String submittedValie = enclosedRepeater.getRowKey() + ":" + repeater.getRowKey();
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#setUp()
-	 */
-	public void setUp() throws Exception {
-		super.setUp();
-		// Create mock DataAdaptor and childs.
-		repeater = new UIRepeat();
-		child = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				childInvoked++;
-				super.processDecodes(context);
-			}
-		};
-		childInvoked = 0;
-		child.setId("child");
-		repeater.getChildren().add(child);
-		facetChild = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				facetInvoked++;
-				super.processDecodes(context);
-			}
-		};
-		facetInvoked = 0;
-		facetChild.setId("facetChild");
-		repeater.getFacets().put("facet", facetChild);
-		childChild = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				childChildInvoked++;
-				super.processDecodes(context);
-			}
-		};;
-		childChildInvoked = 0;
-		childChild.setId("childChild");
-		child.getChildren().add(childChild);
-		childChildFacet = new UIInput(){
-			public void processDecodes(FacesContext context) {
-				childChildFacetInvoked++;
-				super.processDecodes(context);
-			}
-		};;
-		childChildFacetInvoked = 0;
-		childChildFacet.setId("childChildFacet");
-		childChild.getFacets().put("facet", childChildFacet);
-		enclosedRepeater = new UIRepeat();
-		renderKit.addRenderer(child.getFamily(), child.getRendererType(), new MockUIInputRenderer(){
-			public void decode(FacesContext context, UIComponent component) {
-				super.decode(context, component);
-				UIInput input = (UIInput) component;
-				String submittedValie = enclosedRepeater.getRowKey()+":"+repeater.getRowKey();
-				input.setSubmittedValue(submittedValie);
-				System.out.println("decode component "+component.getClientId(facesContext)+" with value "+submittedValie);
-			}
-		});
-		renderKit.addRenderer(repeater.getFamily(), repeater.getRendererType(), new RepeatRenderer());
-	}
+                input.setSubmittedValue(submittedValie);
+                System.out.println("decode component " + component.getClientId(facesContext) + " with value "
+                                   + submittedValie);
+            }
+        });
+        renderKit.addRenderer(repeater.getFamily(), repeater.getRendererType(), new RepeatRenderer());
+    }
 
-	/* (non-Javadoc)
-	 * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
-	 */
-	public void tearDown() throws Exception {
-		super.tearDown();
-		repeater = null;
-		child = null;
-		childChild = null;
-		childChildFacet = null;
-		facetChild = null;
-		enclosedRepeater = null;
-	}
+    /*
+     *  (non-Javadoc)
+     * @see org.ajax4jsf.tests.AbstractAjax4JsfTestCase#tearDown()
+     */
+    public void tearDown() throws Exception {
+        super.tearDown();
+        repeater = null;
+        child = null;
+        childChild = null;
+        childChildFacet = null;
+        facetChild = null;
+        enclosedRepeater = null;
+    }
 
+    private void createDataTree() {
+        enclosedRepeater.setId("data");
+        repeater.setId("adaptor");
+        repeater.setVar("row");
 
-	private void createDataTree(){
-		enclosedRepeater.setId("data");
-		repeater.setId("adaptor");
-		repeater.setVar("row");
-		ArrayList value = new ArrayList(2);
-		value.add("first");
-		value.add("second");
-		enclosedRepeater.setValue(value);
-		enclosedRepeater.setVar("var");
-		UIColumn column = new UIColumn();
-		enclosedRepeater.getChildren().add(column);
-		column.getChildren().add(repeater);
-		facesContext.getViewRoot().getChildren().add(enclosedRepeater);
-	}
-	
-	private void printChildMap(Map childrenState){
-		System.out.println("{");
-		for (Iterator iter = childrenState.keySet().iterator(); iter.hasNext();) {
-			Object key = iter.next();
-			System.out.println(" "+key+" : "+childrenState.get(key));
-		}
-		System.out.println("}");
-	}
-	/**
-	 * Test method for {@link javax.faces.component.UIData#processDecodes(javax.faces.context.FacesContext)}.
-	 */
-	public void testProcessDecodesFacesContext() {
-		createDataTree();
-		repeater.setValue(new MockDataModel());
-//		enclosedRepeater.setValue(new MockDataModel());
-		enclosedRepeater.processDecodes(facesContext);
-		enclosedRepeater.setRowIndex(1);
-		repeater.setRowIndex(1);
-		System.out.println("Saved child state for external repeater ");
-		printChildMap(enclosedRepeater.getChildState(facesContext));
-		System.out.println("Saved child state" );
-		printChildMap(repeater.getChildState(facesContext));
-		assertEquals("1:1", child.getSubmittedValue());
-	}
+        ArrayList value = new ArrayList(2);
 
-	/**
-	 * Test method for {@link javax.faces.component.UIData#processUpdates(javax.faces.context.FacesContext)}.
-	 */
-	public void testProcessUpdatesFacesContext() {
-		createDataTree();
-		repeater.setValue(new MockDataModel());
-//		enclosedRepeater.setValue(new MockDataModel());
-		enclosedRepeater.processDecodes(facesContext);
-		enclosedRepeater.processValidators(facesContext);
-		enclosedRepeater.processUpdates(facesContext);
-		enclosedRepeater.setRowIndex(1);
-		repeater.setRowIndex(1);		
-		assertEquals("1:1", child.getValue());
-		enclosedRepeater.setRowIndex(0);
-		repeater.setRowIndex(2);		
-		assertEquals("0:2", child.getValue());
-	}
+        value.add("first");
+        value.add("second");
+        enclosedRepeater.setValue(value);
+        enclosedRepeater.setVar("var");
 
-	/**
-	 * Test method for {@link javax.faces.component.UIData#processUpdates(javax.faces.context.FacesContext)}.
-	 */
-	public void testProcessValidatorsFacesContext() {
-		createDataTree();
-		repeater.setValue(new MockDataModel());
-//		enclosedRepeater.setValue(new MockDataModel());
-		enclosedRepeater.processDecodes(facesContext);
-		enclosedRepeater.processValidators(facesContext);
-		enclosedRepeater.setRowIndex(1);
-		repeater.setRowIndex(1);		
-		assertEquals("1:1", child.getLocalValue());
-		enclosedRepeater.setRowIndex(0);
-		repeater.setRowIndex(2);		
-		assertEquals("0:2", child.getLocalValue());
-	}
-	
-	public void testSetRowIndex() throws Exception {
-		createDataTree();
-		repeater.setValue(new MockDataModel());
-		enclosedRepeater.setRowIndex(1);
-		repeater.setRowIndex(1);
-		child.setValue("1:1");
-		repeater.setRowIndex(-1);
-		enclosedRepeater.setRowIndex(-1);
-		// -----------------------------
-		enclosedRepeater.setRowIndex(0);
-		repeater.setRowIndex(2);
-		child.setValue("0:2");
-		// -----------------------------
-		repeater.setRowIndex(-1);
-		enclosedRepeater.setRowIndex(-1);
-		System.out.println("Saved child state for external repeater ");
-		printChildMap(enclosedRepeater.getChildState(facesContext));
-		System.out.println("Saved child state" );
-		printChildMap(repeater.getChildState(facesContext));
-		// -----------------------------
-		enclosedRepeater.setRowIndex(1);
-		repeater.setRowIndex(1);		
-		assertEquals("1:1", child.getValue());
-		repeater.setRowIndex(-1);
-		enclosedRepeater.setRowIndex(-1);
-		// -----------------------------
-		enclosedRepeater.setRowIndex(0);
-		repeater.setRowIndex(2);		
-		assertEquals("0:2", child.getValue());
-		
-	}
+        UIColumn column = new UIColumn();
+
+        enclosedRepeater.getChildren().add(column);
+        column.getChildren().add(repeater);
+        facesContext.getViewRoot().getChildren().add(enclosedRepeater);
+    }
+
+    private void printChildMap(Map childrenState) {
+        System.out.println("{");
+
+        for (Iterator iter = childrenState.keySet().iterator(); iter.hasNext(); ) {
+            Object key = iter.next();
+
+            System.out.println(" " + key + " : " + childrenState.get(key));
+        }
+
+        System.out.println("}");
+    }
+
+    /**
+     * Test method for {@link javax.faces.component.UIData#processDecodes(javax.faces.context.FacesContext)}.
+     */
+    public void testProcessDecodesFacesContext() {
+        createDataTree();
+        repeater.setValue(new MockDataModel());
+
+//      enclosedRepeater.setValue(new MockDataModel());
+        enclosedRepeater.processDecodes(facesContext);
+        enclosedRepeater.setRowIndex(1);
+        repeater.setRowIndex(1);
+        System.out.println("Saved child state for external repeater ");
+        printChildMap(enclosedRepeater.getChildState(facesContext));
+        System.out.println("Saved child state");
+        printChildMap(repeater.getChildState(facesContext));
+        assertEquals("1:1", child.getSubmittedValue());
+    }
+
+    /**
+     * Test method for {@link javax.faces.component.UIData#processUpdates(javax.faces.context.FacesContext)}.
+     */
+    public void testProcessUpdatesFacesContext() {
+        createDataTree();
+        repeater.setValue(new MockDataModel());
+
+//      enclosedRepeater.setValue(new MockDataModel());
+        enclosedRepeater.processDecodes(facesContext);
+        enclosedRepeater.processValidators(facesContext);
+        enclosedRepeater.processUpdates(facesContext);
+        enclosedRepeater.setRowIndex(1);
+        repeater.setRowIndex(1);
+        assertEquals("1:1", child.getValue());
+        enclosedRepeater.setRowIndex(0);
+        repeater.setRowIndex(2);
+        assertEquals("0:2", child.getValue());
+    }
+
+    /**
+     * Test method for {@link javax.faces.component.UIData#processUpdates(javax.faces.context.FacesContext)}.
+     */
+    public void testProcessValidatorsFacesContext() {
+        createDataTree();
+        repeater.setValue(new MockDataModel());
+
+//      enclosedRepeater.setValue(new MockDataModel());
+        enclosedRepeater.processDecodes(facesContext);
+        enclosedRepeater.processValidators(facesContext);
+        enclosedRepeater.setRowIndex(1);
+        repeater.setRowIndex(1);
+        assertEquals("1:1", child.getLocalValue());
+        enclosedRepeater.setRowIndex(0);
+        repeater.setRowIndex(2);
+        assertEquals("0:2", child.getLocalValue());
+    }
+
+    public void testSetRowIndex() throws Exception {
+        createDataTree();
+        repeater.setValue(new MockDataModel());
+        enclosedRepeater.setRowIndex(1);
+        repeater.setRowIndex(1);
+        child.setValue("1:1");
+        repeater.setRowIndex(-1);
+        enclosedRepeater.setRowIndex(-1);
+
+        // -----------------------------
+        enclosedRepeater.setRowIndex(0);
+        repeater.setRowIndex(2);
+        child.setValue("0:2");
+
+        // -----------------------------
+        repeater.setRowIndex(-1);
+        enclosedRepeater.setRowIndex(-1);
+        System.out.println("Saved child state for external repeater ");
+        printChildMap(enclosedRepeater.getChildState(facesContext));
+        System.out.println("Saved child state");
+        printChildMap(repeater.getChildState(facesContext));
+
+        // -----------------------------
+        enclosedRepeater.setRowIndex(1);
+        repeater.setRowIndex(1);
+        assertEquals("1:1", child.getValue());
+        repeater.setRowIndex(-1);
+        enclosedRepeater.setRowIndex(-1);
+
+        // -----------------------------
+        enclosedRepeater.setRowIndex(0);
+        repeater.setRowIndex(2);
+        assertEquals("0:2", child.getValue());
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/UIAjaxFormTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/UIAjaxFormTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/component/UIAjaxFormTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -18,6 +18,9 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
+
+
+
 package org.ajax4jsf.component;
 
 import java.io.Serializable;
@@ -33,100 +36,90 @@
 import org.ajax4jsf.component.ActionListenerTest.Bean;
 import org.ajax4jsf.event.AjaxEvent;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
 import org.richfaces.event.DataScrollerEvent;
 import org.richfaces.event.DataScrollerListener;
 
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 public class UIAjaxFormTest extends AbstractAjax4JsfTestCase {
+    private UIAjaxForm ajaxForm;
+    private UIInput child;
+    private int childInvoked;
+    private boolean result;
 
-	private UIAjaxForm ajaxForm;
-	private UIInput child;
-	private boolean result;
-	private int childInvoked;
+    public UIAjaxFormTest(String name) {
+        super(name);
+    }
 
-	public UIAjaxFormTest(String name) {
-		super(name);
-	}
+    public void setUp() throws Exception {
+        super.setUp();
+        ajaxForm = (UIAjaxForm) application.createComponent(UIAjaxForm.COMPONENT_TYPE);
+        ajaxForm.setId("form");
+        child = new UIInput() {
+            public void processDecodes(FacesContext context) {
+                childInvoked++;
+                super.processDecodes(context);
+            }
+        };
+        child.setId("input");
+        child.addValidator(new TestAjaxFormValidator());
+        childInvoked = 0;
+        child.setId("child");
+        ajaxForm.getChildren().add(child);
+        facesContext.getViewRoot().getChildren().add(ajaxForm);
+    }
 
-	public void setUp() throws Exception {
+    public void testTest() throws Exception {
+        HtmlPage page = renderView();
 
-		super.setUp();
-		ajaxForm = (UIAjaxForm) application
-				.createComponent(UIAjaxForm.COMPONENT_TYPE);
-		ajaxForm.setId("form");
+        // System.out.println(page.asXml());
+    }
 
-		child = new UIInput() {
-			public void processDecodes(FacesContext context) {
-				childInvoked++;
-				super.processDecodes(context);
-			}
-		};
-		child.setId("input");
-		child.addValidator(new TestAjaxFormValidator());
-		childInvoked = 0;
-		child.setId("child");
-		ajaxForm.getChildren().add(child);
-		facesContext.getViewRoot().getChildren().add(ajaxForm);
-	}
+    public void testProcessDecodes() throws Exception {
+        facesContext.getExternalContext().getRequestParameterMap().put("form", "form");
+        ajaxForm.processDecodes(facesContext);
+        assertEquals(1, childInvoked);
 
-	public void testTest() throws Exception {
+        // test
+    }
 
-		HtmlPage page = renderView();
-		// System.out.println(page.asXml());
-	}
+    public void testProcessValidators() throws Exception {
+        result = false;
+        ajaxForm.setSubmitted(true);
+        child.setSubmittedValue(new String("test0"));
+        ajaxForm.processValidators(facesContext);
+        assertTrue(result);
+    }
 
-	public void testProcessDecodes() throws Exception {
+    // TODO processUpdates test
+    public void testProcessUpdates() throws Exception {
+        facesContext.getExternalContext().getRequestParameterMap().put("form", "form");
+        child.setSubmittedValue(new String("test1"));
+        ajaxForm.processDecodes(facesContext);
+        ajaxForm.processValidators(facesContext);
+        ajaxForm.processUpdates(facesContext);
+    }
 
-		facesContext.getExternalContext().getRequestParameterMap().put("form",
-				"form");
-		ajaxForm.processDecodes(facesContext);
-		assertEquals(1, childInvoked);
-		// test
-	}
+    public void testBroadcast() throws Exception {
+        AjaxEvent event = new AjaxEvent(ajaxForm);
 
-	public void testProcessValidators() throws Exception {
+        try {
+            ajaxForm.broadcast(event);
+        } catch (Exception e) {
+            fail();
+        }
+    }
 
-		result = false;
-		ajaxForm.setSubmitted(true);
-		child.setSubmittedValue(new String("test0"));
-		ajaxForm.processValidators(facesContext);
-		assertTrue(result);
-	}
+    public void tearDown() throws Exception {
+        super.tearDown();
+        ajaxForm = null;
+        child = null;
+    }
 
-	class TestAjaxFormValidator implements Validator {
-		public void validate(javax.faces.context.FacesContext context,
-				UIComponent component, Object value) {
-			result = true;
-		}
-	}
-
-	// TODO processUpdates test
-	public void testProcessUpdates() throws Exception {
-
-		facesContext.getExternalContext().getRequestParameterMap().put("form",
-				"form");
-		child.setSubmittedValue(new String("test1"));
-		ajaxForm.processDecodes(facesContext);
-		ajaxForm.processValidators(facesContext);
-		ajaxForm.processUpdates(facesContext);
-	}
-
-	public void testBroadcast() throws Exception {
-
-		AjaxEvent event = new AjaxEvent(ajaxForm);
-		try {
-			ajaxForm.broadcast(event);
-		} catch (Exception e) {
-			fail();
-		}
-
-	}
-
-	public void tearDown() throws Exception {
-		super.tearDown();
-		ajaxForm = null;
-		child = null;
-	}
-
+    class TestAjaxFormValidator implements Validator {
+        public void validate(javax.faces.context.FacesContext context, UIComponent component, Object value) {
+            result = true;
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxFormRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxFormRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxFormRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import java.util.HashSet;
@@ -28,6 +30,7 @@
 
 import org.ajax4jsf.component.UIAjaxForm;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
 import org.apache.commons.lang.StringUtils;
 
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -35,110 +38,119 @@
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
 
 public class AjaxFormRendererTest extends AbstractAjax4JsfTestCase {
-	private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
-	private static Set javaScripts = new HashSet();
-	
-	static {
+    private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
+    private static Set javaScripts = new HashSet();
+
+    static {
         javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
         javaScripts.add("org/ajax4jsf/javascript/scripts/form.js");
     }
-	
-	private UIAjaxForm form1;
-	private UIAjaxForm form2;
 
-	public AjaxFormRendererTest(String name) {
-		super(name);
-	}
+    private UIAjaxForm form1;
+    private UIAjaxForm form2;
 
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		form1 = (UIAjaxForm) application.createComponent(UIAjaxForm.COMPONENT_TYPE);
-    	form1.setId("form1");
-    	form1.setAjaxSubmit(true);
-    	
-    	form2 = (UIAjaxForm) application.createComponent(UIAjaxForm.COMPONENT_TYPE);
-    	form2.setId("form2");
-    	form2.setAjaxSubmit(false);
-    	
-    	facesContext.getViewRoot().getChildren().add(form1);
-    	facesContext.getViewRoot().getChildren().add(form2);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-	}
-	
-	/**
+    public AjaxFormRendererTest(String name) {
+        super(name);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        form1 = (UIAjaxForm) application.createComponent(UIAjaxForm.COMPONENT_TYPE);
+        form1.setId("form1");
+        form1.setAjaxSubmit(true);
+        form2 = (UIAjaxForm) application.createComponent(UIAjaxForm.COMPONENT_TYPE);
+        form2.setId("form2");
+        form2.setAjaxSubmit(false);
+        facesContext.getViewRoot().getChildren().add(form1);
+        facesContext.getViewRoot().getChildren().add(form2);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
      * Test script rendering
      *
      * @throws Exception
      */
     public void testRenderScript() throws Exception {
-    	HtmlPage page = renderView();
+        HtmlPage page = renderView();
+
         assertNotNull(page);
         System.out.println(page.asXml());
-        
-        assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(), javaScripts.size());
+        assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(),
+                     javaScripts.size());
     }
-    
+
     /**
      * Test rendering
      *
      * @throws Exception
      */
     public void testRender() throws Exception {
-    	HtmlPage page = renderView();
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
+
         HtmlElement htmlForm1 = page.getHtmlElementById(form1.getClientId(facesContext));
+
         assertNotNull(htmlForm1);
         assertEquals("form", htmlForm1.getTagName());
-        
+
         String action = htmlForm1.getAttributeValue("action");
+
         assertNotNull(action);
         assertTrue(action.startsWith("javascript:A4J.AJAX.SubmitForm"));
-        
+
         HtmlElement htmlForm2 = page.getHtmlElementById(form2.getClientId(facesContext));
+
         assertNotNull(htmlForm2);
         assertEquals("form", htmlForm2.getTagName());
-        
         action = htmlForm2.getAttributeValue("action");
         assertNotNull(action);
         assertTrue(action.startsWith("/"));
     }
-    
+
     /**
      * Test rendering hidden inputs
      *
      * @throws Exception
      */
     public void testRenderHiddenInputs() throws Exception {
-    	HtmlPage page = renderView();
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
+
         HtmlElement htmlForm1 = page.getHtmlElementById(form1.getClientId(facesContext));
         List inputs = htmlForm1.getHtmlElementsByTagName("input");
+
         assertNotNull(inputs);
+
         boolean foundId = false;
         boolean foundAutoscroll = false;
-        for (Iterator it = inputs.iterator(); it.hasNext();) {
-        	HtmlElement input = (HtmlElement) it.next();
-        	String name = input.getAttributeValue("name");
-        	assertNotNull(name);
-        	if (!foundId && name.equals(form1.getClientId(facesContext))) {
-        		foundId = true;
-        	}
-        	if (!foundAutoscroll && name.equals("autoScroll")) {
-        		foundAutoscroll = true;
-        	}
+
+        for (Iterator it = inputs.iterator(); it.hasNext(); ) {
+            HtmlElement input = (HtmlElement) it.next();
+            String name = input.getAttributeValue("name");
+
+            assertNotNull(name);
+
+            if (!foundId && name.equals(form1.getClientId(facesContext))) {
+                foundId = true;
+            }
+
+            if (!foundAutoscroll && name.equals("autoScroll")) {
+                foundAutoscroll = true;
+            }
         }
+
         assertTrue(foundId);
         assertTrue(foundAutoscroll);
-        
+
         HtmlElement htmlForm2 = page.getHtmlElementById(form2.getClientId(facesContext));
+
         assertNotNull(htmlForm2);
         assertEquals("form", htmlForm2.getTagName());
-        
     }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxIncludeRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxIncludeRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxIncludeRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import javax.faces.component.UIForm;
@@ -33,71 +35,68 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 public class AjaxIncludeRendererTest extends AbstractAjax4JsfTestCase {
-	private UIInclude include1 = null;
-	private UIInclude include2 = null;
-	private UIInclude include3 = null;
-	private UIForm form;
+    private UIInclude include1 = null;
+    private UIInclude include2 = null;
+    private UIInclude include3 = null;
+    private UIForm form;
 
-	public AjaxIncludeRendererTest(String name) {
-		super(name);
-	}
+    public AjaxIncludeRendererTest(String name) {
+        super(name);
+    }
 
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-    	include1 = (UIInclude)application.createComponent(UIInclude.COMPONENT_TYPE);
-    	include1.setId("include1");
-    	include1.setLayout(UIInclude.LAYOUT_NONE);
-    	
-    	UIOutput output = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
-    	output.setRendered(true);
-    	output.setId("output");
-    	output.setValue("output");
-    	include1.getChildren().add(output);
-    	
-    	include2 = (UIInclude)application.createComponent(UIInclude.COMPONENT_TYPE);
-    	include2.setId("include2");
-    	include2.setLayout(UIInclude.LAYOUT_BLOCK);
-    	
-    	include3 = (UIInclude)application.createComponent(UIInclude.COMPONENT_TYPE);
-    	include3.setId("include3");
-    	include3.setLayout(UIInclude.LAYOUT_INLINE);
-    	
-    	form.getChildren().add(include1);
-    	form.getChildren().add(include2);
-    	form.getChildren().add(include3);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		include1 = null;
-		include2 = null;
-		include3 = null;
-	}
-	
-	public void testRender() throws Exception {
-		HtmlPage page = renderView();
+    public void setUp() throws Exception {
+        super.setUp();
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        include1 = (UIInclude) application.createComponent(UIInclude.COMPONENT_TYPE);
+        include1.setId("include1");
+        include1.setLayout(UIInclude.LAYOUT_NONE);
+
+        UIOutput output = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
+
+        output.setRendered(true);
+        output.setId("output");
+        output.setValue("output");
+        include1.getChildren().add(output);
+        include2 = (UIInclude) application.createComponent(UIInclude.COMPONENT_TYPE);
+        include2.setId("include2");
+        include2.setLayout(UIInclude.LAYOUT_BLOCK);
+        include3 = (UIInclude) application.createComponent(UIInclude.COMPONENT_TYPE);
+        include3.setId("include3");
+        include3.setLayout(UIInclude.LAYOUT_INLINE);
+        form.getChildren().add(include1);
+        form.getChildren().add(include2);
+        form.getChildren().add(include3);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        include1 = null;
+        include2 = null;
+        include3 = null;
+    }
+
+    public void testRender() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
         System.out.println(page.asXml());
-        
+
         try {
-        	HtmlElement empty = page.getHtmlElementById(include1.getClientId(facesContext));
-        	assertFalse("ElementNotFoundException was not thrown", true);
-        } catch (ElementNotFoundException e) {
-        	
-        }
-        
+            HtmlElement empty = page.getHtmlElementById(include1.getClientId(facesContext));
+
+            assertFalse("ElementNotFoundException was not thrown", true);
+        } catch (ElementNotFoundException e) {}
+
         HtmlElement div = page.getHtmlElementById(include2.getClientId(facesContext));
+
         assertNotNull(div);
         assertEquals("div", div.getNodeName());
-        
+
         HtmlElement span = page.getHtmlElementById(include3.getClientId(facesContext));
+
         assertNotNull(span);
         assertEquals("span", span.getNodeName());
-	}
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxOutputPanelRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxOutputPanelRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxOutputPanelRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import javax.faces.component.UIForm;
@@ -33,87 +35,78 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 public class AjaxOutputPanelRendererTest extends AbstractAjax4JsfTestCase {
-	private UIForm form = null;
-	private UIAjaxOutputPanel panel1 = null;
-	private UIAjaxOutputPanel panel2 = null;
-	private UIAjaxOutputPanel panel3 = null;
-	private UIAjaxOutputPanel panel4 = null;
-	private UIOutput output = null;
+    private UIForm form = null;
+    private UIOutput output = null;
+    private UIAjaxOutputPanel panel1 = null;
+    private UIAjaxOutputPanel panel2 = null;
+    private UIAjaxOutputPanel panel3 = null;
+    private UIAjaxOutputPanel panel4 = null;
 
-	public AjaxOutputPanelRendererTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-    	panel1 = (UIAjaxOutputPanel)application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
-    	panel1.setId("panel1");
-    	panel1.setLayout("none");
-    	form.getChildren().add(panel1);
-    	
-    	panel2 = (UIAjaxOutputPanel)application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
-    	panel2.setId("panel2");
-    	panel2.setLayout("block");
-    	form.getChildren().add(panel2);
-    	
-    	panel3 = (UIAjaxOutputPanel)application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
-    	panel3.setId("panel3");
-    	panel3.setLayout("inline");
-    	form.getChildren().add(panel3);
-    	
-    	panel4 = (UIAjaxOutputPanel)application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
-    	panel4.setId("panel4");
-    	panel4.setLayout("none");
-    	
-    	output  = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
-    	output.setId("output");
-    	output.setValue("output");
-    	output.setTransient(true);
-    	panel4.getChildren().add(output);
-    	
-    	form.getChildren().add(panel4);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		output = null;
-		panel1 = null;
-		panel2 = null;
-		panel3 = null;
-		form = null;
-	}
-	
-	public void testRender() throws Exception{
-		HtmlPage page = renderView();
+    public AjaxOutputPanelRendererTest(String name) {
+        super(name);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        panel1 = (UIAjaxOutputPanel) application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
+        panel1.setId("panel1");
+        panel1.setLayout("none");
+        form.getChildren().add(panel1);
+        panel2 = (UIAjaxOutputPanel) application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
+        panel2.setId("panel2");
+        panel2.setLayout("block");
+        form.getChildren().add(panel2);
+        panel3 = (UIAjaxOutputPanel) application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
+        panel3.setId("panel3");
+        panel3.setLayout("inline");
+        form.getChildren().add(panel3);
+        panel4 = (UIAjaxOutputPanel) application.createComponent(UIAjaxOutputPanel.COMPONENT_TYPE);
+        panel4.setId("panel4");
+        panel4.setLayout("none");
+        output = (UIOutput) application.createComponent(UIOutput.COMPONENT_TYPE);
+        output.setId("output");
+        output.setValue("output");
+        output.setTransient(true);
+        panel4.getChildren().add(output);
+        form.getChildren().add(panel4);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        output = null;
+        panel1 = null;
+        panel2 = null;
+        panel3 = null;
+        form = null;
+    }
+
+    public void testRender() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
         System.out.println(page.asXml());
-        
+
         try {
-        	HtmlElement empty = page.getHtmlElementById(panel1.getClientId(facesContext));
-        	assertFalse("ElementNotFoundException was not thrown", true);
-        } catch (ElementNotFoundException e) {
-        	
-        }
-        
+            HtmlElement empty = page.getHtmlElementById(panel1.getClientId(facesContext));
+
+            assertFalse("ElementNotFoundException was not thrown", true);
+        } catch (ElementNotFoundException e) {}
+
         HtmlElement div = page.getHtmlElementById(panel2.getClientId(facesContext));
+
         assertNotNull(div);
         assertEquals("div", div.getNodeName());
-        
+
         HtmlElement span = page.getHtmlElementById(panel3.getClientId(facesContext));
+
         assertNotNull(span);
         assertEquals("span", span.getNodeName());
-        
         span = page.getHtmlElementById(output.getClientId(facesContext));
         assertNotNull(span);
         assertEquals("span", span.getNodeName());
-        
         assertFalse(output.isTransient());
-	}
-
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPageRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPageRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPageRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,9 +19,12 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import java.io.IOException;
+
 import java.util.HashSet;
 import java.util.Locale;
 import java.util.Set;
@@ -36,92 +39,98 @@
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
-public class AjaxPageRendererTest extends AbstractAjax4JsfTestCase{
-	
-	private org.ajax4jsf.component.html.HtmlPage ajaxPage = null;
-	private static Set<String> javaScripts = new HashSet<String>();
+public class AjaxPageRendererTest extends AbstractAjax4JsfTestCase {
+    private static Set<String> javaScripts = new HashSet<String>();
+    private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
 
-	static {
-		javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
-	}
+    static {
+        javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
+    }
 
-	private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
+    private org.ajax4jsf.component.html.HtmlPage ajaxPage = null;
 
-	public AjaxPageRendererTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-				
-		ajaxPage = (org.ajax4jsf.component.html.HtmlPage) application.createComponent(org.ajax4jsf.component.html.HtmlPage.COMPONENT_TYPE);
-		ajaxPage.setId("page");
-		
-		UIOutput head = new UIOutput();
-		head.setValue("HEAD");
-		ajaxPage.getFacets().put("head", head);
-		
-		UIOutput content = new UIOutput();
-		content.setValue("content");
-		ajaxPage.getChildren().add(content);
-		
-		ajaxPage.setFormat("xhtml");
-		ajaxPage.setPageTitle("title");
-		
-		facesContext.getViewRoot().setLocale(new Locale("be", "BY"));
-		
-		facesContext.getViewRoot().getChildren().add(ajaxPage);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-	}
+    public AjaxPageRendererTest(String name) {
+        super(name);
+    }
 
-	public void testRender() throws Exception {
-		HtmlPage page = renderView();
-		assertNotNull(page);
-		System.out.println(page.asXml());
-		
-		HtmlElement html = (HtmlElement)page.getFirstChild();
-		assertNotNull(html);
-		assertEquals("html", html.getTagName());
-		
-		String lang = html.getAttributeValue("lang");
-		assertNotNull(lang);
-		assertEquals(lang, "be_BY");
-		
-		HtmlElement title = (HtmlElement) html.getHtmlElementsByTagName("title").get(0);
-		assertNotNull(title);
-		
-		assertEquals("title", title.getFirstChild().asText());
-		
-		HtmlElement meta = (HtmlElement) html.getHtmlElementsByTagName("meta").get(0);
-		
-		assertNotNull(meta);
-		String httpEquiv = meta.getAttributeValue("http-equiv");
-		assertEquals(httpEquiv, "Content-Type");
-		
-		String content = meta.getAttributeValue("content");
-		assertEquals(content, "application/xhtml+xml");
-	}
-	
-	public void testRenderScript() throws Exception {
-		HtmlPage page = renderView();
+    public void setUp() throws Exception {
+        super.setUp();
+        ajaxPage = (org.ajax4jsf.component.html.HtmlPage) application.createComponent(
+            org.ajax4jsf.component.html.HtmlPage.COMPONENT_TYPE);
+        ajaxPage.setId("page");
+
+        UIOutput head = new UIOutput();
+
+        head.setValue("HEAD");
+        ajaxPage.getFacets().put("head", head);
+
+        UIOutput content = new UIOutput();
+
+        content.setValue("content");
+        ajaxPage.getChildren().add(content);
+        ajaxPage.setFormat("xhtml");
+        ajaxPage.setPageTitle("title");
+        facesContext.getViewRoot().setLocale(new Locale("be", "BY"));
+        facesContext.getViewRoot().getChildren().add(ajaxPage);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testRender() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(), javaScripts.size());
-	}
+        System.out.println(page.asXml());
 
-	@Override
-	protected void encodeDocumentProlog(FacesContext context,
-			UIViewRoot viewRoot, ResponseWriter writer) throws IOException {
-		
-		//do nothing as a4j:page encodes full page structure
-	}
+        HtmlElement html = (HtmlElement) page.getFirstChild();
 
-	@Override
-	protected void encodeDocumentEpilog(FacesContext context,
-			UIViewRoot viewRoot, ResponseWriter writer) throws IOException {
+        assertNotNull(html);
+        assertEquals("html", html.getTagName());
 
-		//do nothing as a4j:page encodes full page structure
-	}
+        String lang = html.getAttributeValue("lang");
+
+        assertNotNull(lang);
+        assertEquals(lang, "be_BY");
+
+        HtmlElement title = (HtmlElement) html.getHtmlElementsByTagName("title").get(0);
+
+        assertNotNull(title);
+        assertEquals("title", title.getFirstChild().asText());
+
+        HtmlElement meta = (HtmlElement) html.getHtmlElementsByTagName("meta").get(0);
+
+        assertNotNull(meta);
+
+        String httpEquiv = meta.getAttributeValue("http-equiv");
+
+        assertEquals(httpEquiv, "Content-Type");
+
+        String content = meta.getAttributeValue("content");
+
+        assertEquals(content, "application/xhtml+xml");
+    }
+
+    public void testRenderScript() throws Exception {
+        HtmlPage page = renderView();
+
+        assertNotNull(page);
+        assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(),
+                     javaScripts.size());
+    }
+
+    @Override
+    protected void encodeDocumentProlog(FacesContext context, UIViewRoot viewRoot, ResponseWriter writer)
+            throws IOException {
+
+        // do nothing as a4j:page encodes full page structure
+    }
+
+    @Override
+    protected void encodeDocumentEpilog(FacesContext context, UIViewRoot viewRoot, ResponseWriter writer)
+            throws IOException {
+
+        // do nothing as a4j:page encodes full page structure
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPushRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPushRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxPushRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import java.util.HashSet;
@@ -31,6 +33,7 @@
 
 import org.ajax4jsf.component.UIPush;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
 import org.apache.commons.lang.StringUtils;
 
 import com.gargoylesoftware.htmlunit.html.DomText;
@@ -39,102 +42,111 @@
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
 
 public class AjaxPushRendererTest extends AbstractAjax4JsfTestCase {
-	
-	private static Set<String> javaScripts = new HashSet<String>();
-	private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
+    private static Set<String> javaScripts = new HashSet<String>();
+    private static final boolean IS_PAGE_AVAILABILITY_CHECK = true;
 
-	static {
-		javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
-	}
-	private UIForm form = null;
-	private UIPush push1 = null;
-	private UIPush push2 = null;
+    static {
+        javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
+    }
 
-	public AjaxPushRendererTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-    	push1 = (UIPush) application.createComponent(UIPush.COMPONENT_TYPE);
-    	push1.setId("push1");
-    	push1.setEnabled(true);
-    	form.getChildren().add(push1);
-    	
-    	push2 = (UIPush) application.createComponent(UIPush.COMPONENT_TYPE);
-    	push2.setId("push2");
-    	push2.setEnabled(false);
-    	form.getChildren().add(push2);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		push1 = null;
-		push2 = null;
-		form = null;
-	}
-	
-	public void testRender() throws Exception {
-		HtmlPage page = renderView();
+    private UIForm form = null;
+    private UIPush push1 = null;
+    private UIPush push2 = null;
+
+    public AjaxPushRendererTest(String name) {
+        super(name);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        push1 = (UIPush) application.createComponent(UIPush.COMPONENT_TYPE);
+        push1.setId("push1");
+        push1.setEnabled(true);
+        form.getChildren().add(push1);
+        push2 = (UIPush) application.createComponent(UIPush.COMPONENT_TYPE);
+        push2.setId("push2");
+        push2.setEnabled(false);
+        form.getChildren().add(push2);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        push1 = null;
+        push2 = null;
+        form = null;
+    }
+
+    public void testRender() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
         System.out.println(page.asXml());
-        
+
         HtmlElement span1 = page.getHtmlElementById(push1.getClientId(facesContext));
+
         assertNotNull(span1);
         assertEquals("span", span1.getTagName());
+
         String style = span1.getAttributeValue("style");
+
         assertNotNull(style);
         assertTrue(style.matches("display\\s*\\:\\s*none\\s*\\;\\s*"));
-        
+
         HtmlElement span2 = page.getHtmlElementById(push2.getClientId(facesContext));
+
         assertNotNull(span2);
         assertEquals("span", span2.getTagName());
         style = span2.getAttributeValue("style");
         assertNotNull(style);
         assertTrue(style.matches("display\\s*\\:\\s*none\\s*\\;\\s*"));
-	}
+    }
 
-	public void testRenderScript() throws Exception {
-		HtmlPage page = renderView();
+    public void testRenderScript() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
+
         List scripts = page.getDocumentElement().getHtmlElementsByTagName("script");
-        assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(), javaScripts.size());
-        
+
+        assertEquals(getCountValidScripts(page, javaScripts, IS_PAGE_AVAILABILITY_CHECK).intValue(),
+                     javaScripts.size());
+
         HtmlElement span1 = page.getHtmlElementById(push1.getClientId(facesContext));
+
         assertNotNull(span1);
         scripts = span1.getHtmlElementsByTagName("script");
+
         int i = 0;
-        for (Iterator it = scripts.iterator(); it.hasNext();) {
-        	HtmlScript item = (HtmlScript) it.next();
-        	DomText text = (DomText) item.getFirstChild();
-        	
-        	assertNotNull(text);
-        	assertTrue(text.asText().contains("A4J.AJAX.Push"));
-        	
-        	i++;
+
+        for (Iterator it = scripts.iterator(); it.hasNext(); ) {
+            HtmlScript item = (HtmlScript) it.next();
+            DomText text = (DomText) item.getFirstChild();
+
+            assertNotNull(text);
+            assertTrue(text.asText().contains("A4J.AJAX.Push"));
+            i++;
         }
+
         assertEquals(1, i);
-        
+
         HtmlElement span2 = page.getHtmlElementById(push2.getClientId(facesContext));
+
         assertNotNull(span2);
         scripts = span2.getHtmlElementsByTagName("script");
         i = 0;
-        for (Iterator it = scripts.iterator(); it.hasNext();) {
-        	HtmlScript item = (HtmlScript) it.next();
-        	DomText text = (DomText) item.getFirstChild();
-        	
-        	assertNotNull(text);
-        	assertTrue(text.asText().contains("A4J.AJAX.StopPush"));
-        	
-        	i++;
+
+        for (Iterator it = scripts.iterator(); it.hasNext(); ) {
+            HtmlScript item = (HtmlScript) it.next();
+            DomText text = (DomText) item.getFirstChild();
+
+            assertNotNull(text);
+            assertTrue(text.asText().contains("A4J.AJAX.StopPush"));
+            i++;
         }
+
         assertEquals(1, i);
-	}
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxStatusRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxStatusRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/AjaxStatusRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import java.util.Iterator;
@@ -34,120 +36,134 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 public class AjaxStatusRendererTest extends AbstractAjax4JsfTestCase {
-	private UIForm form = null;
-	private UIAjaxStatus status1 = null;
-	private UIAjaxStatus status2 = null;
-	
-	public AjaxStatusRendererTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		application.addComponent("org.ajax4jsf.AjaxStatus", "org.ajax4jsf.component.html.HtmlAjaxStatus");
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-    	status1 = (UIAjaxStatus)application.createComponent(UIAjaxStatus.COMPONENT_TYPE);
-    	status1.setId("status1");
-    	status1.setStartStyle("color: red;");
-    	status1.setStartStyleClass("A B C D");
-    	status1.setStopStyle("color: green;");
-    	status1.setStopStyleClass("X Y Z");
-    	status1.setStartText("startText");
-    	status1.setStopText("stopText");
-    	status1.getAttributes().put("layout", "block");
-    	
-    	status2 = (UIAjaxStatus)application.createComponent(UIAjaxStatus.COMPONENT_TYPE);
-    	status2.setId("status2");
-    	status2.setStartStyle("color: red;");
-    	status2.setStartStyleClass("A B C D");
-    	status2.setStopStyle("color: green;");
-    	status2.setStopStyleClass("X Y Z");
-    	status2.getAttributes().put("layout", "inline");
-    	
-    	UIGraphic startImage = new UIGraphic();
-    	startImage.setValue("start.png");
-    	startImage.getAttributes().put("alt", "alt");
-    	status2.getFacets().put("start", startImage);
-    	
-    	UIGraphic stopGraphic = new UIGraphic();
-    	stopGraphic.setValue("stop.png");
-    	stopGraphic.getAttributes().put("alt", "alt");
-    	status2.getFacets().put("stop", stopGraphic);
-    	
-    	form.getChildren().add(status1);
-    	form.getChildren().add(status2);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		status1 = null;
-		status2 = null;
-		form = null;
-	}
-	
-	/**
+    private UIForm form = null;
+    private UIAjaxStatus status1 = null;
+    private UIAjaxStatus status2 = null;
+
+    public AjaxStatusRendererTest(String name) {
+        super(name);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        application.addComponent("org.ajax4jsf.AjaxStatus", "org.ajax4jsf.component.html.HtmlAjaxStatus");
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        status1 = (UIAjaxStatus) application.createComponent(UIAjaxStatus.COMPONENT_TYPE);
+        status1.setId("status1");
+        status1.setStartStyle("color: red;");
+        status1.setStartStyleClass("A B C D");
+        status1.setStopStyle("color: green;");
+        status1.setStopStyleClass("X Y Z");
+        status1.setStartText("startText");
+        status1.setStopText("stopText");
+        status1.getAttributes().put("layout", "block");
+        status2 = (UIAjaxStatus) application.createComponent(UIAjaxStatus.COMPONENT_TYPE);
+        status2.setId("status2");
+        status2.setStartStyle("color: red;");
+        status2.setStartStyleClass("A B C D");
+        status2.setStopStyle("color: green;");
+        status2.setStopStyleClass("X Y Z");
+        status2.getAttributes().put("layout", "inline");
+
+        UIGraphic startImage = new UIGraphic();
+
+        startImage.setValue("start.png");
+        startImage.getAttributes().put("alt", "alt");
+        status2.getFacets().put("start", startImage);
+
+        UIGraphic stopGraphic = new UIGraphic();
+
+        stopGraphic.setValue("stop.png");
+        stopGraphic.getAttributes().put("alt", "alt");
+        status2.getFacets().put("stop", stopGraphic);
+        form.getChildren().add(status1);
+        form.getChildren().add(status2);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        status1 = null;
+        status2 = null;
+        form = null;
+    }
+
+    /**
      * Test rendering
      *
      * @throws Exception
      */
     public void testRender() throws Exception {
-    	HtmlPage page = renderView();
+        HtmlPage page = renderView();
+
         assertNotNull(page);
-        
+
         HtmlElement div = page.getHtmlElementById(status1.getClientId(facesContext));
+
         assertNotNull(div);
         assertEquals("div", div.getNodeName());
-        
+
         Iterator childIterator = div.getChildIterator();
         int i = 0;
+
         while (childIterator.hasNext()) {
-        	i++;
-        	HtmlElement element = (HtmlElement) childIterator.next();
-        	assertEquals("div", element.getNodeName());
+            i++;
+
+            HtmlElement element = (HtmlElement) childIterator.next();
+
+            assertEquals("div", element.getNodeName());
         }
+
         assertEquals(2, i);
-        
+
         HtmlElement div1 = page.getHtmlElementById(status1.getClientId(facesContext) + ".start");
+
         assertNotNull(div1);
+
         String style1 = div1.getAttributeValue("style");
+
         assertNotNull(style1);
         assertTrue(style1.contains("color: red;"));
+
         String class1 = div1.getAttributeValue("class");
+
         assertNotNull(class1);
         assertEquals(class1, "A B C D");
-        
+
         HtmlElement div2 = page.getHtmlElementById(status1.getClientId(facesContext) + ".stop");
+
         assertNotNull(div2);
+
         String style2 = div2.getAttributeValue("style");
+
         assertNotNull(style2);
         assertTrue(style2.contains("color: green;"));
+
         String class2 = div2.getAttributeValue("class");
+
         assertNotNull(class2);
         assertEquals(class2, "X Y Z");
-        
         form.getChildren().remove(0);
         page = renderView();
         System.out.println(page.asXml());
-        
+
         HtmlElement span = (HtmlElement) div.getNextSibling();
+
         assertNotNull(span);
         assertEquals("span", span.getNodeName());
-        
         childIterator = span.getChildIterator();
         i = 0;
+
         while (childIterator.hasNext()) {
-        	i++;
-        	HtmlElement element = (HtmlElement) childIterator.next();
-        	assertEquals("span", element.getNodeName());
-        	assertEquals("img", element.getFirstChild().getNodeName());
+            i++;
+
+            HtmlElement element = (HtmlElement) childIterator.next();
+
+            assertEquals("span", element.getNodeName());
+            assertEquals("img", element.getFirstChild().getNodeName());
         }
+
         assertEquals(2, i);
     }
-
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import java.util.HashSet;
@@ -31,6 +33,7 @@
 import javax.faces.component.html.HtmlForm;
 
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
 import org.apache.commons.lang.StringUtils;
 
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -38,102 +41,108 @@
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
 
 public class HtmlCommandLinkRendererTest extends AbstractAjax4JsfTestCase {
-	/** Set with required javascripts for Editor */
-	private static Set<String> javaScripts = new HashSet<String>();
 
-	static {
-		javaScripts.add("org/ajax4jsf/javascript/scripts/form.js");
-	}
-	
-	private UIForm form = null;
-	private HtmlCommandLink link1 = null;
-	private HtmlCommandLink link2 = null;
+    /** Set with required javascripts for Editor */
+    private static Set<String> javaScripts = new HashSet<String>();
 
-	public HtmlCommandLinkRendererTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		facesContext.getRenderKit().addRenderer(HtmlCommandLink.COMPONENT_FAMILY, "org.ajax4jsf.Link", new HtmlCommandLinkRenderer());
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-    	link1 = (HtmlCommandLink) application.createComponent(HtmlCommandLink.COMPONENT_TYPE);
-    	link1.setId("link1");
-    	link1.setValue("link1");
-    	link1.getAttributes().put("disabled", Boolean.FALSE);
-    	link1.setRendererType("org.ajax4jsf.Link");
-    	form.getChildren().add(link1);
-    	
-    	link2 = (HtmlCommandLink) application.createComponent(HtmlCommandLink.COMPONENT_TYPE);
-    	link2.setId("link2");
-    	link2.setValue("link2");
-    	link2.getAttributes().put("disabled", Boolean.TRUE);
-    	link2.setRendererType("org.ajax4jsf.Link");
-    	form.getChildren().add(link2);
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		link1 = null;
-		link2 = null;
-		form = null;
-	}
-	
-	public void testRendered() throws Exception {
-		HtmlPage page = renderView();
+    static {
+        javaScripts.add("org/ajax4jsf/javascript/scripts/form.js");
+    }
+
+    private UIForm form = null;
+    private HtmlCommandLink link1 = null;
+    private HtmlCommandLink link2 = null;
+
+    public HtmlCommandLinkRendererTest(String name) {
+        super(name);
+    }
+
+    public void setUp() throws Exception {
+        super.setUp();
+        facesContext.getRenderKit().addRenderer(HtmlCommandLink.COMPONENT_FAMILY, "org.ajax4jsf.Link",
+                new HtmlCommandLinkRenderer());
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        link1 = (HtmlCommandLink) application.createComponent(HtmlCommandLink.COMPONENT_TYPE);
+        link1.setId("link1");
+        link1.setValue("link1");
+        link1.getAttributes().put("disabled", Boolean.FALSE);
+        link1.setRendererType("org.ajax4jsf.Link");
+        form.getChildren().add(link1);
+        link2 = (HtmlCommandLink) application.createComponent(HtmlCommandLink.COMPONENT_TYPE);
+        link2.setId("link2");
+        link2.setValue("link2");
+        link2.getAttributes().put("disabled", Boolean.TRUE);
+        link2.setRendererType("org.ajax4jsf.Link");
+        form.getChildren().add(link2);
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        link1 = null;
+        link2 = null;
+        form = null;
+    }
+
+    public void testRendered() throws Exception {
+        HtmlPage page = renderView();
+
         assertNotNull(page);
         System.out.println(page.asXml());
-        
+
         HtmlElement href = page.getHtmlElementById(link1.getClientId(facesContext));
+
         assertNotNull(href);
         assertEquals("a", href.getTagName());
-        
+
         String onclick = href.getAttributeValue("onclick");
+
         assertNotNull(onclick);
         assertTrue(onclick.contains(AjaxFormRenderer.FORM_SUBMIT_FUNCTION_NAME));
-        
+
         HtmlElement span = page.getHtmlElementById(link2.getClientId(facesContext));
+
         assertNotNull(span);
         assertEquals("span", span.getTagName());
-        
+
         String disabled = span.getAttributeValue("disabled");
+
         assertNotNull(disabled);
         assertEquals("disabled", disabled);
-	}
-	
-	/**
-	 * Method to test if required scripts is present on page 
-	 * @throws Exception
-	 */
-	@SuppressWarnings("unchecked")
-	public void testLinkScripts() throws Exception {
-		HtmlPage page = renderView();
-		assertNotNull(page);
-		
-		List scripts = page.getDocumentHtmlElement().getHtmlElementsByTagName(
-				"script");
+    }
 
-		for (Iterator it = scripts.iterator(); it.hasNext();) {
-			HtmlScript item = (HtmlScript) it.next();
-			String srcAttr = item.getSrcAttribute();
-			if (StringUtils.isNotBlank(srcAttr)) {
-				boolean found = false;
-				for (Iterator srcIt = javaScripts.iterator(); srcIt.hasNext();) {
-					String src = (String) srcIt.next();
-					found = srcAttr.contains(src);
-					if (found) {
-						break;
-					}
-				}
-				assertTrue(found);
-			}
-		}
-	}
+    /**
+     * Method to test if required scripts is present on page
+     * @throws Exception
+     */
+    @SuppressWarnings("unchecked")
+    public void testLinkScripts() throws Exception {
+        HtmlPage page = renderView();
 
+        assertNotNull(page);
+
+        List scripts = page.getDocumentHtmlElement().getHtmlElementsByTagName("script");
+
+        for (Iterator it = scripts.iterator(); it.hasNext(); ) {
+            HtmlScript item = (HtmlScript) it.next();
+            String srcAttr = item.getSrcAttribute();
+
+            if (StringUtils.isNotBlank(srcAttr)) {
+                boolean found = false;
+
+                for (Iterator srcIt = javaScripts.iterator(); srcIt.hasNext(); ) {
+                    String src = (String) srcIt.next();
+
+                    found = srcAttr.contains(src);
+
+                    if (found) {
+                        break;
+                    }
+                }
+
+                assertTrue(found);
+            }
+        }
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.renderkit.html;
 
 import javax.faces.FacesException;
@@ -33,109 +35,114 @@
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 public class MediaOutputRendererTest extends AbstractAjax4JsfTestCase {
-	UIForm form = null;
-	UIMediaOutput media1 = null;
-	UIMediaOutput media2 = null;
-	UIMediaOutput media3 = null;
-	UIMediaOutput media4 = null;
-	UIMediaOutput media5 = null;
+    UIForm form = null;
+    UIMediaOutput media1 = null;
+    UIMediaOutput media2 = null;
+    UIMediaOutput media3 = null;
+    UIMediaOutput media4 = null;
+    UIMediaOutput media5 = null;
 
-	public MediaOutputRendererTest(String name) {
-		super(name);
-	}
-	
-	public void setUp() throws Exception {
-		super.setUp();
-		
-		application.addComponent("org.ajax4jsf.MMedia", "org.ajax4jsf.component.html.MediaOutput");
-		
-		form = new HtmlForm();
-    	form.setId("form");
-    	facesContext.getViewRoot().getChildren().add(form);
-    	
-    	media1 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
-    	media1.setId("media1");
-    	media1.setElement("a");
-    	media1.setUriAttribute("href");
-    	form.getChildren().add(media1);
-    	
-    	media2 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
-    	media2.setId("media2");
-    	media2.setElement("img");
-    	media2.setUriAttribute("src");
-    	media2.getAttributes().put("alt", "Generated value");
-    	form.getChildren().add(media2);
-    	
-    	media3 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
-    	media3.setId("media3");
-    	media3.setElement("object");
-    	media3.setUriAttribute("data");
-    	form.getChildren().add(media3);
-    	
-    	media4 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
-    	media4.setId("media4");
-    	media4.setElement("a");
-    	UIParameter param = new UIParameter();
-    	param.setName("name");
-    	param.setValue("value");
-    	media4.getChildren().add(param);
-    	form.getChildren().add(media4);
-    	
-    	media5 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
-    	media5.setId("media5");
-	}
-	
-	public void tearDown() throws Exception {
-		super.tearDown();
-		
-		media1 = null;
-		media2 = null;
-		media3 = null;
-		media4 = null;
-		media5 = null;
-		form = null;
-	}
-	
-	public void testRender() throws Exception {
-		HtmlPage page = renderView();
-		assertNotNull(page);
-		System.out.println(page.asXml());
-		
-		HtmlElement a = page.getHtmlElementById(media1.getClientId(facesContext));
-		assertNotNull(a);
-		assertEquals("a", a.getTagName());
-		String href = a.getAttributeValue("href");
-		assertNotNull(href);
-		
-		HtmlElement img = page.getHtmlElementById(media2.getClientId(facesContext));
-		assertNotNull(img);
-		assertEquals("img", img.getTagName());
-		String src = img.getAttributeValue("src");
-		assertNotNull(src);
-		
-		HtmlElement object = page.getHtmlElementById(media3.getClientId(facesContext));
-		assertNotNull(object);
-		assertEquals("object", object.getTagName());
-		String data = object.getAttributeValue("data");
-		assertNotNull(data);
-		
-		// Rendering without uriAttribute
-		HtmlElement a2 = page.getHtmlElementById(media4.getClientId(facesContext));
-		assertNotNull(a2);
-		assertEquals("a", a2.getTagName());
-		String href2 = a2.getAttributeValue("href");
-		assertNotNull(href2);
-		assertTrue(href2.endsWith("name=value"));
-	}
-	
-	public void testRenderWithoutElement() throws Exception {
-		form.getChildren().add(media5);
-		try {
-			renderView();
-			assertTrue("'element' is undefined but exception was not thrown", false);
-		} catch (FacesException e) {
-			
-		}
-	}
+    public MediaOutputRendererTest(String name) {
+        super(name);
+    }
 
+    public void setUp() throws Exception {
+        super.setUp();
+        application.addComponent("org.ajax4jsf.MMedia", "org.ajax4jsf.component.html.MediaOutput");
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        media1 = (UIMediaOutput) application.createComponent(UIMediaOutput.COMPONENT_TYPE);
+        media1.setId("media1");
+        media1.setElement("a");
+        media1.setUriAttribute("href");
+        form.getChildren().add(media1);
+        media2 = (UIMediaOutput) application.createComponent(UIMediaOutput.COMPONENT_TYPE);
+        media2.setId("media2");
+        media2.setElement("img");
+        media2.setUriAttribute("src");
+        media2.getAttributes().put("alt", "Generated value");
+        form.getChildren().add(media2);
+        media3 = (UIMediaOutput) application.createComponent(UIMediaOutput.COMPONENT_TYPE);
+        media3.setId("media3");
+        media3.setElement("object");
+        media3.setUriAttribute("data");
+        form.getChildren().add(media3);
+        media4 = (UIMediaOutput) application.createComponent(UIMediaOutput.COMPONENT_TYPE);
+        media4.setId("media4");
+        media4.setElement("a");
+
+        UIParameter param = new UIParameter();
+
+        param.setName("name");
+        param.setValue("value");
+        media4.getChildren().add(param);
+        form.getChildren().add(media4);
+        media5 = (UIMediaOutput) application.createComponent(UIMediaOutput.COMPONENT_TYPE);
+        media5.setId("media5");
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+        media1 = null;
+        media2 = null;
+        media3 = null;
+        media4 = null;
+        media5 = null;
+        form = null;
+    }
+
+    public void testRender() throws Exception {
+        HtmlPage page = renderView();
+
+        assertNotNull(page);
+        System.out.println(page.asXml());
+
+        HtmlElement a = page.getHtmlElementById(media1.getClientId(facesContext));
+
+        assertNotNull(a);
+        assertEquals("a", a.getTagName());
+
+        String href = a.getAttributeValue("href");
+
+        assertNotNull(href);
+
+        HtmlElement img = page.getHtmlElementById(media2.getClientId(facesContext));
+
+        assertNotNull(img);
+        assertEquals("img", img.getTagName());
+
+        String src = img.getAttributeValue("src");
+
+        assertNotNull(src);
+
+        HtmlElement object = page.getHtmlElementById(media3.getClientId(facesContext));
+
+        assertNotNull(object);
+        assertEquals("object", object.getTagName());
+
+        String data = object.getAttributeValue("data");
+
+        assertNotNull(data);
+
+        // Rendering without uriAttribute
+        HtmlElement a2 = page.getHtmlElementById(media4.getClientId(facesContext));
+
+        assertNotNull(a2);
+        assertEquals("a", a2.getTagName());
+
+        String href2 = a2.getAttributeValue("href");
+
+        assertNotNull(href2);
+        assertTrue(href2.endsWith("name=value"));
+    }
+
+    public void testRenderWithoutElement() throws Exception {
+        form.getChildren().add(media5);
+
+        try {
+            renderView();
+            assertTrue("'element' is undefined but exception was not thrown", false);
+        } catch (FacesException e) {}
+    }
 }

Modified: root/ui/trunk/components/core/src/test/java/org/ajax4jsf/taglib/html/KeepAliveTagsTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/ajax4jsf/taglib/html/KeepAliveTagsTest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/core/src/test/java/org/ajax4jsf/taglib/html/KeepAliveTagsTest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
+
+
 package org.ajax4jsf.taglib.html;
 
 import java.util.Map;
@@ -49,97 +51,87 @@
  * @author Nick Belaevski
  * @since 3.2.2
  */
-
 public class KeepAliveTagsTest extends AbstractAjax4JsfTestCase {
-	
-	public KeepAliveTagsTest(String name) {
-		super(name);
-	}
+    public KeepAliveTagsTest(String name) {
+        super(name);
+    }
 
-	private void setupBean(String beanName, Object bean) {
-		externalContext.getRequestMap().put(beanName, bean);
-	}
-	
-	private TagSupport setupTag(String beanName, Object bean, boolean ajaxOnly) {
-		setupBean(beanName, bean);
-		
-		MockPageContext pageContext = new MockPageContext();
-		
-		KeepAliveTag tag = new KeepAliveTag();
-		tag.setAjaxOnly(new MockValueExpression(ajaxOnly));
-		tag.setPageContext(pageContext);
-		tag.setBeanName(beanName);
-		
-		return tag;
-	}
-	
-	private TagHandler setupTagHandler(final String beanName, Object bean, final boolean ajaxOnly) {
-		setupBean(beanName, bean);
+    private void setupBean(String beanName, Object bean) {
+        externalContext.getRequestMap().put(beanName, bean);
+    }
 
-		KeepAliveHandler handler = new KeepAliveHandler(new TagConfig() {
+    private TagSupport setupTag(String beanName, Object bean, boolean ajaxOnly) {
+        setupBean(beanName, bean);
 
-			private Tag tag;
-			private String tagId;
-			
-			{
-				tagId = "_tagId0";
-				Location location = new Location("cdr", 1, 2);
-				String ns = "urn:unk";
-				tag = new Tag(location, 
-						ns, "tag", null, 
-						new TagAttributes(new TagAttribute[] {
-							new TagAttribute(location, "", "beanName", null, beanName),	
-							new TagAttribute(location, "", "ajaxOnly", null, String.valueOf(ajaxOnly))	
-						}));
-			}
-			
-			public FaceletHandler getNextHandler() {
-				return null;
-			}
+        MockPageContext pageContext = new MockPageContext();
+        KeepAliveTag tag = new KeepAliveTag();
 
-			public Tag getTag() {
-				return tag;
-			}
+        tag.setAjaxOnly(new MockValueExpression(ajaxOnly));
+        tag.setPageContext(pageContext);
+        tag.setBeanName(beanName);
 
-			public String getTagId() {
-				return null;
-			}
-			
-		});
-		
-		return handler;
-	}
-	
-	public void testJSPTag() throws Exception {
-		Map<String, Object> attributes = facesContext.getViewRoot().getAttributes();
-		
-		Object ajaxBean = new Object();
-		TagSupport ajaxTag = setupTag("coolBean", ajaxBean, true);
-		
-		ajaxTag.doStartTag();
-		assertSame(ajaxBean, attributes.get(AjaxPhaseListener.AJAX_BEAN_PREFIX + "coolBean"));
+        return tag;
+    }
 
-		Object bean = new Object();
-		TagSupport tag = setupTag("beBean", bean, false);
-		
-		tag.doStartTag();
-		assertSame(bean, attributes.get(AjaxPhaseListener.VIEW_BEAN_PREFIX + "beBean"));
-	}
-	
-	public void testFaceletsTag() throws Exception {
-		FaceletContext ctx = new MockFaceletContext(facesContext);
-		Map<String, Object> attributes = facesContext.getViewRoot().getAttributes();
-		
-		Object ajaxBean = new Object();
-		TagHandler ajaxTag = setupTagHandler("ajaxAliveBean", ajaxBean, true);
-		
-		ajaxTag.apply(ctx , null);
-		assertSame(ajaxBean, attributes.get(AjaxPhaseListener.AJAX_BEAN_PREFIX + "ajaxAliveBean"));
+    private TagHandler setupTagHandler(final String beanName, Object bean, final boolean ajaxOnly) {
+        setupBean(beanName, bean);
 
-		Object bean = new Object();
-		TagHandler tag = setupTagHandler("thatBean", bean, false);
-		
-		tag.apply(ctx, null);
-		assertSame(bean, attributes.get(AjaxPhaseListener.VIEW_BEAN_PREFIX + "thatBean"));
-	}
+        KeepAliveHandler handler = new KeepAliveHandler(new TagConfig() {
+            private Tag tag;
+            private String tagId;
+            {
+                tagId = "_tagId0";
+
+                Location location = new Location("cdr", 1, 2);
+                String ns = "urn:unk";
+
+                tag = new Tag(location, ns, "tag", null,
+                              new TagAttributes(new TagAttribute[] {
+                                  new TagAttribute(location, "", "beanName", null, beanName),
+                                  new TagAttribute(location, "", "ajaxOnly", null, String.valueOf(ajaxOnly))}));
+            }
+            public FaceletHandler getNextHandler() {
+                return null;
+            }
+            public Tag getTag() {
+                return tag;
+            }
+            public String getTagId() {
+                return null;
+            }
+        });
+
+        return handler;
+    }
+
+    public void testJSPTag() throws Exception {
+        Map<String, Object> attributes = facesContext.getViewRoot().getAttributes();
+        Object ajaxBean = new Object();
+        TagSupport ajaxTag = setupTag("coolBean", ajaxBean, true);
+
+        ajaxTag.doStartTag();
+        assertSame(ajaxBean, attributes.get(AjaxPhaseListener.AJAX_BEAN_PREFIX + "coolBean"));
+
+        Object bean = new Object();
+        TagSupport tag = setupTag("beBean", bean, false);
+
+        tag.doStartTag();
+        assertSame(bean, attributes.get(AjaxPhaseListener.VIEW_BEAN_PREFIX + "beBean"));
+    }
+
+    public void testFaceletsTag() throws Exception {
+        FaceletContext ctx = new MockFaceletContext(facesContext);
+        Map<String, Object> attributes = facesContext.getViewRoot().getAttributes();
+        Object ajaxBean = new Object();
+        TagHandler ajaxTag = setupTagHandler("ajaxAliveBean", ajaxBean, true);
+
+        ajaxTag.apply(ctx, null);
+        assertSame(ajaxBean, attributes.get(AjaxPhaseListener.AJAX_BEAN_PREFIX + "ajaxAliveBean"));
+
+        Object bean = new Object();
+        TagHandler tag = setupTagHandler("thatBean", bean, false);
+
+        tag.apply(ctx, null);
+        assertSame(bean, attributes.get(AjaxPhaseListener.VIEW_BEAN_PREFIX + "thatBean"));
+    }
 }

Modified: root/ui/trunk/components/tree/tree/api/src/main/java/ITest.java
===================================================================
--- root/ui/trunk/components/tree/tree/api/src/main/java/ITest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/tree/tree/api/src/main/java/ITest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,4 +1 @@
-
-public interface ITest {
-
-}
+public interface ITest {}

Modified: root/ui/trunk/components/tree/tree/ui/src/main/java/UITest.java
===================================================================
--- root/ui/trunk/components/tree/tree/ui/src/main/java/UITest.java	2009-11-02 10:55:43 UTC (rev 15804)
+++ root/ui/trunk/components/tree/tree/ui/src/main/java/UITest.java	2009-11-02 11:26:36 UTC (rev 15805)
@@ -1,4 +1 @@
-
-public class UITest {
-
-}
+public class UITest {}



More information about the richfaces-svn-commits mailing list