Author: adubovsky
Date: 2008-10-28 12:30:37 -0400 (Tue, 28 Oct 2008)
New Revision: 10955
Modified:
trunk/test-applications/auto-jsp/src/main/java/combobox/Combobox.java
Log:
Add validatorCheck method
Modified: trunk/test-applications/auto-jsp/src/main/java/combobox/Combobox.java
===================================================================
--- trunk/test-applications/auto-jsp/src/main/java/combobox/Combobox.java 2008-10-28
16:24:42 UTC (rev 10954)
+++ trunk/test-applications/auto-jsp/src/main/java/combobox/Combobox.java 2008-10-28
16:30:37 UTC (rev 10955)
@@ -4,14 +4,22 @@
import java.util.List;
import java.util.Random;
import org.richfaces.component.html.HtmlComboBox;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
+import javax.faces.validator.ValidatorException;
import util.componentInfo.ComponentInfo;
import util.data.Data;
+import util.parser.Attribute;
+import util.parser.Status;
+import util.parser.TLDParser;
+import util.phaseTracker.PhaseTracker;
public class Combobox {
public boolean disabled;
@@ -39,7 +47,48 @@
private String bindLabel;
private String align;
+ // for validator check
+ TLDParser tldParser = new TLDParser("comboBox");
+ private String statusValidator = "FAILED";
+ private String phaseValidator = "UNDEFINED";
+ private String validatorMessage = "Test Validator Message";
+
+ public void validate(FacesContext context, UIComponent component,
+ Object value) throws ValidatorException {
+ statusValidator = "PASSED";
+ phaseValidator = PhaseTracker.currentPhase.toString();
+
+ String selectedItem = null;
+ if (value != null)
+ selectedItem = value.toString();
+ if (selectedItem.equals("Gosha"))
+ throw new ValidatorException(new FacesMessage());
+ }
+
+ public int validatorCheck() {
+ ArrayList<Attribute> attrs = tldParser.getAllAttributes();
+ int index = attrs.indexOf(new Attribute("validator"));
+ if (index == -1) {
+
+ } else {
+ Attribute attr = attrs.get(index);
+ if (statusValidator.equals("PASSED")) {
+ if (phaseValidator.equals("PROCESS_VALIDATIONS(3)")) {
+ attr.setStatus(Status.PASSED);
+ } else {
+ attr.setStatus(Status.FAILED);
+ attr.setDescription("Validator was triggered in incorrect phase");
+ }
+ } else {
+ attr.setStatus(Status.FAILED);
+ attr.setDescription("Validator was not triggered");
+ }
+ }
+
+ return 0;
+ }
+
public Combobox() {
this.disabled = false;
this.defaultLabel = "defaultLabel";
@@ -49,7 +98,7 @@
this.immediate = false;
this.inputSize = 4;
this.width = "300";
- this.value = new Data("default",0);
+ this.value = new Data("default", 0);
this.tabindex = 2;
this.showDelay = "200";
this.required = false;
@@ -63,8 +112,8 @@
this.selectItem = new ArrayList<SelectItem>();
this.bindLabel = "Click Binding";
this.align = "left";
- Random r = new Random();
- for(int i = 0; i < 10; i++){
+ Random r = new Random();
+ for (int i = 0; i < 10; i++) {
suggestionValues.add(new Data("selectItem", i));
selectItem.add(new SelectItem("selectItem"));
System.out.println(selectItem.get(i).getValue().toString());
@@ -258,12 +307,12 @@
public void setBindLabel(String bindLabel) {
this.bindLabel = bindLabel;
}
-
- public void checkBinding(ActionEvent actionEvent){
+
+ public void checkBinding(ActionEvent actionEvent) {
FacesContext context = FacesContext.getCurrentInstance();
bindLabel = htmlComboBox.getClientId(context);
- }
-
+ }
+
public String getAlign() {
return align;
}
@@ -271,9 +320,33 @@
public void setAlign(String align) {
this.align = align;
}
-
- public void addHtmlCombobox(){
+
+ public void addHtmlCombobox() {
ComponentInfo info = ComponentInfo.getInstance();
info.addField(htmlComboBox);
}
+
+ public String getStatusValidator() {
+ return statusValidator;
+ }
+
+ public void setStatusValidator(String statusValidator) {
+ this.statusValidator = statusValidator;
+ }
+
+ public String getPhaseValidator() {
+ return phaseValidator;
+ }
+
+ public void setPhaseValidator(String phaseValidator) {
+ this.phaseValidator = phaseValidator;
+ }
+
+ public String getValidatorMessage() {
+ return validatorMessage;
+ }
+
+ public void setValidatorMessage(String validatorMessage) {
+ this.validatorMessage = validatorMessage;
+ }
}
Show replies by date