JBoss Rich Faces SVN: r8988 - in branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf: context and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2008-06-10 16:57:23 -0400 (Tue, 10 Jun 2008)
New Revision: 8988
Added:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ContextInitParameters.java
Modified:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
Log:
http://jira.jboss.com/jira/browse/RF-1923
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-06-10 17:47:11 UTC (rev 8987)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-06-10 20:57:23 UTC (rev 8988)
@@ -21,10 +21,14 @@
package org.ajax4jsf.application;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
+import java.io.ObjectInputStream;
import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
@@ -36,6 +40,7 @@
import java.util.Set;
import java.util.Map.Entry;
+import javax.faces.FacesException;
import javax.faces.FactoryFinder;
import javax.faces.application.StateManager;
import javax.faces.component.UIComponent;
@@ -47,6 +52,7 @@
import javax.faces.render.ResponseStateManager;
import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.context.ContextInitParameters;
import org.ajax4jsf.event.AjaxPhaseListener;
import org.ajax4jsf.util.LRUMap;
import org.apache.commons.logging.Log;
@@ -225,10 +231,10 @@
UIViewRoot viewRoot = null;
ResponseStateManager responseStateManager = getRenderKit(context,
renderKitId).getResponseStateManager();
- TreeStrutureNode treeStructure = null;
+ TreeStructureNode treeStructure = null;
Object[] state = null;
if (isSavingStateInClient(context)) {
- treeStructure = (TreeStrutureNode) responseStateManager
+ treeStructure = (TreeStructureNode) responseStateManager
.getTreeStructureToRestore(context, viewId);
// viewRoot = parent.restoreView(context, viewId, renderKitId);
state = (Object[]) responseStateManager
@@ -237,8 +243,8 @@
Object[] serializedView = restoreStateFromSession(context, viewId,
renderKitId);
if (null != serializedView) {
- treeStructure = (TreeStrutureNode) serializedView[0];
- state = (Object[]) serializedView[1];
+ treeStructure = (TreeStructureNode) serializedView[0];
+ state = (Object[]) handleRestoreState(context, serializedView[1]);
}
}
if (null != treeStructure) {
@@ -252,6 +258,49 @@
}
+ private static final Object handleRestoreState(FacesContext context, Object state) {
+ if (ContextInitParameters.isSerializeServerState(context)) {
+ ObjectInputStream ois = null;
+ try {
+ ois = new ObjectInputStream(new ByteArrayInputStream((byte[]) state));
+ return ois.readObject();
+ } catch (Exception e) {
+ throw new FacesException(e);
+ } finally {
+ if (ois != null) {
+ try {
+ ois.close();
+ } catch (IOException ignored) { }
+ }
+ }
+ } else {
+ return state;
+ }
+ }
+
+ private static final Object handleSaveState(FacesContext context, Object state) {
+ if (ContextInitParameters.isSerializeServerState(context)) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+ ObjectOutputStream oas = null;
+ try {
+ oas = new ObjectOutputStream(baos);
+ oas.writeObject(state);
+ oas.flush();
+ } catch (Exception e) {
+ throw new FacesException(e);
+ } finally {
+ if (oas != null) {
+ try {
+ oas.close();
+ } catch (IOException ignored) { }
+ }
+ }
+ return baos.toByteArray();
+ } else {
+ return state;
+ }
+ }
+
protected Object[] restoreStateFromSession(FacesContext context,
String viewId, String renderKitId) {
Object[] restoredState = null;
@@ -331,7 +380,7 @@
SerializedView serializedView = null;
UIViewRoot viewRoot = context.getViewRoot();
if (null != viewRoot && (!viewRoot.isTransient()) ) {
- TreeStrutureNode treeStructure = new TreeStrutureNode();
+ TreeStructureNode treeStructure = new TreeStructureNode();
treeStructure.apply(context, viewRoot, new HashSet());
Object treeState = viewRoot.processSaveState(context);
Object state[] = { treeState, getAdditionalState(context) };
@@ -339,7 +388,7 @@
serializedView = new SerializedView(treeStructure, state);
} else {
serializedView = saveStateInSession(context, treeStructure,
- state);
+ handleSaveState(context, state));
}
}
@@ -456,7 +505,7 @@
}
- protected static final class TreeStrutureNode implements Externalizable {
+ protected static final class TreeStructureNode implements Externalizable {
/**
* TODO - implement Externalizable to reduce serialized state.
*/
@@ -472,7 +521,7 @@
private String id;
- public TreeStrutureNode() {
+ public TreeStructureNode() {
}
public void apply(FacesContext context, UIComponent component,
@@ -490,7 +539,7 @@
Entry element = (Entry) i.next();
UIComponent f = (UIComponent) element.getValue();
if (!f.isTransient()) {
- TreeStrutureNode facet = new TreeStrutureNode();
+ TreeStructureNode facet = new TreeStructureNode();
facet.apply(context, f, uniqueIds);
if (null == facets) {
facets = new HashMap();
@@ -502,7 +551,7 @@
for (Iterator i = component.getChildren().iterator(); i.hasNext();) {
UIComponent child = (UIComponent) i.next();
if (!child.isTransient()) {
- TreeStrutureNode t = new TreeStrutureNode();
+ TreeStructureNode t = new TreeStructureNode();
t.apply(context, child, uniqueIds);
if (null == children) {
children = new ArrayList();
@@ -520,7 +569,7 @@
if (null != facets) {
for (Iterator i = facets.entrySet().iterator(); i.hasNext();) {
Entry element = (Entry) i.next();
- UIComponent facet = ((TreeStrutureNode) element.getValue())
+ UIComponent facet = ((TreeStructureNode) element.getValue())
.restore(loader);
component.getFacets().put(element.getKey(), facet);
}
@@ -528,7 +577,7 @@
}
if (null != children) {
for (Iterator i = children.iterator(); i.hasNext();) {
- TreeStrutureNode node = (TreeStrutureNode) i.next();
+ TreeStructureNode node = (TreeStructureNode) i.next();
UIComponent child = node.restore(loader);
component.getChildren().add(child);
}
@@ -609,7 +658,7 @@
facets = new HashMap(facetsSize);
for (int i = 0; i < facetsSize; i++) {
String facetName = in.readUTF();
- TreeStrutureNode facet = new TreeStrutureNode();
+ TreeStructureNode facet = new TreeStructureNode();
facet.readExternal(in);
facets.put(facetName, facet);
}
@@ -618,7 +667,7 @@
if (childrenSize > 0) {
children = new ArrayList(childrenSize);
for (int i = 0; i < childrenSize; i++) {
- TreeStrutureNode child = new TreeStrutureNode();
+ TreeStructureNode child = new TreeStructureNode();
child.readExternal(in);
children.add(child);
}
@@ -633,7 +682,7 @@
for (Iterator i = facets.entrySet().iterator(); i.hasNext();) {
Map.Entry entry = (Map.Entry) i.next();
out.writeUTF((String) entry.getKey());
- TreeStrutureNode node = (TreeStrutureNode) entry.getValue();
+ TreeStructureNode node = (TreeStructureNode) entry.getValue();
node.writeExternal(out);
}
@@ -643,7 +692,7 @@
if (null != children) {
out.writeInt(children.size());
for (Iterator i = children.iterator(); i.hasNext();) {
- TreeStrutureNode child = (TreeStrutureNode) i.next();
+ TreeStructureNode child = (TreeStructureNode) i.next();
child.writeExternal(out);
}
Added: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ContextInitParameters.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ContextInitParameters.java (rev 0)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/context/ContextInitParameters.java 2008-06-10 20:57:23 UTC (rev 8988)
@@ -0,0 +1,90 @@
+/**
+ *
+ */
+package org.ajax4jsf.context;
+
+import javax.faces.FacesException;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+/**
+ * This class hold all methods for get application init parameters. Created for
+ * single access point to all parameters - simplest for a documentation.
+ *
+ * @author asmirnov
+ *
+ */
+public class ContextInitParameters {
+
+ /**
+ *
+ */
+ private ContextInitParameters() {
+ // this is a only static methods for a access to Web app Init
+ // parameters. Do not Instantiate !
+ }
+
+ public static final String[] SERIALIZE_SERVER_STATE = new String[] {
+ "org.ajax4jsf.SERIALIZE_SERVER_STATE",
+
+ /* detect MyFaces vs. RI */
+ "com.sun.faces.serializeServerState",
+ "org.apache.myfaces.SERIALIZE_STATE_IN_SESSION"
+ };
+
+ public static final boolean isSerializeServerState(FacesContext context) {
+ return getBoolean(context, SERIALIZE_SERVER_STATE, false);
+ }
+
+ static int getInteger(FacesContext context, String[] paramNames,
+ int defaulValue) {
+ String initParameter = getInitParameter(context,paramNames);
+ if (null == initParameter) {
+ return defaulValue;
+ } else {
+ try {
+ return Integer.parseInt(initParameter);
+
+ } catch (NumberFormatException e) {
+ throw new FacesException("Context parameter " + paramNames
+ + " must have integer value");
+ }
+ }
+ }
+
+ static String getString(FacesContext context, String[] paramNames,
+ String defaulValue) {
+ String initParameter = getInitParameter(context,paramNames);
+ if (null == initParameter) {
+ return defaulValue;
+ } else {
+ return initParameter;
+ }
+ }
+
+ static boolean getBoolean(FacesContext context, String[] paramNames,
+ boolean defaulValue) {
+ String initParameter = getInitParameter(context,paramNames);
+ if (null == initParameter) {
+ return defaulValue;
+ } else if("true".equalsIgnoreCase(initParameter) || "yes".equalsIgnoreCase(initParameter)) {
+ return true;
+ } else if("false".equalsIgnoreCase(initParameter) || "no".equalsIgnoreCase(initParameter)) {
+ return false;
+ } else {
+ throw new FacesException("Illegal value ["+initParameter+"] for a init parameter +"+paramNames+", only logical values 'true' or 'false' is allowed");
+ }
+ }
+
+ static String getInitParameter(FacesContext context,
+ String[] paramNames) {
+ ExternalContext externalContext = context.getExternalContext();
+ String value = null;
+ for (int i = 0; i < paramNames.length && null == value; i++) {
+ value = externalContext.getInitParameter(paramNames[i]);
+ }
+ return value;
+ }
+
+
+}
\ No newline at end of file
16 years, 3 months
JBoss Rich Faces SVN: r8987 - branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2008-06-10 13:47:11 -0400 (Tue, 10 Jun 2008)
New Revision: 8987
Modified:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
Log:
http://jira.jboss.com/jira/browse/RF-3631
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-06-10 15:41:42 UTC (rev 8986)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-06-10 17:47:11 UTC (rev 8987)
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import java.io.Serializable;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.HashMap;
@@ -265,41 +266,43 @@
}
} else {
synchronized (session) {
- LRUMap viewStates = (LRUMap) externalContext.getSessionMap()
+ SynchronizedStateHolder viewStates = (SynchronizedStateHolder) externalContext.getSessionMap()
.get(VIEW_STATES_MAP);
if (null != viewStates) {
- LRUMap logicalStates = (LRUMap) viewStates.get(viewId);
- if (null != logicalStates) {
- if (null != id) {
- restoredState = (Object[]) logicalStates.get(id);
- externalContext.getRequestMap().put(VIEW_SEQUENCE,
- id);
- if (null == restoredState) {
+ synchronized (viewStates) {
+ LRUMap stateMap = viewStates.getStateMap();
+ LRUMap logicalStates = (LRUMap) stateMap.get(viewId);
+ if (null != logicalStates) {
+ if (null != id) {
+ restoredState = (Object[]) logicalStates.get(id);
+ externalContext.getRequestMap().put(VIEW_SEQUENCE,
+ id);
+ if (null == restoredState) {
+ if (_log.isDebugEnabled()) {
+ _log
+ .debug("No saved view state found for a Id "
+ + id
+ );
+ }
+ // http://jira.jboss.com/jira/browse/RF-3542
+// restoredState = (Object[]) logicalStates
+// .get(logicalStates.lastKey());
+ }
+ } else {
if (_log.isDebugEnabled()) {
_log
- .debug("No saved view state found for a Id "
- + id
- );
+ .debug("No version Id for a saved view state in request.");
}
// http://jira.jboss.com/jira/browse/RF-3542
// restoredState = (Object[]) logicalStates
// .get(logicalStates.lastKey());
}
- } else {
- if (_log.isDebugEnabled()) {
- _log
- .debug("No version Id for a saved view state in request.");
- }
- // http://jira.jboss.com/jira/browse/RF-3542
-// restoredState = (Object[]) logicalStates
-// .get(logicalStates.lastKey());
+ } else if (_log.isDebugEnabled()) {
+ _log
+ .debug("Can't restore view state : no saved states for a ViewId "
+ + viewId);
}
- } else if (_log.isDebugEnabled()) {
- _log
- .debug("Can't restore view state : no saved states for a ViewId "
- + viewId);
}
-
} else if (_log.isDebugEnabled()) {
_log
.debug("Can't restore view state : no saved view states in session");
@@ -356,24 +359,30 @@
ExternalContext externalContext = context.getExternalContext();
Object session = externalContext.getSession(true);
synchronized (session) {
- LRUMap viewStates = (LRUMap) externalContext.getSessionMap().get(
+ SynchronizedStateHolder viewStates = (SynchronizedStateHolder) externalContext.getSessionMap().get(
VIEW_STATES_MAP);
if (null == viewStates) {
- viewStates = new LRUMap(getNumberOfViews(externalContext));
+ viewStates = new SynchronizedStateHolder(new LRUMap(getNumberOfViews(externalContext)));
externalContext.getSessionMap()
.put(VIEW_STATES_MAP, viewStates);
}
- Object id = getNextViewId(context);
- LRUMap logicalViewsMap = (LRUMap) viewStates.get(viewRoot
- .getViewId());
- if (null == logicalViewsMap) {
- logicalViewsMap = new LRUMap(getNumberOfViews(externalContext));
+
+ synchronized (viewStates) {
+ Object id = getNextViewId(context);
+ LRUMap stateMap = viewStates.getStateMap();
+ LRUMap logicalViewsMap = (LRUMap) stateMap.get(viewRoot
+ .getViewId());
+ if (null == logicalViewsMap) {
+ logicalViewsMap = new LRUMap(getNumberOfViews(externalContext));
+ }
+ // Renew last seen view.
+ stateMap.put(viewRoot.getViewId(), logicalViewsMap);
+ logicalViewsMap.put(id, new Object[] { treeStructure, state });
+ serializedView = new SerializedView(id, null);
}
- // Renew last seen view.
- viewStates.put(viewRoot.getViewId(), logicalViewsMap);
- logicalViewsMap.put(id, new Object[] { treeStructure, state });
- serializedView = new SerializedView(id, null);
}
+
+
return serializedView;
}
@@ -416,6 +425,37 @@
return renderKit;
}
+ protected static final class SynchronizedStateHolder implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -6218719119030970545L;
+
+ private LRUMap stateMap;
+
+ public SynchronizedStateHolder(LRUMap stateMap) {
+ super();
+ this.stateMap = stateMap;
+ }
+
+ public LRUMap getStateMap() {
+ return stateMap;
+ }
+
+ private synchronized void readObject(java.io.ObjectInputStream s)
+ throws IOException, ClassNotFoundException {
+
+ s.defaultReadObject();
+ }
+
+ private synchronized void writeObject(java.io.ObjectOutputStream s) throws IOException {
+
+ s.defaultWriteObject();
+ }
+
+ }
+
protected static final class TreeStrutureNode implements Externalizable {
/**
* TODO - implement Externalizable to reduce serialized state.
16 years, 3 months
JBoss Rich Faces SVN: r8986 - in trunk: framework/impl/src/main/resources/META-INF and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2008-06-10 11:41:42 -0400 (Tue, 10 Jun 2008)
New Revision: 8986
Added:
trunk/framework/impl/src/main/java/org/richfaces/component/ComponentPhaseEventHandler.java
trunk/framework/impl/src/main/java/org/richfaces/component/ComponentViewPhaseListener.java
Removed:
trunk/ui/dataTable/src/main/java/org/richfaces/component/DataTableViewPhaseListener.java
Modified:
trunk/framework/impl/src/main/resources/META-INF/faces-config.xml
trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java
Log:
RF-2815
Added: trunk/framework/impl/src/main/java/org/richfaces/component/ComponentPhaseEventHandler.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/component/ComponentPhaseEventHandler.java (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/component/ComponentPhaseEventHandler.java 2008-06-10 15:41:42 UTC (rev 8986)
@@ -0,0 +1,9 @@
+package org.richfaces.component;
+
+import javax.faces.event.PhaseEvent;
+
+public interface ComponentPhaseEventHandler {
+
+ void doBeforePhase(PhaseEvent event);
+
+}
Added: trunk/framework/impl/src/main/java/org/richfaces/component/ComponentViewPhaseListener.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/component/ComponentViewPhaseListener.java (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/component/ComponentViewPhaseListener.java 2008-06-10 15:41:42 UTC (rev 8986)
@@ -0,0 +1,48 @@
+package org.richfaces.component;
+
+import java.util.Iterator;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseEvent;
+import javax.faces.event.PhaseId;
+import javax.faces.event.PhaseListener;
+
+
+public class ComponentViewPhaseListener implements PhaseListener {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -2437433246178955788L;
+
+ public void afterPhase(PhaseEvent event) {
+ }
+
+ private void doBeforePhase(PhaseEvent event, UIComponent component) {
+ if (component.isRendered()) {
+ if (component instanceof ComponentPhaseEventHandler) {
+ ((ComponentPhaseEventHandler) component).doBeforePhase(event);
+ }
+ Iterator<UIComponent> children = component.getFacetsAndChildren();
+ while (children.hasNext()) {
+ doBeforePhase(event, children.next());
+ }
+ }
+
+ }
+
+ public void beforePhase(PhaseEvent event) {
+ FacesContext facesContext = event.getFacesContext();
+ UIViewRoot viewRoot = facesContext.getViewRoot();
+ if (viewRoot != null) {
+ doBeforePhase(event, viewRoot);
+ }
+ }
+
+ public PhaseId getPhaseId() {
+ return PhaseId.RENDER_RESPONSE;
+ }
+
+}
Modified: trunk/framework/impl/src/main/resources/META-INF/faces-config.xml
===================================================================
--- trunk/framework/impl/src/main/resources/META-INF/faces-config.xml 2008-06-10 15:39:31 UTC (rev 8985)
+++ trunk/framework/impl/src/main/resources/META-INF/faces-config.xml 2008-06-10 15:41:42 UTC (rev 8986)
@@ -18,6 +18,7 @@
<lifecycle>
<phase-listener>org.ajax4jsf.event.AjaxPhaseListener</phase-listener>
<phase-listener>org.ajax4jsf.event.InitPhaseListener</phase-listener>
+ <phase-listener>org.richfaces.component.ComponentViewPhaseListener</phase-listener>
</lifecycle>
<managed-bean>
<managed-bean-name>a4j</managed-bean-name>
Deleted: trunk/ui/dataTable/src/main/java/org/richfaces/component/DataTableViewPhaseListener.java
===================================================================
--- trunk/ui/dataTable/src/main/java/org/richfaces/component/DataTableViewPhaseListener.java 2008-06-10 15:39:31 UTC (rev 8985)
+++ trunk/ui/dataTable/src/main/java/org/richfaces/component/DataTableViewPhaseListener.java 2008-06-10 15:41:42 UTC (rev 8986)
@@ -1,45 +0,0 @@
-package org.richfaces.component;
-
-import java.util.Iterator;
-
-import javax.faces.component.UIComponent;
-import javax.faces.component.UIViewRoot;
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseEvent;
-import javax.faces.event.PhaseId;
-import javax.faces.event.PhaseListener;
-
-
-public class DataTableViewPhaseListener implements PhaseListener {
-
- private static final long serialVersionUID = 4321239328240647676L;
-
- public void afterPhase(PhaseEvent event) {
- }
-
- private void resetDataModel(UIComponent component) {
- if (component.isRendered()) {
- if (component instanceof UIDataTable) {
- ((UIDataTable) component).resetDataModel();
- }
- Iterator<UIComponent> children = component.getFacetsAndChildren();
- while (children.hasNext()) {
- resetDataModel(children.next());
- }
- }
-
- }
-
- public void beforePhase(PhaseEvent event) {
- FacesContext facesContext = event.getFacesContext();
- UIViewRoot viewRoot = facesContext.getViewRoot();
- if (viewRoot != null) {
- resetDataModel(viewRoot);
- }
- }
-
- public PhaseId getPhaseId() {
- return PhaseId.RENDER_RESPONSE;
- }
-
-}
Modified: trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java
===================================================================
--- trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java 2008-06-10 15:39:31 UTC (rev 8985)
+++ trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java 2008-06-10 15:41:42 UTC (rev 8986)
@@ -48,7 +48,7 @@
* JSF component class
*
*/
-public abstract class UIDataTable extends SequenceDataAdaptor implements Sortable2, Filterable {
+public abstract class UIDataTable extends SequenceDataAdaptor implements Sortable2, Filterable, ComponentPhaseEventHandler {
Collection<Object> sortPriority = new ArrayList<Object>();
@@ -84,8 +84,7 @@
public static final String COMPONENT_FAMILY = "org.richfaces.DataTable";
- @Override
- protected void resetDataModel() {
+ public void doBeforePhase(javax.faces.event.PhaseEvent event) {
super.resetDataModel();
}
16 years, 3 months
JBoss Rich Faces SVN: r8985 - in branches/3.1.x/test-applications/jsp/src/main: java/orderingList and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 11:39:31 -0400 (Tue, 10 Jun 2008)
New Revision: 8985
Modified:
branches/3.1.x/test-applications/jsp/src/main/java/listShuttle/ListShuttle.java
branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java
branches/3.1.x/test-applications/jsp/src/main/webapp/ListShuttle/ListShuttle.jsp
Log:
add binding
Modified: branches/3.1.x/test-applications/jsp/src/main/java/listShuttle/ListShuttle.java
===================================================================
--- branches/3.1.x/test-applications/jsp/src/main/java/listShuttle/ListShuttle.java 2008-06-10 12:55:24 UTC (rev 8984)
+++ branches/3.1.x/test-applications/jsp/src/main/java/listShuttle/ListShuttle.java 2008-06-10 15:39:31 UTC (rev 8985)
@@ -4,11 +4,17 @@
import java.util.Collection;
import java.util.Iterator;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
+import org.richfaces.component.html.HtmlListShuttle;
+
import util.data.Data;
public class ListShuttle {
+ private HtmlListShuttle myListShuttle;
+ private String bindLabel;
private int first;
private int lenght;
private String [] statusIcon = {"/pics/error.gif", "/pics/fatal.gif", "/pics/info.gif", "/pics/passed.gif", "/pics/warn.gif"};
@@ -47,6 +53,7 @@
public ListShuttle() {
this.first = 1;
this.lenght = 10;
+ this.bindLabel = "Not checked";
this.showSelect = true;
this.showAllSourceData = true;
this.showAllTargetData = true;
@@ -79,6 +86,31 @@
addNewItem();
}
+ public void bindingCheck(ActionEvent actionEvent){
+ FacesContext faces = FacesContext.getCurrentInstance();
+ bindLabel = myListShuttle.getBaseClientId(faces);
+ System.out.println("============LS Binding Check===========");
+ System.out.println(myListShuttle.getBaseClientId(faces));
+ System.out.println("============LS Binding Check===========");
+ //System.out.println(activeItem.toString());
+ }
+
+ public String getBindLabel() {
+ return bindLabel;
+ }
+
+ public void setBindLabel(String bindLabel) {
+ this.bindLabel = bindLabel;
+ }
+
+ public HtmlListShuttle getMyListShuttle() {
+ return myListShuttle;
+ }
+
+ public void setMyListShuttle(HtmlListShuttle myListShuttle) {
+ this.myListShuttle = myListShuttle;
+ }
+
public boolean getRendered() {
return rendered;
}
Modified: branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java
===================================================================
--- branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java 2008-06-10 12:55:24 UTC (rev 8984)
+++ branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java 2008-06-10 15:39:31 UTC (rev 8985)
@@ -38,7 +38,7 @@
public void bindingCheck(ActionEvent actionEvent){
FacesContext faces = FacesContext.getCurrentInstance();
- bindLabel = "Passed";
+ bindLabel = myOrderingList.getBaseClientId(faces);
System.out.println("============OL Binding Check===========");
System.out.println(myOrderingList.getBaseClientId(faces));
System.out.println("============OL Binding Check===========");
Modified: branches/3.1.x/test-applications/jsp/src/main/webapp/ListShuttle/ListShuttle.jsp
===================================================================
--- branches/3.1.x/test-applications/jsp/src/main/webapp/ListShuttle/ListShuttle.jsp 2008-06-10 12:55:24 UTC (rev 8984)
+++ branches/3.1.x/test-applications/jsp/src/main/webapp/ListShuttle/ListShuttle.jsp 2008-06-10 15:39:31 UTC (rev 8985)
@@ -41,7 +41,8 @@
onremoveclick="showEvent('onremoveclickInputID', 'onremoveclick work!')"
moveControlsVerticalAlign="#{listShuttle.moveControlsVerticalAlign}"
- orderControlsVerticalAlign="#{listShuttle.orderControlsVerticalAlign}">
+ orderControlsVerticalAlign="#{listShuttle.orderControlsVerticalAlign}"
+ binding="#{listShuttle.myListShuttle}">
<h:column>
<f:facet name="header">
@@ -106,4 +107,10 @@
<h:graphicImage value="#{item.str3}" />
</h:column>
</rich:listShuttle>
+
+ <h:panelGrid columns="2">
+ <a4j:commandButton reRender="outBindingCheck" actionListener="#{listShuttle.bindingCheck}"
+ value="binding Check" />
+ <h:outputText id="outBindingCheck" value="#{listShuttle.bindLabel}" />
+ </h:panelGrid>
</f:subview>
\ No newline at end of file
16 years, 3 months
JBoss Rich Faces SVN: r8984 - in branches/3.1.x/test-applications/facelets/src/main: webapp/ListShuttle and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 08:55:24 -0400 (Tue, 10 Jun 2008)
New Revision: 8984
Modified:
branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java
branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml
branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml
branches/3.1.x/test-applications/facelets/src/main/webapp/META-INF/MANIFEST.MF
Log:
Add new properties
Modified: branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java 2008-06-10 12:48:53 UTC (rev 8983)
+++ branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java 2008-06-10 12:55:24 UTC (rev 8984)
@@ -21,6 +21,7 @@
private boolean showAllSourceData;
private boolean showAllTargetData;
private boolean switchByClick;
+ private boolean rendered;
private ArrayList<Data> sourceValue;
private ArrayList<Data> targetValue;
private ArrayList<String> info;
@@ -40,6 +41,8 @@
private String sourceCaptionLabel;
private String targetCaptionLabel;
private String controlsType;
+ private String moveControlsVerticalAlign;
+ private String orderControlsVerticalAlign;
public ListShuttle() {
this.first = 1;
@@ -52,6 +55,7 @@
this.moveControlsVisible = true;
this.orderControlsVisible = true;
this.showButtonLabels = true;
+ this.rendered = true;
this.bottomControlLabel = "bottom";
this.copyAllControlLabel = "copy all";
this.copyControlLabel = "copy";
@@ -70,9 +74,35 @@
this.targetValue = new ArrayList<Data>();
this.sourceValue = new ArrayList<Data>();
this.controlsType = "button";
+ this.moveControlsVerticalAlign = "center";
+ this.orderControlsVerticalAlign = "center";
addNewItem();
}
+ public boolean getRendered() {
+ return rendered;
+ }
+
+ public void setRendered(boolean rendered) {
+ this.rendered = rendered;
+ }
+
+ public String getMoveControlsVerticalAlign() {
+ return moveControlsVerticalAlign;
+ }
+
+ public void setMoveControlsVerticalAlign(String moveControlsVerticalAlign) {
+ this.moveControlsVerticalAlign = moveControlsVerticalAlign;
+ }
+
+ public String getOrderControlsVerticalAlign() {
+ return orderControlsVerticalAlign;
+ }
+
+ public void setOrderControlsVerticalAlign(String orderControlsVerticalAlign) {
+ this.orderControlsVerticalAlign = orderControlsVerticalAlign;
+ }
+
public String getControlsType() {
return controlsType;
}
Modified: branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml 2008-06-10 12:48:53 UTC (rev 8983)
+++ branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml 2008-06-10 12:55:24 UTC (rev 8984)
@@ -28,7 +28,11 @@
oncopyallclick="showEvent('oncopyallclickInputID', 'oncopyallclick work!')"
oncopyclick="showEvent('oncopyclickInputID', 'oncopyclick work!')"
onremoveallclick="showEvent('onremoveallclickInputID', 'onremoveallclick work!')"
- onremoveclick="showEvent('onremoveclickInputID', 'onremoveclick work!')">
+ onremoveclick="showEvent('onremoveclickInputID', 'onremoveclick work!')"
+
+ rendered="#{listShuttle.rendered}"
+ moveControlsVerticalAlign="#{listShuttle.moveControlsVerticalAlign}"
+ orderControlsVerticalAlign="#{listShuttle.orderControlsVerticalAlign}">
<h:column>
<f:facet name="header">
Modified: branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml 2008-06-10 12:48:53 UTC (rev 8983)
+++ branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml 2008-06-10 12:55:24 UTC (rev 8984)
@@ -26,6 +26,22 @@
<f:selectItem itemLabel="button" itemValue="button" />
<a4j:support event="onchange" reRender="listShuttleID"></a4j:support>
</h:selectOneRadio>
+
+ <h:outputText value="moveControlsVerticalAlign" />
+ <h:selectOneRadio value="#{listShuttle.moveControlsVerticalAlign}">
+ <f:selectItem itemLabel="top" itemValue="top" />
+ <f:selectItem itemLabel="bottom" itemValue="bottom" />
+ <f:selectItem itemLabel="center" itemValue="center" />
+ <a4j:support event="onchange" reRender="listShuttleID"></a4j:support>
+ </h:selectOneRadio>
+
+ <h:outputText value="orderControlsVerticalAlign" />
+ <h:selectOneRadio value="#{listShuttle.orderControlsVerticalAlign}">
+ <f:selectItem itemLabel="top" itemValue="top" />
+ <f:selectItem itemLabel="bottom" itemValue="bottom" />
+ <f:selectItem itemLabel="center" itemValue="center" />
+ <a4j:support event="onchange" reRender="listShuttleID"></a4j:support>
+ </h:selectOneRadio>
<h:outputText value="showButtonLabels" />
<h:selectBooleanCheckbox value="#{listShuttle.showButtonLabels}" onchange="submit();" />
@@ -45,6 +61,9 @@
<h:outputText value="switchByClick" />
<h:selectBooleanCheckbox value="#{listShuttle.switchByClick}" onchange="submit();" />
+ <h:outputText value="rendered" />
+ <h:selectBooleanCheckbox value="#{listShuttle.rendered}" onchange="submit();" />
+
<h:outputText value="sourceCaptionLabel" />
<h:inputText value="#{listShuttle.sourceCaptionLabel}">
<a4j:support event="onclick" reRender="listShuttleID"></a4j:support>
Modified: branches/3.1.x/test-applications/facelets/src/main/webapp/META-INF/MANIFEST.MF
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/webapp/META-INF/MANIFEST.MF 2008-06-10 12:48:53 UTC (rev 8983)
+++ branches/3.1.x/test-applications/facelets/src/main/webapp/META-INF/MANIFEST.MF 2008-06-10 12:55:24 UTC (rev 8984)
@@ -1,4 +1,2 @@
Manifest-Version: 1.0
-Class-Path:
-f
\ No newline at end of file
16 years, 3 months
JBoss Rich Faces SVN: r8983 - branches/3.1.x/test-applications/jsp/src/main/java/orderingList.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 08:48:53 -0400 (Tue, 10 Jun 2008)
New Revision: 8983
Modified:
branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java
Log:
Modified: branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java
===================================================================
--- branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java 2008-06-10 12:42:39 UTC (rev 8982)
+++ branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java 2008-06-10 12:48:53 UTC (rev 8983)
@@ -244,11 +244,11 @@
setControlsHorizontalAlign("right");
setControlsVerticalAlign("bottom");
setControlsType("button");
- setLenght(9);
- //setListHeight("300");
- //setListWidth("1000");
- //setFastOrderControlsVisible(true);
- //setOrderControlsVisible(true);
+ setLenght(40);
+ setListHeight("300");
+ setListWidth("1000");
+ setFastOrderControlsVisible(true);
+ setOrderControlsVisible(true);
setRendered(true);
setShowButtonLabels(true);
setTopControlLabel("t1 top label");
16 years, 3 months
JBoss Rich Faces SVN: r8982 - branches/3.1.x/test-applications/facelets/src/main/java/listShuttle.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 08:42:39 -0400 (Tue, 10 Jun 2008)
New Revision: 8982
Modified:
branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java
Log:
Add properties and methods
Modified: branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java 2008-06-10 12:42:06 UTC (rev 8981)
+++ branches/3.1.x/test-applications/facelets/src/main/java/listShuttle/ListShuttle.java 2008-06-10 12:42:39 UTC (rev 8982)
@@ -39,6 +39,7 @@
private String listsHeight;
private String sourceCaptionLabel;
private String targetCaptionLabel;
+ private String controlsType;
public ListShuttle() {
this.first = 1;
@@ -68,9 +69,18 @@
this.targetCaptionLabel = "targetCaptionLabel";
this.targetValue = new ArrayList<Data>();
this.sourceValue = new ArrayList<Data>();
+ this.controlsType = "button";
addNewItem();
}
+ public String getControlsType() {
+ return controlsType;
+ }
+
+ public void setControlsType(String controlsType) {
+ this.controlsType = controlsType;
+ }
+
public int getFirst() {
return first;
}
16 years, 3 months
JBoss Rich Faces SVN: r8981 - branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 08:42:06 -0400 (Tue, 10 Jun 2008)
New Revision: 8981
Modified:
branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml
branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml
Log:
Add properties
Modified: branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml 2008-06-10 12:41:18 UTC (rev 8980)
+++ branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttle.xhtml 2008-06-10 12:42:06 UTC (rev 8981)
@@ -12,7 +12,23 @@
targetListWidth="#{listShuttle.targetListWidth}" sourceListWidth="#{listShuttle.sourceListWidth}"
listsHeight="#{listShuttle.listsHeight}" sourceCaptionLabel="#{listShuttle.sourceCaptionLabel}"
targetCaptionLabel="#{listShuttle.targetCaptionLabel}"
- topControlLabel="#{listShuttle.topControlLabel}" upControlLabel="#{listShuttle.upControlLabel}">
+ topControlLabel="#{listShuttle.topControlLabel}" upControlLabel="#{listShuttle.upControlLabel}"
+ controlsType="#{listShuttle.controlsType}"
+ onmousemove="showEvent('onmousemoveInputID', 'onmousemove work!')"
+ onclick="showEvent('onclickInputID', 'onclick work!')"
+ ondblclick="showEvent('ondblclickInputID', 'ondblclick work!')"
+ onmouseout="showEvent('onmouseoutInputID', 'onmouseout work!')"
+ onmouseover="showEvent('onmouseoverInputID', 'onmouseover work!')"
+ onorderchanged="showEvent('onorderchangedInputID', 'onorderchanged work!')"
+ ontopclick="showEvent('ontopclickInputID', 'ontopclick work!')"
+ onupclick="showEvent('onupclickInputID', 'onupclick work!')"
+ ondownclick="showEvent('ondownclickInputID', 'ondownclick work!')"
+ onbottomclick="showEvent('onbottomclickInputID', 'onbottomclick work!')"
+ onlistchanged="showEvent('onlistchangedInputID', 'onlistchanged work!')"
+ oncopyallclick="showEvent('oncopyallclickInputID', 'oncopyallclick work!')"
+ oncopyclick="showEvent('oncopyclickInputID', 'oncopyclick work!')"
+ onremoveallclick="showEvent('onremoveallclickInputID', 'onremoveallclick work!')"
+ onremoveclick="showEvent('onremoveclickInputID', 'onremoveclick work!')">
<h:column>
<f:facet name="header">
@@ -59,7 +75,7 @@
<f:selectItem itemLabel="select2" itemValue="select2" />
<f:selectItem itemLabel="select3" itemValue="select3" />
<f:selectItem itemLabel="select4" itemValue="select4" />
- <a4j:support event="onclick" reRender="listShuttleID"></a4j:support>
+ <a4j:support event="onchange" reRender="listShuttleID"></a4j:support>
</h:selectOneMenu>
</h:column>
Modified: branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml 2008-06-10 12:41:18 UTC (rev 8980)
+++ branches/3.1.x/test-applications/facelets/src/main/webapp/ListShuttle/ListShuttleProperty.xhtml 2008-06-10 12:42:06 UTC (rev 8981)
@@ -20,6 +20,13 @@
<a4j:support event="onclick" reRender="listShuttleID"></a4j:support>
</h:inputText>
+ <h:outputText value="controlsType" />
+ <h:selectOneRadio value="#{listShuttle.controlsType}">
+ <f:selectItem itemLabel="none" itemValue="none" />
+ <f:selectItem itemLabel="button" itemValue="button" />
+ <a4j:support event="onchange" reRender="listShuttleID"></a4j:support>
+ </h:selectOneRadio>
+
<h:outputText value="showButtonLabels" />
<h:selectBooleanCheckbox value="#{listShuttle.showButtonLabels}" onchange="submit();" />
16 years, 3 months
JBoss Rich Faces SVN: r8980 - branches/3.1.x/test-applications/facelets/src/main/webapp/pages/Action.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 08:41:18 -0400 (Tue, 10 Jun 2008)
New Revision: 8980
Modified:
branches/3.1.x/test-applications/facelets/src/main/webapp/pages/Action/EventInfo.xhtml
Log:
Add events
Modified: branches/3.1.x/test-applications/facelets/src/main/webapp/pages/Action/EventInfo.xhtml
===================================================================
--- branches/3.1.x/test-applications/facelets/src/main/webapp/pages/Action/EventInfo.xhtml 2008-06-10 12:39:27 UTC (rev 8979)
+++ branches/3.1.x/test-applications/facelets/src/main/webapp/pages/Action/EventInfo.xhtml 2008-06-10 12:41:18 UTC (rev 8980)
@@ -50,5 +50,13 @@
<div style="position: relative"><input id="onhideInputID" type="hidden" value="don't work!" size="42" /></div>
<div style="position: relative"><input id="onmouseupInputID" type="hidden" value="don't work!" size="42" /></div>
<div style="position: relative"><input id="onshowInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="ontopclickInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="onbottomclickInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="onheaderclickInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="onlistchangedInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="oncopyallclickInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="oncopyclickInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="onremoveallclickInputID" type="hidden" value="don't work!" size="42" /></div>
+ <div style="position: relative"><input id="onremoveclickInputID" type="hidden" value="don't work!" size="42" /></div>
</f:verbatim>
</f:subview>
16 years, 3 months
JBoss Rich Faces SVN: r8979 - branches/3.1.x/test-applications/jsp/src/main/java/orderingList.
by richfaces-svn-commits@lists.jboss.org
Author: adubovsky
Date: 2008-06-10 08:39:27 -0400 (Tue, 10 Jun 2008)
New Revision: 8979
Modified:
branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java
Log:
Add new properties and methods
Modified: branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java
===================================================================
--- branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java 2008-06-10 12:37:10 UTC (rev 8978)
+++ branches/3.1.x/test-applications/jsp/src/main/java/orderingList/OrderingList.java 2008-06-10 12:39:27 UTC (rev 8979)
@@ -89,7 +89,7 @@
this.lenght = 10;
this.listHeight = "300";
this.listWidth = "800";
- this.controlsType = "button";
+ this.controlsType = "link";
this.controlsHorizontalAlign = "right";
this.controlsVerticalAlign = "center";
this.bottomControlLabel = "bottom label";
@@ -241,14 +241,14 @@
public void bTest1(){
setCaptionLabel("Caption Test1");
- setControlsHorizontalAlign("0");
- setControlsVerticalAlign("0");
+ setControlsHorizontalAlign("right");
+ setControlsVerticalAlign("bottom");
setControlsType("button");
- setLenght(40);
- setListHeight("300");
- setListWidth("400");
- setFastOrderControlsVisible(true);
- setOrderControlsVisible(true);
+ setLenght(9);
+ //setListHeight("300");
+ //setListWidth("1000");
+ //setFastOrderControlsVisible(true);
+ //setOrderControlsVisible(true);
setRendered(true);
setShowButtonLabels(true);
setTopControlLabel("t1 top label");
16 years, 3 months