Author: lfryc(a)redhat.com
Date: 2011-04-08 04:21:54 -0400 (Fri, 08 Apr 2011)
New Revision: 22399
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/Attributes.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichAutocompleteBean.java
modules/tests/metamer/trunk/application/src/main/webapp/components/richAutocomplete/autocomplete.xhtml
Log:
updated autocomplete sample to enable modifications of ajaxBehavior bound to autocomplete
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/Attributes.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/Attributes.java 2011-04-08
08:21:10 UTC (rev 22398)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/Attributes.java 2011-04-08
08:21:54 UTC (rev 22399)
@@ -81,6 +81,17 @@
private Class<?> beanClass;
/**
+ * Constructor for empty Attributes.
+ *
+ * @param beanClass
+ * class object of a managed bean
+ */
+ private Attributes(Class<?> beanClass) {
+ this.beanClass = beanClass;
+ attributes = new TreeMap<String, Attribute>();
+ }
+
+ /**
* Constructor for class Attributes.
*
* @param componentClass
@@ -89,10 +100,10 @@
* class object of a managed bean
*/
private Attributes(Class<?> componentClass, Class<?> beanClass, boolean
loadFromClass) {
+ this.beanClass = beanClass;
+
logger.debug("creating attributes map for " + componentClass);
- this.beanClass = beanClass;
-
if (!loadFromClass && richfacesAttributes == null) {
loadRichFacesComponents();
}
@@ -180,6 +191,17 @@
public static Attributes getBehaviorAttributesFromClass(Class<? extends
BehaviorBase> clazz, Class<?> beanClass) {
return new Attributes(clazz, beanClass, true);
}
+
+ /**
+ * Factory method for creating empty instance of class Attributes.
+ * Needs to be filled with attributes explicitly.
+ *
+ * @param beanClass
+ * class object of a managed bean
+ */
+ public static Attributes getEmptyAttributes(Class<?> beanClass) {
+ return new Attributes(beanClass);
+ }
/**
* Factory method for creating instances of class Attributes.
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichAutocompleteBean.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichAutocompleteBean.java 2011-04-08
08:21:10 UTC (rev 22398)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichAutocompleteBean.java 2011-04-08
08:21:54 UTC (rev 22399)
@@ -52,6 +52,7 @@
private static final long serialVersionUID = -1L;
private static Logger logger;
private Attributes attributes;
+ private Attributes ajaxAttributes;
@ManagedProperty(value = "#{model.capitals}")
private List<Capital> capitals;
@@ -69,6 +70,10 @@
attributes.setAttribute("rendered", true);
attributes.setAttribute("tokens", ", ");
attributes.setAttribute("validatorMessage", "validator
message");
+
+ ajaxAttributes = Attributes.getEmptyAttributes(getClass());
+ ajaxAttributes.setAttribute("render", "output");
+ ajaxAttributes.setAttribute("execute", "autocomplete");
}
public Attributes getAttributes() {
@@ -78,6 +83,14 @@
public void setAttributes(Attributes attributes) {
this.attributes = attributes;
}
+
+ public Attributes getAjaxAttributes() {
+ return ajaxAttributes;
+ }
+
+ public void setAjaxAttributes(Attributes ajaxAttributes) {
+ this.ajaxAttributes = ajaxAttributes;
+ }
public List<String> autocomplete(String prefix) {
ArrayList<String> result = new ArrayList<String>();
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/richAutocomplete/autocomplete.xhtml
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richAutocomplete/autocomplete.xhtml 2011-04-08
08:21:10 UTC (rev 22398)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richAutocomplete/autocomplete.xhtml 2011-04-08
08:21:54 UTC (rev 22399)
@@ -91,7 +91,9 @@
var="#{richAutocompleteBean.attributes['var'].value}"
- <a4j:ajax event="change" render="output"/>
+ <a4j:ajax event="change"
+
render="#{richAutocompleteBean.ajaxAttributes['render'].value}"
+
execute="#{richAutocompleteBean.ajaxAttributes['execute'].value}"
/>
</rich:autocomplete>
@@ -102,6 +104,7 @@
<ui:define name="outOfTemplateAfter">
<metamer:attributes value="#{richAutocompleteBean.attributes}"
id="attributes" />
+ <metamer:attributes
value="#{richAutocompleteBean.ajaxAttributes}" id="ajaxAttributes"
/>
</ui:define>
</ui:composition>