You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2007/01/25 20:21:58 UTC
svn commit: r499926 - in
/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago:
component/UIFileInput.java taglib/component/FileTagDeclaration.java
taglib/extension/FileExtensionTag.java
Author: bommel
Date: Thu Jan 25 11:21:57 2007
New Revision: 499926
URL: http://svn.apache.org/viewvc?view=rev&rev=499926
Log:
(TOBAGO-258) required has no effect for tc:file
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java?view=diff&rev=499926&r1=499925&r2=499926
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIFileInput.java Thu Jan 25 11:21:57 2007
@@ -18,8 +18,12 @@
*/
import static org.apache.myfaces.tobago.TobagoConstants.ATTR_ENCTYPE;
+import org.apache.myfaces.tobago.util.MessageFactory;
+import org.apache.commons.fileupload.FileItem;
import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.application.FacesMessage;
/*
* Created by IntelliJ IDEA.
@@ -38,4 +42,16 @@
}
}
+ public void validate(FacesContext facesContext) {
+ if (isRequired()) {
+ FileItem file = (FileItem) getSubmittedValue();
+ if (file == null || file.getName().length() == 0) {
+ FacesMessage facesMessage = MessageFactory.createFacesMessage(
+ facesContext, REQUIRED_MESSAGE_ID, FacesMessage.SEVERITY_ERROR);
+ facesContext.addMessage(getClientId(facesContext), facesMessage);
+ setValid(false);
+ }
+ }
+ super.validate(facesContext);
+ }
}
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java?view=diff&rev=499926&r1=499925&r2=499926
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java Thu Jan 25 11:21:57 2007
@@ -41,7 +41,7 @@
* You need to define an org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter in your web.xml or
* add the tobago-fileupload.jar to your project.
* The tobago-fileupload.jar contains a FacesContextFactory that wraps the
- * multipart-formdata request inside the faces request.
+ * multipart-formdata request inside the facesContext.
*/
@Tag(name = "file")
@UIComponentTag(
@@ -56,7 +56,7 @@
* <code>org.apache.commons.fileupload.FileItem</code> property to store the
* uploaded file.
*/
- @TagAttribute
+ @TagAttribute()
@UIComponentTagAttribute(type = { "org.apache.commons.fileupload.FileItem" })
void setValue(String value);
}
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java?view=diff&rev=499926&r1=499925&r2=499926
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/FileExtensionTag.java Thu Jan 25 11:21:57 2007
@@ -25,6 +25,7 @@
import org.apache.myfaces.tobago.taglib.decl.HasTip;
import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
+import org.apache.myfaces.tobago.taglib.decl.IsRequired;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
@@ -36,7 +37,7 @@
@Tag(name = "file")
public class FileExtensionTag extends BodyTagSupport
implements InputTagDeclaration, HasIdBindingAndRendered, IsDisabled,
- HasTip, HasLabel, HasLabelWidth {
+ HasTip, HasLabel, HasLabelWidth, IsRequired {
private String binding;
private String label;
@@ -48,6 +49,7 @@
private String tip;
private String onchange;
private String labelWidth;
+ private String required;
private LabelExtensionTag labelTag;
private FileTag fileTag;
@@ -95,6 +97,9 @@
if (onchange != null) {
fileTag.setOnchange(onchange);
}
+ if (required != null) {
+ fileTag.setRequired(required);
+ }
fileTag.setParent(labelTag);
fileTag.doStartTag();
@@ -121,6 +126,7 @@
value = null;
rendered = null;
valueChangeListener = null;
+ required = null;
}
public void setLabel(String label) {
@@ -158,7 +164,12 @@
public void setTip(String tip) {
this.tip = tip;
}
+
public void setLabelWidth(String labelWidth) {
this.labelWidth = labelWidth;
+ }
+
+ public void setRequired(String required) {
+ this.required = required;
}
}