[richfaces-svn-commits] JBoss Rich Faces SVN: r6226 - in trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam: ui/renderkit and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Feb 20 14:06:09 EST 2008


Author: maksimkaszynski
Date: 2008-02-20 14:06:09 -0500 (Wed, 20 Feb 2008)
New Revision: 6226

Modified:
   trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/component/UIFileUpload.java
   trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java
   trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/web/MultipartFilter.java
Log:
Review of server-side code

Modified: trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/component/UIFileUpload.java
===================================================================
--- trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/component/UIFileUpload.java	2008-02-20 19:03:56 UTC (rev 6225)
+++ trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/component/UIFileUpload.java	2008-02-20 19:06:09 UTC (rev 6226)
@@ -5,7 +5,6 @@
 import javax.el.MethodExpression;
 import javax.faces.component.UIInput;
 import javax.faces.context.FacesContext;
-import javax.faces.el.MethodBinding;
 import javax.faces.event.FacesEvent;
 
 import org.richfaces.event.FileUploadListener;
@@ -141,7 +140,11 @@
 	public void broadcast(FacesEvent e) {
 
 		if (e instanceof UploadEvent) {
-
+			//FIXME: Maksim -> Aleksej
+			//If event needs to be broadcast to ALL of subscribed listeners.
+			//Need to call super anyway
+			//BTW, why doesn't UploadEvent accept any listeners?
+			
 			FacesContext facesContext = FacesContext.getCurrentInstance();
 			MethodExpression binding = getFileUploadListener();
 			if (binding != null) {

Modified: trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java
===================================================================
--- trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java	2008-02-20 19:03:56 UTC (rev 6225)
+++ trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/ui/renderkit/FileUploadRendererBase.java	2008-02-20 19:06:09 UTC (rev 6226)
@@ -9,6 +9,7 @@
 import javax.el.ValueExpression;
 import javax.faces.FactoryFinder;
 import javax.faces.component.UIComponent;
+import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
 import javax.faces.render.RenderKit;
@@ -72,7 +73,17 @@
 	if ("progress".equals(request.getParameter("action"))) {
 	    AjaxContext ajaxContext = AjaxContextImpl.getCurrentInstance(context);
 	    String uid = request.getParameter("uid");
-		HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
+	    /*
+	     * 
+	     * FIXME: Maksim --> Andrei
+	     * Why not use standard JSF  constructs?
+	     * 
+	    ExternalContext externalContext = context.getExternalContext();
+	    Map <String, Object> sessionMap = externalContext.getSessionMap();
+	    
+		*/
+
+	    HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
 		Map<String, MultipartRequest> sessions = (Map<String, MultipartRequest>) session
 			.getAttribute("_richfaces_upload_sessions");
 
@@ -83,7 +94,7 @@
 			}
 		}
 
-	}else {
+	} else {
 	    new AjaxEvent(component).queue();
 	}
 	if (!(request instanceof MultipartRequest)) {
@@ -113,6 +124,8 @@
 	    if (clazz.isAssignableFrom(Map.class)) {
 		Map map = (Map) data.getValue(context.getELContext());
 		map.put(fileUpload.getLocalFileName(), file);
+		//FIXME: Maksim --> Andrei
+		// What does Map.empty mean?
 		map.isEmpty();
 	    }
 	}
@@ -133,6 +146,8 @@
      * 
      * @see org.ajax4jsf.renderkit.RendererBase#getComponentClass()
      */
+    //FIXME: Maksim --> Andrei
+    //Better use UIFileUpload here. Otherwise you can get NPE here
     @Override
     protected Class<? extends UIComponent> getComponentClass() {
 	// TODO Auto-generated method stub
@@ -143,7 +158,13 @@
 	    String action, Object oncomplete) throws IOException {
 	JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(
 		component, context);
+	
+	//FIXME: Maksim --> Andrei
+	//Why multiple map.get?  In eclipse, use Ctrl+2 then L to introduce local variable
+	//
+	
 	Map options = AjaxRendererUtils.buildEventOptions(context, component);
+	
 	((Map) options.get("parameters")).put("action", action);
 	((Map) options.get("parameters")).put("uid", new JSReference("uid"));
 	if (oncomplete != null) {
@@ -164,6 +185,7 @@
     }
 
     // TODO : complete this one
+    
     public String getFileSizeScript(FacesContext context, UIComponent component)
 	    throws IOException {
 	JSFunctionDefinition oncomplete = new JSFunctionDefinition();
@@ -178,6 +200,9 @@
 
     }
     
+    //FIXME: Maksim --> Andrei
+    //Method not used anywhere
+    //WHY?
     public Object getLabelMarkup(FacesContext context, UIComponent component)
 	    throws IOException {
 	CountingOutputWriter customWriter = new CountingOutputWriter();
@@ -282,11 +307,19 @@
 	if (null == progressBar) {
 	    progressBar = createProgressBar(context, component);
 	}
+	
+	//FIXME: Maksim --> Andrei
+	//What happens if we have two fileuploads on the page?
+	//Two progress bars with identical value?
 	String exprStr = "#{" + _percentBeanName + "}";
 	ValueExpression ex = context.getApplication().getExpressionFactory()
 		.createValueExpression(context.getELContext(), exprStr,
 			Integer.class);
 	progressBar.setValueExpression("value", ex);
+	
+	
+	//FIXME: Maksim --> Andrei
+	//Why set id for user-defined component
 	progressBar.setId("progressBar");
 	progressBar.getAttributes().put("minValue", -1);
 	progressBar.getAttributes().put("enabled", false);
@@ -307,6 +340,8 @@
     private UIComponent getProgressLabel(UIComponent component) {
 	UIComponent label = component.getFacet("progressLabel");
 	if (label != null) {
+		//FIXME: Maksim --> Andrei
+		//Why set id for user-defined component
 	    label.setId("progressLabel");
 	}
 	return label;

Modified: trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/web/MultipartFilter.java
===================================================================
--- trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/web/MultipartFilter.java	2008-02-20 19:03:56 UTC (rev 6225)
+++ trunk/sandbox/ui/fileUpload/src/main/java/org/richfaces/org/jboss/seam/web/MultipartFilter.java	2008-02-20 19:06:09 UTC (rev 6226)
@@ -89,6 +89,10 @@
 										"_richfaces_upload_sessions", sessionsMap);
 					}
 				}
+				
+				//FIXME: Maksim --> Andrei
+				//Can we make _percentBeanName uid-dependent?
+				
 				session.setAttribute(FileUploadRendererBase._percentBeanName, 0);
 
 				sessionsMap.put(uid, multipartRequest);




More information about the richfaces-svn-commits mailing list