Author: nbelaevski
Date: 2010-05-16 10:56:31 -0400 (Sun, 16 May 2010)
New Revision: 17068
Added:
root/ui-sandbox/core/trunk/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractActionComponent.java
Removed:
root/core/trunk/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
Modified:
root/ui/core/trunk/api/src/main/java/org/ajax4jsf/component/AbstractPoll.java
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractAjaxFunction.java
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandButton.java
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandLink.java
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java
Log:
https://jira.jboss.org/browse/RF-7825
Deleted:
root/core/trunk/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
===================================================================
---
root/core/trunk/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2010-05-16
12:29:36 UTC (rev 17067)
+++
root/core/trunk/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -1,163 +0,0 @@
-/**
- * License Agreement.
- *
- * Rich Faces - 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.ajax4jsf.component;
-
-import org.ajax4jsf.context.AjaxContext;
-import org.ajax4jsf.event.AjaxEvent;
-import org.ajax4jsf.event.AjaxListener;
-import org.ajax4jsf.event.AjaxSource;
-import org.ajax4jsf.renderkit.RendererUtils;
-
-import javax.faces.component.UICommand;
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.event.AbortProcessingException;
-import javax.faces.event.ActionEvent;
-import javax.faces.event.FacesEvent;
-import javax.faces.event.PhaseId;
-
-/**
- * @author shura (latest modification by $Author: alexsmirnov $)
- * @version $Revision: 1.1.2.3 $ $Date: 2007/02/06 16:23:21 $
- */
-public abstract class AjaxActionComponent extends UICommand implements AjaxComponent,
AjaxSource {
- public static final String FOCUS_DATA_ID = "_A4J.AJAX.focus";
-
- /*
- * (non-Javadoc)
- *
- * @see
javax.faces.component.UIComponentBase#broadcast(javax.faces.event.FacesEvent)
- */
- public void broadcast(FacesEvent event) throws AbortProcessingException {
-
- // perform default
- super.broadcast(event);
-
- if (event instanceof AjaxEvent) {
- FacesContext context = getFacesContext();
-
- // complete re-Render fields. AjaxEvent deliver before render
- // response.
- setupReRender(context);
-
- // Put data for send in response
- Object data = getData();
- AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
-
- if (null != data) {
- ajaxContext.setResponseData(data);
- }
-
- String focus = getFocus();
-
- if (null != focus) {
-
- // search for component in tree.
- // XXX - use more pourful search, as in h:outputLabel
- // component.
- UIComponent focusComponent =
RendererUtils.getInstance().findComponentFor(this, focus);
-
- if (null != focusComponent) {
- focus = focusComponent.getClientId(context);
- }
-
- ajaxContext.getResponseDataMap().put(FOCUS_DATA_ID, focus);
- }
-
- ajaxContext.setOnbeforedomupdate(getOnbeforedomupdate());
- ajaxContext.setOncomplete(getOncomplete());
- }
- }
-
- /**
- * Template method with old signature, for backward compability.
- */
- protected void setupReRender() {
- }
-
- /**
- * Template methods for fill set of resions to render in subclasses.
- *
- * @param facesContext TODO
- */
- protected void setupReRender(FacesContext facesContext) {
- AjaxContext.getCurrentInstance(facesContext).addRegionsFromComponent(this);
- setupReRender();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
javax.faces.component.UIComponentBase#queueEvent(javax.faces.event.FacesEvent)
- */
- public void queueEvent(FacesEvent event) {
- if (event instanceof ActionEvent) {
- if (event.getComponent() == this) {
- if (isImmediate()) {
- event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
- } else if (isBypassUpdates()) {
- event.setPhaseId(PhaseId.PROCESS_VALIDATIONS);
- } else {
- event.setPhaseId(PhaseId.INVOKE_APPLICATION);
- }
- }
-
- // UICommand set Phase ID for all ActionEvents - bypass it.
- getParent().queueEvent(event);
- } else {
- super.queueEvent(event);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.ajax4jsf.framework.ajax.AjaxSource#addAjaxListener(org.ajax4jsf.framework.ajax.AjaxListener)
- */
- public void addAjaxListener(AjaxListener listener) {
- addFacesListener(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.ajax4jsf.framework.ajax.AjaxSource#getAjaxListeners()
- */
- public AjaxListener[] getAjaxListeners() {
- AjaxListener[] al = (AjaxListener[]) getFacesListeners(AjaxListener.class);
-
- return al;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.ajax4jsf.framework.ajax.AjaxSource#removeAjaxListener(org.ajax4jsf.framework.ajax.AjaxListener)
- */
- public void removeAjaxListener(AjaxListener listener) {
- removeFacesListener(listener);
- }
-
- protected UIComponent getSingleComponent() {
- return this;
- }
-}
Modified: root/ui/core/trunk/api/src/main/java/org/ajax4jsf/component/AbstractPoll.java
===================================================================
---
root/ui/core/trunk/api/src/main/java/org/ajax4jsf/component/AbstractPoll.java 2010-05-16
12:29:36 UTC (rev 17067)
+++
root/ui/core/trunk/api/src/main/java/org/ajax4jsf/component/AbstractPoll.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -23,17 +23,15 @@
package org.ajax4jsf.component;
-import org.ajax4jsf.context.AjaxContext;
+import org.richfaces.component.AbstractActionComponent;
-import javax.faces.context.FacesContext;
-
/**
* Component for periodically call AJAX events on server ( poll actions )
* @author shura
*
*/
//@JsfComponent
-public abstract class AbstractPoll extends AjaxActionComponent {
+public abstract class AbstractPoll extends AbstractActionComponent {
public static final String COMPONENT_TYPE = "org.ajax4jsf.Poll";
private transient boolean submitted = false;
@@ -66,8 +64,4 @@
public abstract void setEnabled(boolean enable);
- protected void setupReRender(FacesContext facesContext) {
- super.setupReRender(facesContext);
- AjaxContext.getCurrentInstance(facesContext).addComponentToAjaxRender(this);
- }
}
Added:
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractActionComponent.java
===================================================================
---
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractActionComponent.java
(rev 0)
+++
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractActionComponent.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.richfaces.component;
+
+import javax.faces.component.UICommand;
+import javax.faces.event.ActionEvent;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public abstract class AbstractActionComponent extends UICommand {
+
+ public abstract boolean isBypassUpdates();
+ public abstract void setBypassUpdates(boolean bypassUpdates);
+
+ @Override
+ public void queueEvent(FacesEvent event) {
+ if (event instanceof ActionEvent) {
+ if (event.getComponent() == this) {
+ if (isImmediate()) {
+ event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else if (isBypassUpdates()) {
+ event.setPhaseId(PhaseId.PROCESS_VALIDATIONS);
+ } else {
+ event.setPhaseId(PhaseId.INVOKE_APPLICATION);
+ }
+ }
+
+ // UICommand set Phase ID for all ActionEvents - bypass it.
+ getParent().queueEvent(event);
+ } else {
+ super.queueEvent(event);
+ }
+ }
+}
Modified:
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractAjaxFunction.java
===================================================================
---
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractAjaxFunction.java 2010-05-16
12:29:36 UTC (rev 17067)
+++
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractAjaxFunction.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -23,8 +23,6 @@
package org.richfaces.component;
-import javax.faces.component.UICommand;
-
import org.richfaces.cdk.annotations.Attribute;
import org.richfaces.cdk.annotations.EventName;
import org.richfaces.cdk.annotations.JsfComponent;
@@ -39,7 +37,7 @@
@JsfComponent(
tag = @Tag(name = "jsFunction", type = TagType.Facelets)
)
-public abstract class AbstractAjaxFunction extends UICommand {
+public abstract class AbstractAjaxFunction extends AbstractActionComponent {
public static final String COMPONENT_FAMILY = "javax.faces.Command";
Modified:
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandButton.java
===================================================================
---
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandButton.java 2010-05-16
12:29:36 UTC (rev 17067)
+++
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandButton.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -24,7 +24,6 @@
package org.richfaces.component;
import javax.faces.component.UICommand;
-import javax.faces.component.UIComponentBase;
import org.richfaces.cdk.annotations.Attribute;
import org.richfaces.cdk.annotations.EventName;
@@ -35,7 +34,7 @@
*
*/
@JsfComponent
-public abstract class AbstractCommandButton extends UIComponentBase {
+public abstract class AbstractCommandButton extends AbstractActionComponent {
public static final String COMPONENT_TYPE = "org.richfaces.CommandButton";
Modified:
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandLink.java
===================================================================
---
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandLink.java 2010-05-16
12:29:36 UTC (rev 17067)
+++
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractCommandLink.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -36,7 +36,7 @@
@JsfComponent (
tag = @Tag(type = TagType.Facelets)
)
-public abstract class AbstractCommandLink extends UICommand {
+public abstract class AbstractCommandLink extends AbstractActionComponent {
public static final String COMPONENT_TYPE = "org.richfaces.CommandLink";
Modified: root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java
===================================================================
---
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java 2010-05-16
12:29:36 UTC (rev 17067)
+++
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -28,7 +28,6 @@
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;
@@ -49,7 +48,7 @@
@JsfComponent(
tag = @Tag(generate = true, handler =
"org.richfaces.view.facelets.html.AjaxPushHandler", type = TagType.Facelets)
)
-public abstract class AbstractPush extends UICommand {
+public abstract class AbstractPush extends AbstractActionComponent {
public static final String COMPONENT_TYPE = "org.richfaces.Push";
Copied:
root/ui-sandbox/core/trunk/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
(from rev 17066,
root/core/trunk/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java)
===================================================================
---
root/ui-sandbox/core/trunk/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
(rev 0)
+++
root/ui-sandbox/core/trunk/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2010-05-16
14:56:31 UTC (rev 17068)
@@ -0,0 +1,163 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - 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.ajax4jsf.component;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+import org.ajax4jsf.event.AjaxListener;
+import org.ajax4jsf.event.AjaxSource;
+import org.ajax4jsf.renderkit.RendererUtils;
+
+import javax.faces.component.UICommand;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.ActionEvent;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
+
+/**
+ * @author shura (latest modification by $Author: alexsmirnov $)
+ * @version $Revision: 1.1.2.3 $ $Date: 2007/02/06 16:23:21 $
+ */
+public abstract class AjaxActionComponent extends UICommand implements AjaxComponent,
AjaxSource {
+ public static final String FOCUS_DATA_ID = "_A4J.AJAX.focus";
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
javax.faces.component.UIComponentBase#broadcast(javax.faces.event.FacesEvent)
+ */
+ public void broadcast(FacesEvent event) throws AbortProcessingException {
+
+ // perform default
+ super.broadcast(event);
+
+ if (event instanceof AjaxEvent) {
+ FacesContext context = getFacesContext();
+
+ // complete re-Render fields. AjaxEvent deliver before render
+ // response.
+ setupReRender(context);
+
+ // Put data for send in response
+ Object data = getData();
+ AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
+
+ if (null != data) {
+ ajaxContext.setResponseData(data);
+ }
+
+ String focus = getFocus();
+
+ if (null != focus) {
+
+ // search for component in tree.
+ // XXX - use more pourful search, as in h:outputLabel
+ // component.
+ UIComponent focusComponent =
RendererUtils.getInstance().findComponentFor(this, focus);
+
+ if (null != focusComponent) {
+ focus = focusComponent.getClientId(context);
+ }
+
+ ajaxContext.getResponseDataMap().put(FOCUS_DATA_ID, focus);
+ }
+
+ ajaxContext.setOnbeforedomupdate(getOnbeforedomupdate());
+ ajaxContext.setOncomplete(getOncomplete());
+ }
+ }
+
+ /**
+ * Template method with old signature, for backward compability.
+ */
+ protected void setupReRender() {
+ }
+
+ /**
+ * Template methods for fill set of resions to render in subclasses.
+ *
+ * @param facesContext TODO
+ */
+ protected void setupReRender(FacesContext facesContext) {
+ AjaxContext.getCurrentInstance(facesContext).addRegionsFromComponent(this);
+ setupReRender();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
javax.faces.component.UIComponentBase#queueEvent(javax.faces.event.FacesEvent)
+ */
+ public void queueEvent(FacesEvent event) {
+ if (event instanceof ActionEvent) {
+ if (event.getComponent() == this) {
+ if (isImmediate()) {
+ event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else if (isBypassUpdates()) {
+ event.setPhaseId(PhaseId.PROCESS_VALIDATIONS);
+ } else {
+ event.setPhaseId(PhaseId.INVOKE_APPLICATION);
+ }
+ }
+
+ // UICommand set Phase ID for all ActionEvents - bypass it.
+ getParent().queueEvent(event);
+ } else {
+ super.queueEvent(event);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.ajax4jsf.framework.ajax.AjaxSource#addAjaxListener(org.ajax4jsf.framework.ajax.AjaxListener)
+ */
+ public void addAjaxListener(AjaxListener listener) {
+ addFacesListener(listener);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.ajax4jsf.framework.ajax.AjaxSource#getAjaxListeners()
+ */
+ public AjaxListener[] getAjaxListeners() {
+ AjaxListener[] al = (AjaxListener[]) getFacesListeners(AjaxListener.class);
+
+ return al;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.ajax4jsf.framework.ajax.AjaxSource#removeAjaxListener(org.ajax4jsf.framework.ajax.AjaxListener)
+ */
+ public void removeAjaxListener(AjaxListener listener) {
+ removeFacesListener(listener);
+ }
+
+ protected UIComponent getSingleComponent() {
+ return this;
+ }
+}