001/* 002 * (C) Copyright 2000-2003 Yale University. All rights reserved. 003 * 004 * THIS SOFTWARE IS PROVIDED "AS IS," AND ANY EXPRESS OR IMPLIED 005 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 006 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE EXPRESSLY 007 * DISCLAIMED. IN NO EVENT SHALL YALE UNIVERSITY OR ITS EMPLOYEES BE 008 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 009 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED, THE COSTS OF 010 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR 011 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 012 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 013 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 014 * SOFTWARE, EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH 015 * DAMAGE. 016 * 017 * Redistribution and use of this software in source or binary forms, 018 * with or without modification, are permitted, provided that the 019 * following conditions are met: 020 * 021 * 1. Any redistribution must include the above copyright notice and 022 * disclaimer and this list of conditions in any related documentation 023 * and, if feasible, in the redistributed software. 024 * 025 * 2. Any redistribution must include the acknowledgment, "This product 026 * includes software developed by Yale University," in any related 027 * documentation and, if feasible, in the redistributed software. 028 * 029 * 3. The names "Yale" and "Yale University" must not be used to endorse 030 * or promote products derived from this software. 031 */ 032 033package edu.yale.its.tp.cas.client.taglib; 034 035import javax.servlet.jsp.JspTagException; 036import javax.servlet.jsp.tagext.BodyTagSupport; 037 038/** 039 * <p> 040 * Tag for indicating CAS's "validate URL" for the cas:auth tag. 041 * </p> 042 * 043 * @author Shawn Bayern 044 */ 045public class ValidateUrlTag extends BodyTagSupport { 046 047 // ********************************************************************* 048 // Tag logic 049 050 private static final long serialVersionUID = 1L; 051 052 @Override 053 public int doEndTag() throws JspTagException { 054 String validateUrl = null; 055 if (bodyContent != null) 056 validateUrl = bodyContent.getString(); 057 if (validateUrl != null) 058 validateUrl = validateUrl.trim(); 059 if (!(getParent() instanceof AuthTag)) 060 throw new JspTagException("illegal cas:validateUrl outside cas:auth"); 061 else 062 ((AuthTag) getParent()).setCasValidate(validateUrl); 063 return EVAL_PAGE; 064 } 065 066}