Author: alexsmirnov
Date: 2008-07-08 19:25:22 -0400 (Tue, 08 Jul 2008)
New Revision: 9462
Added:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
Modified:
trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java
trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp
trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java
trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java
Log:
AJAX validation component fixes
Modified: trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java
===================================================================
--- trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java 2008-07-08
17:14:59 UTC (rev 9461)
+++ trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -49,6 +49,22 @@
public abstract String getEvent();
+ /**
+ * Name of JavaScript function, called before submit Ajax request
+ * description
+ *
+ * @parameter
+ * @return the acceptClass
+ */
+ public abstract String getOnsubmit();
+
+ /**
+ * @param newOnsubmit
+ * the value to set
+ */
+ public abstract void setOnsubmit(String newOnsubmit);
+
+
/**
* Getter for property If true, disable default action for target event ( encode
'return false' to JavaScript ), implementation will be generated by
* componnents-generator
Modified: trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp 2008-07-08
17:14:59 UTC (rev 9461)
+++ trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp 2008-07-08
23:25:22 UTC (rev 9462)
@@ -11,38 +11,38 @@
</head>
<body>
<f:view>
- <h:form id="form">
- <rich:messages/>
- <h:dataTable value="#{data}" var="bean" id="table">
- <h:column>
- <f:facet name="header">
- <h:outputText value="text field" />
- </f:facet>
- <h:outputLabel for="text" value="Text input:" />
- <h:inputText id="text" value="#{bean.text}">
- <v:ajaxValidator/>
- </h:inputText>
- <h:message for="text"/>
- </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="integer field" />
- </f:facet>
- <h:outputLabel for="intValue" value="Number input:" />
- <h:inputText id="intValue" value="#{bean.intValue}">
- <v:ajaxValidator/>
- </h:inputText>
- <h:message for="intValue" />
- </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="description" />
- </f:facet>
+ <h:form id="form">
+ <h:dataTable value="#{data}" var="bean"
id="table">
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="text field" />
+ </f:facet>
+ <h:outputLabel for="text" value="Text input:" />
+ <h:inputText id="text" value="#{bean.text}">
+ <v:ajaxValidator event="onblur" />
+ </h:inputText>
+ <rich:message for="text" showDetail="true"
showSummary="true" />
+ </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="integer field" />
+ </f:facet>
+ <h:outputLabel for="intValue" value="Number input:" />
+ <h:inputText id="intValue" value="#{bean.intValue}">
+ <v:ajaxValidator event="onblur" />
+ </h:inputText>
+ <rich:message for="intValue" />
+ </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="description" />
+ </f:facet>
<h:outputText value="#{bean.description}"></h:outputText>
- </h:column>
- </h:dataTable>
-</h:form>
- <data:messages></data:messages>
+ </h:column>
+ </h:dataTable>
+ <h:commandButton value="Post submit"></h:commandButton>
+ </h:form>
+ <rich:messages />
</f:view>
</body>
</html>
Modified: trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml 2008-07-08
17:14:59 UTC (rev 9461)
+++ trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml 2008-07-08
23:25:22 UTC (rev 9462)
@@ -10,9 +10,9 @@
</classname>
<superclass>org.richfaces.component.UIBeanValidator</superclass>
<description><![CDATA[]]></description>
- <renderer generate="true" override="true">
+ <renderer generate="false" override="true">
<name>org.richfaces.BeanValidatorRenderer</name>
- <template>org/richfaces/ui/htmlBeanValidator.jspx</template>
+ <classname>org.richfaces.renderkit.html.BeanValidatorRenderer</classname>
</renderer>
<tag>
<name>ajaxValidator</name>
@@ -27,7 +27,8 @@
</taghandler>
-->
&ui_component_attributes;
- <property>
+ &ajax_component_attributes;
+ <property el="false">
<name>event</name>
<classname>java.lang.String</classname>
<description>
@@ -37,21 +38,27 @@
<defaultvalue><![CDATA["onblur"]]></defaultvalue>
</property>
<property>
+ <name>onsubmit</name>
+ <classname>java.lang.String</classname>
+ <description>
+ JavaScript code for call before submission of ajax
+ event
+ </description>
+ </property>
+ <property>
<name>ajaxSingle</name>
<classname>boolean</classname>
<description>
</description>
<defaultvalue>true</defaultvalue>
</property>
-<!--
- <property disabled="false">
+ <property disabled="true">
<name>bypassUpdates</name>
<classname>boolean</classname>
<description>
</description>
<defaultvalue>true</defaultvalue>
</property>
--->
</component>
<validator generate="false">
<id>org.richfaces.BeanValidator</id>
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
===================================================================
---
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08
17:14:59 UTC (rev 9461)
+++
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -5,72 +5,135 @@
package org.richfaces.component;
import javax.el.ValueExpression;
+import javax.faces.FacesException;
import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
+import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
import javax.faces.validator.Validator;
+import org.ajax4jsf.component.AjaxComponent;
+import org.ajax4jsf.component.AjaxSupport;
+import org.ajax4jsf.component.EventValueExpression;
+import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.richfaces.event.ValidationEvent;
import org.richfaces.validator.FacesBeanValidator;
import com.sun.facelets.FaceletException;
/**
* JSF component class
- *
+ *
*/
-public abstract class UIBeanValidator extends UIComponentBase {
+public abstract class UIBeanValidator extends UIComponentBase implements
+ AjaxComponent, AjaxSupport {
- public static final String COMPONENT_TYPE = "org.richfaces.BeanValidator";
+ public static final String COMPONENT_TYPE = "org.richfaces.BeanValidator";
- public static final String COMPONENT_FAMILY =
"org.richfaces.BeanValidator";
+ public static final String COMPONENT_FAMILY = "org.richfaces.BeanValidator";
- public abstract String getEvent();
+ public abstract String getEvent();
- public abstract void setEvent(String event);
+ public abstract void setEvent(String event);
- public abstract void setAjaxSingle(boolean single);
+ // public abstract boolean isBypassUpdates();
+ //
+ // public abstract void setBypassUpdates(boolean bypass);
- public abstract boolean isAjaxSingle();
+ public void setParent(UIComponent parent) {
+ super.setParent(parent);
-// public abstract boolean isBypassUpdates();
-//
-// public abstract void setBypassUpdates(boolean bypass);
+ if (null != parent) {
+ setParentProperties(parent);
+ }
+ }
- public void setParent(UIComponent parent) {
- super.setParent(parent);
+ /**
+ * @param parent
+ * @throws FaceletException
+ * @throws FacesException
+ */
+ public void setParentProperties(UIComponent parent)
+ throws FaceletException, FacesException {
+ if (!(parent instanceof EditableValueHolder)) {
+ throw new FaceletException(
+ "Parent component must be an EditableValueHolder");
+ }
- if (!(parent instanceof EditableValueHolder)) {
- throw new FaceletException("Parent component must be an
EditableValueHolder");
- }
+ Validator[] validators = ((EditableValueHolder) parent).getValidators();
- Validator[] validators = ((EditableValueHolder) parent).getValidators();
+ boolean isFacesValidatorPresent = false;
+ for (Validator validator : validators) {
+ if (validator instanceof FacesBeanValidator) {
+ isFacesValidatorPresent = true;
+ break;
+ }
+ }
- boolean isFacesValidatorPresent = false;
- for (Validator validator : validators) {
- if (validator instanceof FacesBeanValidator) {
- isFacesValidatorPresent = true;
- break;
- }
- }
+ if (!isFacesValidatorPresent) {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ FacesBeanValidator validator = (FacesBeanValidator) facesContext
+ .getApplication().createValidator(
+ "org.richfaces.BeanValidator");
+ ((EditableValueHolder) parent).addValidator(validator);
+ }
- if (!isFacesValidatorPresent) {
- FacesBeanValidator validator = (FacesBeanValidator)
FacesContext.getCurrentInstance().getApplication()
- .createValidator("org.richfaces.BeanValidator");
- ((EditableValueHolder) parent).addValidator(validator);
- }
+ if (null != getEvent()) {
+ ValueExpression binding = new EventValueExpression(this);
+ parent.setValueExpression(getEvent(), binding);
+ }
+ }
- FacesContext ctx = FacesContext.getCurrentInstance();
- ValueExpression binding =
ctx.getApplication().getExpressionFactory().createValueExpression(ctx.getELContext(),
- getEventString(), String.class);
+ @Override
+ public void broadcast(FacesEvent event) throws AbortProcessingException {
+ super.broadcast(event);
+ if (event.getComponent() == this) {
+ if (event instanceof ValidationEvent) {
+ // ByPass UpdateModelValue
+ FacesContext.getCurrentInstance().renderResponse();
+ } else if (event instanceof AjaxEvent) {
+ // TODO - find all UIMessages components for a parent UIInput.
+ // for an ajaxSingle component, re-render only target message.
+ }
+ }
+ }
- parent.setValueExpression(getEvent(), binding);
- }
+ @Override
+ public void queueEvent(FacesEvent event) {
+ if (event instanceof ValidationEvent && event.getComponent() == this) {
+ UIComponent parent = getParent();
+ if (parent instanceof UIInput) {
+ UIInput input = (UIInput) parent;
+ if (input.isImmediate()) {
+ event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else {
+ event.setPhaseId(PhaseId.PROCESS_VALIDATIONS);
+ }
+ }
+ }
+ super.queueEvent(event);
+ }
- private String getEventString() {
- StringBuffer buildOnEvent = new StringBuffer();
- buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this, getFacesContext(),
getEvent()));
- return buildOnEvent.toString();
- }
+ public String getEventString() {
+ StringBuffer buildOnEvent = new StringBuffer();
+ String onsubmit = getOnsubmit();
+ // Insert script to call before submit ajax request.
+ if (null != onsubmit) {
+ buildOnEvent.append(onsubmit).append(";");
+ }
+ buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this,
+ getFacesContext(), getEvent()));
+ String script = buildOnEvent.toString();
+ return script;
+ }
+
+ public UIComponent getSingleComponent() {
+ return getParent();
+ }
+
}
Added:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
(rev 0)
+++
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -0,0 +1,49 @@
+/**
+ *
+ */
+package org.richfaces.event;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.FacesListener;
+
+import org.richfaces.renderkit.html.ValidationListener;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class ValidationEvent extends FacesEvent {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 5593837134704144777L;
+
+ public ValidationEvent(UIComponent component) {
+ super(component);
+ // TODO Auto-generated constructor stub
+ }
+
+ /* (non-Javadoc)
+ * @see
javax.faces.event.FacesEvent#isAppropriateListener(javax.faces.event.FacesListener)
+ */
+ @Override
+ public boolean isAppropriateListener(FacesListener listener) {
+ // TODO Auto-generated method stub
+ return listener instanceof ValidationListener;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.event.FacesEvent#processListener(javax.faces.event.FacesListener)
+ */
+ @Override
+ public void processListener(FacesListener listener) {
+ if (listener instanceof ValidationListener) {
+ ValidationListener validationListener = (ValidationListener) listener;
+ validationListener.processValidation(this);
+ }
+
+ }
+
+}
Property changes on:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
===================================================================
---
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
(rev 0)
+++
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -0,0 +1,109 @@
+/**
+ * License Agreement.
+ *
+ * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * 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.richfaces.renderkit.html;
+
+
+//
+// Imports
+//
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.component.AjaxComponent;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.ComponentVariables;
+import org.ajax4jsf.renderkit.ComponentsVariableResolver;
+import org.richfaces.event.ValidationEvent;
+
+
+
+/**
+ * Renderer for component class org.richfaces.renderkit.html.BeanValidatorRenderer
+ */
+public class BeanValidatorRenderer extends AjaxComponentRendererBase {
+
+
+ public BeanValidatorRenderer () {
+ super();
+ }
+
+ protected void doDecode(FacesContext facesContext, UIComponent uiComponent) {
+
+ // super.decode must not be called, because value is handled here
+ if (isSubmitted(facesContext, uiComponent)) {
+ uiComponent.queueEvent(new ValidationEvent(uiComponent));
+ uiComponent.queueEvent(new AjaxEvent(uiComponent));
+ // Check areas for processing
+ if (uiComponent instanceof AjaxComponent) {
+ AjaxComponent ajaxComponent = (AjaxComponent) uiComponent;
+ Set<String> toProcess = AjaxRendererUtils.asSet(ajaxComponent
+ .getProcess());
+ if (null != toProcess) {
+ HashSet<String> componentIdsToProcess = new HashSet<String>();
+ for (String componentId : toProcess) {
+ UIComponent component = getUtils().findComponentFor(uiComponent, componentId);
+ if(null != component){
+ componentIdsToProcess.add(component.getClientId(facesContext));
+ } else {
+ componentIdsToProcess.add(componentId);
+ }
+ }
+ AjaxContext.getCurrentInstance(facesContext).setAjaxAreasToProcess(componentIdsToProcess);
+ }
+ }
+ }
+ }
+
+ protected boolean isSubmitted(FacesContext facesContext,
+ UIComponent uiComponent) {
+ // Componet accept only ajax requests.
+ if (!AjaxContext.getCurrentInstance(facesContext).isAjaxRequest()) {
+ return false;
+ }
+ String clientId = uiComponent.getClientId(facesContext);
+ Map<String, String> paramMap = facesContext.getExternalContext()
+ .getRequestParameterMap();
+ String value = paramMap.get(clientId);
+ boolean submitted = null != value;
+ return submitted;
+ }
+ /**
+ * Get base component class, targetted for this renderer. Used for check arguments in
decode/encode.
+ * @return
+ */
+ protected Class<? extends UIComponent> getComponentClass() {
+ return org.richfaces.component.UIBeanValidator.class;
+ }
+
+
+}
Property changes on:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
===================================================================
---
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
(rev 0)
+++
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -0,0 +1,18 @@
+/**
+ *
+ */
+package org.richfaces.renderkit.html;
+
+import javax.faces.event.FacesListener;
+
+import org.richfaces.event.ValidationEvent;
+
+/**
+ * @author asmirnov
+ *
+ */
+public interface ValidationListener extends FacesListener {
+
+ public void processValidation(ValidationEvent event);
+
+}
Property changes on:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
===================================================================
---
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08
17:14:59 UTC (rev 9461)
+++
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -207,7 +207,6 @@
@SuppressWarnings("unchecked")
protected ClassValidator<? extends Object> getValidator(
Class<? extends Object> beanClass, Locale locale) {
- // TODO - cache validator instances.
// TODO - localization support.
ValidatorKey key = new ValidatorKey(beanClass, locale);
ClassValidator result = classValidators.get(key);
@@ -372,9 +371,9 @@
* @author amarkhel
*
*/
- class ValidatorKey {
- private Class<? extends Object> validatableClass;
- private Locale locale;
+ static class ValidatorKey {
+ private final Class<? extends Object> validatableClass;
+ private final Locale locale;
/**
* Constructor for ValidatorKey object
@@ -390,16 +389,47 @@
this.locale = locale;
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
@Override
- public boolean equals(Object other) {
- ValidatorKey key = (ValidatorKey) other;
- return key.validatableClass.equals(validatableClass)
- && key.locale.equals(locale);
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result
+ + ((locale == null) ? 0 : locale.hashCode());
+ result = prime
+ * result
+ + ((validatableClass == null) ? 0 : validatableClass
+ .hashCode());
+ return result;
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
@Override
- public int hashCode() {
- return validatableClass.hashCode() + locale.hashCode();
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof ValidatorKey))
+ return false;
+ ValidatorKey other = (ValidatorKey) obj;
+ if (locale == null) {
+ if (other.locale != null)
+ return false;
+ } else if (!locale.equals(other.locale))
+ return false;
+ if (validatableClass == null) {
+ if (other.validatableClass != null)
+ return false;
+ } else if (!validatableClass.equals(other.validatableClass))
+ return false;
+ return true;
}
+
+
}
}
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java
===================================================================
---
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java 2008-07-08
17:14:59 UTC (rev 9461)
+++
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -42,7 +42,7 @@
.validate(context, valueExpression, convertedValue);
if (null != messages) {
input.setValid(false);
- // TODO - send all validation messages.
+ // send all validation messages.
for (String msg : messages) {
context.addMessage(input.getClientId(context), new FacesMessage(
FacesMessage.SEVERITY_ERROR, msg, ""));
Modified: trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java
===================================================================
--- trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java 2008-07-08
17:14:59 UTC (rev 9461)
+++ trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java 2008-07-08
23:25:22 UTC (rev 9462)
@@ -52,21 +52,6 @@
public static final String AJAX_SUPPORT_SET =
"com.exadel.components.ajax.support.";
private static final Log log = LogFactory.getLog(UIAjaxSupport.class);
- /**
- * Name of JavaScript function, called before submit Ajax request
- * description
- *
- * @parameter
- * @return the acceptClass
- */
- public abstract String getOnsubmit();
-
- /**
- * @param newOnsubmit
- * the value to set
- */
- public abstract void setOnsubmit(String newOnsubmit);
-
@Override
public void setValueExpression(String name, ValueExpression binding) {
// var - not allowed name. must be literal.
@@ -109,8 +94,6 @@
if (null != onsubmit) {
buildOnEvent.append(onsubmit).append(";");
}
- // Due to JSF RI 1.1 bug, clear cached clientId
- setId(getId());
buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this,
getFacesContext(), getEvent()));
String script = buildOnEvent.toString();