You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2008/07/30 22:07:30 UTC
svn commit: r681188 - in
/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator:
core/ProxyMappingPhaseListener.java util/ExtValUtils.java
Author: gpetracek
Date: Wed Jul 30 13:07:30 2008
New Revision: 681188
URL: http://svn.apache.org/viewvc?rev=681188&view=rev
Log:
improved proxy mapping mechanism
Modified:
myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProxyMappingPhaseListener.java
myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProxyMappingPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProxyMappingPhaseListener.java?rev=681188&r1=681187&r2=681188&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProxyMappingPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/ProxyMappingPhaseListener.java Wed Jul 30 13:07:30 2008
@@ -27,7 +27,8 @@
import javax.faces.event.PhaseListener;
import javax.faces.context.FacesContext;
import javax.faces.component.UIComponent;
-import javax.faces.component.EditableValueHolder;
+import javax.faces.component.ValueHolder;
+import javax.faces.convert.Converter;
import java.util.List;
/**
@@ -90,9 +91,17 @@
* @param uiComponent reference to the current component
*/
private void storeComponentConverterMappingForProxies(FacesContext facesContext, UIComponent uiComponent) {
+ //TODO use the following after the impl. of a better multi-window-mode solution
+ //if(!uiComponent.isRendered()) {
+ // return;
+ //}
+
for(UIComponent child : (List<UIComponent>)uiComponent.getChildren()) {
- if(child instanceof EditableValueHolder) {
- ExtValUtils.getOrInitProxyMapping().put(child.getClientId(facesContext), ((EditableValueHolder)child).getConverter());
+ if(child instanceof ValueHolder) {
+ Converter converter = ((ValueHolder)child).getConverter();
+ if(converter != null && converter.getClass().getName().contains("$$")) {
+ ExtValUtils.getOrInitProxyMapping().put(child.getClientId(facesContext), child);
+ }
}
storeComponentConverterMappingForProxies(facesContext, child);
}
Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java?rev=681188&r1=681187&r2=681188&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java Wed Jul 30 13:07:30 2008
@@ -142,13 +142,8 @@
Map<String, Object> map;
if(!storage.containsKey(viewId)) {
map = new HashMap<String, Object>();
- } else {
- //TODO cleanup session
- map = storage.get(viewId);
- //don't use the line below - a popup/new window would delete the mapping
- //storage = new HashMap<String, Map<String, Object>>();
+ storage.put(viewId, map);
}
- storage.put(viewId, map);
sessionMap.put(PROXY_MAPPING_KEY, storage);
}