[richfaces-svn-commits] JBoss Rich Faces SVN: r12032 - in trunk/framework: impl/src/main/java/org/ajax4jsf/context and 2 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Thu Dec 25 11:55:44 EST 2008
Author: nbelaevski
Date: 2008-12-25 11:55:44 -0500 (Thu, 25 Dec 2008)
New Revision: 12032
Modified:
trunk/framework/api/src/main/java/org/ajax4jsf/context/AjaxContext.java
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
trunk/framework/test/src/test/java/org/ajax4jsf/context/MockAjaxContext.java
Log:
https://jira.jboss.org/jira/browse/RF-5390
Modified: trunk/framework/api/src/main/java/org/ajax4jsf/context/AjaxContext.java
===================================================================
--- trunk/framework/api/src/main/java/org/ajax4jsf/context/AjaxContext.java 2008-12-25 13:51:03 UTC (rev 12031)
+++ trunk/framework/api/src/main/java/org/ajax4jsf/context/AjaxContext.java 2008-12-25 16:55:44 UTC (rev 12032)
@@ -76,6 +76,12 @@
public abstract void addRegionsFromComponent(UIComponent component);
+ /**
+ * @param component
+ * @since 3.3.0
+ */
+ public abstract void addAreasToProcessFromComponent(FacesContext context, UIComponent component);
+
public abstract Set<String> getAjaxAreasToRender();
public abstract Set<String> getAjaxAreasToProcess();
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2008-12-25 13:51:03 UTC (rev 12031)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2008-12-25 16:55:44 UTC (rev 12032)
@@ -333,6 +333,36 @@
}
}
+ /**
+ * Add IDs of regions to process
+ *
+ * @see org.ajax4jsf.context.AjaxContext#addAreasToProcessFromComponent(javax.faces.component.UIComponent)
+ */
+ @Override
+ public void addAreasToProcessFromComponent(FacesContext context, UIComponent component) {
+ RendererUtils rendererUtils = RendererUtils.getInstance();
+
+ Set<String> areasToProcess = AjaxRendererUtils.getAjaxAreasToProcess(component);
+ if (areasToProcess != null) {
+ Set<String> convertedAreaIds = new HashSet<String>();
+
+ for (String areaId : areasToProcess) {
+ UIComponent areaComponent = rendererUtils.findComponentFor(component, areaId);
+ if (areaComponent != null) {
+ convertedAreaIds.add(areaComponent.getClientId(context));
+ } else {
+ convertedAreaIds.add(areaId);
+ }
+ }
+
+ if (this.ajaxAreasToProcess == null) {
+ this.ajaxAreasToProcess = convertedAreaIds;
+ } else {
+ this.ajaxAreasToProcess.addAll(convertedAreaIds);
+ }
+ }
+ }
+
public void addComponentToAjaxRender(UIComponent component) {
this.ajaxAreasToRender.add(AjaxRendererUtils.getAbsoluteId(component));
}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2008-12-25 13:51:03 UTC (rev 12031)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2008-12-25 16:55:44 UTC (rev 12032)
@@ -103,6 +103,11 @@
public static final String AJAX_REGIONS_ATTRIBUTE = "reRender";
+ /**
+ * @since 3.3.0
+ */
+ public static final String AJAX_PROCESS_ATTRIBUTE = "process";
+
private static final Class<?> OBJECT_ARRAY_CLASS = (new Object[0]).getClass();
public static final String VALUE_ATTR = "value";
@@ -509,6 +514,25 @@
}
/**
+ * Returns set of areas to be processed as a result of this component action invocation
+ *
+ * @param component
+ * @return set of IDs that should be processed as a
+ * @since 3.3.0
+ */
+ public static Set<String> getAjaxAreasToProcess(UIComponent component) {
+ Object areas;
+
+ if (component instanceof AjaxComponent) {
+ areas = ((AjaxComponent) component).getProcess();
+ } else {
+ areas = component.getAttributes().get(AjaxRendererUtils.AJAX_PROCESS_ATTRIBUTE);
+ }
+
+ return asSet(areas);
+ }
+
+ /**
* Convert parameter ( Collection, List, array, String, comma-separated
* String ) to list of srings. TODO - when move to JDK 5, change to
* List<String>
Modified: trunk/framework/test/src/test/java/org/ajax4jsf/context/MockAjaxContext.java
===================================================================
--- trunk/framework/test/src/test/java/org/ajax4jsf/context/MockAjaxContext.java 2008-12-25 13:51:03 UTC (rev 12031)
+++ trunk/framework/test/src/test/java/org/ajax4jsf/context/MockAjaxContext.java 2008-12-25 16:55:44 UTC (rev 12032)
@@ -68,6 +68,15 @@
}
/* (non-Javadoc)
+ * @see org.ajax4jsf.context.AjaxContext#addAreasToProcessFromComponent(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+ */
+ @Override
+ public void addAreasToProcessFromComponent(FacesContext context, UIComponent component) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
* @see org.ajax4jsf.context.AjaxContext#addRenderedArea(java.lang.String)
*/
@Override
More information about the richfaces-svn-commits
mailing list