KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > latka > jelly > ValidateTag


1 /*
2  * Copyright 1999-2001,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.commons.latka.jelly;
18
19 import org.apache.commons.jelly.JellyTagException;
20 import org.apache.commons.jelly.TagSupport;
21 import org.apache.commons.jelly.XMLOutput;
22
23 import org.apache.commons.latka.LatkaException;
24 import org.apache.commons.latka.http.Response;
25
26 /**
27  *
28  * @author Morgan Delagrange
29  */

30 public class ValidateTag extends TagSupport {
31
32     /**
33      * make sure the request executes, then call validators.
34      *
35      * @param xmlOutput a place to write output
36      * @throws JellyTagException if the body of the tag could not be invoked, or an HTTP
37      * response could not be obtained
38      */

39     public void doTag(XMLOutput xmlOutput) throws JellyTagException {
40
41         // execute the request
42
Response response = null;
43         try {
44             response = getResponse();
45         } catch (LatkaException e) {
46             throw new JellyTagException("could not obtain HTTP response",e);
47         }
48
49         // perform the validations, skip the validations
50
// if a response could not be obtained
51
if (response != null) {
52             invokeBody(xmlOutput);
53         }
54
55     }
56
57     protected Response getResponse() throws LatkaException {
58         RequestTag tag = (RequestTag) findAncestorWithClass(RequestTag.class);
59         return tag.getResponse();
60     }
61
62 }
63
Popular Tags