View Javadoc

1   package uk.ac.cam.spectra.spectrasub.pages;
2   
3   import org.apache.log4j.Logger;
4   import org.apache.tapestry.IMarkupWriter;
5   import org.apache.tapestry.IRequestCycle;
6   import org.apache.tapestry.form.IFormComponent;
7   import org.apache.tapestry.valid.IFieldTracking;
8   import org.apache.tapestry.valid.IValidator;
9   import org.apache.tapestry.valid.ValidationDelegate;
10  
11  public class AddMetadataValidationDelegate extends ValidationDelegate {
12  
13  	/**
14  	 * 
15  	 */
16  	private static final long serialVersionUID = -2451063029640475735L;
17  
18  	@SuppressWarnings("unused")
19  	private static final Logger LOG = Logger
20  			.getLogger(AddMetadataValidationDelegate.class);
21  
22  	@Override
23  	public void writeLabelPrefix(IFormComponent component,
24  			IMarkupWriter writer, IRequestCycle cycle) {
25  		if (isInError(component)) {
26  			writer.begin("span");
27  			writer.attribute("class", "error");
28  		}
29  	}
30  
31  	@Override
32  	public void writeLabelSuffix(IFormComponent component,
33  			IMarkupWriter writer, IRequestCycle cycle) {
34  		if (isInError(component)) {
35  			writer.end("span");
36  		}
37  	}
38  
39  	@Override
40  	public void writeLabelAttributes(IMarkupWriter writer, IRequestCycle cycle,
41  			IFormComponent component) {
42  		if (isInError(component)) {
43  			// Doesn't seem to be working...
44  			writer.removeAttribute("class");
45  			writer.attribute("class", "error");
46  		}
47  	}
48  
49  	@Override
50  	public void writeSuffix(IMarkupWriter writer, IRequestCycle cycle,
51  			IFormComponent component, IValidator validator) {
52  		writer.begin("span");
53  		writer.attribute("class", "error");
54  		IFieldTracking ft = getCurrentFieldTracking();
55  		if (ft != null && ft.getErrorRenderer() != null) {
56  			ft.getErrorRenderer().render(writer, cycle);
57  		}
58  		writer.end();
59  	}
60  
61  }