[richfaces-svn-commits] JBoss Rich Faces SVN: r11618 - in trunk/ui/fileUpload/src/main/java/org/richfaces: renderkit and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Sun Dec 7 09:52:33 EST 2008


Author: nbelaevski
Date: 2008-12-07 09:52:32 -0500 (Sun, 07 Dec 2008)
New Revision: 11618

Modified:
   trunk/ui/fileUpload/src/main/java/org/richfaces/component/UIFileUpload.java
   trunk/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java
Log:
https://jira.jboss.org/jira/browse/RF-4815

Modified: trunk/ui/fileUpload/src/main/java/org/richfaces/component/UIFileUpload.java
===================================================================
--- trunk/ui/fileUpload/src/main/java/org/richfaces/component/UIFileUpload.java	2008-12-07 14:49:33 UTC (rev 11617)
+++ trunk/ui/fileUpload/src/main/java/org/richfaces/component/UIFileUpload.java	2008-12-07 14:52:32 UTC (rev 11618)
@@ -24,6 +24,8 @@
 import java.util.Locale;
 import java.util.Map;
 
+import javax.el.ELContext;
+import javax.el.ExpressionFactory;
 import javax.el.ValueExpression;
 import javax.faces.FacesException;
 import javax.faces.application.Application;
@@ -76,14 +78,24 @@
     private void setupProgressBarValueExpression(FacesContext context, String uid) {
 	    FileUploadRendererBase renderer = (FileUploadRendererBase)this.getRenderer(context);
 	    UIComponent progressBar = renderer.getProgressBar(context, this);
-	    String exprStr = "#{" + Filter.PERCENT_BEAN_NAME + "['"+uid+"']}";
-		ValueExpression ex = context.getApplication().getExpressionFactory()
-			.createValueExpression(context.getELContext(), exprStr,
+	    String percentExpression = Filter.PERCENT_BEAN_NAME + "['"+uid+"']";
+		ExpressionFactory expressionFactory = context.getApplication().getExpressionFactory();
+		ELContext elContext = context.getELContext();
+		
+		ValueExpression value = expressionFactory
+			.createValueExpression(elContext, "#{" + percentExpression + "}",
 				Integer.class);
-		progressBar.setValueExpression("value", ex);
-	}
+		progressBar.setValueExpression("value", value);
+	
+		ValueExpression enabled = expressionFactory
+			.createValueExpression(elContext, 
+				"#{" + percentExpression + " < 100}", //100 - disable progress when upload reaches 100%
+				Boolean.class);
 
+		progressBar.setValueExpression("enabled", enabled);
+    }
 
+
  
     public String getLocalContentType() {
         return localContentType;

Modified: trunk/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java
===================================================================
--- trunk/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java	2008-12-07 14:49:33 UTC (rev 11617)
+++ trunk/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java	2008-12-07 14:52:32 UTC (rev 11618)
@@ -32,6 +32,7 @@
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
+import javax.el.ExpressionFactory;
 import javax.el.ValueExpression;
 import javax.faces.FactoryFinder;
 import javax.faces.component.UIComponent;
@@ -678,7 +679,14 @@
 			progressBar = createProgressBar(context, component);
 		}
 		progressBar.getAttributes().put("minValue", -1);
-		progressBar.getAttributes().put("enabled", false);
+		
+		ExpressionFactory expressionFactory = context.getApplication().getExpressionFactory();
+		ValueExpression falseExpression = expressionFactory.createValueExpression(
+				context.getELContext(), 
+				"#{" + Boolean.FALSE + "}", 
+				Boolean.class);
+		
+		progressBar.setValueExpression("enabled", falseExpression);
 		progressBar.setTransient(false);
 		return progressBar;
 	}




More information about the richfaces-svn-commits mailing list